请教个CAN总线的问题

[复制链接]
2966|10
 楼主| xood 发表于 2007-12-4 17:16 | 显示全部楼层 |阅读模式
最近在做CAN总线,控制器用的MPC2510,收发器是82C250,现在遇到一个问题,我的主机发送一包数据出去(数据长度8个字节,标准桢格式),从机收到2包,而我的主机接收都是正常的,现在我已经换了新的2510和收发器,但是问题依然没有解决,我的程序应该是没有问题的,因为已经在ARM7的板子上调试通过了,但是我移植到这块板子上就不行了,请教坛子里有哪位大虾遇到过这种情况吗?我在这里先谢谢了。。如果有必要的话我可以将原理图也发上来,本来这次想发的,但是不知道怎么发。。。<br />
chunyang 发表于 2007-12-4 23:13 | 显示全部楼层

一包变两包肯定是程序问题

发送部分,仔细检查吧。
 楼主| xood 发表于 2007-12-5 09:03 | 显示全部楼层

re:chunyang

先谢谢chunyang,一开始我也是以为程序的问题,但是程序我已经仔细检查不知道多少遍了,其实现在这种情况我认为应该是总线错误或该报文总线仲裁失败,也就是第一包的数据2510没有收到应答桢,所以2510会自动重新发送一次,但是现在我不明白究竟是何种原因造成。。。郁闷中。。继续去查。。
 楼主| xood 发表于 2007-12-5 14:32 | 显示全部楼层

。。。

刚才我试着改动了CAN的波特率,发现波特率125K以下收发均是正常的,也没有出现一包变两包的情况,但是波特率到250K以上的时候就是一包变两包了。。。。。
chunyang 发表于 2007-12-5 15:03 | 显示全部楼层

是否加了终端电阻?

接口片的输出对地要加两个小电容。
 楼主| xood 发表于 2007-12-5 15:58 | 显示全部楼层

re:

加不加终端电阻我都试过了。效果是一样的。<br />chunyang版主的意思是应该在CAN收发器的CANH和CANL两管脚加电容然后接地吗?
chunyang 发表于 2007-12-6 10:57 | 显示全部楼层

是的,可以试试

终端电阻是一定要加的,一边一个。
 楼主| xood 发表于 2007-12-6 17:54 | 显示全部楼层

re:

先谢谢chunyang版主。<br />今天白天一直有好多别的事,刚才才有时间继续调CAN,按照版主的意思我已经试验过了,但是还是没有什么效果,真想静下来把这个问题先调通,但是时间上不允许,每天别的事情也好多,现在觉得好像是板子的问题了。。。。
chunyang 发表于 2007-12-6 18:44 | 显示全部楼层

如果你的系统噪声过大也可能导致问题的发生

  
jmu2001 发表于 2007-12-10 00:03 | 显示全部楼层

呵呵

&nbsp;&nbsp;&nbsp;找个示波器测测呀
wacke 发表于 2007-12-19 12:34 | 显示全部楼层

通讯距离有多远?

太长了不能用太高的波特率的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

35

帖子

1

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