软件无线电数字中频接收机通常采用可编程数字下变频器DDC和DSP的实现方案。中频模拟信号通过A/D数字化,送入DDC混频、抽取滤波处理,DSP接收到的是DDC输出的低速零中频信号,其后的解调、译码、信号识别等算法都可以用DSP来实现。
1 系统器件的选用
高速DSP具有精度高、灵活性大,可以采用多种性能优良的数字信号处理算法,其强大的数据处理能力适用于高速、重复性和数值运算密集型的实时处理。本设计选用TI公司的TMS320C6201 DSP,其时钟频率200MHz、最高1 600MIPS的数据处理能力,可以满足软件无线电的零中频信号处理要求。
由于ADC的高数据率输出,用DSP进行实时处理会有很大压力。在DSP进行运算之前,需要进行数字下变频以降低数据率。设计选用Harris公司的HSP50214B数字下变频器件, HSP50214B输入数据为14位,最大输入速率为65MS/s,支持偏移码和2的补码两种输入格式。最大抽取因子为2,具备多种输出格式,包括I/Q通道数据、幅度、相位和频率输出等,能够直接解调AM、FM和QASK等信号,内部有256个控制字,用户可以由此设置载波中心频率、抽取因子、输出格式与方式等参数。内部结构如图1所示。
HSP50214B的输出方式有三种模式:直接并行输出、缓冲模式输出和串行输出。本设计HSP50214B采用并行直接输出模式,此模式下,HSP50214B输出两组16位的实时数据:AOUT(15:0)和BOUT(15:0),AOUT端口可以输出数据I、幅度和频率。BOUT端口可以输出数据Q、相位和幅度。
2 FIFO双向接口设计
工作过程:ADC输出的14bit中频信号经锁存器输入到HSP50214B,在HSP50214B中经程控的NCO驱动混频器后,混频得到更低的中频信号或零中频信号,该信号经积分梳状滤波器(CIC)和有限冲激响应滤波器(FIR)抽取滤波,最后将得到的信号以所需格式输出送DSP处理。
如果DDC直接与DSP的外部存储器接口(EMIF)连接传输数据,由于DSP需扩展外部存储器,与采样数据输入共用仅有的一条外部总线,CPU要进行外部存储器的访问,不允许数据采集始终占用外部总线。另外,如果存储控制系统不能及时接收数据,上次采样的数据会马上被下次的数据更新,造成数据丢失。因此DDC与DSP之间需采用高速缓存。
目前常用的缓存有FIFO、SRAM及双口RAM等。双口RAM和SRAM存储量较大,但必须配以复杂的地址发生器。本设计只需要单向的数据传输,对于FIFO芯片,数据顺序进出,且允许数据以不同的速率写入和读出,外围电路简单,所以选用TI公司SN74ACT7804 FIFO作为数据缓存,在HSP50214B与DSP之间将两片FIFO并列,分别缓存HSP50214B输出的AOUT和BOUT两路16bit的数据。
TI公司的SN74ACT7804是512×18bit的触发式FIOF存储器,单向数据传输,有空(/EMPTY)、满(/FULL)、半满(Half-Full)状态标志引脚,还有可编程的近满/近空(Almost-FulL/Almost-Empty)状态标志,处理数据的速度可达到50MHz。
2.1 FIFO与DDC接口设计
在设计DDC与FIFO接口时,应仔细考虑DDC及所选中间逻辑器件的时序和延时特性,以保证数据的有效传输。HSP50214B采用并行直接输出模式,HSP50214B输出两组16位的数据:AOUT(15:0)和BOUT(15:0),信号直接与两FIFO低16位输入数据线连接,FIFO输入时钟信号LDCK由HSP50214B的/DATARDY信号提供。当HSP-50214B中的数据在并行数据总线上准备输出时,/DATARDY引脚会在PROCCLK时钟的第一个下降沿产生一个下降沿的电平跳变,并会持续一个PROCCLK时钟周期的低电平。同时,可用此低电平来控制并行输出使能/OEAL、/OEAH、/OEBL和/OEBH。由于FIFO的信号输入时钟LDCK在上升沿时有效,所以需要将/DATARDY信号反向后供给。