CAN ACK Status in Silent mode

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

CAN ACK Status in Silent mode

1,806 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by nickich on Wed Aug 05 07:40:48 MST 2015
Is there a way to have the ACK bit (if being set or not) for each received message in Silent mode?
I see it is possible for the transmitted messages, but I'm looking for the received messages if being acknowledged by any device on the bus or not.
Labels (1)
0 Kudos
3 Replies

1,346 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by arw on Thu Aug 06 10:22:10 MST 2015
nickich,

CAN is a broadcast bus, where a sender transmits its message, but doesn't necessarily know (or care) that any other node on the bus actually did something with the data.
The CAN protocol requires all active nodes to ACK each and every message on the bus, even if they do not accept and process the message.  Every node provides ACK at the exact same time slot - this is a hardwired function of the CAN controller.  As long as the sender of the message receives ACK, it will continue transmitting the message.  In case the sender does not receive ACK, an error interrupt will be generated from the CAN controller.
Sections 16.6.12 and 16.6.1.3 cover this in the LPC1100/11C00 user manual.

-arw
0 Kudos

1,346 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by nickich on Thu Aug 06 08:30:56 MST 2015

Quote: arw
Hello nickich,
Silent mode is defined specifically so that the CAN controller does not influence the bus by transmitting dominant bits.  The ACK bit is re-routed inside the chip only.
If you do not want the CAN controller to actually receive message, but still transmit ACK, you might simply set the message filter for an obscure ID that is not expected to be present on the bus. 

-arw



Thanks for your reply. Actually I'd like to be able to monitor the CAN Bus (silent mode, not transmit) and to be able to see what messages are not being acknowledged (by other devices on the bus, not by my device as it is silent).
Is there a way of monitoring the ACK slot of the messages on the bus?
0 Kudos

1,346 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by arw on Thu Aug 06 06:48:03 MST 2015
Hello nickich,
Silent mode is defined specifically so that the CAN controller does not influence the bus by transmitting dominant bits.  The ACK bit is re-routed inside the chip only.
If you do not want the CAN controller to actually receive message, but still transmit ACK, you might simply set the message filter for an obscure ID that is not expected to be present on the bus. 

-arw
0 Kudos