LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

What would happen if I put my CAN port on listen only mode?

I am transmitting one parameter from ECU over CAN to all nodes in listen only mode..how it will transmit to all nodes? Does it possible to transmit one data to all nodes in listen only mode?

Smita Patil
CLD certified.
0 Kudos
Message 1 of 2
(3,341 Views)

When a CAN message is sent by any CAN transceiver not configured to have Single Shot turned on, it will wait for an ACK from another node on the bus.  If no ACK comes from a node on the bus, the CAN transceiver will resend the message over and over until an ACK is received.  This is because CAN expects data loss from other messages on the bus and there is a whole priority scheme that may makes messages get lost.  But this is okay because we will just retransmit until it is sent without being lost.

 

The reason I mention this is because what Listen Only does, is it will not send the ACK to any message it sees.  So if you have your ECU on the bus with nothing other than the NI CAN card set to Listen Only, then the bus traffic will go to 100% usage as the ECU resends the message over and over.  If there is 2 ECUs on the bus and the NI card is listen only then it will do nothing because the other ECU will send the ACK.

 

This retransmit feature is build into the NI CAN card but can be disabled by setting the Single Shot, which will send the CAN message and not retransmit even if an ACK is not seen.  This has the potential for losing data, and not being able to recover it, so use with caution.

0 Kudos
Message 2 of 2
(3,338 Views)