精华内容
下载资源
问答
  • 2. 英特尔格式与摩托罗拉格式对比

    千次阅读 2020-07-15 10:33:59
    1. 英特尔格式 Intel格式跟小端格式一样,低地址代表低字节,高地址代表高字节。比如一个信号Intel,它的起始位为3,长度为10,在dbc中它的排列顺序如下所示: 信号Intel = (byte0 >> 3) + (byte1 <&...

    1. 英特尔格式

      Intel格式跟小端格式一样,低地址代表低字节,高地址代表高字节。比如一个信号Intel,它的起始位为3,长度为10,在dbc中它的排列顺序如下所示:

     信号Intel = (byte0 >> 3) + (byte1 << 5),lsb表示低字节,msb表示高字节

    其中(byte0 >> 3)为低字节的值,(byte1 << 5)为高字节的值。

    2. 摩托罗拉格式

     Motorola格式跟大端格式一样,低地址代表高字节,高地址代表低字节。与Intel不一样,Motorola格式有2种表达方式,一种是Motorola_LSB,另一种是Motorola_MSB,但实际上它们代表的数据结构是一样的,只是表达方式不一样而已,其中Motorola_LSB的起始位是从低字节开始的,而Motorola_MSB的起始位是从高字节开始的。在dbc中,只有Motorola_LSB的表达格式,没有Motorola_MSB的表达格式,比如一个Motorola_LSB的信号MotorolaSignal,其起始位为10,长度为10,在dbc中,其排列顺序如下所示:

    展开全文
  • CAN 总线信号的编码方式,Intel 格式与 Motorola 格式的区别
  • Intel格式与Motorola格式的区别

    千次阅读 2017-11-16 09:54:03
    文章出处:... Intel低字节在前 ...在进行CAN总线通信设计或者测试过程中,经常看到CAN总线信号的编码格式有两种定义:Intel格式与Motorola格式。究竟两种编码格式有什么样的区别呢?设计者、dbc

    文章出处:http://blog.csdn.net/ppdyhappy/article/details/52700464


    Intel低字节在前

    Motorola高字节在前

      


    在进行CAN总线通信设计或者测试过程中,经常看到CAN总线信号的编码格式有两种定义:Intel格式与Motorola格式。究竟两种编码格式有什么样的区别呢?设计者、dbc文件编辑者或者测试人员又该如何判断两种格式,并进行有效正确的配置和解析呢?下面作者给出自己在设计和测试过程中的一点体会和见解,希望能够总结出来加深一下印象和理解。 

    在编码优缺点上,Motorola格式与Intel格式并没有孰优孰劣之分,只不过根据设计者的习惯,由用户自主选择罢了。当时,对于使用者来讲,在进行解析之前,就必须要知道编码的格式是哪一种,否则,就不能保证正确地解析信号的含义。以下就以8位字节编码方式的CAN总线信号为例,详细分析一下两者之间的区别。 

    首先,介绍一下CAN总线的数据传输规则,首先传输一个字节的高位(msb),最后传输该字节的低位(lsb)。如下图所示。 


    一般情况下,主机厂在定义CAN总线信号定义时,都会明确定义字节的发送顺序,即:以首先发送byte0(LSB),然后byte1,byte2,……(MSB)的发送顺序;还是以首先发送byte7(MSB),然后byte6,byte5,……(LSB)的发送顺序。据作者了解到的多个主机厂定义的CAN总线字节发送顺序均为前者(即:首先发送LSB,最后发送MSB)。这一点可以从目前主流的CAN总线信号数据库编辑器德国verctor公司的CANoe软件工具的定义上看出,CANoe中的CANdb++编辑器中默认定义的CAN数据场的字节结构及每一位的排布入下图所示。


    在这种情况下,如果主机厂采用的是首先发送LSB,最后发送MSB的发送顺序,则在上表中可直接按照从左至右,从上至下的顺序依次对信号进行排布即可;但是,如果主机厂采用的是首先发送MSB,最后发送LSB的发送顺序,则在上表中需要从下至上,从右至左的顺序依次对信号进行排布,这样就比较难以对应,而且信号与数据场各字节之间的映射关系也不太直观。所以,一般来讲,主机厂会采用首先发送LSB,最后发送MSB的发送顺序。 

    下面就以CAN总线报文的发送顺序为首先发送LSB,最后发送MSB的方式为前提,介绍Intel格式与Motorola格式这两种编码方式的不同之处。 

    一、 采用Intel格式编码 

    当一个信号的数据长度不超过1个字节(8位)并且信号在一个字节内实现(即,该信号没有跨字节实现)时,该信号的高位(S_msb)1将被放在该字节的高位,信号的低位(S_lsb)2将被放在该字节的低位。这样,信号的起始位3就是该字节的低位。下图分别以4位和8位数据长度的两种信号为例进行了说明,并给出了某一车型的通信矩阵CANoe中的CAN数据库实现的图片说明。





    当一个信号的数据长度超过1个字节(8位)或者数据长度不超过一个字节但是采用跨字节方式实现时,该信号的高位(S_msb)将被放在高字节(MSB)的高位,信号的低位(S_lsb)将被放在低字节(LSB)的低位。这样,信号的起始位就是低字节的低位。对于一个信号的数据长度不超过一个字节,但是采用跨字节方式实现的这种情况,因其对信号解析和编码以及信号完整性都存在不利因素,所以主机厂在定义某一车型(系)的整车通信矩阵时,不太可能设计出这种编码结构。本文就不再考虑和分析这种较为特殊的情况,但其原理与本文讨论的其他情况是相同的。下图分别以12位和16位数据长度的两种信号为例进行了说明,并给出了CANoe中的某一车型的通信矩阵的CAN数据库的图片说明。











    二、 采用Motorola格式编码 

    当一个信号的数据长度不超过1个字节(8位)并且信号在一个字节内实现(即,该信号没有跨字节实现)时,信号的高位(S_msb)将被放在该字节的高位,信号的低位(S_lsb)将被放在该字节的低位。这样,信号的起始位就是该字节的低位。下图分别以4位和8位数据长度的两种信号为例进行了说明,并给出了某一车型的通信矩阵在CANoe中CAN数据库实现的图片说明。





    当一个信号的数据长度超过1个字节(8位)或者数据长度不超过一个字节但是采用跨字节方式实现时,该信号的高位(S_msb)将被放在低字节(MSB)的高位,信号的低位(S_lsb)将被放在高字节(LSB)的低位。这样,信号的起始位就是高字节的低位。对于一个信号的数据长度不超过一个字节,但是采用跨字节方式实现的这种情况,因其对信号解析和编码以及信号完整性都存在不利因素,所以主机厂在定义某一车型(系)的整车通信矩阵时,不太可能设计出这种编码结构。本文就不再考虑和分析这种较为特殊的情况,但其原理与本文讨论的其他情况是相同的。下图分别以12位和16位数据长度的两种信号为例进行了说明,并给出了CANoe中的某一车型的通信矩阵的CAN数据库的图片说明。









    由上,可以看出,当一个信号的数据长度不超过1个字节(8位)时,Intel与Motorola两种格式的编码结果没有什么不同,完全一样。当信号的数据长度超过1个字节(8位)时,两者的编码结果出现了明显的不同。


    文中术语解释及定义: 

    1. 信号的高位,即最能表达信号特性的因子,比如:车速信号500km/h按照给定的公

    式,转换成十六进制数为0x6A5,因为6代表的数量级最大(162),那么其中6就是其信号的高位。 

    2. 信号的低位,即最不能表达信号特性的因子,比如:车速信号500km/h按照给定的

    公式,转换成十六进制数为0x6A5,因为5代表的数量级最小(160),那么其中5就是其信号的低位。 

    3. 信号的起始位,一般来讲,主机厂在定义整车CAN总线通信矩阵时,其每一个信

    号都从其最低位开始填写,这样也符合使用习惯。所以信号的起始位就是信号的最

    低位。这也与CANoe中CANdb++的定义Startbit含义一致。


    展开全文
  • Intel格式与Motorola格式的区别 CAN开始学习已经两个月有余,以下是me的学习过程笔记:分享出来供初学者参考,也为自己作为日后资料的备忘录。——学习注重在过程,知识在于积累。不足处请指出! 首先在...

                                           Intel格式与Motorola格式的区别

          

           CAN开始学习已经两个月有余,以下是me的学习过程笔记:分享出来供初学者参考,也为自己作为日后资料的备忘录。——学习注重在过程,知识在于积累。不足处请指出!

            首先CAN信号矩阵编码有Motorola 与Intel 两种格式,但两种格式并没有孰优孰劣之分,只不过根据设计者的习惯,由用户自主选择罢了。对于使用者来讲,在进行解析之前,就必须要知道编码的格式是哪一种,否则,就不能保证正确地解析信号的含义。以下就以8 位字节编码方式的CAN 总线信号为例,详细分析一下两者之间的区别。

           一般主机厂在定义整车 CAN 总线通信矩阵时,其每一个信号都从其最低位开始填写,这样也符合使用习惯。所以信号的起始位就是信号的最低位,直到最高位。按照从左至右,从上至下的顺序发送原则。CAN总线报文的编码方式

    1、CAN 报文发送顺序为:首先发送低位字节LSB,最后发送高位字节MSB。(定义Byte0为 LSB...Byte1-7为MSB)

    2、CAN数据段中每个字节传输顺序是:首先传输一个字节的高位msb,最后传输该字节的低位lsb。(7...0,...,63...56)

         

    下面简单说说 Intel格式与Motorola格式的区别:CAN报文 Intel 格式与Motorola 格式的区别

           当一个信号的数据长度不超过1个字节(8位)并且信号在一个字节内实现(即,该信号没有跨字节实现)时,该信号的高位(S_msb将被放在该字节的高位,信号的低位(S_lsb将被放在该字节的低位。这样,信号的起始位就是该字节的低位。

    一、Intel(小端)低字节LSB在前,高字节MSB在后。

    二、Motorola(大端)高字节MSB在前,低字节LSB在后。

             当一个信号的数据长度不超过1个字节(8位)时,Intel与Motorola两种格式的编码结果完全一样:信号的高位(S_msb)将被放在该字节的高位,信号的低位(S_lsb)将被放在该字节的低位。

             当信号的数据长度超过1个字节(8位)时,两者的编码结果出现了明显的不同。

    1、Intel:该信号的高位(S_msb)将被放在高字节(MSB)的高位,信号的低位(S_lsb)将被放在低字节(LSB)的低位。这样,信号的起始位就是低字节的低位。

    2、Motorola:该信号的高位(S_msb)将被放在低字节(LSB)的高位,信号的低位(S_lsb)将被放在高字节(MSB)的低位。这样,信号的起始位就是高字节的低位。

      

    车联网CAN测试https://blog.csdn.net/MIC01234/article/details/87933658

     

    展开全文
  • CAN报文 Intel 格式与Motorola 格式的区别 参考文章:http://blog.sina.com.cn/s/blog_859fc6960101agew.html 当一个信号的数据长度不超过 1 个字节(8 位)时,Intel 与 Motorola 两种格式的 编码结果没有什么...

    CAN报文 Intel 格式与Motorola 格式的区别

    参考文章:http://blog.sina.com.cn/s/blog_859fc6960101agew.html

    当一个信号的数据长度不超过 1 个字节(8 位)时,Intel 与 Motorola 两种格式的

    编码结果没有什么不同,完全一样。当信号的数据长度超过 1 个字节(8 位)时,两者的编码结果出现 了明显的不同

    1. 信号的高位,即最能表达信号特性的因子,比如:车速信号 500km/h 按照给定的公 式,转换成十六进制数为 0x6A5,因为 6 代表的数量级最大(162),那么其中 6 就 是其信号的高位。

    2. 信号的低位,即最不能表达信号特性的因子,比如:车速信号 500km/h 按照给定的公式,转换成十六进制数为 0x6A5,因为 5 代表的数量级最小(160),那么其中 5 就是其信号的低位。

    3. 信号的起始位,一般来讲,主机厂在定义整车 CAN 总线通信矩阵时,其每一个信 号都从其最低位开始填写,这样也符合使用习惯。所以信号的起始位就是信号的最低位。这也与 CANoe 中 CANdb++的定义 Startbit 含义一致。

    Intel 格式

    当一个信号的数据长度超过1 个字节(8 位)或者数据长度不超过一个字节但是采用跨字节方式实

    现时,该信号的高位(S_msb)将被放在高字节(MSB)的高位,信号的低位(S_lsb)将被放在低字节

    (LSB)的低位。这样,信号的起始位就是低字节的低位

    在这里插入图片描述

    Motorola 格式

    当一个信号的数据长度超过 1 个字节(8 位)或者数据长度不超过一个字节但是采用跨字节方式实

    现时,该信号的高位(S_msb)将被放在低字节(MSB)的高位,信号的低位(S_lsb)将被放在高字节

    (LSB)的低位。这样,信号的起始位就是高字节的低位.
    在这里插入图片描述
    详细文章请参照https://blog.csdn.net/bingdianlanxin/article/details/41522373

    字节匹配图表:

    在这里插入图片描述

    展开全文
  • CAN通讯矩阵之Intel格式与Motorola格式

    千次阅读 2020-08-15 20:06:54
    参考博客:Intel格式与Motorola格式的区别。 主要是对上面提到的博客做下笔记,结合其他文章,转化为自己的理解写下来。直接阅读链接博客时请结合评论内容理解,博客内使用的图片有误。 1.多数厂商定义的CAN总线字节...
  • intel格式(win)和AT&T格式(Linux)的区别 汇编 组成原理 立即数 T&T 格式 Intel 格式 $1 1 寄存器 T&T 格式 Intel 格式 %eax eax 方向 T&T 格式 Intel 格式 ...
  • CAN信号的Intel格式和Motorola格式说明

    千次阅读 2018-09-13 16:06:34
    经常有做DBC文件的朋友不了解CAN通信协议中的intel格式和Motorola格式的区别,导致引入一些不必要的错误。和一些作者长篇大论来讲不同,本文章可能很短,主要是为了防止长篇大论把读者绕晕,从而使读者失去兴趣,...
  • 关于CAN报文,用的Motorola,还是Intel格式,只在信号数据跨字节解析时,才有区别。单个字节数据没有区别。 小端(Intel) 小端 = Little-Endians = Intel Mode:高字节byte保存在高地址中,低字节byte保存在低...
  • Motorola和Intel格式报文解析的区别

    万次阅读 多人点赞 2018-08-20 21:39:19
    结论:无论用的Motorola,还是Intel格式,只在单个信号跨字节时解析才有区别。 先看下Vector的CANoe中dbc编辑器是如何呈现报文的: 图1 CAN报文中byte与bit顺序 从图中可以看出,每行表示一个字节的8个位,从右...
  • Linux下的gdb和gcc默认输出的...T格式的,但是它们都有方式来转换为Intel格式。 -masm=[intel|att] 选择intel或AT&amp;T的汇编语法gcc -S -masm=intel test.cgdb则是设置环境变量set disassembly-flavor intel...
  • 区分 AT&T格式:寄存器以%打头 Intel:不需要%打头
  • /// intel格式CAN报文 转 数值 /// </summary> /// <param name="data">CAN报文</param> /// <param name="startBit">信号起始bit</param> /// <param name="bitLength">信号总...
  • 报文 Intel 格式与Motorola 格式的区别

    千次阅读 2018-11-25 16:41:59
    当一个信号的数据长度不超过 1 个字节(8 位)时,Intel 与 Motorola 两种格式的编码结果没有什么不同,完全一样。当信号的数据长度超过 1 个字节(8 位)时,两者的编码结果出现 了明显的不同。 信号的高位,即...
  • 1,当一个信号的数据长度不超过 1 个字节(8 位)时,Intel 与 Motorola 两种格式的 编码结果没有什么不同,完全一样。当信号的数据长度超过 1 个字节(8 位)时,两者的编码结果出现 了明显的不同 1.信号的高位,...
  • DOS/Windows下的汇编语言代码都是Intel风格的,而Linux和Unix系统中更多采用的是AT&T格式。Linux平台的标准汇编器是GAS,是GCC所依赖的...Linux平台另一常用的汇编器NASM,它使用的是Intel的汇编格式。利用NASM ...
  • 多说无益,看图: 分割线 下面是准备更新的草稿2020-10-08 CAN的帧格式 CAN的帧格式一共有5种:数据帧(发送数据)、遥控帧(读取数据)、错误帧(通知其他设备错误)、过载帧(没准备好)、帧间隔。(括号中的内容...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 81,995
精华内容 32,798
关键字:

intel格式