2.2 FIFO与DSP EMIF接口
TMS320C6201的外部存储器接口(EMIF)是32位接口,HSP50214B的AOUT和BOUT两路16位分别经两FIFO的低16位与EMIF的 32位接口连接,DSP同时读取AOUT和BOUT两路数据存放于内部存储器,数据在存储器中奇偶分离,可以采用32位或16位的访问方式存取数据,这样充分利用DSP的硬件资源,保证了数据的高速传输。由于TMS320C6201只有一个外部总线接口,FIFO与DSP通过EMIF相连接,所以必须注意数据采集与连接到外部总线上的其他外部设备或存储器对使用总线的冲突,要保证没有其他外围设备长时间占用外部总线,否则发生总线使用冲突时将导致采集数据丢失。
对于读FIFO的读操作,这里用到EMIF异步存储器控制信号:输出使能(/AOE)和读使能(/ARE)以及外部空间选择信号(/CE0)。DDC、FIFO、DSP间的接口电路如图2所示。从图2中逻辑关系可看出,当/AOE与/CEn都有效时,OE有效,片选使能两个FIFO。当/CEn和/ARE同时低电平有效时,UNCK无效,待读出的数据在此时进行初始化,随后ARE会跳变为正电平,使UNCK产生上升沿,FIFO中数据被读出。图2中两个FIFO的半满信号HF经过一个“与”门连接至DSP外部中断引脚EXT-INT5。当两个FIFO皆达到半满时“与”门输出由低变高,上升沿触发DSP外部中断EXT-INT5,DSP启动DMA(直接存储器存取)以突发的方式读取FIFO数据。FIFO1中数据作为低16位,FIFO2中数据作为高16位,合并为32位数据读入DSP内部存储空间。
3 接口时序
设计中,FIFO采用半满信号。若FIFO使用满(/FULL)状态信号,则满(/FULL)状态位有效时,触发DMA开始数据传输;如在满信号和DMA传输之间仍有数据出现在数据线上,则因为此时LDCK对FIFO无效,待DMA开始数据传输时才允许数据写入,所以可能丢失采集数据。本设计中采用半满(HF)信号作为标志位,在半满时,开始DMA传输,不中断数据写入FIFO。由于ADC数据写入FIFO速度小于EMIF读出速度,所以后续数据不会覆盖原来的有效数据,采样数据不会丢失。
EMIF读FIFO逻辑关系如下:UNCK=/CE+/ARE,LDCK=/CE+/AWE,OE=/CE+/AOE,读FIFO时序如图3所示。
本设计利用双FIFO结构实现DDC与DSP间的32位数据缓冲,保证了数据的高速有效传输。FIFO与DSP采用32位的接口方式,DSP EMIF读取FIFO采用DMA的数据传输方式,充分利用了DSP的硬件资源以提高系统实时处理能力,能够满足软件无线电的中频数字信号处理要求。