打印

SAM9260+SJA1000的问题

[复制链接]
1500|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qchwu|  楼主 | 2009-12-16 09:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用SAM9260外扩SJA1000实现CAN总线通讯,SJA1000是地址数据复用的总线,所以在中间加上CPLD实现逻辑变换,现在CPLD模拟SJA1000的读写时序基本正确,但是在向SJA1000第4或第5寄存器(可读写)写数据后,再读取出来,以检查读写是否正确。这过程中发现8位数据总线的第0位和第4位始终是0,排队这两位被强制拉低。根据示波器看,这两位在接收到写的1数据后,返回还是0,其他位,示波器都可以看出写1,读取返回1这一过程。请问这是什么原因?我的理解是8位并行总线,要读取和采样总线数据应该是同步的,在SJA1000收到数据正确的时候,为什么返回数据有的位不对?
帮忙看看,什么原因。谢谢!

相关帖子

沙发
luodongliang| | 2009-12-16 09:51 | 只看该作者
CPLD模拟SJA1000的读写时序基本正确?我觉得应该先从CPLD的接口逻辑找问题。

使用特权

评论回复
板凳
qchwu|  楼主 | 2009-12-16 10:14 | 只看该作者
模拟的波形与SJA1000的读写时序可以对应的上,实测也是对的。我逻辑是按照附件中的做法实现的。

ARM与CAN接口时序设计.pdf

124.47 KB

使用特权

评论回复
地板
maikun0318| | 2009-12-16 20:48 | 只看该作者
支持一下

使用特权

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

本版积分规则

29

主题

126

帖子

0

粉丝