6

When a receiving node would like to ACK acknowledge the receipt of a frame, what exactly is it supposed to transmit?

The same frame just with a dominant bit for ACK?

  • Check the 9th page of this [link]https://www.ti.com/lit/an/sloa101b/sloa101b.pdf?ts=1605576061271 to see about the ACK bit, and also if your uC is transmitting you should consider putting a "time out" for pending messaget at trasmitting level because when there is no another node available at the bus your uC will continuosly try to send the message until it recieves the ACK. – kenan bilen Nov 18 '20 at 07:54

1 Answers1

6

No, every CAN node controller on the bus will usually listen to a message transferred and will automatically check this frame for correctness (CRC).

And it will usually also acknowledge the message by overwriting the recessive ACK=1 ("send" by the transmitter) with a dominant ACK=0 during message transfer. So there is no second message needed to acknowledge the first one.

That's also why you can't have any CAN bus with just one node, because there is no one else to acknowledge and check its sent frames.

Of course, in some controllers these checks can be deactivated or ignored, but not in the common use case.

Xerxiz
  • 265
  • 2
  • 6