《汽车CANBUS总线通讯协议SAEJ1939教程(可编辑) .doc》由会员分享,可在线阅读,更多相关《汽车CANBUS总线通讯协议SAEJ1939教程(可编辑) .doc(19页珍藏版)》请在三一办公上搜索。
1、汽车CAN-BUS总线通讯协议-SAEJ1939教程 95 诊断报文DM1 96 指示灯 SAE J1939规定的与诊断故障代码相关的指示灯共4 个分别是故障指示灯红色停止灯琥珀色警告灯 和保护灯 故障指示灯 只用于传达排放相关的故障代码信息当有一个排放相关的故障代 码处于激活状态时才被点亮 红色停止灯 用于传达整车出现严重故障必须停车检修的故障代码信息 琥珀色警告灯 用于传达车辆系统出现问题但不须立即停车检修的故障代码信息 保护灯 用于传达一种代码信息提示车辆系统出现问题且极有可能不是相 关电路子系统引起的故障例如发动机冷却液的温度超出了它的规定 温度范围 97 故障模式标识符FMI 区域a
2、为电子模块所识别的总的信号输入范围 区域b由程序定义的实际上可能的总的信号范围即信号在运行中可能的物理范围 区域c信号在既定条件下的正常范围 区域d在既定条件下实测认定的最严重的超低范围 区域e在既定条件下实测认定的最严重的超高范围 区域f低于已知系统实际可能范围显示为与低压源短路 区域g高于已知系统实际可能范围显示为与高压源短路 区域h在既定条件下实测认定的轻度的超低范围 区域I在既定条件下实测认定的轻度的超高范围 区域j在既定条件下实测认定的中度的超低范围 区域k在既定条件下实测认定的中度的超高范围 98 故障模式标识符FMI FMI 0数据有效但超出了正常操作的范围最严重水平 FMI 1
3、数据有效但低于正常操作的范围最严重水平 FMI 2数据不稳定断断续续的或者不正确 FMI 3电压高于正常值或者与高端短路 FMI 4电压低于正常值或者与低端短路 FMI 5电流低于正常值或断路 FMI 6电流高于正常值或电路接地 FMI 7机械系统不响应或者无法调节 FMI 8非正常的频率或脉冲宽度或是周期 FMI 9非正常的更新速度 FMI 10非正常的速度或变化 FMI 11引起故障的原因未知 FMI 12坏的智能装置或部件 FMI 13超出标定范围 99 故障模式标识符FMI FMI 14特殊指令 FMI 15数据有效但高于正常操作范围最不严重水平 FMI 16数据有效但高于正常操作范围
4、中等严重水平 FMI 17数据有效但低于正常操作范围最不严重水平 FMI 18数据有效但低于正常操作范围中等严重水平 FMI 19错误地接收到的网络数据 FMI 20数据向高漂移 FMI 21数据向低漂移 FMI 22 到30预留由SAE 赋值 FMI 31未知或条件存在 63 小结 1 网络层的功能 2 网络互联电控单元NIECU的种类及功能 3 典型的网络拓扑结构 64 大纲 SAE J1939概述 物理层SAE J1939-11 数据链路层 SAE J1939-21 网络层 SAE J1939-31 应用层SAE J1939-71 故障诊断SAE J1939-73 网络管理层 SAE J
5、1939-81 应用实例 65 应用层Vehicle Application Layer 应用层为应用过程访问OSI 环境提供了一种方法包括支 持应用的管理功能和通用的机制它以PGN和SPN的方式具 体规定了车辆使用的每个参数的数据长度数据类型分辨 率和数据范围等 应用层报文使用PGN作为一组参数的标号一组参数称 为参数组PGPGN是其唯一的标识号参数组内有一 个或多个具体的参数每个具体参数都有一个唯一的标号 称为怀疑参数编号即SPN PDU PGN 域 位 优先权 P 3 扩展数 据页 EDP 1 数据页 DP 1 PDU格式 PF 8 PDU特定域 PS 8 源地址 SA 8 数据域 DA
6、TA 8字节64 29位标识符 66 参数组PG与分组原则 PGParameter Group 参数组 在一报文中传送参数的集合包括参数类型和数据等与源地址无 关可以从任何源地址发送任意的参数组 参数用来描述某一个具体物理量可分为连续型参数和离散参数 参数组定义的原则 按照参数的功能分组而不是按照参数的类型分组 按照参数的刷新频率分组 按照参数所属的子系统 一个参数组需定义以下属性 刷新周期频率 数据长度 参数组编号 缺省优先级 参数表 67 参数组编号PGN PGNParameter Group Number参数组编号 参数组编号唯一标识一个参数组在通讯过程中起到索引的作用 表征报文的内容和
7、用途确定报文的类型和传播数据需要的帧数目 参数组的总数目240 162562 8672 其中对PDU1有用的参数组 2402 480 对PDU2有用的参数组 16256 2 8192 R 0 DP 0 PF 1111 0000 PS 0000 0000 68 连续型参数与SLOT 连续型参数需要定义以下属性 数据长度位数或字节数 分辨率1个量纲的参数值表示的实际值的大小和单位 参数的有效值范围 偏移量 参数类型测量参数或状态参数 参数的实际数值 偏移量分辨率参数值 参数数值范围的规定 对于连续性参数一般用1个字节2个字节或4个 字节来描述并非这些字节表示的所有数值都是有效 的一般满足下表表1的
8、约定 69 连续型参数与SLOT 70 连续型参数与SLOT 已有的连续型参数和未来需要新增的连续型参数推荐 使用SLOT比例Scaling界限Limit偏移量Offset 和传送 Transfer 功能进行定义这样可以在给定的参数类型温 度压力速度等中尽量保持数据的一致性每个SLOT 提供了适合给定类型中的大部分参数的数值范围和分辨率 若需要可用不同的比例因子或偏移量 偏移量一般根据以下两点进行恰当的选择 a 偏移量 0或者 b 偏移量 50等于数值范围 71 连续型参数与SLOT SLOT的例子 名为SAEac02的SLOT其SLOT识别号为140定义了以一个字节描 述的加速度的有效值范围
9、单位偏移量等信息1个字节的有效范围是 0250可见该SLOT的分辨率为 01ms2 bit 实际的加速度值为-125参数值01单位为ms2 72 离散型参数 离散型参数 一般用24位表示 测量型离散参数一般用来表示某功能模块的状态比如起停状态工作模式状态 状态型离散参数一般用来下达某个指令比如命令电机的起停工作模式的切换 包括两种类型测量型离散参数和状态型离散参数 测量型离散参数表示通过测量和观测得到的状况如发动机目前是否点火 巡航控制目前是否激活等 状态型离散参数表示通过采取行动改变具有多态信号的某一种状态或发出 命令改变状态如发动机制动使能巡航控制激活关闭等 73 离散型参数 离散型参数推
10、荐的定义方法举例 测量型离散参数数值定义表 状态型离散参数数值定义表 数值意义 已关闭 已启动 指示错误 不可用或不存在 数值 00 01 10 11 数值意义 命令关闭 命令启动 保留 忽略 数值 00 01 10 11 74 PGN和SPN实例 PGN65213的例子 注意本PGN有8个字节的数据但只使用了三个半字 节其余位应该填充1补齐 75 PGN和SPN实例 假设风扇需求转速为40该SPN标识的参数的物理 量为40该字节的值应为 40 04 100 0110 01002 76 PGN和SPN实例 77 PGN和SPN实例 假设当前的风扇转速为1500rpm该SPN标识的参数的 物理量
11、为1500rpm该字节的值应为 15000125 12000 0010 1110 1110 00002 78 PGN和SPN实例 假设某ECU的地址为156向网络发送PGN65213参数 如下风扇需求转速为40当前风扇因油温过高而运转 当前风扇转速为1500rpm请填写发送此报文的完整PDU EDP 0 DP 0 PF 111111102 PS 101111012 Byte1 011001002 Byte2 111100112 Byte3 111000002 Byte4 001011102 Byte5 111111112 Byte6 111111112 Byte7 111111112 Byte
12、8 111111112 79 大纲 SAE J1939概述 物理层SAE J1939-11 数据链路层 SAE J1939-21 网络层 SAE J1939-31 应用层SAE J1939-71 故障诊断SAE J1939-73 网络管理层 SAE J1939-81 应用实例 80 故障诊断Diagnostics SAE J193973协议通过定义一组诊断报文DMx实现 对SAE J1939网络的诊断同时提供安全机制以及与诊断仪 的连接机制等 随着排放要求越来越严格针对排放的OBD需求日增 SAE J193973故障诊断协议也迅速发展其目的之一就是要 尽量满足各种OBD的要求 81 几个重要的
13、术语和定义 激活 Active 显示故障当前正在发生的一种状态激活主导先前激活一个故障不可 能同时处于这两种状态 广播 Broadcast 不必请求即可按标准定期发送的报文某些情况下广播可能会正常中 断被请求后可继续发送直到被请求关闭 标定 Calibration 安装在一个控制模块中的软件包括可执行代码和标定数据 持续监视系统 Continuously Monitored Systems 持续监视系统大约每秒监视两次注意有些持续监视器可能要求在许多 条件成立的前提下监视才能执行 82 几个重要的术语和定义 诊断故障代码DTC Diagnostic Trouble Code 一种用以识别故障类
14、型相关故障模式以及它的发生次数的4 字节数值 停帧 Freeze Frame 诊断故障代码发生时截取的一部分运行参数 关键字 Key 基于一个种子的一系列数学操作的结果测试工具将其发送至待测设 备用来获取操作许可 故障指示灯MIL Malfunction Indicator Lamp 用以报告与排放相关故障代码的发生非排放相关的故障代码的发生不 会点亮故障指示灯 83 几个重要的术语和定义 内存存取 Memory Access 定义了一系列指令测试工具用来对一个有或没有数据安全措施的设备进 行操作如读写内存或存储空间 非持续监视系统 Non-continuously Monitored Sys
15、tems 系统监视一个历程只运行一次历程在文中的含义由OBD定义应注意 并非每个历程都执行监视例如低温启动辅助监视只有当环境温度低于10 50时才可能运行 口令 Password 一个数测试工具和待测设备均可以经过简单数学运算得到一个结果 并将这一结果与其预知的特征值进行比较通常当两者相等时便可通过认证 84 几个重要的术语和定义 对象 Object 有内存和或空间的一些实体 指针 Pointer 一种编码用来标识可进行内存读写操作的待测设备类型有内存直 接寻址定向空间寻址 端口 Port 从一个控制模块到一条指定的通信链路的物理连接点 先前激活 Previously Active 指示故障已
16、经发生但当前并没有发生的一种状态一个故障不能同时处于 激活和先前激活两种状态 85 几个重要的术语和定义 准备就绪代码 Readiness Code 当所有排放相关的故障诊断都已执行完毕时才被设置的代码在联邦 排放认证测试程序的低温部分完成之前该准备就绪代码被发送检测设备 会询问控制模块确认准备就绪代码的状态若该代码已被设置好了则该 控制模块已经进行过所有排放相关的诊断测试 例如当发动机起动时在对进气歧管压力的变化范围作诊断测试时可 能会要求速度和扭矩超出怠速工况条件运行因此当系统消除了这个故障 代码然后重新启动发动机那么直到进气歧管压力的变化范围测试完成 时该准备就绪代码才被设置不止是进气歧
17、管压力的测试其它测试也希 望在准备就绪代码发送之前执行每当车辆熄火的时候准备就绪代码的状 态设置为未准备好 种子 Seed 设备所设定的一个号码发送至测试工具用来验证测试工具是否有 权对该设备进行操作 86 几个重要的术语和定义 空间 Space 包含对象集合的一个存储区域 使用者级别 User_Level 工具对设备所发送的一个号码同时发送一个初始请求用来通知待测设 备测试工具所希望获得的操作权限级别 合理性 Rationality 合理性是验证输入部件与已知整车运行参数的符合性尽管该输入参 数在物理层上可能仍在量程范围之内 87 诊断故障代码DTC 诊断故障代码DTC由4 个独立域构成这4
18、 个部分是 a 可疑参数的编号 SPN b 故障模式标志 FMI c 发生次数 OC d 可疑参数编号的转化方式 CM 19位 5位 7位 1 位 88 故障诊断的性能要求 a 安全性 定义了使用串行数据链接的安全方案使工业标准测试工具能在维修服务程 序中完成必需的任务包括操作诊断指令存取车辆配置信息重新标定控制模 块等 b 连接器 测试工具可以通过连接器接入整车网络连接器定义见 SAE J193913 c 诊断状态信息支持 提供一组报文能够读取清除故障信息监控整车运行参数读取设置车 辆及部件的配置信息以及其他相关信息 d 诊断测试程序支持 支持提供一种功能测试工具使各个控制模块进入指定的测试
19、程序由此确 定子系统的运行状态 89 诊断报文DM DM1 诊断报文1 当前故障码 DM2 诊断报文2 历史故障码 DM3 诊断报文3 历史故障码的清除复位 DM4 诊断报文4 停帧参量 DM5 诊断报文5 诊断准备就绪 DM6 诊断报文6 持续监视系统测试结果 DM7 诊断报文7 指令非持续监视测试 DM8 诊断报文8 非持续监视系统测试结果 DM9 诊断报文9 氧传感器测试结果 DM10 诊断报文10非持续监视系统测试标志符识别支持 90 诊断报文DM DM11 诊断报文11 当前故障码清除复位 DM12 诊断报文12发送排放相关的当前故障码 DM13 诊断报文13停止启动广播 DM14
20、诊断报文14内存存取请求 DM15 诊断报文15内存存取响应 DM16 诊断报文16二进制数据传输 DM17 诊断报文17引导载入数据 DM18 诊断报文18数据安全性 DM19 诊断报文19标定信息 目前最新的SAE J193973 REVSEP2006 共提供了52个诊断报文 0 91 诊断报文DM1 激活状态的诊断故障代码DM1 传输频率一旦有DTC成为激活的故障就有DM1报文会被传输并在之后处于正常的每秒 仅一次的更新速度如果故障激活的时间是一秒或更长然后变为不激活的状态则应传 输DM1报文以反映这种状态的改变如果在一秒的更新期间有不同的DTC改变状态则要传 输新的DM1报文反映这个D
21、TC为了避免因高频率的间断故障而引起的高报文传输率建议 每个DTC 每秒只有一个状态改变被传输这样如果故障码在一秒期间发生两次状态改 变激活不激活状态会有一个用于确认DTC成为激活状态的报文和在下一个传输期 间确认它为不激活状态的报文该报文仅当有一个激活的DTC 存在或处于响应一个请求时 才被发送注意当不止一个激活的DTC 存在时这个参数组将会要求使用多包传输参 数组 数据长度 数据页面 PDU 格式 PDU 指定 可变 254 202 默认优先值 6 参数组数编号 6522600FECA16 位 位 位 位 位 8 92 诊断报文DM1 参数定义 字节 1 87 故障指示灯状态 65 43
22、21 字节 2 87 65 43 21 字节 3 81 字节 4 81 字节 5 86 51 字节 6 71 位 位 位 位 位 位 位 位 位 红色停止灯状态 琥珀色警告灯状态 保护灯状态 故障指示灯闪烁方式 红色停止灯闪烁方式 琥珀色警告灯闪烁方式 保护灯闪烁方式 SPNSPN 的低8 位有效位最高有效位为第8 位 SPNSPN 的第2 个字节最高有效位为第8位 SPN有效位中的高3 位最高有效位为第8位 FMI 最高有效位为第5 位 可疑参数编号的转化方式 发生次数 注当发生次数未知时应将其所有位的数值设为1 93 诊断报文DM1 DM1的作用即时报告正在发生的所有故障 DM1在发生故障
23、时发送一般不需要其它节点的请求假 设有节点请求DM1这时被请求的ECU如果有故障就发送 其所有的故障如果没有则按照如下的推荐标准发送 字节1 87 位 00 字节2 87 位 11 65 位 00 43 位 00 21 位 00 65 位 11 43 位 11 21 位 11 早期的推荐设定 目前的推荐设定 字节63 字节7 字节8 SPN 524287 FMI 31 OC 127 CM 1 255 255 0 0 0 0 255 255 如果ECU已经没有故障但由于需要在整秒的边缘触发了 DM1这时也采用以上标准发送DM1 94 诊断报文DM1 如果当前的故障不止一个DM1就要采用多帧传输方
24、 式发送所有的故障这时的多包传输报文的有效数据的填 写方式如下 a 灯状态 b SPN c FMI d CM 和OC 多包报文数据不含序列编号字节格式如下 abcdbcdbcdbcd 31 CAN标准帧与扩展帧格式 CAN数据帧组成 帧起始SOF 仲裁域控制域数据域循环冗 余校验域CRC 应答域ACK 帧结束EOF 32 协议数据单元PDU 协议数据单元由七部分组成分别是优先级保留位数据 页PDU 格式PDU特定域可作为目标地址组扩展或 专用源地址和数据域PDU 被封装在一个或多个CAN 数据帧中通过物理介质传送到其他网络设备每个CAN 数据帧只能有一个PDU PDU PGN 域 位 优先权
25、P 3 扩展数 据页 EDP 1 数据页 DP 1 PDU格式 PF 8 PDU特定域 PS 8 源地址 SA 8 数据域 DATA 8字节64 29位标识符 33 协议数据单元PDU 优先级P 这三位仅在总线传输中用来优化报文延迟接受者 对其忽略报文优先级可从最高00002设置到最低 71112所有控制报文的缺省优先级是30112 其他所有报文专用请求和ACK 报文的缺省优先级是 61102当定义新的参数组编号或总线上通信量 变化时优先级可以升高或降低当报文被添加到应用 层将给出一个推荐的优先级OEM 可以对网络做相 应调整优先级域应当是可重编程的 34 协议数据单元PDU 保留位R 扩展数
26、据页位EDP 数据页位DP 扩展数据页位 EDP 0 0 1 1 数据页位 DP 0 1 0 1 功能描述 SAE J1939 第0页PGN SAE J1939 第1页PGN SAE J1939 保留 定义为ISO 15765-3的报文 35 协议数据单元PDU PDU 格式PF PF 域位确定PDU 的格式也是组成PGN的域 之一协议规定PF 240为PDU1格式PF 240255 为PDU2格式 PDU 特定域PS PS 域位它的定义取决于PDU 格式根据PDU 格式它可能是目标地址或者组扩展 PDU1 格式下PS 域 是目标地址 PDU2 格式下PS 域为组扩展GE值 36 协议数据单元
27、PDU 目标地址DA 这个域定义了报文发送到的特定目标的地址注意 对于任何设备如果其地址与接收到的报文的目标地址不 同应忽略此报文所有设备作为报文的响应者应对全局目 标地址255作出监听和响应 组扩展GE 组扩展与PDU 格式域的低四位注意当PDU 格式 域最高四位被置1说明PS 域是组扩展规定了每个数 据页4096 个参数组 37 PDU1格式下的PGNs 38 PDU2格式下的PGNs PGNs分配模板 A B C D A B C D 39 40 PDU总结 1PDU1和PDU2格式下PGN的总数为 240162562 8672 2PDU1格式主要分配给必须指明目标地址的PGNs数 量有限
28、PDU2格式下的PGNs不能用于必须指明目标地址的 情况大部分PGNs都定义在PDU2段 3为了保证实时性报文更新速率小于100ms时不允许 多包发送 4PDU1和PDU2格式下均支持单包报文和多包报文无 论是PDU1还是PDU2格式其前半段PGNs标识的报文更新 速率小于100ms不允许多包发送后前半段PGNs标识的报 文更新速率大于100ms允许多包发送 41 报文类型 目前共支持五种类型的报文分别为命令请求 广播响应确认和组功能报文的具体类型可由其分配 的参数组编号识别 1命令报文 命令类型的报文是指那些从某个源地址向特定目标 地址或全局目标地址发送命令的参数组目标地址接收 到命令类型的
29、报文后应根据接收到的报文采取具体的 动作PDU1 格式PS 为目标地址和PDU2 格式PS 为组扩展都能用作命令 42 报文类型 2请求报文 请求类型的报文提供了从全局范围或从特定目标地 址请求信息的能力 最典型的一个请求类型的报文是请求PGN报文 6 43 报文类型 请求PGN报文的定义 参数组名称 定义 传输速率 数据长度 数据页 PDU 格式 PDU特定域 缺省优先级 参数组编号 参数定义 字节123 请求PGN 用于从一个或多个网络设备请求参数组 用户自定义推荐每秒请求不多于2 或3 次 3 字节 0 234 目标地址全局或特定 5990400EA0016 被请求的参数组编号 对于特定
30、目标地址的请求目标地址必须做出响应如果目标地址不支持请 求的PGN也必须发出一个NACK 的响应以表明它不支持该PGN有些PGN 是 多包的因此一个单帧请求的响应可能有多个CAN 数据帧如果是全局请求 当一个节点不支持某个PGN 时不能发出NACK 响应 44 报文类型 3广播响应报文 此报文类型可能是某设备主动提供的报文广播也 可能是命令或请求的响应 这是最常见的一类报文总线上的数据交换大多采 用这类报文如一个ECU以一定的周期广播某个参数 或者一个ECU接受其它ECU的PGN请求而发送参数 45 报文类型 4确认报文 确认报文 有两种形式 第一种是CAN 协议规定的它由一个帧内确认 ACK
31、 组成用来确认一个消息已被至少一个节点接收到 第二种形式的确认报文由应用层规定是对于特定命 令请求的 ACK或NACK等的响应 最典型的一个确认类型的报文是Acknowledgment 报文 6 2 3-5 46 报文类型 Acknowledgment报文的定义 参数组名称 定义 传输速率 数据长度 数据页 PDU 格式 PDU特定域 缺省优先级 参数组编号 参数定义 字节 1 6-8 确认报文 用来提供发送方和接收方之间的握手机制 收到需要此类型的确认的PGN 时 8 字节 0 232 目标地址 全局255 5939200E80016 控制字节 组功能值若适用 保留给CATARC 分配置各字
32、节为FF16 被请求报文的参数组编号 47 报文类型 Acknowledgment报文的定义 控制字节 0 至3 见以下定义 3 至255 保留给CATARC 分配 肯定确认 控制字节 0 ACK 否定确认 控制字节 1 NACK 拒绝访问 控制字节 2 无法响应 控制字节 3 48 报文类型 5组功能报文 这种类型报文用于特殊功能组如专用功能网络 管理功能多包传输功能等 下面介绍一种用于实现多包传输功能的组功能 报文连接管理报文 49 报文类型 连接管理报文的定义 参数组名称 传输协议连接管理TPCM 定义 传输速度 数据长度 用于9 字节及以上的数据的参数组的传输 由传送的参数组编号决定
33、8个字节 数据页DP 0 PDU 格式 PDU特定域 236 目标地址 默认优先级 7 参数组编号 6041600EC0016 参数定义 说明第一字节为控制字但其它字节的定义依赖于第一字节的控制字的值 50 报文类型 连接管理报文的定义 连接模式下的请求发送TPCM_RTS指定目标地址 字节 1 控制字节 16指定目标地址的请求发送RTS 23 整个报文大小的字节数 4 全部数据包数 5 保留给SAE 设定使用该字节应设为FF16 6-8 打包报文的参数组编号 连接模式下的准许发送TPCM_CTS指定目标地址 字节 1 控制字节 17指定目标地址的准许发送CTS 2 可发送的数据包数 3 下一
34、个要发送的数据包编号 45 保留给SAE 设定使用该字节应设为FF16 6-8 打包报文的参数组编号 51 报文类型 连接管理报文的定义 报文结束应答TPCM_EndofMsgAck指定目标地址 字节 1 控制字节 19报文结束应答 23 整个报文大小的字节数 4 全部数据包的数 5 保留给CATARC 设定使用该字节应设为FF16 6-8 打包报文的参数组编号 放弃连接TPCM_Abort指定目标地址 字节 1 控制字节 255放弃连接 2-5 保留给CATARC 设定使用该字节应设为FF16 6-8 打包报文的参数组编号 广播公告报文TPCM_BAM全局目标地址 字节 1 控制字节 32广
35、播公告报文BAM 23 整个报文大小的字节数 4 全部数据包的数 5 保留给CATARC 设定使用该字节应设为FF16 6-8 打包报文的参数组编号 52 多帧传输机制 采用多包报文在连接管理报文的协调下进行多帧 传输 长度大于8 字节的报文无法用单个CAN 数据帧来 装载因此它们必须被拆分为若干个小的数据包 然后使用单个的数据帧对其逐一传送而接收方必须 能够接收这些单个的数据帧然后解析各个数据包并 重组成原始的信息 CAN 数据帧包含一个8 字节的数据域由于组成 长信息的单个数据包必须能被识别出来以便正确重 组因此把数据域的首字节定义为数据包的序列编号 每个数据包都会被分配到一个从1 到25
36、5 的序列编号 由此可知多帧传输最大的数据长度是255 包7字 节包 1785 个字节 53 多帧传输机制 序列编号是在数据拆装时分配给每个数据包然后通过 网络传送给接收方接收方接收后利用这些编号把数据包 重组成原始信息 序列编号从1 开始依次分配给每个数据包直到整个 数据都被拆装和传送完毕这些数据包从编号为的数据包 开始按编号的递增顺序发送 第一个数据传送包包含序列编号1 和字符串的头7 个字 节其后的7 个字节跟随序列编号2 存放在另一个CAN 数 据帧中再随后的7 个字节与编号3 一起直到原始信息 中所有的字节都被存放到CAN 数据帧中并被传送 54 多帧传输机制 传送的每个数据包除了传
37、送队列中的最后一个数据包 都装载着原始数据中的7 个字节而最后一个数据包的数据 域的8 个字节包含数据包的序列编号和参数组至少一个字 节的数据余下未使用的字节全部设置为FF16 多包广播报文的数据包发送间隔时间为50 到200 毫秒 对于发送到某个指定目标地址的多包消息发送者将保 持数据包在CTS 允许多于一个数据包时发送间隔的 最长时间不多于200毫秒响应者必须知道这些数据包都 具有相同的标识符 数据包被顺序接收按照序列编号的顺序把多包消息 的数据包重新组合成一多字节字符串这个字符串被作为 长信息的应答传送给应用程序模块 55 多帧传输机制实例 56 多帧传输机制实例 57 小结 1 CAN
38、标准帧和扩展帧格式 2 PDU的两种格式及应用场合 3 PGN的组成 4 五种报文类型及作用 5 多帧传输机制 58 大纲 SAE J1939概述 物理层SAE J1939-11 数据链路层 SAE J1939-21 网络层 SAE J1939-31 应用层SAE J1939-71 故障诊断SAE J1939-73 网络管理层 SAE J1939-81 应用实例 59 网络层Network Layer 网络层描述定义了网段之间的连接协议当同时存在不同 传输速度或使用不同传输介质的多个网段时必须有至少 一个网络互连电控单元提供从一个网段到另一个网段的报 文传递功能 网络层功能 报文转发 报文过滤
39、 波特率转换 地址翻译 协议转换 60 网络互联电控单元NIECU 中继器Repeater可以增强数据信号使数据传输更 远的距离网段间可以是不同的传播媒介 网桥Bridge数据的转发和过滤它可以把网络拆解 成网络分支分割网络数据流隔离分支中发生的故障 这样就可以减少每个网络分支的数据信息流量而使每个网 络更有效提高整个网络效率网段间可以是不同的数据 传输率和媒介 路由器Router路由器不仅有网桥的全部功能还可 使它连接的不同网段具有独立的地址空间 网关Gateway可以在不同的协议或报文集的网段之 间传送数据 61 各NIECU区别 传输介质 不同 波特率不 同 地址空间不同 通信协议 不同
40、 Repeater Bridge Router Gateway 62 典型汽车网络连接 SAE J1939协议 2 大纲 SAE J1939概述 物理层SAE J1939-11 数据链路层 SAE J1939-21 网络层 SAE J1939-31 应用层SAE J1939-71 故障诊断SAE J1939-73 网络管理层 SAE J1939-81 应用实例 3 SAE J1939协议概述 SAE J1939协议是由美国汽车工程师协会SAE制定的 主要针对商用车的CAN总线通讯协议 基础 CAN 20B协议 对象客车和载重货车船舶农业机械等非路面设备 4 SAE J1939协议文档结构 SA
41、E J1939 SAE J193901 SAE J193902 SAE J193905 SAE J193911 SAE J193913 SAE J193915 SAE J193921 SAE J193931 SAE J193971 SAE J193973 SAE J193974 SAE J193975 SAE J193981 SAE J193982 车辆网络串行通信的控制总标准 卡车及客车等路面控制及信息网络 农业设备等非路面控制及信息网络 发动机故障诊断方面的应用 物理层250K 比特秒屏蔽双绞线 物理层非车载诊断连接器 物理层250K 比特秒非屏蔽双绞线 数据链路层 网络层 车辆应用层 诊
42、断应用层 应用层信息配置 应用层设置及工业化 网络管理层 相容性-卡车和客车 Revised 2007-10-9 Issued 2000-09-1 Issued 2006-08-23 Issued 2008-2-21 Revised 2006-9-18 Revised 2004-3-11 Revised 2008-8-21 Revised 2006-12-22 Revised 2004-4-2 Revised 2008-1-28 Revised 2006-9-8 Revised 2006-11-21 Revised 2007-06-21 Revised 2003-5-8 Issued 2008
43、-8-11 5 CAN的发展概况 20世纪80年代Bosch的工程人员开始研究用于汽车的串 行总线系统 1986年 Bosch在SAE汽车工程师协会大会上提出了 CAN 1987年INTEL就推出了第一片CAN控制芯片82526 随后Philips半导体推出了82C200 1991年9月BOSCH公司发布了CAN技术规范20该技术 规范包括A和B两部分 1993年CAN的国际标准ISO11898公布 1994年美国SAE以CAN 20B通信协议为基础制定了面 向客车和载重货车的CAN网络通信协议SAE J1939 6 CAN与SAE J1939的关系 安全性 ABS 线束增多 减少线束 社会发展 经济性 电喷 可靠性下降 电子技术 提高信号 利用率 网络技术 CAN SAE J1939 舒适性 主动悬架 故障检测难 诊断 7 SAE J1939与OSI模型的关系 CAN 20B OSI SAE J1939 与OSI七层模型对应的SAE J1939协议分层模型 OSI模型即开放式通信系统互联参考模型 O