UDS之CAN报文的种类及查看方法

1、UDS CAN报文

UDS(Unified Diagnostic Services)通过 CAN(Controller Area Network)总线进行通信时,使用特定格式的 CAN 报文来发送和接收诊断服务请求和响应。UDS CAN 报文可以根据其结构和用途分为几种类型。以下是 UDS CAN 报文的主要种类:
单帧报文 (Single Frame Message)(SF)
• 特点:包含所有必要的数据在一个报文中,不需要进一步分割。
• 用途:用于短消息或简单服务请求。
第一帧报文 (First Frame Message)(FF)
• 特点:用于多帧消息的开始,包含了整个消息的长度信息。
• 用途:指示后续报文的总数,用于长消息或复杂服务请求。
流控报文 (Flow Control Message)(FC)
• 特点:用于控制多帧消息的传输速率。
• 用途:确保数据的可靠传输,避免数据丢失或过载。
后续帧报文 (Consecutive Frame Message)(CF)
• 特点:用于传输第一帧报文之后的数据段。
• 用途:分块传输较长的消息。
正常响应报文 (Positive Response Message)
• 特点:确认请求已成功处理。
• 用途:作为对服务请求的正面回应。
负面响应报文 (Negative Response Message)
• 特点:指出请求处理失败的原因。
• 用途:提供错误代码,帮助诊断问题。
UDS CAN 报文格式
• 标识符 (Identifier):用于识别报文类型和服务 ID。
• 数据字段 (Data Field):包含服务 ID 和参数数据。
• CRC (Cyclic Redundancy Check):用于校验数据完整性。
• ACK (Acknowledgment):确认报文是否被正确接收。
示例
• 单帧报文:
• 标识符:0x7DF (功能寻址ID)
• 数据字段:0x10 (服务 ID: 诊断会话控制)
• 第一帧报文:
• 标识符:0x7DF
• 数据字段:0x10 0x10 0x01 0x02 0x03 … (服务 ID + 长度信息 + 数据)
• 流控报文:
• 标识符:0x7E8
• 数据字段:0x30 0x01 0x00 (服务 ID + 间隔时间 + 最大帧数)
• 后续帧报文:
• 标识符:0x7E8
• 数据字段:0x01 0x04 0x05 0x06 … (序号 + 数据)
• 正常响应报文:
• 标识符:0x7DF
• 数据字段:0x50 0x01 (服务 ID + 参数数据)
正响应:服务 ID+0x40 如:10+40 正响应回复50
• 负面响应报文:
• 标识符:0x7DF
• 数据字段:0x7F 0x10 0x31 (服务 ID + 错误代码)
**0x31:**是NRC错误码代表请求超范围,或者说没有这个服务id
这些报文类型构成了 UDS 通信的基础,允许诊断工具与车辆的 ECU 之间进行有效且可靠的通信。在实际应用中,UDS CAN 报文的具体实现可能会根据不同的车辆制造商和车型有所不同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值