英文:
Is a node participating in the ACK process when CAN uses multicasting?
问题
CAN标准ISO 11898-1规定,网络中的所有节点(也称为CAN护盾)在节点传输帧时会在特定位置发送主动的“ACK位”,以指示帧与CRC的一致性。未经确认的帧被视为已损坏。
与此同时,该标准还规定了“多播”(向网络中的多个节点发送)。从硬件角度来看,我只能感知到“广播”(它是向网络中的所有节点发送),这是多播的子集:消息的过滤不是在节点本身上进行的,而是在连接到其CAN护盾接口的设备的软件上进行的。
如果我的总线上有两个节点,而设备B正在过滤一个标识符,而设备A正在传输另一个标识符的帧,那么设备B会确认该帧吗?
根据我的理解,应该会,但我无法进行测试,希望听听您的想法。
英文:
The CAN standard ISO 11898-1
states that all nodes (aka CAN shield) in a network will send a dominant ACK bit
at the specific position during the node transmitting a frame to indicate the consistency of the frame w.r.t to the CRC. An unacknowledged frame is seen as corrupted.
At the same time the standard states to be multicasting
(sending to multiple nodes in the network). Hardware-wise I only perceived broadcasting
(it is sending to all nodes in the network), which is a subset of multicasting: the filtering of messages occurs not in the nodes itself but on the software of the device connected to its CAN shield interface.
If I have two nodes
on my bus and device B
is filtering for an identifier, while device A
is transmitting a frame with another identifier. Will the frame be acknowledged by device B
?
From my understanding it should, but I was not able to test this and would like to hear your thoughts.
答案1
得分: 0
在CAN属性中指出:
- 所有的帧传输都是以
广播
方式完成的。 多播
帧传输通过接收过滤实现。
因此,由于所有(活动的)节点都在接收所有帧,只需两个节点来确认一个带有标识符的消息,设备B
会进行过滤。
英文:
In CAN properties it states
- all frame transfer is done as
broadcast
multicast
frame transfer by acceptance filtering
Therefore, as all (active) nodes are receiving all frames, two nodes are sufficient to acknowledge a message with an identifier device B
filters out.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论