引言
随着汽车电子控制技术的迅速发展,汽车上各种电子控制单元和设备不断增加,汽车故障诊断系统也益日趋复杂。传统式诊断系统有着结构复杂、成本高、不利于携带、诊断效率低等缺点,现阶段使用最为广泛的诊断系统是第二代车载诊断系统(the Second OnBoard Diagnostics,OBDII)。本设计采用一种基于蓝牙技术及车载自诊断系统的汽车发动机电控无线故障诊断系统。该系统硬件设计简单、软件开发难度低、远程交互容易,能有效克服地域差异,满足汽车诊断对实时性和移动性的需求。
1 方案设计
1.1 工作原理
基于蓝牙技术的汽车OBDII电控故障诊断系统工作原理如图1所示。
电控故障诊断系统中,CANBluetooth模块通过OBD接口(CAN总线)和汽车电子控制单元(简称ECU)通信,读取来自ECU的信息,转换成蓝牙数据发送给具有蓝牙功能的智能手机。同样,手机发送数据信息给CANBluetooth模块,转换成CAN报文信息后发送给ECU,实现智能手机和ECU信息的无线交互通信。
图1 电控故障诊断系统原理
1.2 OBDII简介及其接口定义
OBDII故障诊断标准是开发第二代故障自诊断系统的标准,该标准目前被世界各大汽车制造厂商广泛支持。支持该标准的汽车的ECU具有监测发动机控制系统和排放系统的能力,当汽车的某个系统发生故障时,便会产生相应的故障代码。通过一定的程序可以从ECU中获取故障代码,这样就可以准确地确定故障的性质和部位。此外,还增加了范围广泛的监测系统,使得对汽车实时工况的监测成为可能。OBDII系统要监测任何一个与排放有关的部件或系统,重点是监测燃油和空气测定系统、点火系统、发动机间歇熄火以及废气控制辅助装置故障。OBDII系统将实时监测汽车零部件及系统故障,以保证汽车在整个使用过程中其排放量不超过排放法规的要求。
OBD接口定义如表1所列。
表1 OBD接口端子定义(16pin母头)
1.3 蓝牙技术
蓝牙技术是一种新的短距离无线通信协议, 是一种无线数据与语音通信的开放标准, 目的是以无线的方式取代现有的有线接口。其优势在于: 具有很强的移植性, 可应用于多种通信场合; 硬件集成应用简单, 成本低, 实现容易,易于推广;功耗低, 对人体危害小; 采用扩频跳频技术, 抗干扰能力强, 增强了信息传输的安全性。汽车系统与蓝牙技术相结合,将会给汽车的生产和服务带来更大的方便。如果进一步与移动电话连接起来,车主可在任何时间、任何地点都能了解汽车的状况,并给予必要的控制。
1.4 各部分通信方式
CANBluetooth模块与ECU通过CAN总线进行双向通信,实时、直接地读取来自ECU的数据信息。
① CANBluetooth模块接收来自ECU的数据信息。来自ECU的数据信息为CAN格式的数据报文,CANBluetooth模块读取CAN格式的数据帧和对应的CAN ID地址。
② CANBluetooth模块发送给ECU数据信息。CANBluetooth模块发送给ECU的数据信息来自手机按键命令(如读故障码、读工作参数等),以无线蓝牙信号方式进行通信;通过CANBluetooth模块应用软件对来自手机的按键命令进行处理,根据设定的通信协议(J1939协议和ISO15765协议等)对数据进行解析,转换成对应的CAN格式的数据帧,发送给ECU。
③ CANBluetooth模块发送数据给手机终端。CANBluetooth模块与手机通信,通过蓝牙接口模块进行无线射频通信。CANBluetooth模块将接收的ECU数据(CAN报文格式)转换成对应的串行数据(包含CAN的ID地址),发送给手机。通过手机端的应用软件,根据设定的通信协议(J1939协议和ISO15765协议等)对数据进行解析,显示来自ECU的数据信息。
④ CANBluetooth模块接收手机终端数据。CANBluetooth模块接收的手机端数据即命令请求(蓝牙报文格式),根据设定的通信协议(J1939协议和ISO15765协议等)对命令进行解析,转换成对应的CAN报文格式的数据,发送给ECU。
1.5 J1939通信协议
J1939协议是美国汽车工程师协会发布的以CAN总线为基础支持闭环控制的在多个ECU之间高速通信的网络协议,主要运用于载货车与客车。本协议与CAN规范有不同之处。例如:在消息路由部分,CAN规范定义不使用节点地址;而在本规范中必须使用节点地址,以防止多个节点使用同一个标示符。另外,J1939协议对仲裁域重新进行了定义。它是以CAN为基础设计了应用层的上层协议,对汽车内部ECU的地址配置、命名、通信方式,以及报文发送的优先级、数据长度、参数范围等都作了明确的规定,并对汽车内部各个具体的ECU通信内容作了详细说明。J1939协议更大程度地发挥了CAN优异的性能,为车辆上的各个电控单元建立基于CAN总线的高速数据传输网络,实现车载各电控单元间的数据共享,从而有效地减少电子线束的数量,有利于提高汽车电控单元的灵活性、可维护性和稳定性。目前,J1939已经成为世界各大车辆部件生产商均支持的重要通信标准。
本电控系统ECU中的J1939协议采用的是CAN规范中的CAN2.0B扩展帧格式,波特率为250 kbps。基于J1939协议的ECU能提供发动机性能监测参数和整车网络通信,实现整车网络中多个ECU的数据共享;同时J1939协议支持故障诊断,通过诊断工具可以读取或清除诊断故障码。
2 系统设计
2.1 硬件设计
(1) 微控制器外围电路
英飞凌公司的XC2200系列微控制器提供192~832 KB 的闪存、可选的EEPROM 仿真、最大可达82 KB 的SRAM,而所提供的最大CPU 时钟频率为100 MHz。英飞凌公司将闪存从32 KB 增至1.6 MB,RAM 增至138 KB,时钟频率提升至128 MHz,通过引脚兼容的MCU 对产品系列进行扩展,从而满足更高性能要求。为了达到AUTOSAR 标准程序模型中关于独立于硬件进行软件开发的要求,微控制器中集成了内存保护单元(MPU)。此外,英飞凌公司还提供了单独的FlexRay通信控制器,可方便地添加到系统中。
(2) CAN通信接口模块
图2是诊断系统中CAN通信接口电路图。此电路可将汽车OBDII 接口中CAN 总线上的数据读取到英飞凌XC2200系列微控制器中,也可以将微控制器中的数据通过该电路发送到汽车的CAN 总线上。
图2 CAN通信接口电路图
(3) 蓝牙接口电路
本系统采用的蓝牙模块是Modiatek公司专为智能无线数据传输而打造的FBT06系列模块。模块采用Bluetooth2.1,具有成本低、体积小、收发灵敏度高等优点,支持主从模式软/硬件设置,有线无线双AT通道、PIO扩展、ADC采样。软件上支持多达37条AT命令以及9条主动上报指令,串口波特率支持1 200~1 382 400 bps,这样就能将微控制器的串口信号通过蓝牙模块转化成蓝牙信号。带有蓝牙功能的智能手机就能通过蓝牙接口接收到传送出来的数据。蓝牙接口电路如图3所示。
图3 蓝牙模块接口电路图
2.2 CANBluetooth模块软件设计
CANBluetooth模块的蓝牙工作在从机模式,手机或平板显示终端的蓝牙工作在主机模式。CANBluetooth模块与手机显示终端采用串行数据通信,通信模式为N81格式,1个起始位,8个数据位,1个停止位,无校验,波特率为115 200 bps。
(1) CANBluetooth模块应用软件主要功能
① 把接收到的来自ECU的CAN报文信息转换成串行格式的数据(包含CAN的ID地址),发送给显示终端(手机)。
② 把接收到的来自显示终端的串行格式的数据,根据设定的通信协议(J1939协议)对命令进行解析,转换成对应的CAN报文格式的数据。
(2) CANBluetooth模块应用软件通信协议
CANBluetooth模块与显示终端采用应答模式进行信息交互。显示终端发送触控按钮命令,CANBluetooth模块响应对应命令。
显示终端触控按钮第1次触发,发送请求命令,等待收到CANBluetooth模块命令响应,即收到反馈数据,进行数据解析和显示,此次任务完成。执行完后再次发送此请求命令,等待收到CANBluetooth模块命令响应,以此类推。显示终端触控按钮切换到其他功能请求时,必须等待上次任务执行完毕。
系统ECU主要采用两种通信方式:单帧通信和多帧通信。在监测和整车网络通信时主要采用单帧通信方式;在诊断时因灵活的故障码个数是可变的,因此单帧通信与多帧通信结合使用。
在进行故障诊断时,系统ECU发送故障诊断数据帧,主要包含故障类型、故障代码DTC、参数组编号PGN等。故障类型主要分为当前故障(DMI)和先前故障(DM2),通过诊断工具可以诊断出系统的故障部件,方便用户及时排除故障。图4为系统ECU的通信协议所使用的各种数据帧及参数组。
图4 系统ECU的通信协议所使用的各种数据帧及参数组
2.3 显示终端(手机端或平板)软件设计
显示终端显示的内容:
① 蓝牙设备操作按钮与状态;
② 系统连接状态;
③ 监测参数列表与选定,包括发动机转速、车辆速度、冷却液温度、加速踏板状态、当前转速下的负荷百分比等;
④ 故障代码显示与解释。
3 操作演示
目前市面上的几乎绝大部分Android 智能手机和平板电脑都带有蓝牙接口。在手机上安装APP 软件后,就能通过蓝牙接口来观察、读取大量的汽车发动机参数。具体数据读取方法是:
① 把检测仪连接到汽车的OBDII 诊断接口上后,把车发动起来;
② 打开手机选择蓝牙功能,进入软件后扫描设备,会发现我们的蓝牙设备,选中相关设备,进行匹配;
③ 正确地执行上面的步骤后,手机和检测仪就通过蓝牙接口连接在一起了,可以在软件上观察到OBDII诊断接口上传输的大量汽车状态的数据,进行实时监测。显示结果略——编者注。
结语
基于蓝牙的汽车OBDII电控故障诊断系统,可实现对OBDII标准的汽车电控单元(如发动机电控单元)进行故障诊断。以英飞凌XC2200系列微控制器为核心,配合适当外围电路做成的检测仪,能够将汽车自诊系统的诊断信息实时地传输到手机上。这种检测仪相比那些动辄几千元的专用检测仪有价格低、体积小、使用方便的优点,具有大规模推广的市场前景。
该汽车故障诊断系统,满足了汽车维修厂使用一个设备支持多车型诊断的需求,不再需要分别购买各车型昂贵的专用诊断设备,从而极大地降低了维修厂的成本;同时,维修人员使用方便,效率大大提高。