微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 双端口RAM的并口设计应用

双端口RAM的并口设计应用

时间:06-09 来源: 点击:

数据获取及交换是多CPU系统的重要组成部分。在这类系统中,数据交换要求的通讯速率往往很高,平均速率一般在10k左右,有时甚至达100k以上。传统的并行接口和串行接口设计无论在通信速率,还是在可靠性方面都不易满足要求。而双端口RAM则是一个较好的实现方案。它具有通讯速率高、接口设计简单等特点,因而在设计中得到广泛的应用。


1 常用双端口RAM的结构特点

1.1 通用集成电路组成的双端口

采用通用集成电路组成的双端口RAM如图1所示。一般的RAM只有一套地址总线、数据总线和读写控制线,因此,两端CPU芯片的三总线必须经过缓冲隔离才能共享静态RAM。具体工作过程是两个CPU的地址信号和读写控制信号全中接入仲裁电路,由仲裁电路判断访问双端口RAM的CPU,并使能相应的总线缓冲器。若两个CPU在同一段时间内访问共享的RAM的发生竞争,则由仲裁电路迫使后访问的CPU处于等待状态,一旦前一个CPU访问结束,再由仲裁电路打开缓冲器,以使后一个CPU接通RAM并进行访问。

该电路的特点是成本低、简单且存储量大,其容量在64k~128k之间。缺点是在两个CPU发生竞争时,有一方CPU必须等待,因而降低了访问效率。

1.2 专用双端口RAM芯片

目前市场上有多种专用双端口RAM芯片,如IDT7132/7142、DS1609等。这些芯片有两套完全独立的数据线、地址线和读写控制线,因而可使两个CPU分时独立访问其内部RAM资源。由于双CPU同时访问时的仲裁逻辑电路全部集成在双端口RAM内部,因而需要用户设计的电路比较简单。双端口RAM内一般都有一个总线抢占优先级比较器,只要双CPU不同时访问同一存储单元,那么较先送出地址的CPU将拥有该单元的本次访问优先权,而另一个CPU的地址与读写信号将被屏蔽掉,同时通过"busy"引脚告知该CPU以使之根据需要对该单元重新访问或撤消访问。

专用双端口RAM的优点是通讯速度快,实时性强,接口比较简单,两边CPU都可主动进行数据传输;缺点是成本高,需要克服竞争现象。

以上两种技术方案各有优点,在要求存储量较大时,一般采用通用集成电路组成的双端口RAM;在通信实时性要求较高的而通信数据量不大时,一般采用专用双端口RAM芯片。

在实际应用中,双端口RAM与并行接口与串行接口相比,它不仅能利用其两端口异步操作来读写数据,而且可用作多CPU微处理系统CPU的数据交换接口,从而简化了对各CPU之间数据通信规约的要求,提高了系统数据通信处理的可靠性,同时提高了CPU之间数据交换的实响应速度。

2 IDT7132/7142简介

2.1 IDT7132/7142结构与连接方式

IDT7132/7142是高速2k×8双端口静态RAM,可提供两个拥有独立的控制总线、地址总线和I/O总线端口,允许CPU独立访问内部的任何存储单元。当CE引脚出现下降沿时,选中DPRAM即可通过控制OE或R/W来访问内部存储单元。IDT32一般被用作8位双端口RAM,也可以作为主片与DIT7142从片构成主从式16位双端口RAM。连接方式如图2所示:

2.2 IDT7132/7142时序图

IDT7132/7142的时序如图3所示,它与RAM的读写时序非常类似。当CPU选中DPRAM时,CE引脚出现下降沿,当控制纡OE为高且R/W为低时,CPU对内部存储单元进行写操作;而当控制线OE为低且R/W为高时,CPU对内部存储单元进行读操作。

2.3 竞争现象的处理

当外部CPU通过两个端口对双端口RAM内部的同一个存储单元进行操作时,系统将出现竞争。这种竞争一般有如一两种模式:

(1)如果两个端口的总线访问地址相同,并先于片选信号CE有铲,则片内控制逻辑将在CEL与CER之间发生竞争。

(2)如果两个端口的片选信号CE在地址信号有效之前变低,则片内控制逻辑将在地址信号到达时发生竞争。

为避免因竞争而导致的通讯失败,设计者提出了各种解决方案。常见的有三种:

(1)设置标志位:在开辟数据通讯区的同时,可通过软件方法在某个固定存储单元设立标志位。这种方法要求两端CPU每次访问双端口RAM之前,必须查询、测试和设置标志位,然后再根据标志位的状态决定是否可以访问数据区;有的双端口RAM本身就个有专用的一个或多个硬件标志锁存器和专门的测试和设置指令,可直接对标志位进行读/写操作。这种方法通常用在多个处理器共享一个存储器块时。为了保证通讯数据的完整性,在采用这种方法时往往要求每个处理器能对该存储器块进行互斥的存取。

(2)软件查询BUSY引脚状态:双端口RAM必须具有解决两个处理器同时访问同一单元的竞争仲裁逻辑功能。当双方址发生冲突时,竞争仲裁逻辑可用来决定哪个端口访问有效,同时取消无效端口的访问操作,并将禁止端口的Busy信号置为低电平。因此Busy信号可作为处理器等待逻辑的输入之一,即当Busy为低电平时,让处理器进入等待状态。每次访

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top