我用c6455与fpga通信,采用emif接口。在fpga中建立fifo,16位同步模式,刚开始已经调通了,但是后来发现ddr的gate脚没接,重新取下芯片飞线完成,自此以后emif只能发送一半数据,而且还是跳着发送,只能发送第偶数个数据,检查了外围电路都没问题,芯片也没问题,因为我换了一个新的也是这样,实在不明白怎么回事了,请问有遇到过这种情况的吗?该如何解决啊,用示波器测试ce端确实只有一半的低电平
wacu:
测试了供电电压没问题,外部时钟没问题,该配置的引脚也配置了,关键是之前都调通了,现在不知道从哪儿入手了
Shine:
回复 wacu:
请用示波器抓一下时序,特别是地址线上的地址是否正确?
wacu:
回复 Shine:
与FIFO通信没有用到地址线哦,也测过数据线,单发一个数据没反应,发2个数据才会有反应,比如发送0x0001,0x0002,0x0003,0x0004,0x0005,0x0006…….只能发出来0x0002,0x0004,0x0006,奇数位置的数好像就被省略了,CE片选信号测试过也只持续了一半时间(比如AECLKIN为100MHZ,发送10个数,CE只持续了50ns时间),关键是之前调得好好的,按理说这个跟我把DDR控制器的gate引脚飞线出来不会有关系啊,而且同样的程序我在另一块板子上测试就正常,CE端测出来的时间就是正确的
Shine:
回复 wacu:
另外一块正常的板子也飞线了吗?
wacu:
回复 Shine:
另外一块还没飞线,难道飞着两根线对这个有影响吗?飞出来的线我也没有短接在一起啊
Shine:
回复 wacu:
因为在飞线之前都是好的,然后同样的程序在另外一块没飞线的板子也是好的,比较倾向飞线引起的硬件方面的问题。
wacu:
回复 Shine:
但是硬件哪儿的问题会影响只发一半数据呢,这个现象还很规律,我查了所有输入都没问题!现在无从下手了
Camel Santo:
回复 Shine:
您好,我也刚好遇到类似问题,无论收发,都只能对想发的地址*2,才可以。请问这会是什么问题?
wacu:
回复 Camel Santo:
我没找到原因,你起码*2还能用啊,我这个从dsp到fpga只发一半,dsp读取fpga的数据回来只有一半而且数据还不对
Shine:
回复 Camel Santo:
Camel Santo您好,我也刚好遇到类似问题,无论收发,都只能对想发的地址*2,才可以。请问这会是什么问题?