CAN报文的Intel和Motorola格式详解
创作时间:
作者:
@小白创作中心
CAN报文的Intel和Motorola格式详解
引用
CSDN
1.
https://blog.csdn.net/traveller93/article/details/139567267
在汽车电子和嵌入式系统领域,控制器局域网络(CAN)是一种广泛使用的串行通信协议。在CAN通信中,报文的编码格式主要分为Intel和Motorola两种模式。这两种模式在处理多字节数据时存在显著差异,特别是在信号跨越字节边界时。本文将详细介绍这两种编码格式的特点,并通过具体案例说明它们在实际应用中的区别。
一、背景说明
在CAN通信矩阵定义时,报文编码格式有Intel和Motorola两种。当信号不跨字节时,两种编码字节排序方式一致。但在跨字节时,Intel采用小端模式,即最低有效位(lsb)在低字节,最高有效位(msb)在高字节;而Motorola采用大端模式,lsb在高字节,msb在低字节。在实际应用中,商用车扩展帧CAN报文更多使用Intel模式,而乘用车标准帧CAN和CAN FD报文则更多使用Motorola模式。
二、编码案例
2.1 报文Bit和Byte顺序
在讨论具体案例之前,先明确报文的位(Bit)和字节(Byte)顺序:
- Bit顺序:Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
- Byte顺序:Byte0 Byte1 Byte2 Byte3 Byte4 Byte5 Byte6 Byte7
2.2 Intel格式报文及Layout
以Intel排列格式定义Msg0x123报文,包含两个信号:刹车状态和车速。
- 刹车状态从第三字节的第24位开始,占据24、25位,低位lsb在第24位,高位msb在第25位。
- 车速从第26位开始,长度为两字节,占据第三字节的6位,整个第四字节以及第五字节的2位。
2.3 Motorola格式报文及Layout
同样以Motorola排列格式定义Msg0x123报文,包含相同的两个信号:刹车状态和车速,为了便于对比,将两个信号的起始位设定一致。
- 刹车状态因为位于同一字节,所以没有变化,从第三字节的第24位开始,占据24、25位,低位lsb在第24位,高位msb在第25位。
- 车速发生较大改变,从第26位开始,长度为两字节,占据第三字节的6位,整个第二字节以及第一个字节的2位。
三、总结
在设计CAN通信矩阵时,应避免Intel和Motorola格式的混用。根据行业惯例,商用车倾向于使用扩展帧的Intel格式编码,而乘用车则更多采用标准帧和CAN FD的Motorola格式编码。在进行报文解析时,需要特别注意两种格式的差异:Intel格式需要将后面的位调到前面进行解析,而Motorola格式则可以直接组合解析。
热门推荐
五行缺水的人戴什么水晶?为什么要选黑发晶
AI生成失败图片的原因分析
Steam平台32款本地同屏双人游戏推荐
口香糖残留不留痕迹的绝妙方法(轻松除掉口香糖)
前端后端如何交互设计
怎样休息,才能既解压又消除疲劳?
春节微信搜索关键词:DeepSeek上榜,这个词稳坐热一
美学入门第16课:选对版型,穿出风格
全球有多少种栽培植物?如何栽培?来看这里!
锂电池保护电路工作原理解读
最新杭州二手房涨跌榜出炉,有一类房源的价格率先涨了!
济南城市发展集团:今年启动多个保障性住房项目,项目总投资超20亿
狗狗频繁拉吐怎么办?全面解析原因与调整方法
Excel表格中的数学公式设置技巧:如何避免乱码?
剧本太弱,剧版《唐2》不如《唐1》
KDJ指标源码参数修改指南
kw和马力怎么换算
汽车底盘锈穿应如何处理?如何预防汽车底盘生锈?
独白。如何写独白?
深度思考:探索复杂问题背后的逻辑与模式
孩子总爱“歪头”卖萌,当心得了这种病!1个方法就能自测!
吃的已经很清淡了但还是会上火,是阴虚体质吗?
返乡过年想带酒?先了解这些携带规定吧!
巧解线性方程组:探秘未知数的奥秘
牙齿矫正超全攻略:从价格到结果,一文带你多方面了解!
弘一法师说:追不上的,不追;背不动的,放下;看不惯的,远离;渐行渐远的,随意
有哪些好玩的双人游戏 30款超高评分的双人游戏推荐
官网优化全攻略:突破排名困境,实现流量飞跃
2024年最新交通违法扣分详解及处理指南
桂林阳朔旅游必去的十大景点!强烈推荐景点排行榜前三