BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / circuit / #21866同步于 2012/12/6
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Circuit机器人发帖

【求助】FPGA控制SJA1000

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