基于J1939协议的重型车OBD诊断仪软件设计
2020-10-21黄名云
黄名云
摘 要:J1939协议是国标规定的柴油车的OBD协议,外部诊断设备要与车辆通信,必须满足J1939协议的要求。文章对一种基于J1939协议的诊断儀的软件设计进行了说明。分析了J1939协议报文的特点,对请求报文的发送,广播报文的接收,多帧报文的传输协议,故障码的解析等进行了实例说明,并设计了整个程序处理流程。实际使用中能正确读取车辆数据,实时性好。关键字:J1939协议;OBD;传输协议;故障码中图分类号:G255.54 文献标识码:B 文章编号:1671-7988(2020)11-42-04
Abstract: J1939 protocol is the OBD protocol of diesel vehicle stipulated by the national standard. If the external diagnostic equipment wants to communicate with the vehicle, it must meet the requirements of J1939 protocol. In this paper, I described the software design of an OBD scanner based on J1939 protocol. I analyzed the characteristics of J1939 protocol message, illustrated the sending of request message, the receiving of broadcast message, the transmission protocol of multi-frame messages, the analysis of DTC, and designed the whole program processing flow. In practice, it can read the vehicle data correctly and has a good real-time performance.Keywords: J1939 Protocol; OBD; Transmission Protocol; DTCCLC NO.: G255.54 Document Code: B Article ID: 1671-7988(2020)11-42-04
引言
GB18285-2018和GB3847-2018分别对汽油车和柴油车增加了OBD检查的内容,适用于新车下线,注册登记及在用车检验,标准规定,若OBD检查不合格,判定排放检验结果不合格[1][2]。这说明我国已将车载OBD技术作为机动车尾气排放控制的重要手段。作为OBD技术的基础,诊断通信协议是关键的一环。目前,轻型车使用比较多的是ISO 14230和ISO 15765,即基于K线的KWP2000和基于CAN总线的诊断协议。重型车OBD技术起步较晚,由于ISO 15765经过多年的发展和应用已非常完善和成熟,因此也被广泛应用到重型车中。国家环境保护部发布的《HJ 437-2008车用压燃式、气体燃料点燃式发动机与汽车车载诊断(OBD)系统技术要求》,允许生产商可以自由选择ISO15765和SAE J1939[3]。实测中东风天锦、天龙、江铃凯锐、帅铃等车型的OBD系统都是采用SAE J1939协议。
1 J1939协议介绍
SAE J1939协议是美国汽车工程师协会(SAE)提出的基于CAN2.0B的高层网络通信协议,用于为中重型道路车辆上电子部件间的通讯提供标准的体系结构[4]。协议不但规定了ECU之间如何通信,也包括了故障诊断。SAE J1939网络遵循7层OSI结构,用不同的文件描述每个实现的层,表1列出了SAE J1939协议的构成。……
