Intel格式与Motorola格式的区别

 

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含义一致。

转载于:https://www.cnblogs.com/isAndyWu/p/10784572.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/483542.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算机网络复习 物理层】2.2 物理传输介质

物理传输介质一、传输介质及分类1.1 导向性传输介质1.1.1 双绞线1.1.2 同轴电缆1.1.3 光纤1.2 非导向性传输介质一、传输介质及分类 传输介质也称为传输媒体/传输媒介,它就是数据传输系统中在发送设备和接收设备之间的物理通路。 **传输介质并不是物理层。**传输介…

前沿科技 | 中科院科学家在关于运动规划的环路机制研究方面获进展

来源:中国科学院网站今年5月11日,Nature Communications在线发表了题为《皮层上丘环路在记忆依赖感知决策任务中的作用机制》的研究论文,该研究由中国科学院科学家团队——脑科学与智能技术卓越创新中心(神经科学研究所&#xff0…

MyCP(课下作业,必做)

选做题目以及分析 题目:编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX2.bin 用来把文本文件(内容为十进制数字)转化为二进制文件java MyCP -xt XXX1.bin XXX2.t…

一文讲解单片机、ARM、MCU、DSP、FPGA、嵌入式错综复杂的关系!

来源: ittbank首先,“嵌入式”这是个概念,准确的定义没有,各个书上都有各自的定义。但是主要思想是一样的,就是相比较PC机这种通用系统来说,嵌入式系统是个专用系统,结构精简,在硬件和软件上都只…

【计算机网络复习 物理层】2.3 物理层设备

物理层设备一、中继器二、集线器(多口中继器)一、中继器 诞生原因: 由于存在损耗,在线路上传输的信号功率会逐渐衰减,衰减到一定程度时将造成信号失真,因此会导致接收错误。 中继器的功能:对信…

Tomcat关闭失败,SEVERE: Could not contact localhost:8005. Tomcat may not be running.

SEVERE: Could not contact localhost:8005. Tomcat may not be running. Tomcat 启动后,关闭失败,显示以下 进入 java 的安装目目录下的 jdk/jre/lib/security 目录 修改 “java.security” 文件 vi java.security通过vim 命令 “ /securerandom.sourc…

Gartner发布2022年重要战略技术趋势

来源:Gartner公司Gartner于今日发布企业机构在2022年需要探索的重要战略技术趋势。分析师们在本周四举行的Gartner IT Symposium/Xpo峰会美洲站期间公布了他们的研究结果。Gartner研究副总裁David Groombridge表示:“首席执行官和董事会正在设法通过与客…

爬虫 --通用篇

概述 爬虫是合法的吗? 是的,它是一个计算机的学科!一个工具 什么是爬虫? 通过编写程序,模拟浏览器上网,然后让其去互联网上爬取/获取数据的过程.爬虫爬取的也就是服务端的响应数据 爬虫使用场景的分类 - 通用爬虫 : 爬取一整张页面数据."抓取系统" - 聚焦爬虫 : 爬…

【计算机网络复习 数据链路层】3.2 封装成帧和透明传输

封装成帧和透明传输一、封装成帧二、透明传输一、封装成帧 封装成帧就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。 首部…

新一代人工智能:从“感知智能”向“认知智能”转化

来源:光明网 《光明日报》( 2021年05月25日 09版)新一代人工智能正在逐步从感知智能向认知智能转化——这是全国政协副主席、中国科协主席万钢在第五届世界智能大会上作出的判断。“感知智能是机器具备了视觉、听觉、触觉等感知能力&#xf…

迷宫城堡 强连通

Problem Description为了训练小希的方向感&#xff0c;Gardon建立了一座大城堡&#xff0c;里面有N个房间(N<10000)和M条通道(M<100000)&#xff0c;每个通道都是单向的&#xff0c;就是说若称某通道连通了A房间和B房间&#xff0c;只说明可以通过这个通道由A房间到达B房…

【计算机网络复习 数据链路层】3.3.1 差错控制(检错编码)

差错控制&#xff08;检错编码&#xff09;一、差错从何而来&#xff1f;二、数据链路层的差错控制2.1 奇偶校验码2.2 CRC循环冗余码一、差错从何而来&#xff1f; 概括来说&#xff0c;传输中的差错都是由于噪声引起的。 全局性&#xff1a;由于线路本身电气特性所产生的随机…

从“元宇宙”热炒中理性看待我国虚拟现实产业发展

来源&#xff1a;工信头条作者&#xff1a;袁钰&#xff08;赛迪顾问、电子信息产业研究中心、分析师&#xff09;2021年4月以来&#xff0c;元宇宙概念大热&#xff0c;国内外巨头企业围绕“元宇宙”加快布局&#xff0c;作为元宇宙核心技术之一的虚拟现实也被寄予厚望。经数据…

2018-2019-2 网络对抗技术 20165332 Exp6 信息搜集与漏洞扫描

2018-2019-2 网络对抗技术 20165332 Exp6 信息搜集与漏洞扫描 基础问题回答 基础问题回答 &#xff08;1&#xff09;哪些组织负责DNS&#xff0c;IP的管理。 答&#xff1a;目前全球有5个地区性注册机构&#xff1a; ARIN主要负责北美地区业务 RIPE主要负责欧洲地区业务 APNIC…

【计算机网络复习 数据链路层】3.3.2 差错控制(纠错编码)

差错控制&#xff08;纠错编码&#xff09;一、海明码1.1 确定校验码位数r1.2 确定校验码和数据的位置1.3 求出校验码的值1.4 检错并纠错一、海明码 **海明码&#xff1a;**发现双比特错&#xff0c;纠正单比特错。 1.1 确定校验码位数r 海明不等式&#xff1a; r 为冗余信…

Nature封面重磅!剑桥大学团队揭开老年痴呆背后的罪魁祸首

来源&#xff1a;naturetau蛋白异常是老年痴呆症的重要病因。英国剑桥大学Sjors H. W. Scheres、Michel Goedert等研究人员在Nature上发文&#xff0c;基于不同的蛋白折叠结构对「tau蛋白病」进行分类&#xff0c;荣登Nature封面。听说过阿尔茨海默病吗&#xff1f;没有。老年痴…

速度比晶体管快1000倍,新型单光子开关登上Nature

来源&#xff1a;机器之心作者&#xff1a;CHARLES Q. CHOI一种新型光学开关每秒钟的运行次数达到 1 万亿次&#xff0c;要比现在商用的顶级硅芯片快100到1000倍&#xff0c;这项研究未来或许可以催生出基于光而不是电的新一代计算机。在如今人们应用最为广泛的计算机架构中&am…

【计算机网络复习 数据链路层】3.4.1 流量控制与可靠传输机制

流量控制与可靠传输机制一、数据链路层的流量控制二、流量控制的方法三、可靠传输、滑动窗口、流量控制一、数据链路层的流量控制 较高的发送速度和较低的接收能力不匹配&#xff0c;会造成传输出错&#xff0c;因此流量控制也是数据链路层的一项重要工作。 数据链路层的流量…

linux的驱动开发——简单驱动程序编写

1.字符设备驱动介绍 \qquad字符设备驱动是linux驱动中&#xff0c;最基本的一类设备驱动&#xff0c;字符设备就是按照一个字节一个字节的方式进行读写操作的设备。读写数据分先后顺序&#xff0c;我们常见的单片机外设&#xff0c;比如led灯、按键、I2C、SPI、LCD等等都属于字…

【计算机网络复习 数据链路层】3.4.2 停止-等待协议

停止-等待协议一、停等协议1.1 无差错情况1.2 有差错控制1.4 停等协议性能分析一、停等协议 1、为什么要有停止-等待协议&#xff1f; 除了比特出差错&#xff0c;底层信道还会出现丢包问题。 丢包&#xff1a; 物理线路故障、设备故障、病毒攻击、路由信息错误等原因&#…