面向车联网的车载终端故障诊断系统设计
2023-06-07何感先
何感先
(北部湾职业技术学校,广西 钦州 535000)
0 引言
随着我国社会经济的快速发展,汽车保有量不断增加,以计算机技术、电气电子技术以及互联网技术为代表的高科技技术在汽车上的广泛应用使汽车的技术构成方面发生了很大改变。在目前的车联网视域下,由于汽车技术集成度的提高和交通流的增加,汽车出现故障的概率也不断升高,而现有的就车诊断与维修技术已经无法满足车辆故障诊断的需求。为了满足社会发展对汽车故障诊断的需求,基于物联网技术大力发展汽车远程监测与故障诊断系统已经成为未来汽车行业的发展趋势之一。
车联网技术是指通过车辆上安装的通信终端从指定的信息平台上对和车辆有关的信息进行提取和利用,以完成对车辆行驶状态的实时监管,其是以计算机、传感器以及网络等为载体,对汽车的行驶状态和道路状况进行全方位感知,以此来实现车辆与车辆之间、车辆与通信基站之间的无线通信。对基于物联网技术的汽车远程故障诊断技术进行开发和研究能够有效提升汽车故障诊断的效率,并同时降低汽车发动机的维修成本[1]。
1 车载诊断系统整体框架
该文基于物联网系统所设计的车载终端诊断系统主要是由车载终端和后台服务器2 个部分组成,其中车载终端系统主要负责采集汽车行驶过程中的动态数据,例如汽车时速、发动机转速、油门踏板以及刹车踏板的位置等。在汽车行驶出现故障的情况下,车载终端系统可以及时对故障代码进行采集[2]。而后台服务器则主要负责对车载终端采集的数据信息进行存储和计算,并同时提供移动终端和PC 端现实的接口。如此用户就可以通过后台服务器来获取汽车在行驶过程中的相关数据,以便对其故障原因进行诊断。基于物联网技术的车载诊断系统整体架构如图1 所示。
图1 基于物联网技术的车载终端诊断系统架构
2 硬件系统设计
2.1 微控制器
单片机是车载故障诊断系统的核心模块,可以对系统进行控制。在选择单片机的过程中,应以简单实用和成本低为原则,同时考虑单片机需要同时对多个采集模块精准、稳定地进行 控制,选择了STM32 系列的F103 单片机。该型号的单片机具有运行稳定性高、功耗低以及设计安装简单等很多优点。STM32 引脚资源分配情况见表1。
表1 STM32F103 单片机引脚分配表
在微控制器电路设计方面,由于整个系统采用模块化的方式进行绘制,因此主控芯片原理图部分只显示了STM32F103 芯片最小系统的连接和芯片引脚详细的使用情况。而为了避免外界信号干扰控制器,在NRST 引脚上连接了一个对地电容,如此就可以有效防止外界信号对其正常工作产生影响。考虑该型号微控制器芯片内部集成的8MHz的RC 振荡器精度不是很高,在工作过程中可能会引起芯片紊乱,因此该文在设计中加入了晶振电路,并使用8MHz无源晶体振荡器,通过内部频率来增益控制器,产生的时钟频率高达72MHz,晶振电路如图2 所示。
图2 晶振电路
2.2 OBD 数据采集模块
车载诊断系统,英文简称为OBD,是一种通过汽车电子控制单元来对汽车内部数据流和故障码信息进行采集的系统,主要包括汽车怠速时间、实时车速、行驶里程、冷却液温度、尾气排放以及踏板状态等数据信息[3]。考虑在车载故障诊断终端运行过程中,OBD 数据采集模块主要是对汽车的各种数据和故障码进行采集,数据信息量较大,且采集的频率较高,为了能够在最大程度上保证数据信息传输的实时性,该文在对OBD 数据采集模块进行设计的过程中,额外增加了一个与主控芯片同型号的STM32 单片机。OBD 数据采集模块的具体工作流程如下:车载故障诊断终端工作时,CAN 通信芯片中的RXD 和TXD 会自动和OBD 数据采集模块的微控制器RXD、TXD 连接。而另一端,OBD 数据采集模块中的微控制器内部的TXD、RXD 会自动和车载终端系统中的微控制器芯片内部的RXD、TXD连接,从而实现对汽车行驶过程中数据流信息和故障码的采集与传输工作。
2.3 CAN 收发器
控制器局域网络简称为CAN,主要负责车载故障诊断系统的数据传输工作。该文系统设计采用的是型号为TJA1050 的CAN 收发器,共计有8 个引脚。在系统通信电路中,CAN 收发器芯片中的RXD 和TXD 会分别和OBD 模块中微控制器芯片的CAN 内部的RXD 和TXD 连接[4]。因此,在对CAN 收发器芯片电路进行设计的过程中,可以采取在CAN_H 与接地之间、CAN_L 和接地之间分别并联一个大小为30pF 电容的方式,以便提升CAN 收发器芯片的抗干扰性能。CAN 总线收发器引脚连接情况见表2。
表2 CAN 总线收发器引脚连接情况
2.4 定位模块
该文对车载故障诊断系统中的定位模块进行设计时,在综合考虑了使用成本、定位精准度、兼容性以及功耗等因素的基础上,选择了型号为ATK-S1216F8-BD 的定位模块,共计有5 个引脚,每个引脚的具体功能见表3。
表3 ATK-S1216F8-BD 定位模块引脚功能
2.5 陀螺仪模块
该文设计的车载终端诊断系统具有车辆故障预警功能,而预警功能的具体实现方式为对汽车行驶加速度数据何汽车倾斜角度数据进行计算,其中倾斜角度数据可以直观地反映出汽车在行驶过程中是否发生了侧翻,而对倾斜角度数据进行检测的模块就是陀螺仪模块[5]。该文在选择陀螺仪方面,综合考虑了体积大小、兼容性和检测精准度等方面因素,最终确定了型号为JY901 的陀螺仪。
2.6 电源模块
由于该系统设计中使用的元器件较多,且各个元器件的工作电压大小不一,因此需要对汽车上的供电电压进行调节之后才能输入系统中[6]。考虑OBD 接口可以直接采用车载12V 电压,而例如芯片、陀螺仪以及定位模块等使用的都是3.3V 电压,因此该文选择了ASM1117-3.3 芯片进行电压转换。其中STM32F103 芯片使用3.3V 电压供电,EN引脚连接电压为4V,用于控制芯片工作状态,输入电压为12V,经过芯片降压至5V。STM32F103 芯片3.3V 的供电电路如图3 所示。STM32F103 芯片供电主要是由662K 低压差线性稳压器组成,其是一种具有高纹波抑制率、低功耗、低压差以及短路保护等很多优点的CMOS 降压型电压稳压器。662K 模块的静态偏置电流可以低至8.0μA,使其能够在输入和输出端电压差极小的情况下将输出电流提升至300mA,同时还可以保持较好的调整率。由于STM32F103芯片的电压输入端和输出端之间的电压差很小,因此也较适合对微型处理器芯片进行供电。STM32F103 芯片3.3V 供电电压经由5V 电压662K 模块降压和稳压操作后,最终输出稳定的3.3V 电压。
图3 STM32F103 芯片3.3V 供电电路图
3 软件系统设计
3.1 软件系统整体框架
该文设计的车载终端诊断车联网系统主要由感知层、传输层以及应用层3 个部分组成。其中感知层是系统的终端模块,主要负采集汽车行驶过程中的数据流和故障代码,能够通过车载OBD 采集模块接口将采集到的数据信息存储在ECU 中,并结合系统工作的需要来选择合适的数据处理方案[7]。传输层主要负责对数据的传输工作,不同的传输方式使用的场合也是不同的,例如3G 模块可以实现车载终端与服务器之间的连接,而ZigBee 技术则能够实现服务器和移动终端设备的连接。应用层主要负责对收集到的数据信息进行计算和存储,并完成用户端和系统之间的交互。基于车联网的车载终端故障诊断系统的软件设计框架如图4 所示。
图4 系统软件功能整体框架
3.2 OBD 数据采集模块软件设计
该文对CAN 总线的参数进行了重新设定,使OBD 和CAN总线能相互进行通信[8]。具体的设计流程为先对CAN总线时钟进行配置,然后对CAN 总线寄存器进行配置,在此基础上对CAN 总线的终端程序进行设定,并同时检测CAN 是否出现置位。如果发生置位,则系统会自动发送采集到的数据信息。OBD 数据采集模块读取故障码的部分代码如下:
4 结语
综上所述,随着物联网技术在各行各业中的快速应用,以其为基础设计的车载终端故障诊断系统能够对汽车行驶状态和驾驶员状态进行实时检测,降低故障发生的概率,切实保障人员与车辆的行驶安全。由于其具有方便快捷、使用成本低廉等特点,因此得到了广大用户的青睐。但从整体上看,当前阶段对物联网技术的研究与应用依然处于初级阶段,在未来仍需要加大研究力度,以便充分发挥其全部功能。