双口RAM在DSP与ICCD通信系统中的应用
摘要:提出了利用双口RAM实现高时间分辨率光谱测量系统中DSP与ICCD并行接口的设计方案。以确保使双方的高速通信。介绍了双口RAM器件IDT7007的原理与使用规划,并针对方案,给出了接口电路和软件流程。针对二者交换数据的仲裁方式,提出了解决冲突争端的方法。整体系统通过调试,证明文中采取的中断,忙逻辑,软件协调三种模式,有效解决了两个系统之间的通信争端。信息处理系统与ICCD可良好协调工作,系统运行稳定,构成合理,保证了整体系统的实时性。
关键词:双口RAM;DSP;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提供了一种特殊的中断方式,有别于其他芯片的中断。平面变压器厂家 | 平面电感厂家
反激式开关电源为什么不能做大功率最近要做充电器,查了资料,发现好多人说,反激式电源不能做大功率。 我想知道为什么,想做个输出72v,5A的充电器。 电源方面本人是个新手,还请各位大侠解惑。 满意回复+10yytda 查看完整内容72V5A用反激完全没问题啊,你是想做电动车充电器吗?这种都是恒流限压的,就是输出端搞个358,一个运放限压,一个运放恒流,恒流时不限压,限压时不恒流,电瓶
gps模块烧坏,请大家帮忙看看是什么问题?大家好,我是玩航模的,最近装机的时候不小心把gps的正负极接反了,现在gps不通电。
我拆开了以后大概判断是箭头这个管子坏掉了,请大家帮我看看是不是这样?另外这个管子是不是稳压
[ADI]LTC1960电源管理芯片工作状态描述,求助8使用电源管理芯片LTC1960电源管理芯片给4节18650锂电池(带保护电路)充电,3.7*4=14.8V现发现电池过放后电压为0V,正常,厂家指导只要激活就可以正常充电,但是却无法激活充电;如果电池不过放可以正常充电,现在也不知道问题出在哪里,求助,不甚感激。 。 。 电路图如下锂电池管理芯片LTC1960.pdf(278.35 KB, 下载次数: 14)2015-6-15 21:18