CAN总线怎么实现一各节点发送多各节点接收,应答机制,向大神求解额!!!!!
最近在做CAN总线的控制,要实现一个节点(节点A)发送,多个节点(节点1,2,3...)接收。1,CAN的数据帧不是有ACK段吗,如果是多点接受的话,应答机制是怎么实现的...
最近在做CAN总线的控制,要实现一个节点(节点A)发送,多个节点(节点1,2,3...)接收。
1,CAN的数据帧不是有ACK段吗,如果是多点接受的话,应答机制是怎么实现的?
2,节点A收到第一个节点发送ACK段后,此数据帧就可以结束了吗?
3,怎么保证每个节点收到完整数据帧,各节点不会在总线上产生错误?
抱歉额,我没有财富值!!! 展开
1,CAN的数据帧不是有ACK段吗,如果是多点接受的话,应答机制是怎么实现的?
2,节点A收到第一个节点发送ACK段后,此数据帧就可以结束了吗?
3,怎么保证每个节点收到完整数据帧,各节点不会在总线上产生错误?
抱歉额,我没有财富值!!! 展开
展开全部
ACK SLOT只有一个BIT,而接下去的ACK delimiter始终为隐性(我们可认为是1),当数据到达ACK SLOT的时候,所有的节点都会发送显性位(我们可以认为是0),而发送者在ACK这个时间里保持隐性位(即发送者在发送的时候ACK SLOT 为1),这时发送者会检测总线上的ACK时间内的信号,如果是0,则表示正确,如果是1,表示有错误。如果当中有某一个节点在ACK SLOT填入隐性位,则总线上同样还是显性位电平,故只要总线上有一个节点正确接收到数据,则ACK SLOT就会被填入显性电平;那么,接收错误的节点如何来告知发送者此次发送不成功呢?这时候就要用到CAN的错误帧,当一个接收者收到错误的数据的时候,它立即开始发送一个错误帧,则接下去总线上的信号就是这个错误帧,其它的节点和发送者也都会收到这个错误帧,那所有的节点都知道出错了,接收者会丢掉此次消息,而发送者会试图重发此次消息。这才是ACK SLOT真正的含义。
展开全部
CAN总线发送,就是已广播的形式发出的(多节点接收)。
1、当接收器正确地接收到有效的报文,接收器就会在应答间隙(ACK SLOT )
期间(发送ACK信号)向发送器发送一“显性”的位以示应答。
2、结束
3、总线仲裁
1、当接收器正确地接收到有效的报文,接收器就会在应答间隙(ACK SLOT )
期间(发送ACK信号)向发送器发送一“显性”的位以示应答。
2、结束
3、总线仲裁
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先你得保证你的时序正确,其它18b20是否能可靠读写,时序没问题,检查连线,连线没问题,那就是它o了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询