1
\$\begingroup\$

Suppose all nodes in a CAN network are configured using acceptance filters to rx packets that are addressed only to them. Example: Node A configured to rx packets addressed only to "A" in the 11-bit ID field and so on.

Scenario: If there are four nodes, A, B, C, and D.

Question 1: If A addresses a packet to E (not a valid ID), will node A's ACK flag be set indicating that a message has been acknowledged by a node? That is, if a message is not accepted by an acceptance filter, will, whether a message has been rxd or not be known to the sender.

Question 2 (depends on question 1): If A addresses a packet to D (valid ID), does acknowledgement of the message indicate that only D has successfully received the message? Or, does it mean that all nodes received the message though their acceptance filters are configured to rx only their specific IDs?

\$\endgroup\$
2
\$\begingroup\$

ACK only means that the raw message was received intact. There were no timing violations that would cause a message to not be detected, and the checksum matched. Filters work at a higher level.

\$\endgroup\$
2
  • \$\begingroup\$ Thanks. So there's no way of knowing if a node fails in a multi node network cos even if 2 nodes are functional,the message will be acknowledged \$\endgroup\$
    – AlphaGoku
    Jan 23 '16 at 17:06
  • \$\begingroup\$ @Aks: Yes, assuming the other nodes don't fail in such a way to make the whole bus inoperable. \$\endgroup\$ Jan 23 '16 at 17:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.