Hi,
请教专家,我们采用AM335x的GPMC总线与FPGA连接,进行数据的传输。GPMC采用异步读写模式。写操作完全正确,读操作的时候,读到的数据不对。用FPGA内部的在线逻辑分析工具抓到的波形如下:
我们期望的是当GPMC_addr = 0D的时候,读到的数据GPMC_data = 0FFF。但是结果却总是读到后面的数据0FDF。想求助专家:1、为什么会读到后面的数据去了?2、怎么解决这个现象呢?
Best regards,
Shine:
读错一般是时序不匹配,GPMC的读时序是否按照FPGA的时序来配的吗?
sheng liu:
回复 Shine:
Hi,
上图的波形就是在FPGA的内部,用在线逻辑分析工具(chipscope)抓的波形。我们比较了这个波形与AM335x的手册上的GPMC异步读数据的时序,基本是一致的。我的问题是为什么我们没有读到nCS为低的时候的0x0FFF,而是后面nCS为高的时候的0x0FDF?从ARM的GPMC读时序上来看,是读的nCS为高的时候的0x0FDF?还是先读了一次nCS为低的时候的0x0FFF,然后又读了0x0FDF把前面的数据覆盖了呢?
Best regards,
sheng liu:
回复 Shine:
Hi,
Do you have any other better ideas about this issue? Why didn't I get a more promptly and more effective suggestion? Is TI's FAE so unprofessional that it never encounters a similar simple issue that giving nothing reasonable solution?
Look forward to your favorable reply and thank you very much.
Best regards,
Shine:
回复 sheng liu:
我到e2e上发了个贴,您可以关注一下。
e2e.ti.com/…/735656
Shine:
回复 Shine:
请问代码是基于processor SDK还是裸机代码?方便把GPMC配置代码发到上面的帖子里吗?
sheng liu:
回复 Shine:
我们的环境用的是Linux3.2.0。使用gpmc cs3,配置寄存器如下:
yongqing wang:
回复 sheng liu:
看看这个帖子看看能不能有帮助:e2echina.ti.com/…/58325