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

相关专题: 芯片

摘要:提出了利用双口RAM实现高时间分辨率光谱测量系统中DSP与ICCD并行接口的设计方案。以确保使双方的高速通信。介绍了双口RAM器件IDT7007的原理与使用规划,并针对方案,给出了接口电路和软件流程。针对二者交换数据的仲裁方式,提出了解决冲突争端的方法。整体系统通过调试,证明文中采取的中断,忙逻辑,软件协调三种模式,有效解决了两个系统之间的通信争端。信息处理系统与ICCD可良好协调工作,系统运行稳定,构成合理,保证了整体系统的实时性。

0 引言

增强型电荷耦合器件(Intensified Charge Coupled Device,简称ICCD)作为一种数据采集部件,因其采集光谱数据量大,快门时间达ns级,采集速率高的特点,在高时间分辨率光谱系统中应用较广。在高分辨率光谱测量分析系统中,为了与ICCD子系统实时通信,及时处理IC-CD子系统采集到的信息,作为实时信息处理器件的DSP子系统必须与ICCD子系统采取一种高速的并行接口方案,常用的串口通信不可能满足这样的要求,而USB口通信模式则显得比较复杂,DSP系统中常用的FIFO存储器不能满足双向读取的需求。因此在实际的双机通信系统中,一般通过双口RAM实现并口通信。双口RAM具有以下优越的性能特点:

(1)两套完全独立的数据线、地址线、读/写控制线,允许两个CPU对双端口存储器的同一单元进行同时存取;

(2)有两套完全独立的中断逻辑来实现两个CPU之间的握手控制信号;

(3)具有两套独立的“忙”逻辑,保证两个CPU同时对同一单元进行读/写操作的正确性;

(4)兼容性强,读/写时序与普通单端口存储器完全一样,存取速度几乎可以满足各种CPU的要求。

因此。我们采用了双口RAM来实现DSP子系统与ICCD子系统之间的高速通信。

1 双口RAM器件IDT7007介绍

1.1 器件简介

IDT7007是美国IDT公司采用高性能的CMOS工艺生产的高速32 k×8 bit双端口静态RAM,典型功耗850 mW;最大存取时间:15 ns;工作环境:-45℃~+85℃;工作电压:5 V±10%。它可以作为8位双口RAM单独使用,也可以进行位扩展,将数据线扩展到16 Bit,甚至更宽。这样组成的双口RAM系统可以全速运行,而且无须任何额外的附加逻辑。IDT7007提供的地址线,控制线以及I/O线是完全独立的两个接口,支持对器件的任何存储空间进行完全异步的读写操作。

1.2 器件使用

单片使用、不进行位扩展时,IDT7007的真值表如表1:

X:无关;H:逻辑高;L:逻辑低。

2 接口电路设计

系统中,ICCD子系统负责数据采集,DSP子系统负责信息处理。ICCD采集光谱数据,将数据写入到双口RAM的指定存储单元。DSP再将双口RAM中的数据转移入内存储器,进行分析处理,以及其他运算。

双口RAM与DSP芯片之间,我们采取8位数据线的接口宽度,地址线12位,可寻址空间应为32 k×8 bit。

ICCD通过一条数据线与信息处理系统上的扩展接插板相连。二者间接口信号定义如表2:

二者之间的电路框图如图1。

如图1所示,双口RAM的左端与DSP相连,作为DSP系统的扩展存储器,共同构成了信息处理系统。双口RAM的右端,与ICCD子系统相连,也可以认为是ICCD子系统的一个外存储器。为了保护ICCD子系统的处理器,我们在双口RAM和ICCD之间加了总线收发器SN74LVCC3245,对信号进行隔离与调理电平。

3 信息处理系统与ICCD交换数据的仲裁方式

对于整个系统来说,两个子系统之间合适的仲裁方式是极为重要的。处理不好数据交换的仲裁。就会使两个系统之间发生冲突。比如当DSP系统对双口RAM的一个存储单元进行写操作时,ICCD系统也对这个单元写入数据,就必然导致写操作的错误。抑或是当ICCD系统对双口RAM的某一存储单元进行读取时,DSP也对这个单元读操作,就会造成读数据的错误。我们采取了三种有效的仲裁方式,用于解决两个系统之间的通信争端:

(1)中断方式:双口RAM提供了一种特殊的中断方式,有别于其他芯片的中断。

IDT7007左右两端各提供一个中断信号。存储阵列中的FFEH和FFFH单元被用做通信的信令字和中断源,左端口向FFFH写入访问的同时,右端口的中断标志被设置,直到右端口进行读取FFFH时清除,右端给左端的中断方式与此类似。这样就可以有效地协调通信双方的读写操作。图2为双方接口的中断逻辑。

(2)忙逻辑:当双口RAM的两个端口同时对某一个存储单元进行操作时,IDT7007的忙逻辑(BUSY)将会有一个硬件的指示,允许对其中的一个端口进行操作,将另一个端口置于等待状态。如果在接到BUSY信号时,已经进行写操作,那么IDT7007的内部机制可以阻止写操作的继续进行。

系统中,为了提高系统的稳定性,保证通信数据的正确,我们对IDT7007原有的忙逻辑进行了修改。硬件方面将双口RAM原有的两个BUSY信号求逻辑或,这个结果再与中断信号INT求逻辑或。这样,只要通信双方同时读写同一个存储单元,系统就认为读写非法,同时中断双方的读写操作。这样可以提高双方交换数据的正确性。

图3即为通信双方接口的BUSY逻辑时序。

(3)软件协调:对于任何一个双机系统来讲,双方的软件设计都是避免争端冲突的重要环节。软件方案将在下一节详细介绍。

4 软件设计方案

系统中,ICCD(右方)主要负责发送数据,信息处理系统(左方)主要负责接受数据。信息处理系统的软件基于TI的TMS320C6713,用C语言与线性汇编语言进行编程。通信部分的软件主要包括了两方面的内容:(1)系统自检,即右方向信令字单元0xFFFH写入“5AH”,左方接到中断后,到0xFFFH中读取数据,如果是“5AH”,说明通信正常,反之亦然。(2)传输数据,右方向信令字单元FFFH写入‘A5H’,在左方产生中断后,左方读信令字单元FFFH,如果是‘A5H’,说明在传输数据,读完数据后,向信令字单元FFEH写入‘AAH’,表示读完。右方接到中断后,读信令字单元FFEH,如果是‘AAH’,表示传数据成功。

图4为基于DSP的通信程序流程。

5 结论

基于双口RAM芯片IDT7007实现DSP系统与ICCD并行接口的设计方案,实现了ICCD和信息处理系统的高速通信,保证了整体系统的实时性。文中所涉及的中断,忙逻辑,软件协调三种模式,可有效解决两个系统之间的通信争端。整体系统已经通过调试,信息处理系统与ICCD可良好协调工作,系统运行稳定,构成合理,对相关系统设计有一定的参考价值。

作者:山西电力职业技术学院 杨清 来源:山西电子技术


微信扫描分享本文到朋友圈
扫码关注5G通信官方公众号,免费领取以下5G精品资料
  • 1、回复“YD5GAI”免费领取《中国移动:5G网络AI应用典型场景技术解决方案白皮书
  • 2、回复“5G6G”免费领取《5G_6G毫米波测试技术白皮书-2022_03-21
  • 3、回复“YD6G”免费领取《中国移动:6G至简无线接入网白皮书
  • 4、回复“LTBPS”免费领取《《中国联通5G终端白皮书》
  • 5、回复“ZGDX”免费领取《中国电信5GNTN技术白皮书
  • 6、回复“TXSB”免费领取《通信设备安装工程施工工艺图解
  • 7、回复“YDSL”免费领取《中国移动算力并网白皮书
  • 8、回复“5GX3”免费领取《R1623501-g605G的系统架构1
  • 本周热点本月热点

     

      最热通信招聘

      最新招聘信息

    最新技术文章

    最新论坛贴子