信号在DBC内有3种类型。

  • Signal
  • Multiplexor
  • Multiplexed_Siganl

第一种,自然是普通信号。第二种、第三种都是多路复用相关的类型。

Multiplexor类型的Signal是多路复用的指示器,相当于数组的下标,用于指定当前报文中的数据,使用哪一组signal进行解析。

Multiplexed_Signal类型的Signal是多路复用中的信号,相当于数组中的每一个成员。Multiplexed Signal含有一一个变量,用来标记他属于哪个数组。

啥是多路复用?可以简单理解为,同一个ID的报文,在不同时间段,包含的信息可能代表不同的意思。

那怎么确定当前报文应该解释成什么意思呢?就需要在这个报文中使用某1个Signal(1个Bit或多个bit),来作为指示器(就是Multiplexor)。

然后,不同时间段下用来解释报文的多个Signal,就会分成为一个组(在DBC内标识为m0,m1,m2),这时候每个Signal的类型就是Multiplexed_Siganl。和普通Signal相比,这个Multiplexed_Siganl类型就是多包好了一个分组信息。

例子

在DBC中一个报文只能有一个Multiplexor,其他的就是分组后信号。可以发现有一些Signal的StartBit是相同的,这个在普通的报文中,是不可能的。

Last modification:August 8, 2019
如果觉得文章对你有用,请随意赞赏