We know that CAN communication uses a non-destructive bit-wise arbitration to control access to the bus, that is, the CAN ID is used for granting access to the bus. Each message has a limited data length. So, to transmit a large chunk of information which is larger than the data length, the concept of multiplexing can be used.

What is Multiplexing?

Signal multiplexing in CAN DBC is a technique used to transmit multiple signals within a single CAN message. This is done by using a multiplexor signal to indicate which signal is being transmitted. With signal Multiplexing, different signals can be sent on the same data byte in a message.

A signal that is linked to a message is referred to as a message signal. The signal’s position within the message is specified by indicating the start bit. Using Signal Multiplexing different signals can be transmitted in a message depending on a multiplex value. So, there are two types of signal that we should be aware of regarding multiplexing.

Multiplexor Signal : The signal that contains the multiplex value. It is also called as mode signal.

Multiplexed Signal : The signals that are transmitted depending on the multiplex value. These are also called as mode-dependent Signals.

What are the types of Multiplexing?

There are two types of Multiplexing namely, Standard and Extended Multiplexing. In this article, we will explore the Standard Multiplexing Method. If you want me to cover extended multiplexing also, leave me a comment below. Lets get back to Standard multiplexing.

Standard Multiplexing

In this case, only one multiplexor signal can be defined in a message. For each multiplexed signal only one multiplexor value can be defined. This can be shown as below

Standard Multiplexing

In the above example, S0 is the one and only multiplexor signal. The remaining signals, S1 to S6 are multiplexed signals.

Now, lets visualize the message layout for these signals, as shown below

Multiplexed signal message layout
Message Layout for Multiplexed signals

As you can see above, as the value of the Multiplexor signal changes from 0 to 1 to 2, the same bytes are carrying different signals. This is the advantage of multiplexing signals.

How to add multiplexed signals in CAN DBC?

Now that we have understood the concept of Multiplexed signals, lets try and configure the above in a CAN DBC. Open a dbc file and follow the below steps

As explained in this article, follow the steps and create a message, the 5 signals and assign the messages to the message, so they become message signals. At the end of this step, your message should look like this

A message with 6 signals

Next, open the SpeedSelector Signal and in the Multiplexortype, select “Multiplexor Signal” as shown from the drop-down menu.

Set Multiplexor signal
Set Multiplexor signal

Next open one of the other signals and set the Multiplexortype parameter to “Multiplexed Signal”. Tool will show a field to enter the “Multiplexor value”, enter it as per the above diagram. Similarly configure all the signals.

A multiplexed signal configuration
A multiplexed signal configuration

One this is done, we can go to the message layout and see/adjust the signal layout. We can select the multiplexor signal and see the corresponding multiplexed signals and their byte position. By default it will be No Multiplexor. If you select a different value for the multiplexor signal from the dropdown menu, you can see the corresponding signals.

There are two important things to note:

  1. There can be only one Multiplexor Signal in a message.
  2. A signal can be a Multiplexor Signal or a Multiplexed signal, but not both, at the same time.

That’s all about multiplexing in CAN and how to create a multiplexed message and signal assignment in a CAN Message. See you!

Leave a Reply

Your email address will not be published. Required fields are marked *

error: Content is protected !!