阅读:1480回复:9
9052应用中,局部总线上的其它设备如何及时地访问局部总线
9052的DATABOOK指出,9052担负着局部总线仲裁的任务,LOCALBUS上的其它MASTER设备通过拉高LHOLD线向9052提出占用总线的申请,如果9052在LOCALBUS上没有数据传送,则拉高LHOLDA线作出确认,一旦LHOLDA线为高,其它设备就可以访问总线了,看时序图可知,其它设备对局部总线的占用,可一直保持到LHOLD线恢复为低,并且在LHOLDA线恢复为低之前,如果LHOLD已经恢复的话,则不能再次拉高进行请求。
要求:我希望做到的是,9052与CPLD共同对局部总线上的SRAM进行访问,9052写,CPLD读。读操作速度低(2M)但要求速率稳定,因此必须有规律地占用局部总线。 问题:外部设备占用总线的前提是9052当前没有进行局部总线的访问,这句话如何理解呢?以32位突发写(一次突发操作写4个LWORD)操作为例,9052对LOCALBUS的访问,起于地址的建立,然后是ADS线拉低表示地址已建立,终于BLAST线低脉冲过去。如果局部总线时钟足够慢(低于33M),而PCI总线写数据又远不止四个LWORD,则9052对局部总线的访问也将是持续发生的,即前一次BURST的BLAST信号与后一次BURST的ADS信号首尾衔接,9052将占用局部总线直至所有数据传输完毕。这是不是意味着在这段时间内,局部总线的其它设备将无法占用总线。我又该如何实现我的设想呢? 一定有朋友建议我用FIFO来实现上面的要求,但采用AL422B的方案已经做过,但总是出现不明原因的数据错误。后来在水木清华的BBS上看到有贴子称FIFO在低速应用时,稳定性不如高速应用,并且对电路设计的要求极为苛刻,相比之下,SRAM的方案电路复杂些,但稳定性要比FIFO高出许多。 |
|
最新喜欢:mapofl
|
沙发#
发布于:2002-06-27 12:30
看来问题是仲裁逻辑中的优先级问题,9052可能固定为高优先级,我的建议是换成9054,9054的仲裁逻辑是由外部电路确定的,你可以根据需要设计自己的仲裁逻辑.
至于所说的FIFO低速反而不如高速稳定,可能的解释是内部有PLL,但锁相频率范围有限或者是内部有刷新逻辑,时钟慢会导致刷新间隔时间过长.我的建议是提高时钟,但要通过适当的手段控制写使能信号. 如果上述办法实现有困难,是否可以考虑双端口? |
|
|
板凳#
发布于:2002-06-27 19:11
前一个方案所用的FIFO是AverLogic公司的AL422B,是一种基于DRAM工艺的准FIFO,之所以加上\"准\"字,是因为它没有一般FIFO的空、将空、半满、将满、满等逻辑输出,取而代之的是读写指针的清0控制输入。读写时钟分别的2M和20M,芯片自动选择较快的时钟做为DRAM刷新时钟。刷新逻辑应该没有问题,但PLL就讲不清了。我和AverLogic公司的技术支持联系过,并提供了完备的时序图,他们对数据出错也说不出个所以然来,搞不清楚是我用的问题还是别的原因。
我的应用是数据输出,中断驱动,因为中断间隔问题(据网友称PCI的中断响应的时间误差高达70MS),我不得不考虑加大BUFFER的尺寸。对应2M输出速率,至少要256K。这么大的双口RAM,而且访问时间要小于30NS,而且要用4片搭成32位,价钱一定是个天文数字。 对了,如果您知道什么型号的低价位的双口RAM,给个参考? |
|
|
地板#
发布于:2002-06-28 10:13
可以用两个单端口SRAM做一个切换访问结构,比较省钱
|
|
|
地下室#
发布于:2002-06-28 13:19
jst7792兄:
我考虑过您说的方案,但那样做要用20几片三态缓冲做切换,感觉太笨了,此外还有功耗等问题。 也许您有更好的建议? |
|
|
5楼#
发布于:2002-06-28 16:15
这个时候没有谁还用分离元件了,一般都是PLD或者FPGA搭一个,应该还是比较方便的.
|
|
|
6楼#
发布于:2002-06-28 17:19
在任何时候只能有一个设备对sram的进行访问,因而你必须在9052数据写完后,再用cpld读。
|
|
|
7楼#
发布于:2002-06-28 19:20
以用PLD为例,256K*32bitRAM分两组,一组128K,地址线17条,数据线32条,如果使用切换读写的方式,则从PLD角度来看,对9052的接口线至少50条,对两组RAM的接口至少104条,合计154个IO,再加上32位数据输出呢?近200个IO,到那里去找这么大的CPLD?
如果RAM不分组,由于读数据是稳定的2M速率,因此不可能等9052写完了再去读,只有在PLD内部作一个仲裁,也就是在读的时候,利用LRDYi#信号让9052等一会儿,不读的时候呢,将RAM的数据地址线在PLD内部和9052接起来,这样作,也得近150个IO,恐怕这个PLD的价线也不是个小数目了! 大哥们,你们以为我想用LS244啊!!! |
|
|
8楼#
发布于:2002-06-29 17:10
FPGA的价格关键是密度,这样的设计密度不会很大,绝对不超过1万门,给你个参考价,3万门的FPGA EP1K30QC208-3价格大约是250。
|
|
|
9楼#
发布于:2002-07-05 18:47
其实在PLD内部作一个SRAM访问仲裁逻辑并不困难,也不需要多大的规模,只是我的应用中,IO需要量太大了。没办法,只好用了四片EPM7128SQC100-10,一片管八位RAM,成本高了些,但这回不该再有问题了!
真主保佑。 |
|
|