使用双处理器的汽车行驶记录仪设计
2017-01-05肖振隆王贵锦李家祥
肖振隆,王贵锦,李家祥
(1.清华大学 电子工程系,北京 100084;2.厦门雅迅网络股份有限公司)
使用双处理器的汽车行驶记录仪设计
肖振隆1,2,王贵锦1,李家祥2
(1.清华大学 电子工程系,北京 100084;2.厦门雅迅网络股份有限公司)
随着车联网技术的不断发展,为了提高客户的体验度及车贷功能安全,各个车厂争相推出带有各自特色的车载终端。由于功能的不断堆加,传统的单处理器设计方案已不再满足于现有车厂对设备的要求。随着功能越来越多,单处理器容易产生业务相互干扰,效率、实时性差等问题。针对于此,本设计在基于传统单处理器行驶记录仪基础上,采用双处理器方式进行设计,加快数据处理,提高系统的扩展空间,保证网络通信的实时性和并发性。
行驶记录仪;Cortex-M3;GPS/BDS;CAN总线
引 言
汽车行驶记录仪主要是记录和存储汽车行驶过程中的各种状态数据,通过车辆相关状态信息的记录并分析,可以较精确地掌握车辆相关时刻的状态数据。这些数据在事故分析鉴定中发挥着重要的作用,通过数据的监控,能够有效地约束驾驶人员的不良驾驶行为,预防道路交通事故,保障车辆的行驶安全,提高营运管理水平[1]。同时,随着车联网的发展,车厂在满足于公安部标准[2]和交通部标准[3]的同时,增加了各自特色的发动机控制功能,用于确保车贷安全及增加车辆的安全性及可靠性。因此随着数据信息采集量的加大、数据类型的增多,对于行驶记录仪的数据处理能力有着较高要求。
本文设计实现基于手机模块(支持二次开发的手机模块)与MCU组合的双处理器的汽车行驶记录仪。本设计采用负载均衡设计思路,采用双处理器方式,数据采用双重备份方式,确保产品相关数据稳定性;将车联网相关业务放置到手机模块上处理,将车身相关的业务放置在MCU中处理,将汽车信号以及位置信息远程控制等任务均衡设计,确保在设备异常的情况下不影响整车CAN节点,确保整车行驶安全。
1 系统整体方案设计
本设计中为确保产品相关数据的稳定性及增加数据的处理,整个系统分为三个部分:电源模块、手机模块及MCU模块。系统总体结构图如图1所示。
图1 系统总体结构图
其中,电源模块主要将汽车电瓶提供的12 V或者24 V转换为系统所需的电压电平,供整机正常工作。在电源模块设计中,考虑到车辆点火会出现瞬态电压,在设计上增加抑制瞬态电压的功能。手机模块处理车联网相关业务,如获取定位模块采集的位置信息、处理音视频信息、与营运平台进行交互等业务。MCU模块处理相关车身业务,主要通过CAN总线进行发动机相关数据采集,传输平台下发相关指令,以及通过开关量检测及模拟量检测采集车辆相关硬线信号,如车辆脉冲、转向灯信号等;同时Cortex-M3模块也执行人机交互功能,实现显示、操作、打印及数据导出等功能。
2 系统硬件设计
2.1 处理器的选择
目前汽车行驶记录仪终端厂大都采用单处理器解决方案,迫于市场成本压力,作为主要硬件成本之一的处理器势必不能占用过高成本,所以趋向于选取性价比较高的处理器。随着车厂功能的增加,单处理器既负责通信网络AT指令交互,又负责与车身交互业务处理,其同一时间只能优先处理一类业务,而牺牲另一类业务的实时性。例如在响应CAN中断时必然无法响应网络通信业务,在响应网络通信业务(AT指令交互,串口中断)时,必然无法响应CAN中断,业务之间相互干扰,效率、实时性差。
随着通信技术的发展和市场的不断变化,越来越多的用户认识到OpenCPU(支持二次开发的CPU方案)解决方案的优势,特别是它低成本、高可靠性的现实优势,备受行业用户的青睐。MTK的OpenCPU解决方案,可以简化客户对无线应用的开发流程,精简硬件结构设计,从而降低产品成本。
本设计采用“手机模块(OpenCPU)+MCU”的双处理器的方式进行设计,与车身交互相关的业务,由辅助处理器来进行负载分担,可以快速响应硬件中断而不影响车联网的网络通信,既保证了硬件中断响应的实时性,又保证了网络通信的实时性,并发性好。
本设计中手机模块采用SIMCOM的SIM800V模块,该模块采用MTK平台的MT6252A,时钟频率高达104 MHz,内置128 MB的NOR Flash和32 MB的RAM。
MCU采用意法半导体(ST)公司基于ARM的Cortex-M3内核架构下的32位处理器STM32F105RCT6[4],本芯片具有突出的处理器性能,低功耗及较高的性价比。该芯片主频高达72 MHz;指令运行速度高达1.25 DMips/MHz(Dhrystone2.1);256 KB内置Flash存储器,64 KB内置SRAM存储器;0等待周期的存储器;单周期乘法和硬件除法;5路USART接口;2路的CAN总线通信接口;支持CAN2.0;2个I2C接口(SMBus/PMBus);3个SPI同步串行接口(18 Mbps);1个USB 2.0全速接口;2个16位ADC,1 μs转换时间(16通道);51个多功能双向5V兼容的I/O口,所有I/O口可以映像到16个外部中断;12通道DMA控制器;支持定时器、ADC、SPI、I2C和USART。
手机模块与MCU之间采用UART串口进行通信交互,MCU将车身相关数据采集分析后传输给手机模块,手机模块通过无线网络与平台进行交互。
2.2 电源模块设计
电源模块的稳定关系着整个系统的正常运行与稳定工作,电源模块的设计在整个设计中占有及其重要的部分。由于车辆中的电瓶同时给整个电气系统供电,存在电压不稳及瞬间电干扰、电磁干扰等问题,为确保电源的抗干扰能力,在设计过程中增加抑制瞬态电压的能力及EMC处理。
本系统包含电源类型为:汽车电瓶电源、滤波后的电源、5 V电源、4.2 V电源、3.3 V电源、GSM电源、GPS电源,备用电池也属于该电源模块的一部分。系统中的电源通过DC-DC转换,有的通过LDO转换,最终都通过开关控制提供给相关模块工作。通过软件可以根据需求关闭部分模块,从而降低系统功耗。整个电源模块电路框图如图2所示。
图2 电源模块
2.3 手机模块
手机模块处理相关车联网业务,主要通过定位模块采集位置信息、处理音视频信息,通过与营运平台进行交互实现车联网业务,其主要组成部分有手机模块、定位模块、音频模块及拍照模块等。Open手机模块结构图如图3所示。
图3 Open手机模块结构图
各个组成模块功能如下所示:
① 手机模块:手机模块集成了CPU、文件系统、操作系统、TTS以及GSM/GPRS移动通信的功能,负责整个系统的功能运转和集中控制。通信内容主要有:上报采集数据、统计得到的数据,包括定位、车辆状态、里程统计等数据;接收来自管理中心的指令,包括报警解除、中心号码设置等。
② 定位模块:本设计采用北斗双模模块设计,主要接收北斗、GPS信号。采用以北斗为主融合GPS的组合定位算法完成定位,提供车辆的速度、经纬度位置、时间和方向信息,是实现车辆行驶轨迹监管的核心模块。
③ 音频模块:音频模块主要分为音频采集及输出。音频采集通过麦克风采集相关紧急状态下的监听状态及通话功能。音频输出通过TTS播报,同时进行相关语音通信及播报相关超速等报警信息。
④ 拍照模块:本设计中的拍照模块采用232串口摄像头,通过摄像头采集相关车辆的图片信息,可以监控紧急状态下的车辆内部及外部信息,为交通执法提供现场依据,同时可根据具体需求安装多路摄像头。
2.4 MCU模块
MCU模块处理相关车身业务,主要通过CAN总线进行发动机相关数据采集,通过传输平台下发相关指令,以及通过开关量检测及模拟量检测采集车辆相关硬线信号(如车辆脉冲、转向灯信号等)。主要实现功能包括数据导出、碰撞检测、打印机、车辆信息采集、CAN总线接口、驾驶员身份识别及人机交互等。其各个模块功能如图4所示。
图4 MCU模块结构图
① 数据导出:数据导出模块分为DB9串口导出及USB接口导出,部分功能用于交通执法过程中进行车辆驾驶信息读取,有利于交通执法。
② 碰撞检测:该模块可在车辆发生碰撞或者侧翻时及时将事故信息上传到中心,中心确认信息后能够及时通报相关单位进行救援。
③ 打印机:打印“两标”相关要求的相关车辆信息及行驶数据。
④ 车辆信号采集:车辆信息采集主要包括模拟信号、数字信号和开关量信号采集。其中模拟信号包括油量、水温等;数字信号采集主要采集车上相关脉冲信号,如车速脉冲、转速脉冲等;开关量信号采集主要对车辆相关开关进行采集,如制动、远光灯、近光灯、转向灯、喇叭、倒车等。
⑤ CAN总线接口:系统提供车辆信息的实时监测诊断系统以及基本的车身控制,采用TJ1051T作为控制器局域网络(Controller Area Network,CAN)总线收发器,MCU通过CAN收发器采集车辆相关信息,传送给GSM模块,同时接收远程或者本地控制指令,通过CAN总线实现相应的车身控制。同时CAN总线接口也可用于车辆信息的监测,包括CAN总线协议支持的所有数据,如胎压、汽车电瓶、油耗、里程、刹车状态等。
⑥ 驾驶员身份识别:驾驶员身份识别主要用于人车的身份识别,在车辆启动前通过IC卡读取人车身份信息,上传到中心管理平台,同时记录到存储器中。
⑦ 人机交互:人机交互平台,主要包括显示模块和按键模块,实现人与设备的交互,如通信参数的设置、设备状态的检测等。
3 系统软件设计
图5 Open手机模块流程图
本设计软件采用分层工程设计模式。总体架构上可分为3层:平台层、抽象层/中间件和应用层。分层设计大大降低了系统复杂度,使得应用层业务开发人员无需了解平台特性,只需专注于应用业务开发,而平台开发人员无需关注应用业务开发,只需关注中间件的实现,软件的可靠性得以保证,既缩短了开发周期,且更换平台与应用业务无关,可以更快捷地完成平台升级替代。Open手机模块、MCV模块流程图如图5、图6所示。
图6 MCU模块流程图
结 语
[1] 孙正席,裴东兴,张瑜.基于Cortex-M3 的汽车行驶记录仪设计[J].计算机测量与控制,2012,20(4) : 1148-1151.
[2] 汽车行驶记录仪国家标准.GB/T 19056-2012[S].
[3] 道路运输车辆卫星定位系统北斗兼容车载终端技术规范交通部标准.JT/T 794-2011[S].
[4] STMicroelectronics.STM32F105xx Reference Manual,2009.
[5] 项文炳,孙永荣,许睿,等.基于双CPU的智能汽车行驶记录仪[J].工业控制计算机,2010,23(6):105- 107.
肖振隆、李家祥(助理工程师),主要研究方向为汽车电子应用领域;王贵锦(副教授),主要研究方向为立体视觉、深度成像、多媒体处理、目标检测及跟踪、智能交互、智能监控。
[3] 刘常清,黄文君,詹源.基于PowerPC的车载通信系统设计[J].计算机工程,2012,38(7):207-209.
[4] 徐娟娟.STM32F103的汽车远程防盗系统设计[J].单片机与嵌入式系统应用,2012(11):66-69.
[5] 关丽敏,李思慧,李伟刚.STM32F107VC的嵌入式远程监控终端设计[J].单片机与嵌入式系统应用,2014(6):72-75.
[6] 朱玉龙.汽车电子硬件设计[M].北京:北京航空航天大学出版社,2011.
[7] 曾邵明,宫辉. μC/OS-III 在S12X架构上的移植[J].单片机与嵌入式系统应用,2013(4):78-81.
[8] 黄彬,徐海贤,庞庆.μC/OS-III 在STM32处理器上的移植[J].中国仪器仪表,2014(3):37-42.
[9] 陈立军.车载通信系统电磁兼容性设计[J].计算机与网络,2007,11:42-43.
关晓菡(副教授),主要研究方向为车联网硬件系统设计、嵌入式系统应用、电源技术;马晓,主要研究方向为嵌入式系统应用。
(责任编辑:杨迪娜 收稿日期:2016-08-17)
Vehicle Traveling Data Recorder Based on Dual-processor
Xiao Zhenlong1,2,Wang Guijin1,Li Jiaxiang2
(1.Department of Electronic Engineering,Tsinghua University,Beijing 100084,China;2.Yaxon Network Co.,Ltd.)
With the continuous development of Internet of vehicles technology,in order to improve the customer experience and car loan function safety,each car factory is competing to launch the vehicle terminal with their own characteristics.As the function of the continuous heap,the traditional single processor design scheme is no longer satisfied with the existing car plant on the equipment requirements.As the functions are more and more,the single processor can easily generate the problems such as business of interference,efficiency,real-time and other issues.In view of this,based on the traditional single processor running recorder,the design uses dual-processor.The design can speed up the data processing and improve the system's extended space,ensure the real-time and concurrency of network communication.
vehicle traveling tata recoder;Cortex-M3;GPS/BDS;CAN bus
U463
A
�迪娜
2016-06-13)