1、- V -基于 SAE J1850 通信协议的汽车发动机故障诊断与测试摘 要计算机技术和控制技术广泛应用于汽车上 使得现代汽车在功能 安全以及对环境的污染方面都有了长足的改进 但同时也使得汽车的结构更为复杂 增加了汽车故障诊断与测试的难度 为此美国汽车工程师协会 SAE 于 1993 年制定了随车诊断系统 OBD 标准 OBD 随车诊断系统通过汽车上安装的随车诊断装置 实时监测汽车的行驶状况 一旦发现问题 立即通过故障指示灯向驾驶员显示 并存储故障代码与有关数据 从而提高了汽车的安全性与诊断的准确性汽车 OBD 技术的核心是汽车总线协议 带有 OBD 随车诊断系统的汽车电控系统是建立在 B类数
2、据通信网络协议基础上的 SAEJ1850 标准是 B 类网络数通信协议中比较常用的一种 本论文选择了 SAE J1850 汽车通信协议设计了汽车故障诊断与测试系统 该系统以发动机为控制对象 以电子技术为指令分解和执行的设计基础以通信技术架起指令发出者与指令执行者之间的通信桥梁 以计算机技术开辟可视化的人机交互窗口本论文包括对 B 类数据网络的体系结构和 SAE J1850 通信协议技术规范的解析 和基于 SAE J1850 通信协议故障诊断与测试系统的设计两部分 本文设计的故障诊断与测试系统包括硬件和软件两- VI -方面 硬件部分包括 PC 机与 ECU 的通信接口装置 负责将网络总线的数据
3、信号转换为 PC机可以识别的串行通信信号 本文也给出了OBD -PC 接口设备的详细设计软件部分包括对 ECU 数据与故障码的读取与分析 负责发送请求信号 接收应答信号 分析所得数据并以直观的方式显示 ECU 数据和故障码 软件在设计开发时充分贯彻了软件工程的设计原则采用了结构化与模块化的程序设计方法 并结合了关系数据库系统的有关理论 实现了串行通信 数据采集 数据分析 数据库查询的有机结合本系统设计完成后在 GM 的电控发动机上进行了热试试验 该型号发动机按 SAE J1850 的 VPW 方式 即 Class 2协议 进行通信通过该系统在电控发动机热试中的应用 证实系统运行可靠 有实际使用
4、价值关键词 汽车网络总线 OBD SAE J1850 通信协议 故障诊断热试试验- VII -THE DESIGN OF FAULT DIAGNOSE AND TEST SYSTEMOF AUTOMOBILE ENGINE BASED ON SAE J1850COMMUNICATION PROTOCOLSABSTRACTWith the computer and control technology application toautomobile, the modern automobile has been improved on the aspect ofperformance, saf
5、ety and pollutant on environment. However, theautomobile structure become more complex, at the same time automobilefault diagnosis and test become more difficult. Therefore, SAEestablishes the OBD standard in 1993. The OBD system canmonitor the running condition of automobile, and illumine the indic
6、ationlight and memorize the fault codes and relative data in case discoveringany problem. Consequently the safety and the diagnostic veracity ofautomobile have been enhanced.The core technology of OBD is automobile bus protocol. Theelectronic system of automobile with OBD is based on class B datacom
7、munication network. And SAE J1850 standard is the most popularone. This thesis designs automobile fault diagnosis and test system basedon SAE J1850 communication protocols. This system regards engine ascontrolled object, electronic technology as design base and- VIII -communication technology as com
8、municational bridge and computertechnology as visible interface.This thesis includes the research of the class B data communicationnetwork and SAE J1850 communication protocols standard, and thedesign of fault diagnosis and test system of SI engine is based on the SAEJ1850. This system is made up of
9、 two parts: the hardware and thesoftware. The hardware includes PC-OBD interface, dealing withtransferring the data signals of network bus to serial communicationsignals which PC can identify. We also give the detailed explaining ofhardware design of the OBD -PC interface.The software includes acqui
10、ring and analyzing the ECU data andfault codes, dealing with sending request messages, receiving respondmessages, analyzing the data and displaying the data. The software designcarry out fully the principle of software engineering. It adopts theprogrammer method of configuration and module. Also com
11、bines somedatabase system theories. Then achieves the integration of serialcommunication, data collection, data analyze and database query.This system is used in the hot tests of electronic control gasolineengines of SGM. This type of engine communicates in SAE J1850protocols. The application of thi
12、s fault diagnosis and test system to thehot tests of the engine has indicated the design is successful and effective.- IX -Key words: automobile network bus, OBD , SAE J1850,communication protocols, fault diagnosis, hot test- III -上海交通大学学位论文版权使用授权书本学位论文作者完全了解学校有关保留 使用学位论文的规定 同意学校保留并向国家有关部门或机构送交论文的复印
13、件和电子版 允许论文被查阅和借阅 本人授权上海交通大学可以将本学位论文的全部或部分内容编入有关数据库进行检索 可以采用影印缩印或扫描等复制手段保存和汇编本学位论文保密 在 年解密后适用本授权书本学位论文属于不保密请在以上方框内打学位论文作者签名 苏荣艳 指导教师签名 常久鹏 邓康耀日期 2005 年 2 月 1 日 日期 2005 年 2 月 1 日- IV -上海交通大学学位论文原创性声明本人郑重声明 所呈交的学位论文 是本人在导师的指导下独立进行研究工作所取得的成果 除文中已经注明引用的内容外本论文不包含任何其他个人或集体已经发表或撰写过的作品成果对本文的研究做出重要贡献的个人和集体 均已
14、在文中以明确方式标明 本人完全意识到本声明的法律结果由本人承担学位论文作者签名 苏荣艳日期 2005 年 2 月 1 日上海交通大学硕士论文- 1 -第一章 绪论1.1 引言随着有关汽车的各种法规的日趋强化 人类对汽车性能指标的要求越来越高 例如 不仅要求功率高 扭矩大 油耗低 污染小 而且要求安全性好舒适佳 智能化高以及成本低廉等等 这些因素共同作用的结果推动了汽车电子化的进程 特别是七十年代中期以后 微机在汽车上的应用已使汽车工业进入了一个崭新的发展阶段 可以说汽车已经进入微机控制的时代汽车发动机是汽车的心脏 其工作好坏直接影响汽车的整体性能 由于传统的供油和点火系统具有影响其自身发展的固
15、有缺点 因此 汽车电子控制装置开发最早 最主要部分便是从发动机控制 1 开始的 它从单一项目的发动机点火控制系统逐步扩展到控制废气再循环 空燃比 怠速转速等多项内容的发动机综合控制系统 然后再渗透到汽车的其它组成部分 最终形成了汽车的微机集中控制系统前期的发动机控制系统主要应用模拟电路的电子控制单元 (ECU) 其控制系统大多采用 个 ECU 控制一个系统的单独控制方式 随着电子技术的飞速发展 发动机电控系统中的 ECU 采用了数字电路及大规模集成电路 其集成度越来越高 控制功能大大加强 发动机控制系统也由单独控制转向了综合控制并最终形成了整个汽车的集中控制系统 发动机综合控制 2 3 的项目
16、如表 11 所示 随着电控技术的发展 控制项目还会逐渐增多计算机技术和控制技术广泛应用于汽车上 使得现代汽车在功能 安全以及对环境的污染方面都有了长足的改进 但同时也使得汽车的机构更为复杂 在延长了汽车使用寿命的同时 也增加了汽车诊断 维修的难度 因此 许多传统的故障诊断方法和诊断测试设备无论在诊断的准确性 使用的方便性方面都难以满足用户的需求上海交通大学硕士论文- 2 -表 1 1 发动机综合控制Tab1 1Engine integrate control喷油量喷射定时燃油停供1 电控燃油喷射燃油泵点火时刻通电时间2 电控点火装置爆震防止3 怠速控制 ISCEGR 废气再循环氧传感器及三元催
17、化CO 控制 VAF二次空气喷射4 排放控制活性炭罐电磁阀控制空气引导通路切换5 进气控制进气涡流控制阀6 增压控制涡轮指示灯7 警告提示催化剂过热警报8 自诊断发动机控制9 备用功能与失效保护1.2 汽车故障诊断技术发展状况和研究动向现代汽车的故障诊断技术 4 5 主要是从发达的工业化国家开始的 诊断范围已经扩展到包括发动机在内的各个子系统 概括起来 故障诊断系统主要有两种 种是具有诊断功能 应用车内仪表的自诊断系统 (称车内诊断系统 )另一种具有诊断功能 则需要应用车外仪器进行检测的诊断系统 (称车外诊断系统 )在诊断技术发展的最初阶段 故障诊断装置仅是一些专用的检测仪器 直至 1972
18、年 才由德国推出了大众牌汽车诊断装置 随后 各国也相继推出了类似的设备 如美国哈米顿公司的自动读出诊断仪 日本三菱公司的综合诊断装置以及德国大众公司 法国雷诺公司 日本电装公司等推出的各自的车用诊断装置等 这些诊断装置对故障部位的推断能力有限 而且使用成本很高 因此七十年代后期 新出现的微机自诊断系统占据了汽车故障诊断的主流上海交通大学硕士论文- 3 -八十年代以后 车内诊断系统占主导地位的局面开始被打破 车外诊断系统有了重大发展 如 1986 年通用汽车公司推出的诊断系统 (CAMS) 福特汽车公司推出的诊断系统 (SMDS)等 均是车外诊断系统 它们不但可以从随车系统上接收数据 用自身存贮
19、的故障诊断程序进行自动诊断 而且还具有提供维修说明 技术资料目录检索 各项参数及技术条件等咨询功能 随着计算机的普及以及人工智能 (AI)技术的发展 汽车诊断的专家系统 6 又得到了应用 如 1986年福特汽车公司推出的 TEST (Troubleshooting Expert System Tool) 加拿大太平洋铁路公司利用多年积累的润滑油光谱分析数据和经验开发的发动机油液分析故障诊断专家系统 EDMS(Engine Diagnosis Maintenance System)等 但是 由于这些汽车故障诊断专家系统目前所具有的经验与知识很不够 同时 AI 技术水平也有待提高 因此 其应用尚未
20、进入成熟阶段目前 汽车诊断技术的研究动向集中在以下几个方面1. 扩充现有车内诊断装置的功能2. 进一步发展以诊断专家系统为主的车外诊断系统3. 加强故障预报功能4. 研究自疗技术5. 建立诊断技术标准化1.3 OBD 随车自诊断系统 7 8 9 10 的推出具有电子控制的车辆 各电控系统工作情况的好坏 直接影响到车辆的正常行驶 为了保证车辆各系统的正常工作和方便检修 主控制器 ECU 具有自我诊断的功能 在汽车使用中 它能够对各传感器 执行器和连接线路进行不断地监测 如果出现工作不正常现象 主控制器 ECU 则对故障的内容以代码的形式储存在存储器内 同时控制警告指示灯点亮 给驾驶员以提示ECU
21、的自诊断 11 12 13 Self Diagnosis 是 ECU 本身具有的一种功能 它是存储于 ECU 内微机中的一部分软件和相应的硬件 在电控系统中有着大量不断流动的电信号 ECU 自诊断就是利用这些电信号来做出判断 并将判断的结果或储存 或输出 或针对故障做出反应控制系统在正常工作时 主控制器 ECU 的输入和输出信号都是在一个规定的范围内运行 当控制电路的信号出现异常时 ECU 中的诊断系统就判定该电路信号出现故障 电路的异常情况分为 三 种第一是电路的信号超出规定范围 这主要是用来检查传感器故障 例如 冷却液温度传感器 (CTS)在正常工作时 其输出电压在 0.1 4.8V 范围
22、内 如超出上海交通大学硕士论文- 4 -这一范围 诊断系统则判定为故障信号 如在运行中发现这些故障 ECU 或者用一个预设的值代替传感器信号 让 ECU 按正常流程工作 或者转入其它运行方式 如出现 MAF 故障后 由空气质量流量法转入速度 密度法 出现 EGO故障后 由 A/F 闭环控制转向开环控制等第二是主控制器 ECU 在一段时间内接收不到传感器的信号或接收到的信号在一段时间内不变 诊断系统也会判定为故障信号 这主要用来检查执行器的故障 例如 氧 (O2)传感器在正常工作时 其输入电压应在 0.1 0.9V 内波动不少于 8 次 10 秒第三是主控制器 ECU 中的诊断系统偶然发现一次不
23、正常的输入信号时 不会诊断为故障信号 只有不正常的输入信号多次出现或持续一定时间 才会判定为故障信号 例如 转速信号是一个脉冲信号 发动机转速在 100RPM 以上时 丢失几个信号 ECU不会判定为故障当主控制器 ECU 中的诊断系统检测到故障信号后 便立刻将故障信息以故障代码的形式存储到储存器中 同时点亮警告灯 以显示故障信息现代汽车上的控制系统越来越多 由于各控制系统之间需要共同使用一些传感器和开关的信号 例如发动机电控系统和自动变速器控制系统都需要转速传感器 节气门位置传感器和挡位开关信号等 过去 ECU 与电器部件之间都是点对点的单一通讯 互相之间很少有联系 这样的电控系统必然导致电路
24、十分复杂 可靠性低 此外 当电控系统出现故障时 也需要将电控系统中存储的故障消息 能与汽车外的检测设备 微机或解码器 实现通讯 在过去 由于没有统一的网络通讯协议 没有统一的网络通讯接口 从而给测试故障的诊断带来了很多困难 为了解决以上两个问题 首先在现代汽车上已逐步由单一控制改变为集中控制 用网络通讯技术来实现个控制系统间的消息的互换 采用总线控制 其优点是可以大大减少线束的数量 大大提高电控系统的可靠性和维修性 图 1 1 所示为汽车集中控制系统的总线控制原理图 各控制系统间通过网络通讯协议来实现联系 网络通讯协议主要用于解决以下问题优先权问题 各控制系统对某一共同使用信号的指令 可能是不
25、一致的因此 就需要按通讯协议 根据各指令的重要程度来确定执行指令的优先次序解决各系统间的独立性问题 灵活性问题 可扩展性问题等解决汽车状态数据共享问题 如发动机转速 车速 轮速等数据必须由各个控制系统共享 数据的传输与时间的刷新等规定各厂家生产的控制系统 ECU 都必须遵守统一的协议 以便相互通讯 共享信息上海交通大学硕士论文- 5 -为了解决对外的通讯协议和通讯接口的统一问题 美国汽车工程师协会SAE 于 1993 年制定了随车诊断系统 OBD 标准 即第二代随车微机自诊断系统 其 优越性体现在统一了汽车控制系统内部网络的通讯协议统一通讯接口 故障诊断插座统一了故障码的设置规则扩充了随车诊断
26、系统的检测项目随车诊断系统通过汽车上安装的随车诊断装置 实时监测汽车的行驶状况一旦发现问题 立即通过故障指示灯向驾驶员显示 并存储故障代码与有关数据 从而提高了汽车的安全性与诊断的准确性 汽车维修人员通过专用的诊断仪或某些规定的方法 能够获取随车诊断系统所存储的故障代码与故障数据因此可以更准确地判断故障部位和故障原因 提高了诊断的效率 随车诊断系统的不足之处是只能提供故障代码与某些故障数据 不能对维修人员给以更具体的指导 电控汽车的结构非常复杂 对应某一故障码 可能对应几处甚至十几处具体零部件有发生故障的可能 维修人员仍需根据故障具体情况 结合已有的维修经验并查阅相关的维修手册 才能找出发生故
27、障的具体部位 进行维修或更换 因此也是十分费时的1.4 汽车网络标准汽车 OBD 技术的核心是汽车总线协议 14 目前 汽车上 存在多种汽车 总线协议和 标准 它们在功能和特点方面的 侧重 点都 有所不同 按照 SAE 的规范 将驾驶员 自动变 巡航定 动力转 自诊断发动机 防抱防 悬架控 防盗控 失效保护控制系统总线图 1 1 汽车集中控制系统总线控制原理图Fig1 1 Bus-master chart of ECU system上海交通大学硕士论文- 6 -汽车总线协议分为三类 Class A Class B和 Class C 16Class A 协议是面向传感器 /执行器控制的低速网络
28、,数据传输位速率只要 1-10Kbps 主要应用于电动门窗 ,座椅调节 ,灯光照明等控制 Class A类协议的实施可以大大减少汽车线束的使用量Class B 协议是面向独立模块间数据共享的中速网络 ,位速率一般 10-100Kbps.重要应用于电子车辆信息中心 ,故障诊断 ,仪表显示 ,安全气囊等系统 ,以减少冗余的传感器和其他电子部件Class C 协议是面向高速 实时闭环控制的多路传输网 最高位速率可达1Mbps 主要用于悬架控制 牵引控制 先进发动机控制 ABS 等系统 以简化分布式控制和进一步减少车身线束 其中最为重要的车辆网络 Class C 标准是 CAN由此可见 SAE 的网络
29、分类仅仅是功能上的分类 A 类面向低水平的传感器 /执行器控制 B 类侧重于参数共享 C 类面向实时控制 ,三类网络功能均向下涵盖 即 B类支持 A类网的功能 C 类网能同时实现 B 类和 A类网功能典型的 A 类网应用如图 1 2 所示的汽车防盗报警系统 由于车门开关及行李厢开关等信号只在一定的情况下产生 正常时没有信号 所以对数据传输速率要求极低 低速 A类网就能充分满足系统要求 并且和传统的系统设计相比车身线束大大减少 设计更为简单方便当大量共享数据需要在车辆各智能模块间进行交换时 A类网不再胜任 可采用 B类网络系统 典型 B类网络系统如图 l 3 所示 车辆信息中心和仪表组单元无须单
30、独挂接液位 温度 车灯 车门及安全带等信号传感器 就能从总线上获取上述信息 大大地减少了传感器和其它电子部件数量 有效地节约了安装空间和系统成本图 1 2 汽车防盗报警 A 类网络系统Fig1 2 Class A net system for Auto alarm图 1 3 用于数据共享的 B 类网络系统Fig1 3Class B net system for data comm unication上海交通大学硕士论文- 7 -汽车 OBD 系统通常采用 Class B 类总线协议 17 目前在汽车 OBD 系统中普遍采用的汽车通信协议包括 SAE J1850 ISO 9141-2 ISO 1
31、4230-4 和 ISO15765-4 SAE J1850 协议是由美国汽车工程协会 SAE 制定 其主要特点是总线仲裁 低成本 无主和单总线拓扑 SAE J1850 协议 13支持两种方式 脉宽调制 PWM 41.6 Kb/s 和可变脉宽调制 VPW 10.4 Kb/s SAE J1850 协议的脉宽调制大多被美国福特汽车公司采用 又称 SCP 协议 SAE J1850 协议的可变脉宽调制通常为美国通用汽车公司和美国克莱斯勒汽车公司采用 又称CLASS 2 协议ISO 9141-2 ISO 14230-4和 ISO 15765-4协议是由欧洲标准化组织协会 ISO制定 ISO 9141-21
32、8和 ISO 14230-419用于车载故障诊断时采用都是 10.4 Kb/s 的波特率 ISO 14230-4是 ISO 9141-2的升级版 又称 KWP2000 ISO 9141-2和 ISO14230-4 的主要特点是成本低 单线和无总线仲裁 ISO 15765-4 通信协议 20是基于 CAN 的汽车通信总线 采用的最高波特率为 500 Kb/s 其主要特点是总线仲裁 多主和总线校验功能等SAE 在 1991 年 12 月定订 J1979 号通报 ,并在 1994 年 6 月修订该通报为 诊断测试模式标准 即为 OBD 系统 (联邦 )及 OBD 系统 (加州 ) ON BOARDD
33、IAGNOSTIC,制定 7 个模式 ,简称为 (OBD/OBD- ) 使用 J1979 诊断测试模式可以达到加州 OBD 随车诊断法规所要求的排放测试指标SAE 在 1993 年 6月定订 J2190号通报 加强诊断测试标准 该通报依据 J1979号通报 诊断测试模式标准 之增订文件 并适用于 诊断通讯方面 SAE J1850或 ISO 9141 2 标准 该标准是用来定义资料传输的协定及 OBD 统一诊断的格式 并以电脑 16 进位 HEX 方式来定义传输协定1.5 本文的主要研究内容及意义随车诊断系统 OBD 标准经美国环保局 (EPA)和美国加州资源协会 (CARA)认证通过 90 年
34、代后期 美国本土生产的汽车以及进口到美国的汽车 随车诊断系统必须符合 OBD 的标准 由于美国的市场经济地位 该标准相对具有权威性 到目前为止 世界上各大汽车公司基本上全面采用了 OBD 诊断系统带有 OBD 随车诊断系统的汽车电控系统是建立在 B 类数据通信网络协议基础上的 SAE J1850 标准是 B 类网络数通信协议中比较常用的一种 数据通信是实现故障诊断与测试平台与控制器 ECU 之间信息互传的唯一通道 通信协议是实现数据通信的基础 通信双方必须遵守相同的约定方可实现准确的数据传送和数据解码 通信协议的选择直接关系者故障诊断测试系统的通用性和可移上海交通大学硕士论文- 8 -植性一个
35、多功能 高效率的汽车故障诊断与测试系统必定是包括电子技术 通信技术 计算机应用技术以及相应的发动机控制技术 车辆控制技术等在内的多学科技术的综合应用的结果 故障诊断与测试系统以发动机或车辆为控制对象 以电子技术为指令分解和执行的设计基础 以通信技术架起指令发出者与指令执行者之间的通信桥梁 以计算机技术开辟可视化的人机交互窗口 相辅相成 缺一不可 本论文以这几项技术为基础研究开发了基于 SAE J1850 通信协议的故障诊断与测试系统本文的主要研究内容如下深入研究 OBD 系统采用的 B类数据网络的体系结构 解析 SAE J1850通信协议技术规范分析 SAE J1850诊断测试的基本理论 掌握
36、基于 SAE J1850 通信协议与ECU通讯的格式设计开发基于 SAE J1850 通信协议的汽车故障诊断与测试系统 硬件部分包括 PC 机与 ECU 的通信接口装置 软件部分包括对 ECU 数据与故障码的读取与分析最后在试验台架上测试该故障诊断与测试系统 并应用于发动机热试项目中 证实该系统的使用价值上海交通大学硕士论文- 9 -第二章 SAE J1850 通信协议的技术规范及其描述 172.1 引言在目前存在的多种汽车网络标准中 应用最为广泛的是美国汽车工程师协会颁布的 J1850 J1850 是 SAE 车辆信息多路传输和数据通信网络标准委员会于 1988 年审议通过 经 l990 年
37、 1996 年间多次修改而成的面向数据共享的 B 类网络协议 本章详细论述了应用于 B 类数据网络通信协议和接口的 SAE J1850标准2.2 SAE J1850 通信协议的体系结构 17 212.2.1 网络拓扑结构1.数据总线拓扑数据总线的拓扑是指数据总线连接各个节点的结构图包括汽车数据总线模块里的所有总线和节点 现在汽车上较广泛使用的是一种称为 单 总线结构 的最简单的总线结构 在 单 总线结构 中 所有的节点通过 条数据总线连接起来 在 些有特殊要求情况下 往往采用复合 单总线结构 即用包含有多根数据总线的电缆来连接多个节点 但如果遵循如下准则 这种冗余结构并没有改变 单总线结构 拓
38、扑的定义a. 所有的节点通过单一路径发送和接收数据上海交通大学硕士论文- 10 -b. 所有的节点在同 时刻接收到相同的数据帧c. 每条总线上的通信是各自独立的2.数据总线控制尽管可以采用各种各样的数据总线控制方式 但 B 类网络趋向于采用 种对等 的控制方式 采用对等 方式是因为它是建立开放体系结构数据通信的基础 因为没有主控节点 所以当检测到总线上有空闲时 任何一个节点都有相等的机会开始一个数据发送 然而 并非所有节点的地位都是相同的 帧优先是存在的 优先级最高的帧总是能够完成 这也就是说这种帧 不会发生数据丢失现象 对等控制方式的两个缺点是 除优先级最高的帧外 无法保证数据的延时 另 个
39、缺点是总线的利用极限难于估计2.2.2 OSI 参考模型 ( 开放系统互联参考模型 )OSI 参考模型如图 2-1 所示 该模型基于国际标准化组织 (ISO)的建议 作为各种层上使用协议国际标准化的第 步而发展起来的 这 模型被称为 ISOOSI(国际标准化组织开放互联参考模型 ) 因为它是关于如何把开放式系统连接起来的 通常简称为 OSI 参考模型OSI 模型有 7 层 其分层原则如下 :a. 根据不同层次的抽象分层b. 每层功能的选择应该有助于制定网络协议的国际标准c. 各层边界的选择应尽量减少跨过接口的通信量d. 层数应适当 既要避免不同的功能混杂在同 层中 又要避免过多的层所造成的体系
40、过于庞大B类数据网络主要应用了这 7 个层中的 3 个 即物理层 数据链路层 应用层 如图 2-1所示上海交通大学硕士论文- 11 -J1850应用界面数据显示诊断代码与参数寻址方法数据缓存仲裁总线存取方式时钟同步最大数据长度位或字节排序帧元素差错检查差错应答头字节检错码字节位速率位编码驱动类型冗余介质应用层数据链路层物理层图 2 1 ISO OSI 模式的 SAE J1850 结构图Fig 2 1 Map of SAE J1850 to the ISO OSI model上海交通大学硕士论文- 12 -1.应用层在 OSI 模型的最顶端是应用层 该层建立了不同的输入 输出设备之间的应用关系
41、其中包括人的操作 将网络中的数据从一个字节传送到另一个字节包括操作信息和诊断信息 运行工况参数数据和故障码 只要按规定接通规定接口 就可以得到上述信息 另外 在某些法规规定的诊断中也要指明应用层的要求2.数据链路层数据链路层的主要功能是将位或标志转化为有效的 无差错的帧或数据一个典型的数据链路层的应用是将并行数据转化为串行数据 或者是提供位同步 数据链路层的另 个主要功能是出错检查 当有错误发生时 数据链路层或者是对其出错检查 或者通知上 层 因此数据链路层的内容包括地址策略网络存取和数据同步 帧元素和结构 差错检查和应答等3.物理层物理层及其线路形成了数据链路层之间传递的信息路径 物理层的主
42、要元素包括诸如电压 电流值 位的定义以及时序等 它规定了工作介质 最大节点数 最大网络长度 电气参数 数据信号 符号定义 检测 以及故障容错等2.2.3 网络实现本文所描述网络的实现已经被简化为普通的硬件 软件 消息以及工具消息的第 个字节或前三个字节称为头字节 这些字节充分定义了与该网络接口相关的要求 这些要求在网络设计的最初阶段是可选择的图 2-2显示了三字节头结构图 2-3显示了统 定义的三字节头的第一字节字节 1 字节 2 字节 3见图 3-3 目的地址 源地址图 2 2 统一的三字节Fig 2 2 Three byte form of consol i d ated header上海
43、交通大学硕士论文- 13 -位 7 6 5 4 3 2 1 0P P P O K Y Z Z优先权 0 到 7 H 0 消息类型 见下表位 位含义 值 值含义0 要求帧内应答K 帧内应答1 不允许帧内应答0 功能地址Y 地址模式1 物理地址000110ZZ 特指消息类型11具体含义依赖于 K 和 Y 的值 详细说明参见有关资料2.3 应用层B 类数据网络的应用层是在网络中将数据从一个节点传到另 个节点或多个节点 这种消息的传输应支持操作和诊断的需要1.普通汽车操作消息在非诊断模式时所传输的消息称为普通汽车操作消息 这些消息被用来完成从网络的发送节点到一个或多个接受节点的数据通信 这些消息在 S
44、AE 的标准中有详细定义 在 SAE J2178 标准中 一部分消息是已经规定的 另 部分是保留未用的 这些保留未用的消息有待汽车生产厂商去定义 因此往往是不同的2.诊断消息B 类数据通信网络在最初设计时就考虑到其诊断的功能 即为该种网络所设计的故障诊断仪将通过网络来诊断汽车控制系统的故障 这些诊断程序可以包括法定诊断 工业标准诊断以及生产厂商所特指的诊断程序 SAE J1979 和 SAEJ2190 定义了一套公认的测试模式 这些测试模式适用于诊断 也是为诊断目的预留的1) 诊断参考数据SAE J1979 和 SAE J2190 规定了测试模式和帧格式 使车外的故障诊断仪图 2 3 三字节头
45、的第一个字节Fig 2 3 First byte of three byte form of consol i d ated heater上海交通大学硕士论文- 14 -可以得到汽车中有关数据2) 诊断故障代码在 OBD 所规定的故障代码中 既有一部分分配于汽车各个系统所代表的故障 也有一部分是留给汽车生产商专用的 但这些汽车商所自定的故障代码必须满足 SAEJ2012 所规定的代码结构 SAE J1979 和 SAE J2190 规定了用来从在车系统重新获得故障码的信息3.帧过滤网络接口设备应该具备帧的过滤的功能 以使得对于特定的节点 只接受那些所需要的帧 因为 B 类数据网路使用物理地址和
46、功能地址两种帧地址 因此帧过滤设备应该检查开始几个字节 而不是只检查第一个字节 以确定其目的地址 帧过滤的主要功能是通过减少节点所接收到帧数目 从而减少与网络操作有关的软件和过程的负担2.4 数据链路层这 部分描述了数据链路层的如下特性a. 地址策略b. 网络存取和数据同步c. 帧元素和结构d. 差错检查e. 差错响应2.4.1 地址策略B 类数据网络规定了两种地址策略 -物理地址和功能地址 并且这两种地址可以在网络中共存 两种地址服务于不同的任务 在同一网络中灵活运用这两种地址很有用的1.物理地址当帧只在两个设备之间交换时 是基于它们所在网络内的物理地址的 网络内的每个节点都必须分配一个唯一
47、的物理地址 这种地址策略应用于当通信引入特殊的节点 而并非其他存在于网络上的节点时 诊断仪的接入就是这种情况 此时 对这种特殊模块的确认是很重要的 (注 诊断仪所发送请求信号中的地址是功能地址而非物理地址 )上海交通大学硕士论文- 15 -2.功能地址帧在网络上多个设备之间的传输是基于帧的功能地址的 每个节点被分配一系列与它相关的功能 或者发送 或者接收 并且这些节点可以位于网络的任何地方 这种地址策略用于功能的物理位置不是很重要 并且可以从 个模块转移到另 个模块中 在功能地址中 消息的功能是主要的 而非节点的位置2.4.2 网络存取和数据同步网络接口设备采用 种多次存取仲裁 一种基于网络协
48、议的 非破坏性的按位仲裁 以有效的解决同时存取总线的情况 当节点检测到总线上有空闲时就可以向总线上存取数据 当同时有两个或两个以上节点存取时 就采用仲裁以解决冲突的产生 因为网络上并没有离散的时钟信号 节点信号的同步依赖于网络上传输的位或标志1.全消息缓存全消息缓存是指 个或多个消息存在于网络接口设备的入口处 全功能缓存以硬件的代价减低了软件的负担 若同时采样帧过滤 也可以更有效地降低软件的负担2.字节缓存字节缓存是指接收到消息或传递消息的每 个字节都被单独地缓存于接口设备中 字节缓存 的另 功能是为接口设备与网络上帧的同步提供时钟信号2.4.3 网络 格式元素和结构网络中的数据通常是按以下述
49、格式传输的idle SOF DATA_0 . DATA_N CRC EOD NB IFR_1 . IFR_NEOF, IFS idle其中各元素的功能分别是 :1.SOF (Start of Frame)SOF 标志位用来唯一地确定一帧的开始 不计入 CRC 校验码2.EOD (End of Data)EOD元素是数据帧发送方用来表示发送结束的标志 当帧内存在 IFR(in-frameresponse)时 IFR通常是跟在 EOD 后面而在 EOF 前面的3.EOF (End of Frame)EOF 元素用来表示 帧的结束 当 帧中最后的数据传输完毕后 总线将保持低电平状态 此时 所有的接收方都认为传输已经结束上海交通大学硕士论文- 16 -4.IFS (Inter-Frame Response)IFS 是用来在帧连续传输时为不同的节点作适当的同步信号 在 IFS 最小周期结束之前 传输方不能在总线上开始传输 然而 接收方必须与其他在 EOF最小周期后出现的 SOF 同步 以此来调节不同时钟的误差5.NB (Normalization Bit)NB 仅用于采用可变脉宽调制的设备中 对可脉宽调制来说 帧内应答的的第 位仍为低电平 因此 在 EOD 标志的后面必须跟着一个 NB NB 的作用为标志 IFR的开始6. BRK (Break)BRK 元素