基于CAN 总线网络的车辆电子故障在线监测系统设计
2021-04-19杨婷婷
杨婷婷
(厦门兴才职业技术学院,福建 厦门 361024)
信息化的车辆控制技术渗透到汽车的各个环节,电控单元ECU 得到了广泛应用,ECU 具有故障自诊断和冗余功能,当系统发生故障时,ECU 能自动记录故障代码,并采用保护措施从固有程序中读出替代方案,以维持相关部件的正常运行。汽车故障是指汽车不能完成其功能,如发动机起动困难、漏油、漏水、照明系统故障等现象[1]。汽车在行驶过程中出现电子故障会给行车安全带来一定的风险,可能危及驾驶员和车上其他人员的生命安全。
为确保汽车行驶安全,提出了汽车电子故障的监控方法。现在市场上有许多针对汽车故障进行监测和诊断的工具,大部分都需要人在现场操作。大多数情况下,汽车在行驶状态下发生故障,导致车辆无法正常行驶,此时,请诊断人员到现场对故障进行检查,既费时又费成本。在此基础上,提出了两种新的解决方案:(1)当车辆发生故障时,测试车辆应能远程发送报警信息,通知故障诊断专家进行故障排除;(2)应开发一套新的诊断方法,对被测车辆进行远程监测,并对车辆发生的故障进行远程监测,以取代人员到现场诊断的方法。相关学者对此进行了研究,黄晓林等[2]构建基于“互联网+”的汽车在线故障监测诊断平台。用户端以单片机为核心,基于ELM327 模块、ESP8266Wi-Fi 模块实现汽车故障和行驶信息在线监测诊断,系统达到设计要求,为“互联网+”的测控应用提供了一种新方案,但是监测速度不高;王奇[3]针对受电弓在线监测系统在合肥地铁二号线车辆检修作业中的成功应用,受电弓在线监测系统通过车号识别,从而避免了弓网事故的发生,但是不能保证监测精度。因此在传统系统的基础上引入了CAN 总线网络。
CAN 是ISO 国际标准的串行通信协议,它使用多种局域网,以满足高速大容量数据通信的需要。CAN总线将各种类型的电控单元与车辆的控制系统连接在一起形成一个网络,可以实现发动机、齿轮箱、悬架、底盘和电子影音等多个系统的自动信号采集,数据共享。车辆智能监控管理系统,实现了车辆运行状态的实时在线监测,掌握车辆ECU 运行情况,提前做好车辆运行状态的数据采集和分析,保证车辆在发生故障前能够进行维修,解决了相关车辆制造商、经销商、货运企业及广大车主关注和关注的问题。利用CAN 总线网络,实现与该技术领域的大型维修企业、科研机构或国内外车辆制造企业建立的故障分析诊断中心的互联,并与相关专业的故障诊断人员建立协作关系,共同为系统提供远程故障诊断服务。
1 车辆电子故障在线监测硬件系统设计
车辆电子故障在线监测系统采用智能电子技术,结合无线网络技术和计算机技术,对车辆发动机、制动器、变速器、底盘等过程中的关键部件运行参数进行实时采集、存储、分析,当车辆出现故障征兆时,驾驶员或现场技术人员可以与车辆监控中心连接,由监控中心的故障诊断专家系统及时诊断,并给出诊断结果。
在整个系统的硬件设计上,要从需求方案入手进行考虑分析,提出了对车辆关键部件,如发动机等多个监测点的传感器信号以及仪表信号的状态数据的数字化采集与监控,首先要求实现多通道的数据采集,其次提出了车辆关键部件的结构与环境运行要求,最后一体化处理监测状态与分析结果,实现车辆故障在线监测的最终目标,即设计一种新的车辆电子故障在线状态监测的系统[4]。系统设计过程中,引用CAN 总线网络,首先需要从硬件的角度对其进行优化,优化后系统硬件总体框架如图1 所示。
1.1 CAN 总线网络模块
CAN 总线网络模块中CAN 节点硬件结构如图2 所示。
CAN 控制器包括CAN 核心、消息类型RAM处理状态机和控制寄存器。CAN 内核由一个负责接收和发送消息的 CAN 协议控制器和一个RX/TX 移位寄存器组成。消息RAM 用于存储消息对象和每个对象的识别掩码。CAN 处理器有32个可配置的消息对象。每个对象都有自己的识别掩码,CAN 控制器对传输数据进行过滤。
1.1.1 CAN 总线网络分层结构
根据标准的ISO/OSI 模型,CAN 总线网络结构分为两层,即数据链路层和物理层,总线符合该标准模型。在这些数据链层中,服务于数据传输和远程数据请求,确认数据链层接收到的消息已经收到,并提供恢复管理和超负荷信息[5]。其中物理层主要是传输规则,即控制帧结构,进行仲裁。
1.1.2 CAN 收发器
选择CTMl050 收发器,这是一种高速CAN 收发器芯片,它集成了电源隔离、电气隔离和CAN 收发装置,使CAN 控制器的逻辑电平转化为CAN 总线的差分电平,并具有DC2500V 隔离功能和ESD 保护功能。模块TXD、RXD 插头兼容+3.3 V, +5 V 的CAN 控制器,无需外接其他元件,直接连接+3.3 V 的发送、接收插头。CAN 总线上采用隔离式CAN 收发模块,实现了各节点电气、电源的完全隔离和独立,提高了节点的稳定性和安全性。
1.1.3 CAN 网络适配卡
该CAN 网络适配卡为PC-ISA 总线扩展卡,具有扩展接口。CAN 网络卡的主要功能是:将CAN 网络连接到PC 机,实现PC 机与CAN 总线之间的通讯。采用 CAN 控制器,具有总线仲裁、故障检测、自动重发等功能,避免了数据丢失,保证了系统的可靠性。由于采用了两片SJA1000 芯片,并且每个芯片由系统分配一个独立的存取空间,因此,该两路通信卡可以同时独立工作[6]。计算机通过ISA 总线与CAN 网络进行高速数据交换。连接卡的基址是通过6 个DIP 开关设置的。通过双八位数据比较器74LS688,将适配卡的基地址与PC 机要访问的高八位地址进行比较,以确定系统是否访问了适配卡。
图1 车辆电子故障在线监测系统硬件总体框架图
图2 CAN 总线网络节点硬件结构图
1.1.4 CAN 总线及接口电路
CAN 总线双环光纤网络实质上是单环网络与双环冗余技术的结合,为了实现双环网络,首先需要实现CAN 总线节点单环光纤接口。带双绞线接口的CAN 网络节点,只需增加一个光纤接口模块,即可在光纤网中方便地实现连接[7]。针对光纤环路传输中存在的死锁现象,对总线网络单环接口电路进行了改进,电路图如图3 所示。
1.2 数据采集模块
车辆电子故障监测系统需要采集的数据信号包括模拟信号,采集卡用于系统模拟信号,采集卡用于开关信号采集。装置采用32 路单端模拟量输入,24 路可编程开关量信号,采集转换支持多种触发方式。为了提高可靠性,AC6682 采用365 PCI 接口芯片和门阵列作为主芯片,实现了大规模可编程门阵列的设计[8]。另外,使用脉冲波形采集卡进行高频信号的采集,该设备的采样周期需要满足如下关系式:
图3 CAN 总线单环接口电路图
式中, fmax表示被采样信号的最高频率。除了基础的数据采集卡外,还需要在数据采集电路中安装A/D 转换器,实现数据格式的转换与交互。
1.3 微控制器MCU 模块
微控制器采用8051F040 单片机,属于8051 系列。它有2 个AD 转换器,20 多个A/D 采集通道,8 个8 位标准数字I/O 通道。它具有较强的数据采集能力,内部可实现CAN 模块化。另外,8051F040 还具有计算速度快、程序通用、调试方便、存储空间大、可扩展性强等特点。单片机模块外围电路主要包括电源、参考电压、保护电路和晶体振荡器电路。系统采用低压直流24 V 电源,通过24 V 的DC/DC 变换获得所需的各种电源,设计充分考虑了车载电源的波动能量。此外,在每个功能模块的电源端增加限流电路。系统采用了24.768 MHz 的外晶体振动。
1.4 存储器与处理器模块
由于车载工作环境的特殊性,在车载运行时会产生大量的实时动态数据。存储这些数据的设备要求很高,不仅要支持快速的数据存储,还要能够承受大量的数据读取。因此,采用了一种新型的FRAM 存储设备,其核心技术是铁电晶体材料,具有即时存储和非易失性存储产品的特点。FM24C256 是一种容量为256 kB 的铁电存储器。它可以在总线速度为15 MHz 时读写数据。其内部接口电路如图4 所示。
此外,车辆总线数据采集及故障诊断系统需要实时处理来自车载网络CAN 总线的数据,通过数据判断、分析等处理来实现其功能。在分析嵌入式系统处理器特性的基础上,从系统后期的扩展性出发,选择了LM3S2948 型嵌入式处理器作为车辆电子故障在线监控系统的处理器。
1.5 车辆及电子故障GPS 定位模块
车辆电子故障在线监测系统采用Holuxgr-89 型GPS 模块作为GPS 定位装置。该模块可使20 路GPS 接收机同时接收20 颗卫星的接收码[9]。GPS 设备系统与外部设备之间通过RS2232 串口进行通信和数据传输。GPS 接收机Holuxgr-89 通过S3C2410 的UART 接口与GPS 接收机相连,采集定位信息。NMEA0813 格式接收GPS 定位信息,读取、分析、计算后发送给处理器,然后以LCD 方式存储和显示,最后通过无线通信模块发送给监控系统。
图4 铁电存储器接口电路图
2 车辆电子故障在线监测系统数据库设计
在数据库中加入各监测点的实时运行数据和参数报警恢复数据,建立车辆运行状态数据信息。因为单个监测数据是没有意义的,所以必须将监测名称、监测时间、数据状态等等以及该点的监测值绑定到数据库中。车辆行驶过程中,通过对行驶设备监控点的实时监控,获取各监控点的数据值[10]。因为历史监测数据和历史报警器恢复数据是进行设备安全分析的主要指标,用户可通过设定一定的时间范围,通过数据库即可查询到该点运行的状态参数值,便于对车辆运行过程中电子设备的变化情况进行初步分析和判断,为车辆安全状况分析提供必要的依据。建立的车辆电子故障在线监测系统数据库主要包括4 个数据库表,其中Record 表是实时数据表,存储了实时监测数据。这些数据中,车载Recordtime 是数据采集时间,Rec0-Rec4 是监测点的监测数据,车载Paraname 是监测项目的名称。全调表格是系统报警数据表格,保存报警数据。它的车载Paraname 是警报参数名,车载Alarmstate 是警报状态信息,车载Alarmtime 是警报时间,车载Alarmvalue 是一个数值。此外,由于该系统采用车载CAN 总线网络和车载GPS 技术,在传统系统的基础上分别建立车载CAN 表和车载GPS 表,分别存储通信网络中的实时信息和车辆的实时运行位置信息,因此,相应的数据库如表1 所示。
该数据库在存储实时采集和传输的数据的同时,还需要存储车辆在正常情况下各参数的波动范围,并形成车辆运行参数异常与故障之间的对应关系,作为判断车辆电子故障的诊断标准。最后,ODBC 选择通过设置数据源的方式访问数据库并生成数据库连接。
表1 CAN 总线网络与GPS 位置信息数据表
3 车辆电子故障在线监测系统软件功能设计
3.1 CAN 驱动的加载和调用
采用SAEJ1939,其组成结构如表2 所示,在CAN 总线网络环境中,为实现对各种网络设备的驱动和控制,首先制定相应的传输协议,以实现对各种网络设备的驱动和控制。
表2 SAE J1939 协议组成表
受表2 中协议的约束,首先需要定义一个接收、数据缓冲区和一个指向帧接收和发送缓冲区的指针,以及一个指向CAN 节点数据信息的指针,并初始化系统,主要包括系统时钟设置、GPIO 接口的实现、开总中断等。CAN 节点的创建和初始化,主要包括选择节点通道号,设置通信速率,消息对象RAM 初始化等[11]。随后设置节点验收过滤器,主要是设置接收帧ID 和接收帧ID 屏蔽码,最终使CAN 数据接收中断。
3.2 分析ECU 的运行模式
车辆电子控制系统ECU 是电子故障监测系统的主要监测对象,它由燃料电池控制系统ECU, Ni-H 电池管理系统ECU,能量管理系统ECU,显示系统ECU, PC 监控与协议分析器ECU,智能DC-DC 转换器,电机控制器ECU 和光纤CAN 网络组成。该系统通过各模块之间的协同配合,实现对车辆的牵引和制动控制,将主电位器RPI 或调车器中的最大值、级位指令与机车速度反馈信号一起输入到牵引特性形成环节。在输入定值积分器后对其进行脉宽调制,调制成幅值110 V 的调制波,将调制波送到重机车和本务机车的解调制成给定值积分器输出的电压信压信中规定的限压值后,轴重补偿环节产生电流差信号。在电动机电流大于某规定值时,轴重补偿环节产生电流差信号,该信号仅附加在前转向架上,以达到前构架负载减小的目的[12]。当达到给定的最大电压限值时,电机电压持续升高,反馈信号不断上升,最大电压限值调节器的输出小于电流调节器的输出,因为最大电压限值调节器的输出是在最小电压限值环节作用下的输出,因此,当达到最大电压限值调节器的输出时,两小段桥的移相角被限制在与电机电压限值相对应的位置,从而实现了车辆的电子牵引控制,从而实现了车辆的电子制动控制。
3.3 实时车辆电子数据采集
利用硬件系统中的采集卡设备,并通过采集卡各个通道端口的配置设置对应的数据采集内容,并实现车辆电子运行数据的采集。得出的车辆电子运行状态数据的采集结果可以表示为
式中,Y 表示的是车辆电子运行状态值,X 为采集卡接收到的数据,B 为分辨率,C 为偏移量。在采集信号的过程中,数据采集卡受到采集卡硬件、外部干扰等因素的影响,信号序列中必然含有噪声或异常信号,为从采集信号中提取有用数据,在软件部分也同样需要对信号进行调理。采集器采集的载重和距离信号,综合考虑后,采用小波消噪技术对胎压信号进行消噪处理。通过数据卡的操作和对车辆运行数据的处理,获取车辆电子状态参数的数据采集结果。
3.4 实现车辆电子故障在线监测
根据采集卡获取的车辆电子运行数据,对车辆电子故障进行诊断。以ABS 轮速传感器故障为例,给出了电子故障诊断的步骤,流程图如图5 所示。
按照图5 中的诊断流程,将实时采集的车辆状态运行数据与数据库中设置的数据与故障的对应关系数据进行比对,便可以确定当前电子车辆是否存在故障。若判断车辆电子存在故障,则结合故障等级立即启动相应的报警程序。
图5 车辆电子故障诊断流程图
4 系统测试
以测试基于CAN 总线网络的车辆电子故障在线监测系统的监测效率为目的,设计系统测试实验,监测效率分别从监测结果的时效性和精度两个方面进行量化分析,并通过与传统系统的对比得出测试结果,体现出设计系统的应用优势。
4.1 系统测试环境
应用适当的软件开发方法,对于实现软件设计的主要目标是至关重要的。系统所需的主要软件支持如下:Windows CE. NET4.2 操作系统;Visual Studio. NET 2003; Microsoft SQLserver2000; Windows CE4.0 或更新版本。
4.2 准备车辆样本
此次实验中分别选择大众捷达作为系统测试的车辆样本,其中大众捷达车身尺寸为4 624 mm×1 841 mm×1 644 mm,轴距2 730 mm,发动机:1.4T 110 kW/250 N‧m,变速箱:6 挡手自一体。共准备10 台该型号的车辆样本,并在车辆上安装ECU 控制系统,保证电子控制单元的正常运行。
4.3 设置车辆电子故障数据
为了实现车辆电子故障的量化对比,此次实验以电子控制单元以及车辆的运行电压作为测试对象,因此需要对实时电压进行设置,并通过电压的设置值来控制车辆电子是否存在故障。实时电压的设置情况如图6 所示。
4.4 设置CAN 总线网络运行参数
由于设计的车辆电子故障在线监测系统应用了CAN 总线网络,因此需要在实验环境中搭建CAN 总线网络,并对网络的运行参数进行设置。CAN 总线网络的运行情况以及协议的接收界面如图7 所示。
图6 车辆实时电压设置曲线图
图7 CAN 总线网络及其协议接收界面
4.5 系统测试过程
为了形成实验对比,在系统测试之前首先设置文献[3]系统和文献[2]系统作为实验的两个对比系统。在系统的运行过程中,设计的系统可以调用CAN 总线网络中的信息,但两个对比系统无法实现对总线网络中通信信息的调用。分别将3 个监测系统以程序代码的形式导入到实验环境中,并得出系统的运行界面如图8 所示。
4.6 系统测试结果分析
在系统的测试过程中,主要针对监测误差和监测耗时进行具体的量化统计,将10 车辆电子运行电压的监测评价结果与图6 表示的设置结果进行对比,分别得出三个系统的监测误差对比结果,如图9 所示。
图8 车辆电子故障在线监测界面
图9 车辆电子故障在线监测误差对比曲线
文献[2]系统获取的故障信号误差曲线波动较大,误差范围在0.59~-0.23。文献[3]系统获取的故障信号误差曲线波动同样较大,误差范围在0.57~-0.28,相较于其他两个系统,本文系统获取的故障信号误差曲线波动较平稳,误差范围仅为0.34 至0.08。综合以上可以得出结论:通过CAN 总线网络的应用,车辆电子故障在线监测系统在保证监测精度的同时,提高了监测速度,即系统的监测效率有所提升。
5 结束语
利用CAN 总线网络实现车辆电子故障在线监测系统,可以为车辆提供更全面、及时的安全行车保障,大大减少因车辆故障甚至事故造成的损失,同时还可以建立更科学的车辆维修保养制度,延长车辆零部件的使用寿命,减少不必要的维修保养支出。