谢富强,唐耀庚,曹云建
(南华大学 电气工程学院,湖南 衡阳421001)
随着我国汽车工业的快速发展,国产汽车的技术性能已变得越来越好,同时故障诊断的难度也越来越大。传统的人工手持式检测仪已经无法满足大规模汽车故障检测的需求。汽车故障诊断就是利用ECU(电子控制单元)监视电子控制系统各组成部分的工作情况,发现故障后自动启动故障处理程序[1-2]。由于驾驶员的检测和修理经验在车辆出现电控系统故障时往往是无能为力的。为了解决这个问题,可以通过GPRS(通用分组无线业务)无线通信与远程的服务器连接,维修人员或专业人员即可通过服务器控制故障诊断设备读取汽车的诊断数据从而判断或解决汽车故障[2-4]。本文设计了一种基于Cortex-M3的汽车故障远程监测系统,实现对汽车24小时不间断的故障预警、故障诊断与监控管理,能够较快地掌握汽车状态信息[5]。
汽车故障远程监测系统总体上可以分为两大部分,第一部分是车载终端系统,第二部分包括服务器端数据库和客户端远程监测软件等软件系统[6]。系统总体结构如图1所示。
图1 系统总体结构
基于Cortex-M3开发的车载终端 (即车载嵌入式系统),兼容基于K线的KWP2000和基于CAN线的IS015765故障诊断通信协议,可获取汽车的基本信息和故障信息,实现对汽车各相关部件状态的实时数据采集、解析、发送和存储等功能[7]。基于C语言开发的服务器端和客户端软件主要负责数据的解析、分类、存储、查询及呈现等功能。服务端通过对车载终端的监听,接收终端发来的诊断数据,按照已制定的终端与服务器通信协议对数据进行解析、分类等处理之后,存入数据库特定的表中以供客户端查询。客户端通过Internet访问服务器,从相应的表中提取数据,经过计算之后呈现给用户。系统的总体组成如图2所示,车载终端包括MCU、CAN控制器、CAN收发器、蓝牙模块、存储设备、GPRS模块、SIM卡、TF卡和电源等。
图2 监测系统总体组成
车载采集终端硬件电路设计采用了模块化的设计方式,即将终端划分为4个部分:OBD接口部分、电源部分、MCU部分和无线通信部分。
在选择微处理器时要考虑的因素很多,不仅仅是从纯粹的硬件接口出发,还需要考虑相关的嵌入式操作系统、配套的开发工具、仿真工具以及工程师对微处理器的了解程度和软件支持情况等。采用基于ARM Cortex-M3内核的STM32F103系列芯片作为车载终端的控制核心,得益于Cortex-M3内核多项新型增强架构,具有超低功耗、性能优异、集成度好、接口方便、开发容易等诸多优点。选取型号为STM32F103CBT6的芯片,片内存储容量为128 KB,已能够满足应用要求。微控制器是车载终端的控制核心,根据程序执行相关指令,驱动各个外围模块。MCU系统电路原理如图3所示。外接晶振的震荡频率为8 MHz,可以匹配等效阻抗,电路也采用了较为通用的形式。与8 M晶振并联的电阻R4的阻值为1 MΩ。晶振两端的电容取值与晶振有关,一般可取20 pF,实验证明其满足设计需求。
OBD接口部分的核心功能是使车载终端通过CAN总线或K总线获取汽车的实时数据,同时作为车载电源为车载终端提供能量的通道,还用于车载终端与汽车的连接与固定。
OBD接口电路如图4所示。车载终端采用标准16 Pin的OBD接口,此处只用到了其中的7个引脚。考虑到终端在工作过程中可能会存在较多的干扰信号,可在OBD接口的地引脚与屏蔽引脚间添加磁珠L1,用于抑制高频噪声和尖峰干扰,还具有吸收静电脉冲的功能。由于终端采集数据主要通过CAN总线及K总线进行,为使系统更加稳定,避免静电的影响,分别在CAN总线和K总线末端添加ESD(静电防护)器件,如图5所示。
图3 STM32F103CBT6系统电路
图4 OBD接口电路
图5 总线的ESD防护
车载终端数据的采集主要是通过CAN总线实现的,因此对CAN总线的保护非常重要,CAN总线采集器电路设计如图6所示。这里使用了分裂终端接法,即在总线终端节点使用两个相同的电阻,叫做分裂终端电阻,接地端接在两个终端电阻之间。这样做的好处是可抑制共模干扰,保证正常通信。在总线上加共模磁珠L1与滤波电容C5、C6构成的低通滤波电路,对低频噪声有明显的抑制作用。为抑制干扰信号,CAN_P和CAN_N采用差分走线的方式。采用VP230作为CAN总线收发器。VP230具有很高的阻抗,在总线上最多可以挂接120个节点,兼容ISO11898标准,具有待机电流很低的优点。
2.4.1 蓝牙模块电路设计
图6 CAN总线采集器电路
蓝牙模块的主要作用是向虚拟串口打印车载终端的运行状态,作为辅助调试工具,或者连接手机等移动设备,通过移动设备向车载终端发送指令,获取相关汽车行驶信息。采用一款基于CSR31A2的HC-07系列蓝牙模块作为近距离无线通信的载体。这款蓝牙模块的灵敏度可达-80 dBm,内置了2.4 GHz天线,具有标准的HCI端口(UART或 USB),兼容 USB2.0通信标准。
2.4.2 GPRS无线通信电路设计
GPRS模块采用由SIMCom提供的SIM900A模块。SIM900A是一个2频GSM/GPRS模块,工作的频段为EGSM 900 MHz和DCS 1 800 MHz。模块内嵌了TCP/IP协议,扩展的AT指令使用起来更加方便。设计电路中采用排阻代替很多独立的电阻。这样可以减小整个PCB板的面积,降低布板难度,还能减少因独立电阻之间阻值差异而带来的误差。为了使输入电压波形更加平稳,在VBAT脚使用了3个0.1 μF的钽电容并联,在布板时,钽电容应尽可能靠近VBAT引脚。
2.4.3 USB接口电路设计
USB是车载终端与PC之间重要的通信接口,也可由USB接口提供5 V电源。终端软件升级时需要将终端连接PC,将升级文件复制进TF卡。为了USB通信的稳定性,需要添加USB专用ESD器件 NUP2201,对USB接口进行保护。另外,数据线也采用差分走线的方式。
2.4.4 TF+SIM卡座电路设计
采用了TF+SIM组合卡座,外接电阻也均采用排阻的形式,大大减小了PCB板的面积。
电源有两种方案可以选择:(1)使用一组开关电源和一组线性稳压器串联的形式;(2)采用两组开关电源独立进行供电。由于GPRS模块SIM900A所使用的4 V输入电压有点特殊,可选的LDO(低压差线性稳压器)型号太少,缺乏常用型号支持。电源需要给不同的模块提供能源,而不同的模块对电源的要求是不同的,因此采用多路独立供电的方案。
SIM900A模块采用单电源供电。考虑到输入电压为12 V,输出电压为4 V,相差较大,故采用开关稳压器LM2596-ADJ。由于采用的是开关电源,即使车辆电瓶电压降至7 V或更低,只要在2~3 A放电情况下电瓶电压能比 4 V高1.7 V(即维持在 5.7 V左右),还是可以供上电的,因此完全满足设计需要。
电源入口处的P6SMB24是一个TVS(瞬态电压抑制器)器件,对防雷、防浪涌有一定作用。除了SIM900A模块外,车载终端所涉及的主要功能模块(包括微处理器)的供电电压均为3.3 V,称之为主电路供电电压。为了匹配精确、稳定的3.3 V核心供电电压,本项目采用了一款电压转换芯片MC34063AD。图7所示为主电路供电电源电路图。
图7 主电路供电电源电路
通过对车载终端各功能模块的测试及对测试结果的分析表明,硬件系统能够满足对汽车数据的采集、发送等设计要求,GPRS模块的工作情况也较为稳定,没有出现大量数据丢失的情况。监测系统能够在汽车启动或熄火状态下对汽车进行实时监测,实现了对历史数据的回溯、解析、查看等功能,能够快速监测汽车状态的变化。模拟测试阶段需要由USB取电,MC34063正常工作时,用万用表测试各引脚电压,表1为测量结果。SIM900A模块采用单电源供电,图 8所示为 SIM900A正常工作时的电压波形。为了测试蓝牙模块功能是否正常,需要用到串口调试助手和蓝牙调试软件这两个工具。由终端蓝牙打印信息可以清楚地判断终端工作状态是否正常,是终端调试的一个重要工具。
本设计模式将GPRS技术、ARM技术及Internet技术三者结合应用于汽车故障数据实时采集领域,实验测试结果表明其效果良好。该汽车故障远程监测系统还可以进一步改进,在车载终端软件升级方面,可考虑改用蓝牙升级的方法。现有的SIM900A模块程序运行虽然稳定但是很臃肿,而且发送的数据量稍大,增加了系统运行的成本。另外由于模块自身连接等问题,易造成发数失败或者后台收不到数据,而通过复位模块、重新连接等方法解决,耗时较长,可考虑采用新的方法解决连接耗时问题。
表1 MC34063测试结果
图8 SIM900A工作时的电压跌落
[1]孟磊.基于OBD-II的车载远程故障诊断系统设计[D].武汉:武汉理工大学,2012.
[2]蔡黎,代妮娜,邓明,等.基于 OBD协议的Android平台汽车虚拟仪表设计[J].电子技术应用,2012,38(1):69-72.
[3]张瑞.基于 QNX的智能车载 3G远程诊断系统[J].电子技 术 应 用,2013,39(5):121-126.
[4]曹云建,唐耀庚,谢宇希.基于 OBD的汽车远程监测系统设计[J].工业控制计算机,2012,25(12):95-96.
[5]Zeng Ruili,Xiao Yunkui,Zhou Jianxin,et al.Research on automobile remote faulty diagnosis and maintenance system[J].Electronic Measurement Technology,2009,32(7):129-131.
[6]彭刚,春志强.基于ARM Cortex-M3的 STM32系列嵌入式微控制器应用实践[M].北京:电子工业出版社,2011.
[7]SELIG M,SHI Z,BALL A,et al.A modern diagnostic approach for automobile systems condition monitoring[C].25th International Congress on Condition Monitoring and Diagnostic Engineering,2012:1324-1328.