前言:之前通过移植飞凌的驱动,成功实现了EIM总线的加载,但是不能正确的实现读写功能。
通过FPGA查看读写时序发现,OE引脚拉低的时间与地址线更新时间几乎同步,FPGA无法正确的识别地址,导致数据错误。
解决办法:
修改读写时序,通过对CS0RCR1寄存器进行配置实现。
(1)修改RADVA(22-20)为:010,延迟放地址到发EO命令的时间;
(2)修改OEA(14-12)为:111,延迟发OE命令到从数据线读数据的时间。
可以正常读取RAM数据了。
EIM总线驱动程序(fpga.c)、调试程序(eim_test.c)及调试方法可通过以下连接下载:
https://download.csdn.net/download/becdecorbin/12766483
本文仅是个人的学习记录,如有偏颇还请网友不吝赐教!