Motorola和Intel格式报文解析的区别

news/2024/10/17 21:31:28/

结论:无论用的Motorola,还是Intel格式,只在单个信号跨字节时解析才有区别。

先看下Vector的CANoe中dbc编辑器是如何呈现报文的:

图1 CAN报文中byte与bit顺序

从图中可以看出,每行表示一个字节的8个位,从右到左依次是bit0, bit1...bit7. 一共有8行,从上到下依次是byte0, byte1...byte7.这也正是每帧CAN报文数据能容纳的最多数据——8个byte,共64个bit(bit位序从byte0到byte7依次递增排序)。

 

关于CAN报文,用的Motorola,还是Intel格式,只在单个信号跨字节时解析才有区别。

举例

(1)配置CAN报文信号为Motorola格式

图2 Motorola格式信号

 

图3 Motorola格式信号排布

 

 报文中相应信号用上述Motorola格式解析出来的结果如下:

图4 Motorola格式信号解析

 

 (2)配置CAN报文信号为Intel格式

图5 Intel格式信号

 

图6 Intel格式信号排布

 

报文中相应信号用上述Intel格式解析出来的结果如下:

图7 Intel格式信号解析 

 

对比

a)跨字节信号ins_p和Treserved:两种格式解析结果不同。按照byte0, byte1...的先后顺序,Motorola格式大字节在前,小字节在后,如ins_p解析为0x3884。而Intel格式小字节在前,大字节在后,如ins_p解析为0x438。(此处的大字节指的是高位bit所在的字节,小字节指的是低位bit所在的字节)

b)非跨字节信号VolAD:两种格式解析的结果相同,都是0xC0,也即192。

a)需要明确:8个byte的顺序不变,每个byte中8个bit的顺序不变,如图1所示。

b)从图3和图6的箭头方向可以看出每个信号不同格式下bit的排布顺序。其中红色箭头指向首尾bit,白色箭头指向跨字节的衔接bit。红色箭头的首为LSB(Least Significant Bit),尾为MSB(the Most Significant Bit)。


http://www.ppmy.cn/news/581914.html

相关文章

matlab的dbc解析,解析.DBC文件, 读懂CAN通信矩阵,实现车内信号仿真

通常我们拿到某个ECU的通信矩阵数据库文件,.dbc后缀名的文件。 直接使用CANdb++ Editor打开,可以很直观的读懂信号矩阵的信息,例如下图: 现在要把上图呈现的信号从.dbc文件中解析出来,供实现自动化仿真总线信号使用,比如使用python+支持can收发的硬件即可替代canoe实现信…

WindowsCE摩托罗拉MC3100 PDA扫描开启和HEX解码

PDA扫描设置参考: http://blog.csdn.net/wang_cel/article/details/46845731 1.开启设备扫描功能 1.1定位扫描应用开启的位置 打开控制面板 点击“DataWedge”图标 双击图标打开; 1.2设置扫描格式并开启回车功能 点击“Stat…

RPC核心原理详解

什么是RPC? RPC的全称是Remote Procedure Call,即远程过程调用。简单解读字面上的意思,远程肯定是指要跨机器而非本机,所以需要用到网络编程才能实现,但是不是只要通过网络通信访问到另一台机器的应用程序&#xff0c…

DAMO-YOLO:一种平衡速度和准确性的新目标检测框架

DAMO-YOLO:一种平衡速度和准确性的新目标检测框架 1.介绍2.关键技术2.1. NAS主干网络:MAE-NAS2.2. Large Neck:RepGFPN2.3. Small Head:ZeroHead2.4. 标签分配:AlignOTA2.5 模型蒸馏 3.性能效果展示 作者:K…

1: BDF(Bus,Device,Function)

目录 1.概述 2.BUS:总线号 3.Device:设备号 4.Function:功能号 1.概述 PCIe总线中的每一个功能都有一个唯一的标识符与之对应。这个标识符就是BDF(Bus,Device,Function) 2.BUS:总…

如何设置Bios启动项

1.重启计算机,并进入BIOS设置。不同电脑的进入方式可能略有不同,一般可以在启动时按下F2、Del或Esc键。 2.找到“Boot”或“启动”选项卡,并选择要更改的启动设备顺序。 3.使用方向键将首选项移动到所需的启动设备上,并按下加号…

Mac系统开机启动项如何设置

MacOS更新后,登录项的设置不在“用户与群组”中设置了,而是在“通知”中的“登录项”中进行设置 即 系统设置>通用>登录项

ubuntu设置开机启动项

sudo vim /etc/default/grub 有文本: GRUB_DEFAULT0 GRUB_TIMEOUT_STYLEhidden GRUB_TIMEOUT0 GRUB_DISTRIBUTORlsb_release -i -s 2> /dev/null || echo Debian GRUB_CMDLINE_LINUX_DEFAULT“quiet splash” GRUB_CMDLINE_LINUX“” 注释或修改相应的条目 执行…