异步多处理器系统在两个独立运行的处理器之间传输数据的方法

元器件信息   2023-07-27 14:29   247   0  

DS1609  点击型号即可查看芯片规格书 


芯片规格书搜索工具-icspec


摘要


异步多处理器系统需要一种在两个独立运行的处理器之间传输数据的方法。双端口内存为两个处理器提供可访问的公共内存,可用于在两个处理器之间共享和传输数据和系统状态。DS1609是一种双端口存储器,具有256字节的SRAM存储器,可通过两个单独的8位多路地址/数据端口访问。本应用笔记讨论了围绕双端口内存进行设计时需要考虑的系统级因素,并展示了8086和HC11 8位微控制器/微处理器的典型配置。

23752_ew0x_1721.gif

为了支持信息处理的需要,存储设备和系统正变得越来越多样化和复杂。在多处理器应用程序中集中数据存储的需求对硬件和软件设计人员都提出了挑战。必须找到新的方法来整合由多个总线控制的系统信息。此外,系统变得更加注重功率,特别是便携式系统,因为它们通常依赖于某种可充电电池供电。对于不经常需要共享总线访问,但需要传输许多兆字节内存的系统,共享的大容量存储设备(如软盘驱动器或网络硬盘驱动器)可能就足够了。但是,对于频繁的低密度访问,诸如硬盘驱动器或软盘之类的媒体是不切实际的,并且会大大减慢数据的存储和检索速度。DS1609双端口Ram专为满足两个异步系统之间的高频、小容量数据存储和检索而设计。由于其工作电压低至2.5伏的能力,DS1609也很容易适用于任何电源可用性有限的便携式应用。

引脚分配

23752_xaep_8623.gif

描述
V (CC)+5伏电源
接地地面
AD0-AD7端口地址/数据
“CE校验”端口支持
“OE校验”允许输出
“我们校验”允许写入

总线的类型可以连接到DS1609的任何一个端口,不限于系统级。一个多路复用的微处理器地址和数据总线可以直接连接到DS1609的一个或两个端口。设备可以通过“active-low OE”、“active-low CE”和“active-low WE”三个信号分别从任一总线端口进行控制。多路总线的明显缺点是系统性能略有下降,因为地址和数据信息是串行传输的。同样明显的优点是通过复用寻址和数据总线可以减少引脚数。

任何一个端口的读写访问都是以8位地址和8位数据的形式传输的。在对端口的读周期中,“active-low WE”处于非活动状态,当“active-low CE”处于活动状态时开始周期,该状态下的地址锁存,在“active-low OE”的控制下进行数据检索。“激活-低CE”或“激活-低OE”的上升沿终止读周期。对于一个写周期,“active-low OE”处于非活动状态,“active-low CE”变为活动状态,锁存要访问的地址,“active-low WE”变为活动状态。

DS1609双端口RAM具有特殊的单元设计,允许从两个端口同时访问。由于这种单元设计,在同一时刻发生的读周期不需要仲裁。但是,对于在完全相同的瞬间重新创建和写入单元,或者在相同的瞬间从两个端口写入单元,可以提出仲裁的理由。如果在进行读周期时发生写周期,则读周期可能会恢复旧数据或新数据,而不是两者的某种组合。然而,写周期将用正确的数据更新内存。对同一内存位置的同步写周期带来了额外的担忧,即单元可能处于争用状态,从而导致亚稳态。根据端口A和端口B的写周期的时间,存储器位置可以保留包含从端口A写入的数据或从端口B写入的数据或它们的某种组合。然而,上述两种问题都可以通过规范的系统软件设计来消除。确保不会发生读/写争用的一种简单方法是执行冗余读循环。通过将写操作的地址组只分配给一个端口,可以避免写/写争用需求。数据组可以分配校验和字节,以保证正确传输。还可以采用使用“邮箱”传递状态信息的软件仲裁系统。每个端口都可以分配一个唯一的字节,用于写入其他端口将读取的状态信息。状态信息可以告诉报告端口是否有任何活动正在进行,并指示活动将在何时发生。

23753_dwts_1170.gif

图1所示、DS1609双端口接口为Intel 8086微处理器

DS1609非常适合基于小型微处理器的系统,这些系统经常使用专用的8位多路地址/数据总线,以下示例处理与英特尔8086/8088系列和摩托罗拉HC11系列微处理器的接口。

对于英特尔8086/8088微处理器家族的实现,任何端口的地址/数据引脚都可以直接绑定到英特尔8086或8088微处理器的下8个地址数据线(图1)。微处理器的低激活RD引脚为DS1609端口提供“低激活OE”输入,而低激活WR为端口提供“低激活WE”输入。端口的“激活低CE”输入可能由系统解码器调节,这将需要8086的ALE输出作为输入来提供地址锁存。来自8086的一些未使用的地址/数据线也需要作为输入,以指示DS1609在系统内存映射中的位置。在需要多个DS1609端口的应用中,可以使用带有用户指定地址线的Intel 8086/8088的ALE信号从系统解码器提供多个“低激活CE”输出,以生成多个芯片选择(图3)。

23753_h1rn_5691.gif

图2、摩托罗拉HC11扩展模式


对于摩托罗拉HC11微处理器家族的实现,DS1609上任何端口的地址/数据引脚都可以直接连接到以扩展模式运行的HC11的端口C(图2)。HC11端口B (a (8) - a(15))的地址引脚可以用来提供DS1609在系统内存映射中的位置。E信号也是HC11的输入,为系统解码器提供总线时钟,指示HC11是否处于地址或数据周期中。解码器的R/ active-low W输入指示HC11在数据周期中是写入数据还是读取数据。从这些输入,系统解码器可以为DS1609提供“有效低OE”、“有效低WE”和“有效低CE”输出。对于需要更高密度的应用,可以使用两个DS1609。相同的输入,包括用户选择的地址线a (8) - a(15)的组合,可用于为单个DS1609设备提供“低活动OE”,“低活动WE”和多个“低活动CE”信号(图4)。DS1609可以与其他没有多路复用总线的微处理器一起使用,这些微处理器具有单独的地址和数据总线。

DS1609可以与其他没有多路总线的微处理器一起使用,这些微处理器有单独的地址和数据总线。

23753_baaw_1808.gif

图3、多路复用接口

23753_hdgq_7111.gif

图4、摩托罗拉HC11扩展模式多个DS1609

DS1609可以用作非多路微处理器(如Intel 386或Motorola 68030)的中间通道。处理器往返于DS1609的周期必须针对DS1609的地址/数据/总线进行多路复用。下面显示了一个示例实现(图5)。

23753_b9qc_4415.gif

图5、示例实现;non-multiplexed总线

在这个实现中,微处理器的地址总线和数据总线的下8位使用两个74F157四路2输入多路复用器连接到多路地址和数据输入。每个74F157设备都有4个地址和4个来自微处理器或外部总线主机的数据输入。74F157s产生四个多路地址/数据信息输出,然后可以由DS1609端口使用。每个74F157的“有效低E”输入可能被绑到地。74F157上的S输入成为控制逻辑,并直接在传递地址线或数据线之间来回切换。读写使能信号必须由微处理器或外部总线主机提供。

总之

DS1609双端口RAM专为8位多路地址/数据总线微处理器而设计。DS1609独特的异步双端口访问允许系统设计提供256字节宽的寄存器,可以由两个独立的微处理器共享。多个DS1609可以在一个系统中捆绑在一起,以提供3个具有访问两个256字节存储器的微处理器。由于多路地址/数据总线,引脚数和成本保持在最低限度,同时提供唯一的异步访问。对于没有多路地址/数据总线的系统,最小的逻辑可以将单独的地址和数据线转换成DS1609可用的多路地址/数据总线。



登录icspec成功后,会自动跳转查看全文
博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。