此笔记使用LIN协议
1.传输层PDU 1.1.LIN传输层支持的PDU格式
1.2.PCI
1.3.SID与RSID
SID(Service Identifier)表示了从机节点应完成的服务请求。
RSID(Response Service Identifier)表示从机节点应答的内容。如果是肯定的响应(Positive Response),首字节回复[SID+0x40],举例子就是请求0x10,响应0x50;请求0x22,响应0x62。如果是否定的响应(Negative Response),首字节回复0x7F,第二字节回复刚才询问的SID。比如Tester请求0x10服务,我想进入编程模式,ECU给出否定响应,首字节0x7F,第二字节回复0x10,代表我否定你的0x10服务请求,第三字节是NRC(否定响应码),代表我否定你的依据。
2.否定响应码NRC 2.1.举例
通用错误 0x10
服务SID不支持 0x11
服务的子服务不支持 0x12
数据长度错误 0x13
服务在当前会话下不支持 0x7F
3.会话模式
不同会话模式下支持的服务不同,DID不同
4.服务例子 4.1.诊断会话控制$10 上电默认会话模式0x01
数据第一个字节代表切换不同的会话模式
4.1.1.肯定响应 标识符+诊断会话类型
4.1.2.否定响应 错误码
12 子功能不支持
13 长度错误
22 条件不满足
4.2.电控单元复位$11 该服务请求控制器依照 ECU 复位服务请求报文中定义的复位类型参数执行一次有效的复位。ECU肯定响应报文要在控制器执行复位操作之前发送(如果要求)。一次成功复位后,控制器将激活默认会话模式。
4.1.1.肯定响应 1 NAD PCI RSID(SID+0x40=0x51) 复位类型
4.1.2.否定响应 错误码
12 子功能不支持
13 长度错误
22 条件不满足
4.3.清除诊断信息$14 清除DTC诊断信息
4.3.1.清除诊断信息请求 故障码0xFF 0xFF 0xFF清除所有故障码
数据字节
参数名
1
SID
2
故障码高字节
3
故障码中间字节
4
故障码低字节
4.3.1.肯定响应
4.3.2.否定响应
13长度信息错误
22条件不满足
31请求超出范围,类似故障码不支持
4.4.通过标识符读数据$22 4.4.1.请求信息
4.4.2.肯定响应 1 RSID 数据标识符字节1 数据标识符字节2 数据..........
4.4.3.否定响应
13长度错误或者格式不可用
22条件不满足
31请求超出范围
4.5.通讯服务$28 4.5.1.请求信息 1 2 3 4 5 SID 控制类型 通讯类型 控制类型 00 使能通信 03 关闭通信
4.5.2.肯定响应
4.5.3.否定响应 1 2 3 4 5 12 子功能不支持 13 长度错误 22 条件不满足 31 请求超出范围 7F 当前会话不支持该服务
4.6.安全访问$27 4.6.1.请求信息 1 2 3 4 5 SID 访问类型 访问类型 03 请求种子 扩展会话 11 请求种子 刷新会话
4.6.2.肯定响应
4.6.3.否定响应 1 2 3 4 5 6 12 子功能不支持 13 长度错误 22 条件不满足 37 延时没有完毕 7F 当前会话不支持该服务 7E 当前会话不支持子功能
4.7.通过标识符写数据$2E 4.7.1.请求信息 1 SID 数据标识符字节#1 数据标识符字节#2 数据........
4.7.2.肯定响应 1 RSID 数据标识符字节#1 数据标识符字节#2
4.7.3.否定响应 1 2 3 4 5 6 13 信息的长度错误 22 条件不满足 31 不支持该标识符或者该标识符制度,或者标识符后的数据不可用 33 安全访问拒绝 72 编程失败 7F 当前会话不支持该服务
4.8.例行程序控制$31 4.8.1.请求信息 1 2 3 4 5 SID 子功能 例行程序标识符#1 例行程序标识符#2 可选参数........ 子功能 01 开始例行程序 03 请求例行程序结果
4.8.2.肯定响应 1 2 3 4 5 6 7 8 RSID 子功能 例行程序标识符#1 例行程序标识符#2 例行程序状态........ 例行程序状态 01 例行程序初始化成功 02 例行程序完成 03 例行程序正在执行 04 例行程序停止 05 例行程序失败或者没有运行
4.8.3.否定响应 1 2 3 4 5 6 7 8 12 子功能不支持 13 长度不正确 22 条件不满足 24 请求顺序错误 31 请求超出范围 33 安全访问拒绝 72 编程失败 7F 当前会话不支持该服务
4.9.请求下载$34 4.10.数据传输$36 4.11.请求传输退出$37 4.12.诊断设备在线$3E 4.12.1.请求信息 周期性发送,用于设备保持非默认会话模式
4.12.2.肯定响应
4.12.3.否定响应
4.13.诊断故障码设置控制$85 4.13.1.请求信息 4.13.2.肯定响应
4.13.3.否定响应 1 2 3 4 12 子功能不支持 13 信息长度错误 22 条件不正确 7F 当前模式不支持此服务
5.UDS通讯类型(功能寻址,物理寻址) 参考文章–>
物理寻址 指定发送特定诊断请求Request,等待指定ECU给与响应。
功能寻址 可以广播诊断请求Request,同时等待总线上的ECU给与响应。
6.安全等级控制 参考文章