非回环模式下,关于CAN节点能否自发自收的理解

先说结论:否
理解过程:
首先,请看Can总线的原理图:
在这里插入图片描述
在这里插入图片描述
Can_L和Can_H本质上只是电信号的传播形式,从CPU的角度来说,直接交互的是CAN控制器的Rx和Tx。

不管CAN网络上挂多少设备,在同一时刻只能有1个发送数据。 如果有多个单元同时发送,则根据标识符决定优先级,对各消息标识符的每个位进行逐个仲裁比较。仲裁获胜的单元可继续发送消息,仲裁失利的单元立刻停止发送而进行接收工作。

注意区分“发送数据时的监听工作”和“真正的接收工作”:
CAN总线有监听功能,就是在发送一个位时,需要在RXD端产生反馈,以便报文ID仲裁。正常发送时,接收器不储存接受到的报文,只是在发送完毕收到应答位后而进入接收模式;

-> 这就意味着,对于一个节点,它发数据的时候,其他节点由于不打算发数据,或者冲裁失败,已经做好了接收数据的准备。因此,当电信号在总线上传播,经过总线上的各个节点时,各个节点根据自己的过滤器设置,选择性地将接收此数据。而该发送数据的节点在发送完毕,进行接收工作时,刚才的电信号传播已经结束了,因此没有机会接收自己刚刚发完的数据。

如果我的理解有误,欢迎指正。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值