新闻中心

EEPW首页>嵌入式系统>设计应用> 基于PLD的嵌入式系统外存模块设计

基于PLD的嵌入式系统外存模块设计

作者: 时间:2011-04-29 来源:网络 收藏

#(a[15..0]= =Address_F_W)! ALE)

READY信号的产生落后ALE下降沿5ns,造成READY信号产生无效,解决这个问题的唯一方法是提前生成READY信号。实际中有效地址是在ALE下降沿锁存后产生的,这也是READY信号产生表达式中最后一项的来源,但是考虑到地址的产生应该发生在ALE下降沿之前,以保证锁存到正确的地址。因此大胆设想让READY信号的产生不再受ALE的控制,只要总线上产生地址就可以作出判断,从而提前生成READY信号。但这样的做法破坏了同步时序,而且异步生成READY信号容易产生冒险现象。通过分析,可以发现异步生成

READY信号并不会带来任何不稳定因素,因此修改READY信号如下:

ready=!(((a[15..0]>=H0200)(a[15..0]=H1EFF))

#((a[15..0]>=H2000)(a[15..0]=H8FFF))

#(a[15..0)= =Address_F_R)

#(a[15..0]= =Address_F_W)

即去掉了对地址有效信号ALE的判断。修改后工作稳定、正常。修改后对Hash ROM的读写时序如图7所示,而对RAM读写的时序依旧是图6,目的达到。考虑到插入一个等待周期后大大增加了读写时间,因此将AT29C1024-70JC换成廉价的AT29C1024-12JC(有效数据建立时间为120ns)[3],依然能够稳定工作。通过使用,证明这种存储器方案是可行的。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭