我是靠谱客的博主 明理犀牛,最近开发中收集的这篇文章主要介绍【DBC】DBC中CAN信号多路复用DBC文件信号多路复用详解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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文件信号多路复用详解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(71)

评论列表共有 0 条评论

立即
投稿
返回
顶部