IDT7007高速双端口RAM及其应用

最新更新时间:2006-05-07来源: 国外电子元器件 手机看文章 扫描二维码
随时随地手机看文章

    摘要:IDT7007是IDT公司推出的异步高速双端口RAM,利用它可以实现两个CPU之间的数据通信。文章介绍了IDT7007静态RAM芯片的结构、特点、功能和工作原理,并给出了典型的应用电路。

    关键词:中断 仲裁 旗语通讯 IDT7007 双端口RAM

1 概述

IDT7007是IDT公司推出的32k×8b异步高速双端口静态RAM。它有两磁疗独立的地址线、数据线和控制信号线,允许两个控制器件中的数据通过共同连接的存储器来进行通信,这两个控制器可以是CPU和磁盘控制器,也可以是两个CPU。该双端口RAM允许两个控制器同时读取任何存储单元(包括同时读同一地址单元),但不允许同时写或一读一写同一地址单元。IDT7007具有如下特点:

●内含仲裁逻辑,可解决同时读写同一地址问题;

●具有中断逻辑,允许通过端口直接进行通信;

●带有旗语通讯逻辑,允许两个控制器共享资源;'

●采用主、从模式,可方便地扩展芯片数据宽度。

总之,IDT双端口RAM功能完善,易于软件编程和控制,速度也较快,非常适合于双CPU共享内存。同时,IDT双端口RAM还具有省电功能,当CE和SEM为高电平时,IDT双端口RAM能自动进入休眠模式。

IDT7007的主要性能如下:

●允许同时读取同一存储单元;

●可进行高速访问,商业级的访问时间可在15/20/25/35/55ns(最大)之间选择。

●功耗低,运行时功耗仅850mW,休眠时仅1mW;

●利用M/S模式可级联扩展数据宽度,当M/S为高时,BUSY信号为输出忙标志,当M/S为低时,BUSY信号则作为输入脚使用;

●具有片内端口仲裁逻辑和中断标志;

●片内硬件支持端口间的旗语通讯;

●各端口完全异步操作;

●与TTL电平兼容,采用5V(+10%)电压供电;

●采用68脚PGA、PLCC和80脚TQFP封装;

●工作温度范围为-40℃~+85℃。

2 引脚功能与内部结构

图1为IDT7007采用80脚TQFP封装的引脚排列。图2为其内部功能框图。各主要引脚功能说明如表1所列。

表1 引脚功能

引  脚  名  称 功  能
左端口 右端口
CEL CER 片选
R/WL R/WR 读/写
OEL OER 输出使能
A0L-A14L A0R-A14R 地址线
I/O0L-IO7L I/O0R-I/O7R 数据线
SEML SEMR 旗语通讯使能
INTL INTR 中断标志
BUSYL BUSYR 忙标志
M/S 主/从选择
VCC 电源
GND-C
N/C 未用

表2 基本操作(A0L-A14L≠AOR-A14R

输    入 输  出 功  能
CE R/W OE SEM I/O0-7
H X x H 高阻 休眠模式
L L x H 数据输入 写存储器
L H x H 数据输出 读存储器
x x H x 高阻 输出不允许

3 功能与原理

IDT7007具有两套独立的地址线、数据线和控制信号线,允许双CPU各自独立访问同一套存储单元,其基本操作如表2所列。

从表2可知,当CE=SEM=H时,芯片电路自动进入休眠模式。此外,IDT7007还具有中断、仲裁、扩展以及旗语通讯等逻辑功能。

3.1 中断逻辑

在一个双CPU系统中,一般均需要互相通信,因而需要IDT7007中断逻辑进行中断处理。而IDT7007中断逻辑中的最后两个存储单元(7FFE,7FFF)可用作两端口的中断产生器。当CEL=R/WL=0时,写入7FFF单元,以使INTR中断有效(若BUSYL=0,则无效)。当CER=OER=0时,访问7FFF单元以清除INTR中断。同理,当CER=R/WR=0时,写入7FFE单元,INTL有效;当CEL=OEL=0时,访问7FFE单元并清除INTL中断,参见表3。至于7FFE和7FFF单元的内容,则可由用户自行定义,因为它们也是可寻址的RAM单元。

3.2 忙逻辑

在双端口RAM系统中,有时会发生双CPU同时访问同一存储单元的情况,分两种情况:第一种情况是一个CPU在读,而另一个在写,此时会读出一个错误的数据;第二种情况是两个CPU同时写,此时写入数据为两端口数据之合成。忙逻辑电路则专门用于解决此问题。忙逻辑敢称仲裁逻辑,它由一对地址相等的比较器、一对延时缓冲器和一个交叉耦合仲裁锁存器组成。当左右两端口同时写入或一读一写同一地址单元时,先稳定地址的端口通过仲裁逻辑电路优先进行读/写操作,同时内部电路使能对方端口的BUSY信号使之有效,并在内部禁止对方访问,直至本端口操作完成。BUSY信号可作为中断源来指明本次操作为非法。在应用于从模式(即M/S=L)时,BUSY可作为写禁止输入;而在应用于主模式(M/S=H)时,BUSY作为输出,但应接上拉电阻。忙仲裁操作方式如表4所列。表中“(1)”的意思是假设BUSYL和BUSYR为输出,并接上拉电阻;“(2)”的意思是哪一个端口地址先稳定,则对方的BUSY为低,本方BUSY为高;“(3)”表示若BISYL=L,则禁止左端口写;若BUSYR=L,禁止右端口写。

表3 中断标志(BUSY=H)

左    端    口 右    端    口 功  能
R/WL CEL OEL A14L-A0L INTL R/WR CER OER A14R-A0R INTR
L L x 7FFF x x x x x L INTR=L
x x x x x x L L 7FFF H INTR=H
x x x x L L L x 7FFE x INTL=L
x L L 7FFE H x x x x x INTL=H

表4 忙仲裁操作

输    入 输   出 功  能
CEL CER AOL-A14L
AOR-A14R
BUSYL(1) BUSYR(1)
x x 不相等 H H 正常
H x 相等 H H 正常
x H 相等 H H 正常
L L 相等 (2) (2) 写禁止(3)

表5 旗语通讯读/写操作

输        入 输  出

模  式

CE R/W OE SEM I/O0-7
H H L L 数据输出 读旗语通讯标志
H x L 数据输入 写旗语通讯标志
L x x L - - - 不允许

3.3 双端口RAM的扩展

双端口RAM的扩展分为深度扩展和宽度扩展两个方面,深度扩展与常规的RAM扩展一样,如两个IDT7007可扩展为64k×8b的双端口RAM。这里主要讨论宽度扩展,如两个IDT7007可扩展为32kX16b双端口RAM,图3怕示是宽度扩展的逻辑框图。但存在一个问题:即当左右两个CPU同时访问同一地址单元时,由于主从片同时工作,并各有一套仲裁逻辑电路。因此,如果同一地址同时到达,则有可能主片左端获优先处理使主片BUSYR为L,当然,也有可能从片右端获优先处理而使从片BUSYL为L。如果这样,系统就会死锁,解决的办法是只采用主片的仲裁电路。即主片BUSY做输出并外接上拉电阻,而从片的BUSY作为写禁止输入。使用时可由M/S为低电平或高电平来决定从片或主片。

表6 典型旗语通讯序列

功  能 左端口 右端口

状  态

D0 申请寄存器 D0 申请寄存器
无动作 1 1 1 1 旗语通讯自由
左端口写 0 0 1 1 左端置标志
右端口写 0 0 1 0 无变化,右端保留申请标志
左端口写 1 1 0 0 右端获得标志
右端口写 1 1 1 1 旗语通讯自由
左端口写 0 0 1 1 左端置标志
左端口写 1 1 1 1 旗语通讯自由

3.4 旗语通讯逻辑

在双端口RAM应用中,经常需要暂时指定一块存储区只供一端CPU用。例如,把一个CPU运算出的一批数据结果一次写入存储共供另一CPU调用,这种情况称为块配置。块配置应避免地址仲裁问题,因为一个CPU在使用块配置时,不希望另一个CPU了使用这些单元,旗语通讯逻辑提供了一套适于块配置的功能。它是一组独立于双端口RAM之外的八个锁存器,它些锁存器可用来标志一个端口正在使用块配置,而另一个暂时不不能使用的情况。若左边的CPU要使用块配置,则需要通过置位锁存器的申请标志通过CPU读标志并校验它,以判断它是否成功地置位锁存器,即判断标志是否为0,若成功(即标志为0),就可以使用块配置,否则,说明右边CPU已先置标志为0了,即正在使用块配置。此时,左边的CPU要么重复申请标志,要么先暂时完成别的任务,并不时地尝试通过置位和校验来获得标志。一旦右边使用完毕而显示复位标志(置标志为1),则左边立即置标志为0以获得使用权,旗语通讯标志总是通过置位——测试的序列来进行的。旗语通讯标志为低电平有效,申请标志应向锁存器写0,释放标志时写1。这八个锁存器可通过SEM、OE、R/W、A0~A2像RAM单元一样来进行读写,只是读或写只通过D0来进行。为方便用户,读出时,D0~D7要么全为0,要么全为1。当左右两边同时申请标志时,由旗语通讯逻辑仲裁来判断哪端先获得标志,而不会出现两端的标志同时为0。旗语通讯的读/写操作见表5,典型的旗语通讯操作序列见表6。表中的申请寄存器可用来保存申请状态的内部寄存器。

4 应用举例

图4为双CPU(Z80、89C51)共享的IDT7007双端口RAM的典型应用电路。因89C51的串行通信能力很强,故常用在通信和输入输出部分,而Z80常用于运算,且必须外带EPROM。而89C51本身有电可擦除E2PROM,若容量不够,也可外接扩展。Z80和89C51可分别在IDT7007中找一部分空间作自己的内存。并通过INTL和INTR直接进行端口通信。通过IDT70087的SEML、SEMR可使Z80、89C51实现资源共享。VUSYL接在Z80r WAIT端,以保证在同时访问同一地址时,由BUSYL信号产生等待脉冲。BUSYR接中断INT1,若引起中断,则告之本次操作失败而必须重复操作。CEL、SEML由译码器电路给出。CER只需由P2.7片选即可,而SEMR则由P1.0来使能。软件编程除需要考虑各自CPU的内存外,还需考虑共享存储器以及通过中断直接进行端口通信的问题。此外,还应注意BUSYR信号引起的中断。

编辑: 引用地址:IDT7007高速双端口RAM及其应用

上一篇:遥测数据多硬盘并行存储方法的研究
下一篇:具有数字存储功能的单片语音录放芯片ISD5116的原理及应用

小广播
最新缓冲存储文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 综合资讯

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved