ker矩阵是什么意思_如何理解CAN通信矩阵

2dbdf5d4218e24aa8b35074ad111b557.png

什么是CAN通信矩阵

CAN通信矩阵(CAN Communication Matrix)通常由整车厂完成定义,车辆网络中的各个节点需要遵循该通讯矩阵才能完成信息的交互和共享。

我们知道CAN总线是一种通信形式,ISO 11898协议仅仅规定了数据链路层和物理层,也就是说传什么ID、传什么数据是没有定义的,这留给了大家很多遐想空间。对于乘用车来说,满足UDS和尾气排放协议之后,还剩余了绝大部分的ID段。这些ID段由主机厂自主来进行分配,分配好之后会形成一个.xls格式的表格。有了CAN通信矩阵,开发人员就知道他设计的零部件应该接收什么ID的数据,需要发出什么ID的数据。

如何阅读CAN通信矩阵

下面我们详细介绍下怎么阅读一份通信矩阵。

be64c5d5dbbe1803e0fa5640e5aac8da.png

信号名称:一般是以发送节点的名字开头,“_”后面是具体指代的内容。如BMS_GeneralStatus。

信号长度:该信号的长度,单位是bit,位。

精度/偏移量:描述信号值如何转变成信号物理值。比如精度是2,偏移量是5,那么信号的真实物理值 = 信号值 * 2 + 5。

物理值范围:经过物理值转换后的最大最小值。

a8dcd2b248a93d00ba3150b3a7611f70.png

其他的一些矩阵中还会有这样的表述。

起始字节:起始位所在的字节序号。Byte0-Byte7。

起始位:信号LSB(least significant bit)所在的位置。通常这个位置是按照下面这个图来说明的。

b16ef9ff5cbbcec90cc31a8e2f4ceedd.png
CAN矩阵的核心图

信号类型:Boolean 还是 Unsigned。

以上是CAN数据矩阵的基本内容。可以看出来,如何通过起始字节、起始位、数据长度,将数据矩阵中的内容对应到这64个小格子中是理解CAN数据矩阵的关键。

如何填格子

我们可以用Vector的CAN db++打开ZLG送的j1939.dbc文件。我们在Signals和Layout面板中看到,对于EEC1这个Message来说,它有8个Signal,填充时是从右向左填充的,比方说EngStarterMode这个信号,初始是第48位,长度是4,它的LSB自然就应该在Byte6的第48个位,之后向左填充,MSB是第51位。大家自行填充一下。

26d8b55ce938f1e35aa3b61a1f90fb90.png
j1939.dbc

8911c0d701784d9c3b0fd8e48993f58b.png
j1939.dbc矩阵中的EEC1信号

下面说下EngSpeed这个奇葩信号,它跨行了,即跨字节了,这就产生了先后的问题。

注意我们填格子的方式分为Intel和Motorola两种。如果你的Signals都没有跨字节的问题,那么Intel和Motorola格式出来的效果是一样的。当然这不可能,你无法确保不跨字节。

Intel格式也即小端,MSB存放在高字节单元,反映到矩阵图中就是以起始位为原点,自上而下填充。

e7cdd07a9b116e49b20fa0e5576656b4.png
Intel格式,MSB在LSB下面

Motorola格式也即大端,MSB存放在低字节单元,反映到矩阵图中就是以起始位为原点,自下而上填充。

350078c49132d30e22f8918574505ead.png
Motorola格式,MSB在LSB上面

532d45b363214ceac1aee24fdd469046.png
New_Signal_5自下而上填充,Motorola

具体采用哪种格式,听主机厂的,这个无绝对,两种格式都需要理解。但从经验上来看以Motorola格式为主。我们回看下EngSpeed这个信号,起始位是24bit,先填充Byte3,之后向下填充Byte4,MSB在39bit上。因此是Intel格式。

7d394eefd32fadfdf3666abc47cc4419.png
EEC1中的EngSpeed是Intel格式,Byte3是低有效,Byte4是高有效

名词解释:什么是信号的高位?什么是信号的低位?什么是信号的起始位?

信号的高位(most significant bit),即最能表达信号特性的因子。比如转速2000rpm,0x7D0,即011111010000b。最左侧的位,数量级最大,牵一发动全身,即高位。

信号的低位(least significant bit),即最不能表达信号特性的因子。刚才转速中,最右侧的0,即低位。就好像老板说给你每个月涨薪5元,你毫不在乎。

信号的起始位其实就是信号的最低位。主机厂在定义整车CAN总线通信矩阵时,每一个信号都从其最低位开始填写。

报文封装原则(恒润)

1.同一个报文的所有信号须由同一个节点提供。

2.同一个报文所有信号的发送时机尽可能相同。

3.小于或等于8位的信号,不应跨越字节边界。

d9b3bc4f9c49140f3fb8969002371725.png
不大于8位,不应跨越字节边界

4.小于或等于16位的信号,不应跨越字边界。

5.信号从每个字节的起始位开始排列。

9250c9ea32db4f69212123e5523add04.png
要从每个字节的起始位开始排列

6.信号排列应当紧凑。

码字不易,转载请注明出处,感谢。

参考资料

1.汽车CAN总线通信矩阵设计 - 图文 - 百度文库(恒润)

2.如何进行汽车 CAN 总线开发?(柏老师)

3.CAN总线信号的编码格式-Intel与Motorola的区别 - 图文 - 百度文库

4.https://www.cnblogs.com/yao-zhang/p/10220665.html

  • 6
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答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总线通讯中数据传输的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值