让【思想】头疼的Motorola编码

【思想】所在的公司有一套完善CAN通讯的入网标准,比如使用Intel编码就是其中一条。大部分的供应商都会遵守客户入网标准,但是也有出现一些例外。最近【思想】就遇到这么一个,由于种种原因坚持使用Motorola编码拒绝修改成Intel,打不过他,只好迁就他(真·思想·没地位)。

【思想】之前从没接触过Motorola编码,花了大把时间在吃这口屎上!祸福相依,没想到,这个机会在Debug下,古德曼汽车工业旗下的各种基础开发工具,让它们全面支持Motorola格式编码!

区别

首先,我们来对比Motorola与【思想】比较熟悉Intel编码在协议上有什么不同。双方的区别主要体现为报文信号中的起始位置定义不同!先从Vector自带CANdb++Editor工具说起。

在Message Signal窗口中ByteOrder选项中配置报文的字节序。配置的方式是很简单,但究其根本确实有天壤之别。

信号长度大于8个位

为了演示方便,【思想】在一个报文中分别添加了Intel与Motorola格式长度为12bits的信号。注意:实际工程中千万别这么做!!!!报文中的lsb标记为读取的起始位,msb为读取的终止位。

Intel格式比较好理解,起始位从第4位读取到第15位结束;

Motorola格式就比较诡异了,起始位是第28位,读取从第28位起到该字节结束,既从第28位读取到第31位。然后从第16位读取到第23位。很拗口!容我喝口水!就好比我的位置火车的中间车上,到车尾餐车吃饭,然后又返回车前的卫生间上厕所( 这个比喻好像有点不太雅),及其蛋疼!

所以在刚开始接触Motorola协议的时候就会有这样的奇葩现象,起始位是60长度12,那岂不是结束位会在72????

信号长度小于8个位

【思想】继续往报文中分别添加了Intel与Motorola格式长度为6bits的信号,可以看到LBS与MBS标志是相同的,也就是说Intel与Motorola格式影响

还没完,如果是上面这种极端情况(没有工程师会整出这样的CAN矩阵),即使长度小于8bits但是分属于两个字节的情况,读取时也会受到字节序的影响。

小结一下

Intel与Motorola什么情况下会影响我们的读取操作:

1、信号长度大于8bits;

2、信号长度小于8bits,但分属于2个Bytes的情况;

小心有坑!

接下来【思想】要嫌弃下CANdb++Editor的表里不如一了!

如上图,定义的Motorola格式信号的起始位是34,信号长度是6

DBC文件使用的是ASCII编码,可以通过记事本打开查看内容(DBC文件格式又是一个知识点,以后再找时间详细介绍一下)。起始位居然是39???

可遇不可求的宝贝——DBC编辑工具

如果你跟【思想】一样,觉得CANdb++Editor非常不好用,可以试试古德曼汽车工业出品的DBC编辑工具

或许对于大部分人来说这并不影响使用,但是如果大伙需要开发基于DBC的上位机或者生成工具的时候,这就非常蛋疼。这种表里不如一会造成开发者的困惑!!

嵌入式中怎么处理

那在嵌入式开发中如何处理摩托罗拉格式的CAN报文呢?

大家不要心急,古德曼汽车工业正在酝酿一款CAN通讯C语言协议栈工具完美支持Intel与Motorola!敬请期待!

(0)

相关推荐

  • 【DBC专题】-3-CAN Signal信号字节顺序Motorola和Intel介绍

    原创 汽车电子行业工程师 汽车电子助手 2020-12-23 收录于话题 #DBC 5个 目录 0 引言 1 小端(Intel)模式排列     1.1 Signal信号不跨字节     1.2 Si ...

  • 欧赛斯超级品牌引擎背后的思想、方法及实战拆解(5)

    欧赛斯 品牌超级引擎™ 关注 前言:过去的品牌是一个Logo.一句广告语.一幅画.一支广告片,品牌仅仅是品牌表现,品牌那时还是是广告公司的事情:而今天的品牌是一个点.线.面.体构成的一个引擎化体系.品 ...

  • 【军旅抒怀】杨天吉||思想寄托·精神家园

    思想寄托·精神家园 杨天吉 梨花雨王倩作家说:"杨指导员真的让人佩服!他们那个时代,优秀的人基本上进了部队.能够在优秀的人堆里拼出来提干的人,更是优秀.通过与咱们团长接触,我得出一个结论:能 ...

  • 要与众不同,牢记洛克菲勒的忠告:不要被庸人降低你的思想水准!

    "石油大王"洛克菲勒能够被比尔·盖茨等人钦佩,不仅仅是因为他赚了很多钱,赚钱只是一个结果,更重要的是洛克菲勒的思想和理念. 实际上,赚钱不过是一个人的思想落地的附带结果罢了. 所以 ...

  • 孔子何以传五行思想于子游

    <荀子·非十二子>明确指出子思.孟子的五行思想来自孔子和子游,这说明子游是孔子和思孟之间五行思想传承的中间环节.孔子的五行思想见于<礼运>篇,其中记载了孔子向子游传授礼的运转之 ...

  • 舌头疼

    舌头疼

  • 经济学思想圆桌会:李斯特的经济思想

    李斯特:主流经济学的质疑者 弗里德里希·李斯特(1789-1846年),是19世纪德国著名经济学家,也是德国历史学派的先驱者之一,对于古典经济学,他是一位不折不扣的怀疑者和批判者. 他出生于德国南德符 ...

  • 西方最经典的10个顶级教育思想

    中文"教育"一词来源于孟子的"得天下英才而教育之".西方"教育"一词的来源于拉丁语"educare",意思是" ...

  • 小说写作:别再为小说开篇头疼了,5种方法拿走不谢

    所有的作者都会写开头,但是,有谁知道,你所采用的这个开头,是什么原理,能够产生什么样的效果,是否有更好的方法代替或者改善呢? 一本小说开篇的好坏,其实决定了一本书的命运,为什么呢? 其实很简单,你绝对 ...

  • 计算机系统的九个伟大思想

    现代计算机系统经过70多年的发展已经非常成熟了,计算机的设计者们总结了九个伟大的设计思想,新的计算机系统设计时无不遵循着这九大思想. 一.摩尔定律 摩尔定律是英特尔处理器的创始人之一戈登·摩尔经过多年 ...