通过PCI9030向外部RAM写数据失败现象

我们的系统方案是:以9030作为PCI接口芯片,本地端映射了一片IDT70V06的双端口RAM。进行数据传输压力测试时,发现PC机向IDT70V06写数据偶尔会失败。这一问题是什么原因造成的呢?

最初我们设想,可能是PC和MCU同时读写双端口RAM的同一个memory uint. 可是我们用了IDT70V06的Semaphore机制,读写操作都先获取Semaphore,应该不会出问题啊。

写数据失败发生在消息帧的第一个字节,消息帧内其他字节位置没有发现失败。莫非是9030读写时序配置不合理,需要加入一些延迟?早晨来看Databook,果然,本地端读写时序有几个寄存器控制位,read address to data wait state, write address to data wait state, WR throbe delay, RD throbe delay. 在DB的本地总线操作2.24节有时序说明,修改寄存器值,OK,问题解决啦。

原文地址:https://www.cnblogs.com/yuqiao-ray-vision/p/3685009.html