0
\$\begingroup\$

I am working with some temperature and pressure sensors. These sensors send the messages to a receiver connected with Dewesoft Sirius. In this way I can read the CAN messages on my laptop.

The problem is that every sensors send messages with the same ID identifier so I have an unique channel for every sensors. The ID of the sensors is in the message content together with other informations as temperature and pressure. So I would like to create different channels for every sensors I have in order to read each sensor informations in specific channel and create separate plot for every sensor.

Is there a way to do this? Thanks to all.

\$\endgroup\$
2
  • 1
    \$\begingroup\$ Dewesoft Sirius - are we intended to know what you are talking about? \$\endgroup\$
    – schnedan
    Sep 29, 2020 at 13:17
  • 1
    \$\begingroup\$ This is fairly pointless to even attempt to discuss without knowing what higher layer application protocol your CAN network is using. If it is aimlessly just using "CAN" with no plan or care in the world, then I wouldn't expect anything to work either. \$\endgroup\$
    – Lundin
    Sep 30, 2020 at 9:09

1 Answer 1

0
\$\begingroup\$

simple answer. Lets ask the Can Specification:

Priorities The IDENTIFIER defines a static message priority during bus access.

Arbitration Whenever the bus is free, any unit may start to transmit a message. If 2 or more unitsstart transmitting messages at the same time, the bus access conflict is resolved bybitwise arbitration using the IDENTIFIER. The mechanism of arbitration guarantees thatneither information nor time is lost. If a DATA FRAME and a REMOTE FRAME with thesame IDENTIFIER are initiated at the same time, the DATA FRAME prevails over theREMOTE FRAME. During arbitration every transmitter compares the level of the bittransmitted with the level that is monitored on the bus. If these levels are equal the unitmay continue to send. When a ’recessive’ level is sent and a ’dominant’ level ismonitored (see Bus Values), the unit has lost arbitration and must withdraw withoutsending one more bit.

So if two identical ID's appear at the same time from 2 different devices, both devices think they are allowed to send and will mix the data - which should result in a bad CRC. But CAN only uses a 15bit CRC so in one of 32768 cases it will report a false positive.

So simply: Two devices which send the same ID other than data and remote frames is not permitted. It won't work!

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.