目录

  • 1. 概述
  • 2. 发送顺序
  • 3. Intel 格式
  • 4. Motorola 格式
  • 5. 总结

1. 概述

参考博客:Intel格式与Motorola格式的区别。
主要是对上面提到的博客做下笔记,结合其他文章,转化为自己的理解写下来。(注:直接阅读链接博客时,请结合评论内容理解,博客内使用的图片有误。)

2. 发送顺序

多数厂商定义的CAN总线字节发送顺序均为先发送LSB,最后发送MSB。即:首先发送byte0(LSB),然后byte1,byte2,……(MSB)的发送顺序。
(链接博客有人指出:主机厂发送CAN报文数据从byte0~byte7,并不是针对信号的,而是针对CAN2.0规范,CAN2.0报文格式和时序就是从byte0到byte7。byte0可以理解成低字节地址,byte7理解成高字节地址。)
CAN数据段中每个字节传输顺序是:首先传输一个字节的高位msb,最后传输该字节的低位lsb。(7…0,…,63…56)

当一个信号的数据长度不超过 1 个字节(8 位)时,Intel 与 Motorola 两种格式的编码结果没有什么不同,完全一样。

3. Intel 格式

信号的高位(S_msb)将被放在高字节(MSB)的高位,信号的低位(S_lsb)将被放在低字节(LSB)的低位。这样,信号的起始位就是低字节的低位
对博客中使用的图片示例进行标注。

先看一个16位数据长度的信号。信号数据为0x36A5,在CAN的低字节填入0xA5,在CAN的高字节填入0x36。

信号数据为0x6A5,起始位为0,长度为12。填入过程:
起始位0即byte0的bit0,信号长度为12,也就可以得出,信号会使用byte0的8个bit+byte1的4个bit。byte0字节填入信号的低字节,即0xA5,byte1字节填入信号的高字节,即0x6。

4. Motorola 格式

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


同样先看一个16位数据长度的信号。信号数据为0x36A5,在CAN的低字节填入0x36,在CAN的高字节填入0xA5。

发送数据为0x6A5,起始位为12,长度为12。填入过程:
起始位12即byte1的bit4,信号长度为12,也就可以得出,信号会使用byte1的4个bit+byte0的8个bit。byte0字节填入信号的高字节,即0x6A。byte1字节填入0x5。

5. 总结

总的来说:
一、Intel(小端)低字节LSB在前,高字节MSB在后。
二、Motorola(大端)高字节MSB在前,低字节LSB在后。

其他参考:Motorola和Intel格式报文解析的区别、CAN总线的编码方式。

CAN通讯矩阵之Intel格式与Motorola格式相关推荐

  1. Intel格式与Motorola格式的区别

    Intel低字节在前 Motorola高字节在前    在进行CAN总线通信设计或者测试过程中,经常看到CAN总线信号的编码格式有两种定义:Intel格式与Motorola格式.究竟两种编码格式有什么 ...

  2. 如何用matlab实现矩阵与mat格式、xlsx格式文件互转

    目录 一.前言 二..mat格式 三..xlsx格式 四.出现load('file.mat') 数据变成struct结构体的问题 一.前言 当我们利用matlab去处理我们的实验数据时,常常需要读取m ...

  3. 2. 英特尔格式与摩托罗拉格式对比

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

  4. YUV视频格式到RGB32格式转换的速度优化 上篇(转)

    YUV视频格式到RGB32格式转换的速度优化 上篇                     HouSisong@GMail.com    2007.10.30   tag: YUV,YCbCr,YUV ...

  5. 基于RDKit的Python脚本:SDF格式转SMILES格式

    RDKit: Open-Source Cheminformatics Software http://www.rdkit.org/ 简化分子线性输入规范(SMILES)是一种用ASCII字符串明确描述 ...

  6. Python使用scipy包将稀疏矩阵保存为Mtx格式和npz格式文件实战

    Python使用scipy包将稀疏矩阵保存为Mtx格式和npz格式文件实战 目录 Python将稀疏矩阵保存为Mtx格式和npz格式文件实战 #导入包和仿真数据

  7. R语言ggplot2可视化:应用pivot_longer函数将数据从宽格式转换为长格式、为dataframe的每一列绘制密度图和直方图(堆叠)

    R语言ggplot2可视化:应用pivot_longer函数将数据从宽格式转换为长格式.为dataframe的每一列绘制密度图和直方图(堆叠) 目录 R语言ggplot2可视化:应用pivot_lon ...

  8. Convert PLY to VTK Using PCL 1.6.0 or PCL 1.8.0 使用PCL库将PLY格式转为VTK格式

    PLY格式是比较流行的保存点云Point Cloud的格式,可以用MeshLab等软件打开,而VTK是医学图像处理中比较常用的格式,可以使用VTK库和ITK库进行更加复杂的运算处理.我们可以使用Par ...

  9. Linux下时间戳格式和标准时间格式的转换

    转载地址:http://yinqingsong520.blog.163.com/blog/static/392100201010252595916/  做个备忘! 在LINUX系统中,有许多场合都使用 ...

最新文章

  1. php发送http请求的两种常用方法
  2. NDCG:推荐系统/搜索评价指标
  3. python3安装第三方模块
  4. 设置Backup-masters Hbase中只有一个HMaster ,hmaster挂掉了,客户端还能连接hbase集群进行数据读写吗
  5. JavaScript新发展 CoffeeScript Dart Rust Node.js
  6. 路由与交换技术(铺垫内容)
  7. Mr.J--jQuery效果总结
  8. 美的集团:已耗资4.86亿元回购847.4万股
  9. 循环链表(线性表的链式存储)---C语言版
  10. Kubernetes详解(九)——资源配置清单创建Pod实战
  11. 在电子政务项目中如何应付长官意识和拖沓的工作作风?
  12. python的命名空间_python的命名空间
  13. 禁止华硕触摸板的纠结历程
  14. python贝叶斯网络预测天气_基于pym的贝叶斯网络条件概率表的生成
  15. HTML页面在iPhone中电话号码自动检测带来的布局问题
  16. java单例模式实例_java 单例模式的实例详解
  17. 彻底搞清类的依赖关系、关联关系、聚合关系、组合关系
  18. SpringBoot----即时聊天(webSocket)
  19. osi模型:七层模型介绍_什么是OSI(开放系统互连)模型?
  20. JSP基础 mcv规范 EL

热门文章

  1. 登陆模板_曝北京国安克星将登陆中超,3年进84球,可成中超新政引援模板
  2. 机器人改变生活利弊英语作文_左手建筑右手餐饮,机器人如何改变大众生活? 圆梦人感言...
  3. MySQL数据库反向生成powerdesigner模型
  4. 写python的笔记本_python笔记本:更改写入的fi
  5. java 中button和jbutton输出的按钮不一样_Java学习教程(基础)--Java开发环境搭建
  6. c# 基于layui的通用后台管理系统_简单通用的Java后台管理系统
  7. Vscode快捷键整理
  8. tpch测试mysql_MySQL数据库之MySQL-tpch 测试工具简要手册
  9. mysql 导入导出 csv_mysql文件导入导出为csv格式
  10. linux系统交换空间,Linux中如何使用和管理交换空间