共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网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【笔记】生成报错synthdesignERROR被打赏50分 | |
【STM32H7S78-DK评测】LTDC+DMA2D驱动RGBLCD屏幕被打赏50分 | |
【STM32H7S78-DK评测】Coremark基准测试被打赏50分 | |
【STM32H7S78-DK评测】浮点数计算性能测试被打赏50分 | |
【STM32H7S78-DK评测】Execute in place(XIP)模式学习笔记被打赏50分 | |
每周了解几个硬件知识+buckboost电路(五)被打赏10分 | |
【换取逻辑分析仪】RA8 PMU 模块功能寄存器功能说明被打赏20分 | |
野火启明6M5适配SPI被打赏20分 | |
NUCLEO-U083RC学习历程2-串口输出测试被打赏20分 | |
【笔记】STM32CUBEIDE的Noruletomaketarget编译问题被打赏50分 |