概述
DBC文件信号多路复用详解
1何时定义
有些信号比较长,但是又不常用,就可以定义多路复用信号以节约空间。
2具体定义
2.1定义一个短信号来当做“控制开关”。
【若定义1bit,则有2种可能0x00和0x01,复用两路】
【若定义2bit,则有4种可能0x00和0x01和0x10和0x11,复用四路】…
所以说,这个短信号的长度和你想复用多少路有关,多长?放在什么位置?由定义者决定
2.2节约空间是如何体现的
现在有两个信号都是8bit【信号A】【信号B】,都不怎么常用,现在想复用这两路信号,把他们放在同样的位置,再定义一个1bit的短信号,用于控制。这样原来需要8+8=16bit空间,现在只需要8+1=9bit空间。
3CANoe-DBCEditor上如何配置
双击Messages下某个帧的某个信号
下拉框有三种
1.signal就是普通信号,不复用
2.multiplexor signal是作为【控制开关】的信号
3.multiplexed signal是复用的信号,还需要设置multiplex value
若
【信号X】设置成multiplexor signal
【信号A】设置成multiplexed signal并且multiplex value=0x01,
【信号B】设置成multiplexed signal并且multiplex value=0x02
则
当【信号X】的值为0x01时,【信号A】表示显性
当【信号X】的值为0x02时,【信号B】表示显性
4DBC文件上的显示
BO_ 110 MessageName: 8 Vector__XXX
SG_ Signal_X M : 23|1@0- (1,0) [0|0] “” Vector__XXX
SG_ Signal_A m1 : 7|8@0- (1,0) [0|0] “” Vector__XXX
SG_ Signal_B m2 : 7|8@0- (1,0) [0|0] “” Vector__XXX
注:小m后面跟的是十进制数
最后
以上就是明理犀牛为你收集整理的【DBC】DBC中CAN信号多路复用DBC文件信号多路复用详解的全部内容,希望文章能够帮你解决【DBC】DBC中CAN信号多路复用DBC文件信号多路复用详解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复