SAEJ1939的CAN扩展帧ID解析

在 SAE J1939 协议中,CAN 扩展帧的 ID 由 29 位标识符组成,具体定义如下7:

  1. 优先级(Priority):占 3 位,位于 ID 的最高 3 位。数字越小优先级越高,例如 000 表示最高优先级,111 表示最低优先级。用于在总线仲裁时确定消息的发送顺序,像扭矩数据等关键控制消息会以较高优先级发送,非关键信息则以较低优先级发送。
  2. 保留位(Reserved,R):占 1 位,通常在报文发送中设置为 0,便于协议后续的扩展。
  3. 数据页(Data Page,DP):占 1 位,配合保留位一起使用,DP 为 0 或 1 分别表示第 0 页或第 1 页 PGN,用于扩展可由标识符表示的潜在参数组的数目。
  4. 协议数据单元格式(Protocol Data Unit Format,PF):占 8 位,用于标识消息的类型或功能。
  5. 协议数据单元特定(Protocol Data Unit Specific,PS):占 8 位。如果 PF 小于等于 0xF0,则 PS 表示为目标地址(DA);如果 PF 大于 0xF0,PS 表示为组扩展(GE)。
  6. 源地址(Source Address,SA):占 8 位,代表发送数据的设备地址,用于标识消息的发送者。

示例如下:比如一个扩展帧为0x18DAD0FA,

将其变为二进制数据就是0001 1000 1101 1010 1101 0000 1111 1010b(29bit为有效位);

我们先按照定义进行数据分割得到:

|-----|---|----|----------|----------|----------|
| 110 | 0 | 0 | 11010101 | 11010000 | 11111010 |
| P | R | DP | PF | PS | SA |

从前往后进行解析就是:

P:优先级为110(优先级为6);

R:保留位为0;

DP:第0页PGN;

PF:PGN中的0xDA;

PS:值为0xD0,其小于等于0xF0,故PS为目标地址,故目标地址为0xD0;

SA:源地址:0xFA

相关推荐
天天爱吃肉821816 小时前
【工程师硬件学习笔记:串口‑总线体系与三电试验室异构系统集成深度实战】
大数据·笔记·python·嵌入式硬件·学习·汽车
上海安当技术17 小时前
汽车网络安全法规落地:安当CAS合规密钥管理实践
安全·web安全·汽车·gb·汽车网络安全·44495·安当cas
天天爱吃肉82182 天前
【工程师笔记|新能源整车电控一次过CISPR25/BCI,汽车EMC/EMI落地十大核心设计技巧】
大数据·人工智能·笔记·python·汽车
gscsded2 天前
AUTOSAR CanTp 模块学习笔记
单片机·嵌入式硬件·汽车
Nomarsgo4 天前
联控 Lionconit PTC-1006手持工业平板电脑在野外输电线路巡检中的应用方案
运维·科技·自动化·汽车·电脑
zsmydz8884 天前
TBOX模块是汽车的“联网通信枢纽”
汽车
天天爱吃肉82186 天前
行业笔记|高压连接器瞬态接触退化通用检测方法论
人工智能·笔记·python·功能测试·学习·汽车
ranjun10236 天前
厂家金融定制方案:多元化低门槛购车,适配汉中各类人群资金需求
金融·汽车
康谋自动驾驶6 天前
GMSL2相机ROS2采集链路:多相机时序偏差降低方案
数码相机·自动驾驶·汽车·仿真测试
回眸&啤酒鸭7 天前
【回眸】搞钱灵感——智能体 汽车软件单元测试与集成测试
单元测试·汽车·集成测试