Skip to main content
Explorer II
December 12, 2023
Solved

can bus ack signal

  • December 12, 2023
  • 2 replies
  • 2712 views

I want to scan (acquire) data from a vehicle can bus.
1. Is it possible to prevent the ACK bit from occurring in CAN communication in the MCU?
2. If I set the ID to receive all data, won't an ack occur?

    This topic has been closed for replies.
    Best answer by mƎALLEm

    Hello,

    You can't prevent the ACK bit to occur even if the receiver is not the right recipient.

    The ACK bit is generated automatically by the CAN cell when at least one CAN node received the frame correctly. By "received the frame" I mean a correct frame not necessarily passing the CAN filters

    2 replies

    mƎALLEmAnswer
    Technical Moderator
    December 12, 2023

    Hello,

    You can't prevent the ACK bit to occur even if the receiver is not the right recipient.

    The ACK bit is generated automatically by the CAN cell when at least one CAN node received the frame correctly. By "received the frame" I mean a correct frame not necessarily passing the CAN filters

    YPark.5Author
    Explorer II
    December 13, 2023

    thank you for the reply!!

    (example)
    There are 3 nodes A/B/C, B/C ID (0x1234) is set to the same,
    Node A transmits -> Set to receive simultaneously from B/C.
    (question)
    1. After receiving the B/C frame, B/C will each generate an ACK. Isn’t this a problem with the A node or the CAN bus?
    2. If an OBDii product is developed and installed in a vehicle, the situation will be the same as question 1. Will it have any effect on the CAN bus?

    Technical Moderator
    December 13, 2023

    Hello,

    At least one of the nodes B or C will acknowledge the reception. It can be B or C or both. This is valid where node B and C are in normal mode. In silent mode, the behavior is different and B and C still receive CAN frames but they are sending recessive bits on the bus and the ACK bit is sent internally in their respective CAN cell.

    From RM:

    SofLit_1-1702458475101.png

    An OBDxx should follow the CAN spec but I don't know if it's in Normal or in silent mode.