返回信息流以前都用485协议,这次改为用CAN,第一次用SJA1000芯片,初始化以后能够读出寄存器数据,状态寄存器的状态也正确,但是往发送缓冲器写数之后,给命令寄存器一个发送命令,用示波器抓到的波形总是一个,明显不是我发送的数据~电路已经反复比对过,应该没有问题,有没有大牛搞过SJA1000的能帮忙分析分析?已经弄了两周了
这是一条镜像帖。来源:北邮人论坛 / circuit / #21866同步于 2012/12/6
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Circuit机器人发帖
【求助】FPGA控制SJA1000
subing
2012/12/6镜像同步11 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
【 在 wmxs1988 的大作中提到: 】
: 刚调通mcp2515,用fpga控制,没用过SJA1000,有寄存器标志frame是否发送成功吗?
我已经弄了两周了还没成功,我们老师估计失望了,说不行就改成控制mcp2515,初始化过后读SR是0x0c,就是正常,写入发送缓冲区后,给出发送命令,变成0x24,但是示波器看波形不对
一直是0x24?另外用示波器看波形靠谱吗?CAN是需要至少两个正常的节点才能发出数据的,否则总线会自动关闭
【 在 subing 的大作中提到: 】
: 我已经弄了两周了还没成功,我们老师估计失望了,说不行就改成控制mcp2515,初始化过后读SR是0x0c,就是正常,写入发送缓冲区后,给出发送命令,变成0x24,但是示波器看波形不对
【 在 wmxs1988 的大作中提到: 】
: 一直是0x24?另外用示波器看波形靠谱吗?CAN是需要至少两个正常的节点才能发出数据的,否则总线会自动关闭
0x24后面就是0x64了,就是用示波器看波形不靠谱,是很长的显性插一个隐性,不是正常的数据的样子,飞线出来接了一个ARM的CAN的开发板
SR.ES都置1了......俨然没发出去啊
【 在 subing 的大作中提到: 】
: 0x24后面就是0x64了,就是用示波器看波形不靠谱,是很长的显性插一个隐性,不是正常的数据的样子,飞线出来接了一个ARM的CAN的开发板
嗯,示波器上也看不出正常的发送波形,我疑惑的就是,既然能读写寄存器,说明读写寄存器的时序应该没有问题,为什么写入发送缓冲区然后置位发送命令就是发不出去呢~我快憋死了
【 在 wmxs1988 的大作中提到: 】
: SR.ES都置1了......俨然没发出去啊
也许其他地方出问题了,比如硬件连接或者接收端的配置有问题,不一定是充当发送端SJA1000的问题。就算换成MCP2515也不一定能解决......
【 在 subing 的大作中提到: 】
: 嗯,示波器上也看不出正常的发送波形,我疑惑的就是,既然能读写寄存器,说明读写寄存器的时序应该没有问题,为什么写入发送缓冲区然后置位发送命令就是发不出去呢~我快憋死了
【 在 wmxs1988 的大作中提到: 】
: 也许其他地方出问题了,比如硬件连接或者接收端的配置有问题,不一定是充当发送端SJA1000的问题。就算换成MCP2515也不一定能解决......
嗯,我也是这么想的,改片子估计还得折腾,但是电路也查过好多遍了,我再看看吧,谢谢啦