高 烨
(乌鲁木齐市机动车排污管理中心,新疆 乌鲁木齐 830000)
2021 年7 月1 日,全国范围全面实施重型柴油车国六排放标准,这标志着我国汽车标准全面进入国六时代,基本实现与欧美发达国家接轨。与国五标准相比,国六标准明确要求“生产企业应确保所有的发动机和车辆都配备了OBD 系统”。OBD 车载诊断系统可在车辆行驶过程中实时诊断车辆当前状态,及时了解车辆尾气处理装置运行情况并改善其可靠性,确定车辆是否出现故障,出现的故障属于哪种类型,以及这个故障具体出现的位置,并及时向驾驶员发出故障警告。而北斗定位的优点也是显而易见的,如功耗小、定位精准度高等。由以上分析可以了解到,研究北斗定位与OBD 诊断的车辆状态远程监控终端系统具有积极意义,需重视从硬件和软件两方面进行综合设计研究。
北斗定位与OBD 诊断的车辆状态远程监控终端系统中,硬件设计分为四个部分,分别为:(1)主控制器(采取的控制核心为STM32F103C8T6,通过USART1与DTU 模块相连通信;通过USART2 与北斗定位模块相连通信;通过USART3 与OBD 通信模块相连通信)。(2)DTU(此部分是车辆状态远程监控终端系统中的数据传输单元,其作用与功能很多,主要用来传输较小的数据,可直接与主控制器通过串口通信。DTU 主要由两部分构成,一部分是数据传输单元,另一部分是有源天线,有源天线的作用是强化DTU 的信息收发能力)。(3)北斗卫星定位(采用的电路核心是UM220-ⅢN,同时需要外接天线以此将卫星信号接收能力增强目的。)(4)OBD 通信模块(此模块由三部分组成,第一部分是TL718,是OBD 的接口模块,第三部分是DLC,其是OBD 系统诊断接口。因汽车通信协议芯片TL718 的通信电平与汽车诊断协议的电平存在差异,所以需要进行电平转换。于是就出现了第二部分:J1850、K 线、CAN组合形成的转换电路,起到连接TL718 和DLC 的作用)。在卫星定位电路设计环节,首先需要确定电路的核心是UM220-ⅢN,北斗卫星定位既支持多系统联合定位,也支持单系统独立定位。在北斗卫星定位电路中,需要提供电压为3.3V,其他的GND 引脚都需要进行接地处置,同时还需要给天线提供馈电,用68nH 的电感完成馈电供应。为确保整个硬件设计有稳定的系统性能,还需要重视在部分模块与地面之间增加放置旁路电容,进一步保障电压的持续性和稳定性。在卫星定位电路的整个设计中,北斗卫星定位模块作为从机,在与主控制器相连时,前者以串口1 与后者的串口2 相接。
北斗定位与OBD 诊断的车辆状态远程监控终端系统中,数据传输单元主要是指DTU 部分,此部分的作用是专门将串口数据与IP 数据之间完成数据信息的转换,是一种可以将无限通信网络信息完成传送的设备。从广义层面分析,只要是可以完成需要传送数据的链路两端的数据的信息模块都可以直接称之为数据传输单元DTU。DTU 主要由两部分构成,一部分是数据传输单元,另一部分是有源天线。有源天线的作用是强化DTU 的信息收发能力。从狭义角度分析,在通信过程中,DTU 主要特指无线通讯中的发射终端设备。转换角度思考,从大的层面分析,DTU 数据传输单元属于一种模块,从小的层面分析,DTU 数据传输单元又可以看作是一种通信设备。DTU 有四个核心功能,第一个是支持自主供能,可永久在线工作;第二个是支持转换,实现数据双向转换;第三个是内部集成TCP/IP 协议线;第四个是支持参数配置,永久保存。DTU 目前在多个行业都有广泛应用,主要用来传输较小的数据,在北斗定位与OBD诊断的车辆状态远程监控终端系统中的DTU 也承担传输较小数据的责任,可直接与主控制器通过串口通信。
北斗定位与OBD 诊断的车辆状态远程监控终端系统中,OBD 诊断模块起到关键性作用。TL718 在多个领域都有应用,如故障诊断仪开发,总线数据监听,教育辅助实验等。本次应用TL718 进行外围电路设计,主要应用的是其故障诊断仪开发优势。TL718 是OBD 通信模块与主控制器连接的关键桥梁,其将多种常规汽车诊断通信协议集成到一处,主控制器可以通过与TL718相连的串口向OBD 通信模块发送查询命令,由此了解到当前车辆实际状态。实际流程如下:第一步,主控制器向OBD 通信模块发送查询命令。第二步,TL718 通过串口将命令传送给OBD 诊断模块,OBD 诊断完成车辆状态探查。第三步,OBD 诊断结果会自动通过TL718 串口再一次反馈给主控制器。TL718 外围电路设计中,已经可以确定的是TL718 可以与目前大部分汽车上的控制模块进行通讯连接,完成诊断[1]。与此同时,TL718中的部分指令具有兼容功能,虽然从型号上来看,二者之间并没有联系,但实际上二者之间有一定的兼容性,这非常便于后期的设置操作,实现最大化利用。此外,在TL718 芯片上,还有部分功能是完全不同的,同时也不具备兼容性能,因此TL718 芯片硬件不可以随意更换。进一步分析TL718 外围电路设计思路,可确定电路设计应满足以下几点:一是要确保电源提供的电压为5V 电压。同时应按照Vmeasure 引脚,作为电源电压的测量端口;二是要确保TL718 的时钟信号要由20MHz 晶振Y1 提供;三是要保障电路振荡的安全性和稳定性;四是要将波特率默认设置为38400;五是要确定主控制器可与TL718 相连,且通信的状态指示灯应放在D7 与D8 位置。
北斗定位与OBD 诊断的车辆状态远程监控终端系统中,主程序设计非常关键,将直接影响最终的测试结果,因此需要对主控制器程序的流程全面了解,并一一捋顺,由此确定哪里有不适合之处,有效改进完善。北斗定位与OBD 诊断的车辆状态远程监控终端系统程序开始后,程序初始化,并向OBD 通信模块发送指令,此时程序会做出响应,“是否与车辆ECU 建立联系?”当获得肯定命令后,程序将自动获取车辆状态参数,接着解析获取的数据信息,获取北斗定位模块车辆位置参数,下一步是建立通信链路,经DTU 发送数据,一个完整的程序流程结束[2]。若在“是否与车辆ECU建立联系?”这个环节接收到的是否定信号,那么程序将直接返回到程序初始化状态,并继续发送OBD命令,继续进入“是否与车辆ECU 建立联系?”循环,直至获得肯定命令,按照流程完成整个主控制器程序流程。
北斗定位与OBD 诊断的车辆状态远程监控终端系统中,OBD 通信程序属于通信驱动程序,具体流程是程序开始后,TL718 将通电启动,并进入初始化界面,尝试与ECU 建立连接,主控制器会向OBD 通信程序模块发送命令读取状态信息,下一步解析TL718 返回的数据信息,从而得到车辆的状态信息,最后TL718 驱动程序结束[3]。其中,主控制器在向OBD 通信程序模块发送命令读取状态信息时,也需要完成读取车辆状态信息流程,具体流程如下:第一步是准备开始,主控制器芯片向OBD 通信模块发送读取车辆状态指令,OBD通信程序会做出响应“New Date Flage=1?”当获得肯定命令后,程序将自动处理TL718_buf 的数据,并得出结论pc=0,一个完整的读取车辆状态信息流程结束。若在“New Date Flage=1?”这个环节得到的是否定信号,那么程序将直接返回到“主控制器芯片向OBD 通信模块发送读取车辆状态指令”这个环节并继续发出“New Date Flage=1?”命令,直至获得肯定命令,并按照流程完成整个读取车辆状态信息流程。OBD 诊断是目前常用的车载故障系统,具体分析OBD 车载诊断系统,可以发现此系统中包含的多个模块并不是同一时期科技产物,因此可以这样定义OBD 车载诊断系统:多种优势标准的集合。OBD 诊断将这些优势标准集合在一处,在设计OBD 通信程序时,应知道OBD 诊断的最大特征是发送PID 来请求电控系统数据流和故障码,不同的协议会有不同实现方式,所以还需要注意学习不同年代的协议。
北斗定位与OBD 诊断的车辆状态远程监控终端系统中,北斗定位驱动程序流程如下:程序开始后,北斗定位采用的电路核心UM220-ⅢN 进入初始化状态,接着将打开串口2 接收中断,并发出指令“接收新数据帧?”当获得肯定命令后,程序将自动关闭串口2接收中断,并继续发出指令“校验和验证?”当获得肯定命令后,程序会自动解析数据帧,获取车辆纬度信息,进行位置信息标志位置1,整个北斗定位驱动程序结束[4]。若在“校验和验证?”环节获取的是否定命令,则整个程序会自动返回到UM220 初始化环节,继续下一步“打开串口2 接收中断”命令,若此时“接收新数据帧?”指令为否定信号,那么程序将直接返回至“打开串口2 接收中断”命令环节,继续发出“接收新数据帧?”指令,直至获得肯定信号,继续下一个环节。北斗定位驱动程序设计目的是为了定位车辆当前位置的经纬度信息,所以若程序始终获取到的都是否定信号,那么此程序会不断重复运行,直至最终获得车辆位置的经纬度信息。
北斗定位与OBD 诊断的车辆状态远程监控终端系统中,测试环节非常重要,需要多次实际测试,并取均值,才能确定最终设计的北斗定位与OBD 诊断的车辆状态远程监控终端系统是否有效、可用。汽油机OBD系统的诊断测试主要分三类进行:第一类是零部件测试,第二类是系统测试,第三类是ECM/PCM 测试。
在第一类测试中,OBD 诊断系统将对与尾气排放相关部位的零部件进行有效测试,可测试的部分较多,主要集中在排气系统相关零部件、燃油蒸发系统相关零部件等[5]。在第一类零部件测试中,需注意有部分零部件必须要接受检测,如氧传感器、碳罐控制阀、ECT 传感器等。在第二类的系统测试中,必须要做的检测是失火检测。即在正常打火后,车辆并没有按照预想的一样成功启动。经过测试分析,失火的主要原因有以下几种:一是混合气的浓度超出标准值;二是混合气的浓度低于标准值;三是气缸中的压缩压力过低。汽油车发动机的失火率若超出一定标准范围,则表示本次系统测试结果不合格,需要重新测试,并找出引发测试失败的具体原因。在第三类的ECM/PCM 测试中,需要检测汽车发动机控制模块,当汽车上显示ECM/PCM时,说明汽车动力模块或发动机出现故障。发动机的控制系统由传感器Sensor、电子控制单元ECU 和执行器三部分组成,电子控制单元ECU 在其中承担“大脑”的作用,它和普通电脑一样,由微处理器、存储器、输入/输出接口、模数转换器以及整形、驱动等大规模集成电路组成。ECM 工作时通过各种传感器收集发动机的各部分工作状态信息,由负责传输的线路发送至ECU。在ECU 接收这些信号之后开始逐个分析,从而得知发动机各部件功能处于什么样的状态、运作情况如何的信息;存储器ROM 中存放的程序是经过精确计算和大量实验取得的数据MAP 为基础编写出来的,这个固有程序在发动机工作时,不断地与采集来的各传感器的信号进行比较和计算,把比较和计算的结果用来对发动机的点火、空燃比、怠速、废气再循环等多项参数的闭环控制。
本次实际测试结果显示,汽油车诊断接口提供的电源在北斗定位与OBD 诊断的车辆状态远程监控终端运行中是完全可以承担支持作用的。汽油车OBD 诊断口的一个引脚将为终端供电,此时电源指示灯正常亮起,车载电源电压为11.9V,可以确定汽油车处于正常启动状态。
综上所述,北斗定位和OBD 诊断都有其各自的优势特点,将二者的优势融为一体,不仅能有效解决车辆在远程监控系统车载终端监测信息单一的问题,同时也将研究出一款基于北斗定位与OBD 诊断优势为一体的车辆状态远程监控终端系统,及时有效地监测车辆运行状态。一套系统需要有硬件和软件两方支持,卫星定位电路设计、数据传输单元、TL718 外围电路设计属于硬件设计范畴;主程序设计、OBD 通信程序设计、北斗定位驱动程序设计属于软件设计范畴,同时做好硬件与软件设计,才能达到在车辆行驶过程中实时监控车辆状态的目的,从而保障车辆尾气达标上路。