微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络业界新闻 > 双端口RAM在ARM 与DSP通信系统中的应用

双端口RAM在ARM 与DSP通信系统中的应用

时间:06-27 来源:3721RD 点击:

后PC 时代,由于网络技术和集成电路技术的迅速发展,利用嵌入式系统进行数字信号处理与传输成为可能。在ARM 和DSP 构成的双处理器系统中,嵌入式作为主设备,主要完成数据处理、存储与网络传输工作,而DSP 作为从设备需要负责复杂的算法实现。

在此高速数据采集和处理系统中,随着采样数据量的增大和处理任务的增加,对数据的传送要求越来越高,如果在两个系统端口之间没有能够高速传送数据的接口,将会造成数据传送的阻塞,严重影响系统的实时性与处理数据的能力,因此此系统设计的重点之一是主从设备之间的数据通信。本文介绍用双端口RAMIDT70261 完成TMS320C6211DSP 与嵌入式ARM920T之间的数据通信。

  1 IDT70261双端口RAM功能简介
IDT70261 是美国IDT 公司生产的高速16K×16 的双端口SRAM,其典型功耗为750mW,它具有两个等级的存取时间:商业级有 15/20/25/35/55 ns (max),工业级有20/25/35/55ns (max)。双端口RAM 有两个完全独立的端口,它们各自有一套相应的数据总线、地址总线和控制总线,允许两个控制器单独或异步的读写其中任意一个存储单元。两个端口具有同样的对双端口RAM 的读写操作能力,但是当两个端口同时对同一地址进行读写操作时,会因为数据的冲突而造成存储或读取的错误。对同一存储单元的操作存在以下四种情况:

(1) 两个端口不同时对同一地址单元进行读写数据。

(2) 两个端口同时对同一地址单元进行读出数据。

(3) 两个端口同时对同一地址单元进行写入数据。

(4) 两个端口同时对一个地址单元,一个写入数据,另一个读出数据。

前两种情况不会造成对双端口RAM的读写错误,第三种情况会造成写入数据的错误,第四种情况会造成读出错误。为了避免对双端口RAM 造成读写错误,IDT70261 有以下几种仲裁控制方法。

1.1 遇忙逻辑控制

当双端口同时对同一地址单元进行控制时,IDT70261 提供一种/BUSY 控制机制。双端口不对同一地址单元进行控制时,两个端口的/BUSY 引脚都为高,左右两个端口均可正常访问存储空间。当两个端口对同一地址单元进行存取时,一个端口的/BUSY 引脚为高(允许对存储空间的读写操作),另一个端口的引脚为低(禁止对存储空间的读写操作),哪一个请求信号在前,其端口引脚为高,另一个为低。两个端口请求读写的时间差最小为5ns,当时间小于5ns 时,系统会自动允许一个引脚读写,屏蔽另外一个引脚,防止出现对同一地址单元的读写错误。

1.2 中断控制机制

IDT70261 具有中断输出功能,中断工作时,双端口RAM 的两个最高地址单元3FFE、3FFF 作为"邮箱"来传递相应的命令。当中断功能不使用时,3FFE、3FFF两个单元作为正常的存储单元使用。下面介绍中断工作原理。

左端口写地址单元3FFF,/INTR 变为有效(低电平),向右端口发送中断请求,右端口响应中断请求后,可向3FFF 地址单元执行一次读操作,清除中断标志(/INTR 变为高电平)。同理,右端口写地址单元3FFE,/INTL 变为有效(低电平),向左端口发送中断请求,左端口响应中断请求后,可向3FFE 地址单元执行一次读操作,清除中断标志(/INTL 变为高电平)。

1.3 令牌传递原理

IDT70261 内部有8 个独立于双端口RAM 的逻辑锁存单元,用来标明共享的双端口RAM 是否正在使用。在此工作模式下,/SEM 用作锁存器的"片选"信号,地址线A2~A0 用来寻址8 个标志锁存器,数据线D0用来标志锁存器的状态。

端口向锁存器写入0 表示申请控制权,写入1 表示放弃使用权。当左端口要使用双端口RAM 时,先写入0 到标志锁存器,然后读出标志锁存器的状态,若读出的值为0,则左端口获得该存储单元的使用权;若读出的值为1,表明右端口正在使用该存储单元。

此时,左端口要么循环检测锁存器状态,直到右端口使用结束,要么向锁存器写入1,撤销请求。同理,若右端口使用双端口RAM 时,仍按照上述步骤进行操作[1,2].

  2 基于IDT70261的接口电路
本系统为视频数据采集处理系统,当摄像头采集后的数据经DSP 压缩编码后输入到双端口RAM 芯片中,ARM 处理器接收到数据请求后,接收图像数据,对数据进行存储和传输工作,最终将图像经过解码显示在终端PC 机上。

基于IDT70261 的接口电路图如图1 所示,此系统采用中断控制机制,双端口RAM 的一些功能引脚并不需要全部使用。双端口RAM 的左端是ARM920T芯片,右端是TMS320C6211 DSP 芯片。双端口RAM两个独立的数据线D0L-D15L 和D0R-D15R 分别与ARM920 芯片和DSP 芯片连接,地址线A0L-A13L 和A0R-A13R 也分别与上述两芯片连接。/CE 为芯片使能引脚,R/W 为读写

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

网站地图

Top