共2条
1/1 1 跳转至页
wxj1952,SJA1000 请问一下大哥wxj1952,为什么我不能写SJA1000的命令寄存器

问
我在做一个关于CAN总线的东西,用的是BASIC CAN模式。我用一个CAN发送装置向我的CAN节点发数据,然后我的SJA1000用的是查询模式接收数据,这个数据可以进入我的SJA1000的接收寄存器,但是,我通过DSP仿真器可以收回数据,但是,我向SJA1000的命令寄存器写0X04,试图清除接受寄存器,但是清除不了。所以,现在我的CAN总线只能接收一个数据。
而且,奇怪的是,在对方向我发数据之后,我在进入查询接收之前,读了一下我的状态寄存器,发现状态寄存器里面对应的RBS位是0,表示没有数据进入我的接收寄存器。这就很奇怪了,明明我能接收到一帧数据,但是状态寄存器的值却是0x0C。
SJA1000芯片是好的,因为将能正常工作的SJA1000芯片换到我的板子上。
会不会是因为SJA1000受到干扰,使得状态寄存器和命令寄存器不能正常工作?
因为我测过了,从SJA1000读出来的数据,有一个2.6MHZ的噪声
还请wxj1952大哥指点一下,小菜鸟我已经调这个调了很长时间了 答 1: 现象是对的既然没有查询到RBS/RI,那么所有接收缓存的数据都是无效的,无论它怎么“像”发送来的数据。
0x04是释放接收缓存命令,作用:1:移动接收缓冲器窗口;2、使释放掉的缓冲器可重用。“而原来的数据并不受影响,还在那里,一直在那里,直到被新的数据覆盖”。 答 2: SJA1000写不进数据,是不是电平转换芯片没用的缘故?今天再一看,发现SJA1000又写不进数据了,而且也读不出来数据
SJA1000是5V供电,我上一次做CAN总线模块的时候,在DSP和SJA1000间的数据线是先经过一个3.3V转5V的电平转换芯片,因为当时我觉得DSP是3.3V的,所以要把数据上的信号电压拉升一下,以匹配我的SJA1000。上一次是做成功了。
而这一次,我将上一次做的CAN总线模块都照搬过来了,只是没用那个电平转换芯片LVTH16245A,我将DSP的数据以及控制线都丢入FPGA,然后由FPGA做成适合的SJA1000接口,将SJA1000的数据以及RD,WR,CS,ALE都由FPGA引出。
在FPGA烧写进程序后,我用示波器测量RD,WR,CS,ALE以及DATA脚,发现时序都是符合DATASHEET要求的,只是数据总是写不进SJA1000。
因为我认为FPGA的驱动能力很强,而且我也测了RD,WR,CS,ALE和DATA上的电压,高电平有3.2V,这也满足SJA1000对输入信号电压的要求呀!
那是不是因为我没用这个电平转换芯片的缘故呢?
而且,奇怪的是,在对方向我发数据之后,我在进入查询接收之前,读了一下我的状态寄存器,发现状态寄存器里面对应的RBS位是0,表示没有数据进入我的接收寄存器。这就很奇怪了,明明我能接收到一帧数据,但是状态寄存器的值却是0x0C。
SJA1000芯片是好的,因为将能正常工作的SJA1000芯片换到我的板子上。
会不会是因为SJA1000受到干扰,使得状态寄存器和命令寄存器不能正常工作?
因为我测过了,从SJA1000读出来的数据,有一个2.6MHZ的噪声
还请wxj1952大哥指点一下,小菜鸟我已经调这个调了很长时间了 答 1: 现象是对的既然没有查询到RBS/RI,那么所有接收缓存的数据都是无效的,无论它怎么“像”发送来的数据。
0x04是释放接收缓存命令,作用:1:移动接收缓冲器窗口;2、使释放掉的缓冲器可重用。“而原来的数据并不受影响,还在那里,一直在那里,直到被新的数据覆盖”。 答 2: SJA1000写不进数据,是不是电平转换芯片没用的缘故?今天再一看,发现SJA1000又写不进数据了,而且也读不出来数据
SJA1000是5V供电,我上一次做CAN总线模块的时候,在DSP和SJA1000间的数据线是先经过一个3.3V转5V的电平转换芯片,因为当时我觉得DSP是3.3V的,所以要把数据上的信号电压拉升一下,以匹配我的SJA1000。上一次是做成功了。
而这一次,我将上一次做的CAN总线模块都照搬过来了,只是没用那个电平转换芯片LVTH16245A,我将DSP的数据以及控制线都丢入FPGA,然后由FPGA做成适合的SJA1000接口,将SJA1000的数据以及RD,WR,CS,ALE都由FPGA引出。
在FPGA烧写进程序后,我用示波器测量RD,WR,CS,ALE以及DATA脚,发现时序都是符合DATASHEET要求的,只是数据总是写不进SJA1000。
因为我认为FPGA的驱动能力很强,而且我也测了RD,WR,CS,ALE和DATA上的电压,高电平有3.2V,这也满足SJA1000对输入信号电压的要求呀!
那是不是因为我没用这个电平转换芯片的缘故呢?
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【我踩过的那些坑】STM32的硬件通讯调试过程的“坑”被打赏50分 | |
【我踩过的那些坑】晶振使用的问题被打赏100分 | |
【我踩过的那些坑】电感选型错误导致的处理器连接不上被打赏50分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏10分 | |
【我踩过的那些坑】DRC使用位置错误导致的问题被打赏100分 | |
我踩过的那些坑之混合OTL功放与落地音箱被打赏50分 | |
汽车电子中巡航控制系统的使用被打赏10分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏100分 | |
分享汽车电子中巡航控制系统知识被打赏10分 | |
分享安全气囊系统的检修注意事项被打赏10分 |