帮忙分析一下CAN总线的波形,不知道这样是不是正常的

[复制链接]
11986|12
 楼主| 板砖横飞 发表于 2012-3-3 12:04 | 显示全部楼层 |阅读模式
本帖最后由 板砖横飞 于 2012-3-3 12:08 编辑

现在在调试CAN总线,用示波器抓了几个波形,大家帮忙看看是不是正常的。第0张图是只加一个匹配电阻时的波形,第1张图是只加一个匹配电阻时的波形的放大图,观察最后一位波形变高了。第2张图和第3张图是两端加了两个匹配电阻的波形和波形放大图,最后一位也变高了。不知道这是不是正常的波形,我的通讯是正常的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 板砖横飞 发表于 2012-3-3 13:20 | 显示全部楼层
没人遇到这种情况吗
sunhq02 发表于 2012-3-3 20:54 | 显示全部楼层
也许你的接收器件在最后一位的时候输入阻抗改变了
比如它忽略了最后一位, 最后一位时候进入了高阻态之类的
 楼主| 板砖横飞 发表于 2012-3-7 11:54 | 显示全部楼层
没人遇到这种情况吗,正常的波形最后一位是不是应该和以前的电平等高的?还是就是应该搞一点
刘前辈 发表于 2012-3-7 16:33 | 显示全部楼层
本帖最后由 刘前辈 于 2012-3-8 09:07 编辑

呵呵,最后一位是接收方回送给发送方的应答信号ACK,传输方向(电压电流)在这一位换向了。总线信号电平此时由接收节点电路确定;所以可能不一样(2个节点驱动电平不一样,甚至两边节点电源电压不一样)。——可以故意做个实验:让发送和接收共电源试试。或者2节点发送/ 接收交换方向/交换电路板试试。(换向后,最后一位岂不是要变低了?)

不过终端电阻应该是安装在总线2端端点的2个120 欧姆,总线纯电阻应低于60欧姆。冒尖好像噪声吸收不够。



//
刘前辈 发表于 2012-3-8 08:50 | 显示全部楼层
本帖最后由 刘前辈 于 2012-3-8 08:52 编辑

最简单的证实方法就是发送端软件改变一下发送目标地址,使网络上没有任何节点匹配接收,这样没有任何节点发出响应应答ACK信号,——现象应该是最后一位高消失了。

软件不变的证实方法是断开接收节点总线,使发送端向“空总线”发送数据帧,——没有任何接收节点,当然没有ACK信号。


、、
 楼主| 板砖横飞 发表于 2012-3-12 17:52 | 显示全部楼层
非常感谢 6# 刘前辈
 楼主| 板砖横飞 发表于 2012-3-12 19:36 | 显示全部楼层
用单节点验证了一下,确实没有最后一位变高了,谢谢 6# 刘前辈
 楼主| 板砖横飞 发表于 2012-3-12 19:38 | 显示全部楼层
呵呵,最后一位是接收方回送给发送方的应答信号ACK,传输方向(电压电流)在这一位换向了。总线信号电平此时由接收节点电路确定;所以可能不一样(2个节点驱动电平不一样,甚至两边节点电源电压不一样)。——可以故 ...
刘前辈 发表于 2012-3-7 16:33
我已经在CAN总线的两端加了120欧姆的匹配电阻,加了匹配电阻也存在最后一位变高的情况,难道是CAN收发器先天原因造成的。
 楼主| 板砖横飞 发表于 2012-3-13 19:13 | 显示全部楼层
现在出现了这样一个现象,如果单节点的时候,确实没有最后一位变高了(ACK没有变高)。后来我又做了一个实验,控制器和10个模块通信,就是控制器和另外10个节点通信,10个节点的地址分别是0-9,当是10个节点通信时,从波形上看,能明显的看到总线上数据是一发一回的两帧数据(这两帧数据的最后一位都是超高的),当我去掉10个节点中的8个节点后,重新运行程序。发现总线上很多数据是连在一起的两帧数据(应该是一发一回),也有很多单帧数据(一发没回),但是这个单帧数据的最后一位也变高了,这就不正常了,因为没有节点能回复它(因为我去掉了8个节点),就是没有节点接受这个数据,也就没有节点会吧ACK拉高了,但是实际的情况是,发送帧的ACK确实被拉高了。 6# 刘前辈
Jenny_H 发表于 2013-12-25 15:53 | 显示全部楼层
我也遇到了这种问题,有哪位高手解释下。
yang91204 发表于 2016-3-2 17:18 | 显示全部楼层
这个问题我也遇到了,经过实验,基本确定原因:报文(除应答位外)是由1个终端发送的,而应答位是由总线上其他多个终端发送的,驱动能力比较强。总线上只有2个终端就不会有这样的问题。
chendenghuioml 发表于 2023-4-11 10:01 | 显示全部楼层
这个问题有结论么,需要解决么
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

431

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部