欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > DBC中一种特殊的特殊的Signal—多路复用Signal

DBC中一种特殊的特殊的Signal—多路复用Signal

2024/10/25 4:19:16 来源:https://blog.csdn.net/WE_BIG/article/details/141916219  浏览:    关键词:DBC中一种特殊的特殊的Signal—多路复用Signal

前言:

DBC设计中一般设计Signal时其实存在三种类型,如下图所示:

**1)步骤1,鼠标单击展开Message,选中底下的Signal

**2)步骤2,弹出dialog中选择 map signal 

61b003b09e5148168aadfcf747aca5d2.png

**3)得到以下菜单,在Defintion中

7339382cca334eac8245971b4f101592.png

 可以看到,选项Multiplexortype存在三个选项:

**1)Signal   ,这是最常见的一种类型,一般默认也是选择Signal

**2)Multiplexor Signal

**3)Multiplexed Signal

2和3都是复合复用类型,故先要理解以下三个问题

1:) 什么是复合复用类型?

2:) 复合复用类型又是干什么的?
3:) 两种复合复用的关系?

1:) 什么是复合复用类型?

复合复用类型:这种概念有点像C中的共用体的标准,就是可以定义不同的变量(对应的dbc中的是signal),存放于同一内存变量中。

只不过c使用公用体是为了减少RAM内存的使用,而signal的复用则是为了减少总线负债率。

2:) 分清楚Multiplexor Signal和Multiplexed Signal的区别和联系

通过信号复用,可以根据复用值在消息中的相同数据字节上传输不同的信号。包含多路复用值的信号称为Multiplexor Signal(模式信号)。根据多路复用值发送的信号称为Multiplexed(与模式有关)Signals

将人话Multiplexed就是一种标记,可以理解为一组信号组的标号,我们设置一个信号就叫做:Signal_Multiplexor

我自己给这段信号设置了一个ValueTable:添加后效果如下图 :

 然后依次设置以下四个信号:

G1_Signal_1_Multiplexed

G1_Signal_2_Multiplexed

G2_Signal_1_Multiplexed

G2_Signal_1_Multiplexed

加上Signal_Multiplexor一共5个signal,为了方便理解,字节排序方式统一设定为Inter格式,起始位统一设定为inter stand格式。

格式解释,G1/G2是表示分组,后面是信号名,信号名相同的信号表示是同一组复用信号,最后的字符是表示信号是复用信号

第二步:新建一个Message名称New_Message_1,并把所有的信号添加进去。

第三步:点击EditMapingSignal,设置起始位,和信号长度

G1_Signal_1_Multiplexed与G1_Signal_2_Multiplexed是一组,起始位,信号长度必须不存在冲突。

G2_Signal_1_Multiplexed与G2_Signal_2_Multiplexed是一组,起始位,信号长度必须不存在冲突。

最后我们在Meaasge的layout界面看看结果:

注意标注地点,存在三种 选择下拉列表:

1)NO Mul****:指无复合复用类型。CANdb++也是默认选择此类型,此界面下,只能看到Signal_Multiplexor信号

2)Group1:内包含的信号:如下图

3)Group2,如下图:

总结和几点改进意见:

**1)一般情况下:需要Multiplexor标注组别的信号先发送,本例子中,采取的是bit7,先发送,显然是不合理的,建议将Multiplexor_Signal信号放置在Byte0的bit6和bit7位更合适。

2**)复用信号的ValueTable是不能复用的,必须为每个Signal添加一个合适的ValueTable

**3)大家可以尝试选择一组信号,然后任意拖动,也可以改变任意一个signal的长度

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com