基于ARM的商用车信息系统的设计
2016-11-30张毅,许勇
张 毅,许 勇
(桂林电子科技大学 电子工程与自动化学院,广西 桂林 541004)
基于ARM的商用车信息系统的设计
张毅,许勇
(桂林电子科技大学 电子工程与自动化学院,广西 桂林 541004)
针对传统商用车车载终端信息显示不足、车辆数据提取困难的现状,设计了一款以S5PV210为主控制器的商用车信息系统。系统通过CAN总线网络采集车辆数据并根据J1939协议进行解析,在车载终端即时显示并利用3G网络实现了远程监控系统的实时监控。设计了将STM32作为控制器的扩展卡,利用加速度传感器和 RFID技术实现驾驶员身份识别及事故自动报警功能。整个系统具有简洁的用户界面,软硬件易于扩展,可满足多样化需求。
车载系统;CAN总线;J1939协议;远程监控
0 引言
随着汽车电子技术的不断发展,车载传感器和电子控制单元(ECU)大量增加,汽车逐渐走上了智能化的道路。为了解决众多车载ECU和传感器之间的数据交换,CAN网络总线在汽车中得到了广泛应用。车载信息终端作为CAN网络的一个重要节点,实现对车辆数据的处理、显示和存储[1-2]。
目前国内主流的车载终端,车载仪表只能显示少量必要的车辆信息,而车载屏幕又以导航和娱乐为主,使得车辆传感器和ECU产生的大量数据只有通过外接的专业分析仪器才能读取解析,无法即时地在车载终端显示,更不能实现远程的数据监控;并且由于传统车载终端的封闭性,很难根据个性化需求进行二次开发。
针对商用车车载终端所遇到的问题,基于ARM处理器和 Linux系统,设计了一套具有开放的系统平台,良好的交互体验,满足多样化需求的车载信息系统,实现了对车辆数据的即时处理、显示和远程监控,并打破了原有系统的封闭性,能够按照自己的需求选择性安装模块,扩展了系统的功能应用。
1 功能设计
车载信息系统在硬件上分为车载信息终端和扩展卡两大部分。车载信息终端以 Cortext-A8处理器为核心,在实现车辆导航、多媒体娱乐、3G数据连接等通用功能的技术上,使用SAE J1939协议对CAN报文进行解析、存储并上传至服务器端[3]。扩展卡针对多在人烟稀少地区长时间行驶的商用车,驾驶员可能因长时间驾驶出现疲劳,若出现事故无法及时报警的情况,以 STM32芯片为核心,实现了对驾驶员身份信息识别、长时间疲劳驾驶行为警告、事故自动报警等功能。用户可以根据自己不同的需求,选择满足要求的扩展卡,使车载信息系统有丰富的扩展性。
2 硬件设计
2.1控制器硬件设计
车载信息终端为实现操作系统流畅运行、车辆信息采集、人机交互等功能,对主控制器提出了较高要求,系统采用 Samsung公司推出的 32位 RISC微处理器S5PV210作为主控制器。S5PV210使用ARM Cortext-A8内核,主频最高可达1 GHz,核心板外接 1 GB的 DDR2SDRAM内存和1 GB的Nand flash存储器,可以保证嵌入式Linux系统的流畅运行。处理器S5PV210内含液晶接口,外接一个7寸液晶触摸显示屏,实现信息显示、人机交互。S5PV210内部没有CAN控制器,需要通过 SPI接口连接独立CAN控制器作为车身CAN总线网络的一个节点,实现全车信息传输与共享。
扩展卡采用ST公司推出的STM32F4系列单片机为控制器[4],搭载ARM Cortext-M4内核,采用Thumb2指令集,具有外设丰富、性价比高、功耗低的特点,通过 IIC接口连接加速度传感器,测量车辆的加速度,通过SPI接口连接RFID读卡器。系统硬件总体结构如图1所示。
图1 系统硬件总体结构框图
2.2CAN通信模块
MCP2510是一款由Microchip Technology公司生产的独立CAN控制器,支持CAN技术规范V2.0A/B,能够收发标准帧和扩展帧CAN数据报文,拥有SPI接口实现与主控制器的数据传输。MCP2510内部含有3个发送缓冲器、2个接收缓冲器,并可对优先权进行设置,同时具有灵活的中断管理能力[5]。
CAN总线驱动器以芯片PCA82C250为核心,具有优秀的电磁兼容性,为总线提供差分传送功能,实现数据在总线上的差分传送,提高系统的抗噪声干扰能力。MCP2510外围电路如图2所示。
2.33G通信模块
3G无线通信模块采用性价比较高的MG3732,支持WCDMA和GSM网络,具有语音、短信、3G数据业务功能,下行峰值数据速率可达 3.6 Mb/s,上行峰值数据速率可达384 kb/s,可以满足车载终端与服务器端的通信要求。
2.4RFID读卡器
模块采用NXP公司的推出的13.56 MHz非接触式读写卡芯片RC522,具有成本低、体积小的特点,支持ISO14443A的多层应用,其内部发送器可驱动读写器天线与智能卡的通信,不需要其他电路。接收机部分提供了功能强大和高效的调解和译码电路[6]。芯片支持常用的SPI接口和UART接口,方便与控制器通信。
2.5加速度传感器模块
加速度模块使用ADI公司的ADXL345三轴、数字输出加速度传感器芯片,基于iMEMS技术,具有超低功耗、可变量程、高分辨率等特点,测量范围最高可达±16 gn(gn为地球重力加速度,通常取 9.8 m/s2),分辨率达 13 bit,不仅可以用来检测静态的倾角状态,而且可以检测运动时的碰撞加速度。芯片可直接将测量结果转换为数字信号,通过 SPI或I2C总线输出,并支持偏置校正[7]。
3 软件设计
3.1系统软件设计
本系统在 PC平台的开发环境为 VMware Workstation10.0+Ubuntu14.06,在ARM平台上移植嵌入式Linux系统与Qt图形用户界面应用程序开发框架,运用Qt Creator4.0进行UI界面设计。Qt提供了非常高效、灵活的开发框架,使用信号与槽机制实现对象间的通信[8]。当车载终端上电,系统引导程序 u-boot运行并调用Linux内核启动,启动成功后操作系统自动调用Qt程序,进入主界面。
3.2CAN报文的解析
3.2.1SAE J1939协议介绍
SAE J1939是美国汽车工程师协会(SAE)以CAN2.0B规范为基础制定的车辆多层通信协议,以支持车辆CAN节点之间的通信。该协议在商用车中得到广泛应用,速率设定为250 kb/s。它在CAN2.0B的基础上定义了数据链路层、网络层、应用层和网络管理层,使CAN网络的优异性能更大程度地发挥。
数据链路层定义了信息帧的数据结构和编码规则,包括通信优先权、传输方式、通信要求、总线仲裁等,它负责将CAN扩展帧的29位标识符重新分组定义,使报文的标识符能够描述报文的全部特征[9]。J1939帧与CAN扩展帧格式对照表如表1所示。SAEJ1939协议在应用层规定了车辆控制与通信用到的各种参数,包括信号的可疑参数编号(SPN)和参数组编号(PGN)。常用参数信息如表2所示。
3.2.2解析报文
当通过CAN网络接收到CAN扩展帧报文,根据表1中 J1939帧与CAN扩展帧的对应关系提取 PGN的值,PGN=R+DP+PF+PS,其中R为保留位,DP为数据页,PF为协议数据单位,PS为特定协议数据单元。得到PGN的值后,在表2中查找PGN中所包含的参数及位置,获取参数的数值,根据分辨率进行计算,得到物理值。
表1 J1939帧与CAN扩展帧格式对照
表2 常用参数PGN与SPN数据表
3.3扩展卡程序设计
当选择开启扩展功能,扩展卡上电启动,STM32需要先配置 SPI接口以实现与 RFID读卡模块的通信,配置 IIC接口以实现与 ADXL加速度传感器模块的通信。程序流程如图3所示。
图3 扩展卡程序设计流程图
ADXL345芯片上电之后,需要延时 1.1 ms,然后对寄存器进行初始化配置,分别设置量程为 16 g,13位全分辨率输出,数据输出速率为200 Hz。为了减少车辆震动对测试结果的影响,对连续的5个测量数据取平均值与门限值进行比较。当检测到加速度数据超过了设置的门限值,就认为发生了碰撞事故,触发中断信号,车载终端接收到中断信号后会通过3G网络发出报警信号通知远程监控系统。
RFID读卡模块需要读取驾驶员携带的智能卡 ID进行身份识别。模块运行时会一直进行寻卡操作,判断天线范围内是否有智能卡。当检测到智能卡后需要进行防冲撞处理,选卡和验证卡片,验证通过后读取智能卡的ID号。读取到的ID号在车载终端的驾驶员信息数据库中查询,显示记录驾驶员信息。
3.4远程监控系统的软件设计
远程服务器端软件选择LabVIEW作为开发工具,使用图形化编程语言编写程序,可用来方便快捷地创建用户界面。在界面中使用百度地图静态图 API植入百度地图,可以直观地监测车辆位置。百度地图静态图API可实现将百度地图以图片形式嵌入到网页中。服务地址:http://api.map.baidu.com/staticimage/v。远程监控系统界面如图4所示。
图4 远程监控系统界面
4 系统功能测试
CAN总线系统使用CAN分析仪CANalyst-II搭建的模拟车辆 CAN网络进行测试,CAN分析仪根据J1939协议设置多种CAN报文的帧ID和数据域,500 ms为周期循环发送来模拟商用车的CAN节点发送车辆信息,如发动机转速、基于车轮的车速、平均燃油经济性[10]。通过模拟的车身CAN总线网络,车载终端的CAN节点成功读取到了CAN报文并根据J1939协议解析出车辆信息,在车载终端显示并通过3G网络在远程监控系统成功接收到车辆的动态数据。
事故自动报警功能通过飞思卡尔智能车模型搭载的测试平台进行测试,由于汽车模型较小,扩展卡作为一个独立的模块单独进行测试,把扩展卡固定在智能车上,使用小车电池通过电压转换芯片转换为 3.3 V给扩展卡供电,当有警报时,用LED闪烁指示。为了减小测试实验的破坏性,设置自动报警加速度门限值为 1 g。用无线遥控器控制小车进行模拟碰撞实验,经过多次模拟实验,都自动触发了报警;在没有碰撞的情况下,没有发生误报警。
5 结束语
车载信息系统基于ARM处理器,分别进行了车载终端与扩展卡的设计。以J1939协议为核心,通过对车载CAN网络节点数据的实时处理与解析,使车载终端与远程监控系统都能够即时获取车辆信息;并针对商用车提供了驾驶员身份识别、事故自动报警等功能;通过软硬件设计,把车载信息系统的通用功能与个性需求分模块实现,具有了丰富的多样性与扩展性,为商用车车载信息系统提供了一种新的解决方案。
[1]JANKOVIC S,KLEUT D,BLAGOJEVIC I.Controller area network based monitoring of vehicle′s mechatronics system[C]. IEEE 9th International Symposium on Intelligent Systems and Informatics,Subotica,2011.
[2]GIANLUCA C,IVAN B.Fixed-length payload encoding for low-jitter controller area network communication[J].IEEE Transactions on Industrial Informatics,2013,9(4):2155-2164.
[3]骆志宏,许勇,马秋香.商用车在线故障诊断系统设计与实现[J].计算机测量与控制,2015,23(4):1098-1101.
[4]张亮,程明霄,朱增伟,等.基于STM32和 μC/OS-II的智能在线分析平台的研究[J].仪表技术与传感器,2015(1):44-47.
[5]张国胜,王书举.基于数据压缩的车身 CAN网络优化调度设计[J].汽车工程,2015,38(8):980-984.
[6]张捍东,朱林.物联网中的RFID技术及其物联网的构建[J].计算机技术与发展,2011,21(5):56-59.
[7]袁西,陈栋,田湘,等.三轴数字加速度计 ADXL345及其在捷联惯导中的应用[J].电子设计工程,2010,18(3):138-140.
[8]韩少云,奚海蛟,谌利.基于嵌入式Linux的Qt图形程序实战开发[M].北京:北京航空航天大学出版社,2012.
[9]王锦坚,洪添胜.基于 SAE J1939协议的客车 CAN总线发动机测试系统[J].工业控制计算机,2009,22(4):82-84.
[10]秦亚军,康维新.基于J1939的车载 CAN总线模拟系统设计[J].应用科技,2015,42(3):13-16.
Design of commercial vehicle information system based on ARM
Zhang Yi,Xu Yong
(School of Electronic Engineering and Automation,Guilin University of Electronic Technology,Guilin 541004,China)
Due to the situation that traditional commercial vehicle terminal information is displaying is insufficient and vehicle data extraction is difficult,a system is designed based on S5PV210 controller.Vehicle data collected via CAN bus network and resolved using J1939 protocol and it can display in car terminal and achieve remote monitoring system by 3G network.An expansion card is designed based on STM32 controller to achieve the driver identification,accident automatic alarm function using the acceleration sensor and RFID technology.The whole system has simple user interface,hardware and software are easy to expand to meet the diverse needs.
vehicle system;CAN bus;J1939 protocol;remote monitoring
TP277
A
10.16157/j.issn.0258-7998.2016.05.016
2016-01-08)
张毅(1989-),男,硕士研究生,主要研究方向:汽车电子技术、嵌入式系统等。
许勇(1955-),男,教授,主要研究方向:汽车电子技术、工业通信网络等。
中文引用格式:张毅,许勇.基于 ARM的商用车信息系统的设计[J].电子技术应用,2016,42(5):57-59,67.
英文引用格式:Zhang Yi,Xu Yong.Design of commercial vehicle information systems based on ARM[J].Application of Electronic Technique,2016,42(5):57-59,67.