CAN通讯矩阵之Intel格式与Motorola格式

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总线的编码方式

  • 18
    点赞
  • 156
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: CAN通信矩阵的物理值和信号值是指在CAN总线通信过程中传输的数据所对应的物理量和信号表征。 首先,CAN通信矩阵的物理值通常是以电压的形式呈现的。在CAN总线中,逻辑高电平被定义为+5V,逻辑低电平被定义为0V。当CAN节点进行通信时,它们会根据协议规定的电压水平进行CAN信号的发送和接收。 其次,CAN通信矩阵的信号值是指在CAN总线上传输的具体数据。CAN通信中的信号可以是数字信号或者模拟信号。在数字信号中,通常使用二进制进行表示,即0和1,通过不同组合编码为不同的数据值。而在模拟信号中,通常使用连续变化的电压水平来表示。 通过CAN通信矩阵传输的物理值和信号值之间存在着一定的转换关系。CAN控制器会根据发送的信号值,将其转换为对应的物理电压值,并通过总线发送给其他节点。接收节点则会将接收到的物理电压值转换为对应的信号值,以获取传输的数据。 总的来说,CAN通信矩阵的物理值和信号值在CAN总线通信中起着重要的作用。物理值是通过电压水平表示的,信号值则是具体的数据信息。它们之间的转换关系决定了数据在CAN总线中的传输和解析过程。 ### 回答2: 通讯矩阵是用来描述通信系统中信号传输过程的数学工具。它由信号值和物理值组成。 信号值是指在通信过程中用来传输信息的电信号的数学表示,通常是以时间为自变量的函数形式呈现。信号值可以是连续的模拟信号或者是离散的数字信号。模拟信号是连续变化的,可以采用连续的数值表示,而数字信号则是离散的,使用离散的数字来表示。 物理值是指在通信系统中用来传输信号的实际物理量。根据信号的性质,物理值可以是电压、电流、频率、相位等等。通信系统中的物理值通常通过传感器或者转换器将信号值转换成相应的物理量。 通讯矩阵则是通过将信号值和物理值相互映射而得到的矩阵通讯矩阵的每个元素表示一个信号值和一个物理值之间的对应关系。通过通讯矩阵,我们可以了解到不同的信号值对应着不同的物理值,从而可以在通信系统中进行信号的转换、编码和解码等操作。 总之,通讯矩阵物理值和信号值是描述通信系统中信号传输过程中的数学表示和实际物理量的概念。通过它们的相互映射,我们可以更好地理解和掌握通信系统的工作原理。 ### 回答3: CAN(Controller Area Network)是一种广泛应用于汽车、工业领域的通讯协议。 通讯矩阵物理值指的是CAN总线上各节点之间传输数据所采用的电信号特征,包括信号电压、波特率和物理连接方式等。CAN总线采用差分信号传输方式,即CAN_H和CAN_L两个信号线上的电压差为CAN的物理值。在CAN总线上,当CAN_H比CAN_L高1个单位电压时,表示传输逻辑值为1;当CAN_H比CAN_L低1个单位电压时,表示传输逻辑值为0。这种差分信号传输方式可以提高系统的抗干扰能力,保证数据的可靠传输。此外,CAN总线还有不同的波特率可供选择,一般常用的有125K、500K和1M等,不同的波特率决定了CAN总线数据传输的速率。 信号值指的是CAN总线上传输的数据所具有的意义和信息含义。在CAN通信中,各节点通过CAN消息的形式来进行数据的传输。CAN消息由标识符(ID)、数据域(Data)和校验码(CRC)组成。其中,标识符用于识别消息的发送者和接收者,数据域用于存储实际传输的数据,校验码用于校验数据的正确性。通过定义不同的标识符和数据域,可以实现不同类型的数据传输,例如传感器数据、控制命令等。CAN总线上的每个节点可以同时发送和接收多个消息,通过解析消息的标识符和数据域,可以实现节点之间的数据交互和通信。 综上所述,CAN通讯矩阵的物理值和信号值是CAN总线通讯中两个重要的概念。物理值是指CAN总线节点之间传输数据所采用的电信号特征,包括信号电压、波特率和物理连接方式;信号值是指CAN总线上传输的数据所具有的意义和信息含义,通过消息的标识符和数据域来进行识别和解析。这两者共同构成了CAN总线通讯中数据传输的基础。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值