打印
[CAN-bus/DeviceNet]

CAN总线疑问?

[复制链接]
1405|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chenkeyuan|  楼主 | 2012-9-10 11:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟刚学CAN总线有个问题一直没有想通,希望大家给与解答,小弟不甚感激。问题如下:
AB两个CAN节点,B节点控制的是电机。正常情况下A每发送一个命令B响应后,B就控制电机旋转一圈。如果A发送一个帧紧接着B在应答间隙期间发送显性位予以应答,但这时出现了像雷击一样的强大干扰,就在B发送显性位这个周期内线路上出现了隐性位脉冲,而A恰好就采样了这个隐性脉冲。A这时认为B没有收到刚才发的命令,接着立刻就发送一个同样的命令,这都是CAN硬件自动执行的。那不是在这种情况下A那边的一条C语言指令就让B那边的电机旋转了两圈。这怎么行?


标称位时间的组成
  同步段
  
  传波段
  
  相位缓冲段1
  
  相位缓冲段2
  


$
采样点位于‘$’位置处,也就是相位缓冲段1与相位缓冲段2之间。AB两节点肯定存在相位误差。

相关帖子

沙发
chenkeyuan|  楼主 | 2012-9-10 12:59 | 只看该作者
不好意思,没有仔细看书。基本不会出现这种问题,原因是应答间隙期间所监视的位不为显性,发送器就会检测到一个应答错误。从而发送错误帧,接受器收到错误帧后,可能会把刚才收到的帧标记为错误就不执行了。但如果应答时隐形被干扰成显性,这可能也会出错误,不过这都影响不大了吧。

使用特权

评论回复
板凳
airwill| | 2012-9-10 18:50 | 只看该作者
呵呵, 自己找到原因了. 不过还是要鼓励楼主的思考和挖掘的思维

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

2

粉丝