CAN总线怎么实现一各节点发送多各节点接收,应答机制,向大神求解额!!!!!

2024-08-21 13:32:01
推荐回答(4个)
回答1:

ACK SLOT只有一个BIT,而接下去的ACK delimiter始终为隐性(我们可认为是1),当数据到达ACK SLOT的时候,所有的节点都会发送显性位(我们可以认为是0),而发送者在ACK这个时间里保持隐性位(即发送者在发送的时候ACK SLOT 为1),这时发送者会检测总线上的ACK时间内的信号,如果是0,则表示正确,如果是1,表示有错误。如果当中有某一个节点在ACK SLOT填入隐性位,则总租或宴线上同样还是显性位电平,故只要弊银总线上有一个节点正确接收到数据,则ACK SLOT就会被填入显性电平;那么,接收错误的节点如何来告知发送者此次发送不成功呢?这时候就要用到CAN的错误帧,当一个接收者收到错误的数据的时团漏候,它立即开始发送一个错误帧,则接下去总线上的信号就是这个错误帧,其它的节点和发送者也都会收到这个错误帧,那所有的节点都知道出错了,接收者会丢掉此次消息,而发送者会试图重发此次消息。这才是ACK SLOT真正的含义。

回答2:

CAN总线发送,就是已广播的形式发出的(多节点接收)。
1、当接收器正确地接收到有效段清的报文,接收器就会在应答间改掘隙(ACK SLOT )
期间(发送ACK信号)向发送器发送一“显性”的位以示应答。
2、结束
3、握歼前总线仲裁

回答3:

首先困山茄你得保证你汪察的时序正确,其它18b20是否能可靠读写,时序没问题,检查连线,连线唯迟没问题,那就是它o了。

回答4:

楼主解决了么?我也很困惑啊