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

最近在做CAN总线的控制,要实现一个节点(节点A)发送,多个节点(节点1,2,3...)接收。1,CAN的数据帧不是有ACK段吗,如果是多点接受的话,应答机制是怎么实现的... 最近在做CAN总线的控制,要实现一个节点(节点A)发送,多个节点(节点1,2,3...)接收。
1,CAN的数据帧不是有ACK段吗,如果是多点接受的话,应答机制是怎么实现的?
2,节点A收到第一个节点发送ACK段后,此数据帧就可以结束了吗?
3,怎么保证每个节点收到完整数据帧,各节点不会在总线上产生错误?

抱歉额,我没有财富值!!!
展开
 我来答
m星际之门m
推荐于2018-03-07
知道答主
回答量:1
采纳率:100%
帮助的人:1062
展开全部
ACK SLOT只有一个BIT,而接下去的ACK delimiter始终为隐性(我们可认为是1),当数据到达ACK SLOT的时候,所有的节点都会发送显性位(我们可以认为是0),而发送者在ACK这个时间里保持隐性位(即发送者在发送的时候ACK SLOT 为1),这时发送者会检测总线上的ACK时间内的信号,如果是0,则表示正确,如果是1,表示有错误。如果当中有某一个节点在ACK SLOT填入隐性位,则总线上同样还是显性位电平,故只要总线上有一个节点正确接收到数据,则ACK SLOT就会被填入显性电平;那么,接收错误的节点如何来告知发送者此次发送不成功呢?这时候就要用到CAN的错误帧,当一个接收者收到错误的数据的时候,它立即开始发送一个错误帧,则接下去总线上的信号就是这个错误帧,其它的节点和发送者也都会收到这个错误帧,那所有的节点都知道出错了,接收者会丢掉此次消息,而发送者会试图重发此次消息。这才是ACK SLOT真正的含义。
胜利之CAN2
2012-10-12 · TA获得超过251个赞
知道答主
回答量:79
采纳率:100%
帮助的人:69万
展开全部
CAN总线发送,就是已广播的形式发出的(多节点接收)。
1、当接收器正确地接收到有效的报文,接收器就会在应答间隙(ACK SLOT )
期间(发送ACK信号)向发送器发送一“显性”的位以示应答。
2、结束
3、总线仲裁
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
系叡隽运乾
2020-05-25 · TA获得超过3547个赞
知道大有可为答主
回答量:3137
采纳率:34%
帮助的人:208万
展开全部
首先你得保证你的时序正确,其它18b20是否能可靠读写,时序没问题,检查连线,连线没问题,那就是它o了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lixiao8068
2016-06-17
知道答主
回答量:8
采纳率:0%
帮助的人:2.9万
展开全部
楼主解决了么?我也很困惑啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式