This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi ,
My customer uses TMS320F2812 CAN bus module.
Slave receives a data but it does not reply ACK after CAN bus TX a fail message last time .
Any explanation with "receive a data but no ACK" this situation?
Does CAN TX data fail will affect next time CAN RX data?
thanks,
best regards,
Simen
Simen,
When a node transmits a frame on the CAN bus, it expects an ACKnowledgement from at least one other node on the network. Any time a CAN node successfully receives a message it will automatically transmit an ACKnowledge, unless that feature has been turned off (some CAN implementations feature a so-called "silent mode", where a node receives the frame, but does not provide an ACKnowledge; the DCAN module in TMS320F2837xx series MCUs from TI has this feature). The node that provides the ACK does not need to be the intended recipient of the frame, although it could very well be. (All active nodes on the bus will provide an ACKnowledgement, regardless of whether they are the intended recipients of that frame or not). When the transmitting node does not receive an ACK, it results in an ACKnowledge error and it keeps re-transmitting the frame forever. TEC will increment to 128 and stop there. REC stays at 0. Node will not go bus-off.
Any explanation with "receive a data but no ACK" this situation?
You mention this happened after the master transmitted "a fail message last time". It could be that the receiver is in bus-off condition and really did not receive the message. Or it could be that the feature to transmit ACK was turned off (as explained in the above paragraph).
Does CAN TX data fail will affect next time CAN RX data?
It depends on what you mean by "data fail", how many nodes are in the network, what HLP is used and whether the receiving node is in error-active condition right now. Without knowing all these details, it is hard to answer this question.