基于DSP TMS320C6416的数字下变频技术
扫描二维码
随时随地手机看文章
数字下变频器有多种芯片可供选择,如Harris公司Gray-Chip公司的产品。然而这些器件无法满足雷达对抗侦察数字接收机高多DSP的数字下变频器。本文以某雷达对抗侦察数字接收机为例,介绍一种基于TI公司的DSP TMS320C6416的数字下变频器。
1 数字下变频的基本原理
数字下变频的基本原理见图1。
经A/D变换后的中频信号通过两个乘法器构成混频器,产生I、Q两种信号再通过低通滤波、抽取输出降低了采样频率的基带信号。以某种数字接收机为例,其中频频率fc=200MHz,中频带宽B=20MHz,中频采样频率fs=500MHz,下变频时可以直接将中频频率变到0,也就是令图1中的f0=fc,此时位于中频带宽内对称于中频频率的信号频谱分量将发生混叠。为避免这种现象可将中频下变频到一个较低的频率而不是0,设f0=190MHz,则下变频后的信号位于0~20MHz,通过低通滤波10倍抽取,相当于对变频后的信号以50MHz的采样频率采样。利用DSP实现数字下变频的第一步是选择能满足上述数据处理要求的DSP。对于混频运算,由于采样频率为500MHz,为实现时处理则要求DSP至少具有500MIPS的处理能力,同时考虑到后续滤波抽取运算的需要,选用TI公司的高性能DSP芯片TMS320C6416。
2 TMS320C6416芯片的性能特点
TMS320C6416是TI公司最新推出的高性能定点DSP,其时钟频率可达600MHz,最高处理能力为4800MIPS,软件与C62X完成兼容,采用先进的甚长指令结构(VLIW)的DSP内核有6个ALU(32/40bit),每个时钟周期可以执行8条指令,所有指令都可以条件执行。该DSP具有Viterbi译码协处理器(VCP)和Turbo译码协处理器(TCP);采用两级缓存结构,一级缓存(L1)由128Kbit的程序缓存和128Kbit的数据缓存组成,二级缓存(L2)为8Mbit;有2个扩展存储器接口(EMIF),一个为64bit(EMIFA),一个为16bit(EMIFA),可以与异步(SRAM、EPROM)/同步存储器(SDRAM、SBSRAM、ZBTSRAM、FIFO)无缝连接,最大可寻址范围为1280MB;具有扩展的直接存储器访问控制器(EDMA),可以提供64条独立的DMA通道;主机接口(HPI)总线宽度可由用户配置(32/16bit),具有32bit/33MHz,3.3V的PCI主/从接口,该接口符合PCI标准2.2版,有3个多通道串口(McBSPs),每个McBSPs最多可支持256个通道,能直接与T1/E1、MVIP、SCSA接口,并且与Motorola的SPI接口兼容,片内还有一个16针的通用输入输出接口(GPIO)。
TMS320C6416与TI公司C6系列其它DSP相比有以下明显的不同:首先是处理能力显著提高。C6416的最大处理能力为4800MPIS,是1997年推出的C6201处理能力的3倍,执行1024点复数FFT的时间为10.003μs,比C6201快了6倍多;其次是片内集成外设显著增加,其中VCP和TCP可以显著提高片上的译码能力,PCI接口可以方便地与具有PCI总线的主机直接互连,无需额外的PCI接口芯片;别外原有集成外设性能提高,其EDMA可以提供64条独立的DMA通道,而C6201仅有4个DMA通道,其EMIF数据线宽度可选,片内存储区和McBSPs的数量都有所增加,这使得C6416编程更灵活,使用更方便。
3 数字下变频在TMS320C6416DSP上的实现基于TMS320C6416的数字下变频器硬件结构比较简单,是一个基于共享存储区的多DSP处理器。
3.1 数字下变频器的硬件结构
本文讨论的数字下变频器是基于多DSP的雷达对抗侦察数字接收机的组成部分。数字下变频是在DSP上由软件完成的,没有单独的数字下变频电路,该数字接收机的硬件结构见图2。
[!--empirenews.page--]
该数字接收机采用主从机方式。多DSP并行处理机作为系统的从处理机主要负责对数据的实时处理,主处理机主要完成整机的控制、显示及其它人机交互功能。ADC的采样频率为500MHz,中频带宽为20MHz。主处理机选用的高性能的通用微处理器,整机的数据总线可以选择通用的PCI总线。其特点是传输速度快,最高可达132Mbytes/s,开发比较便捷。也可选用CPCI或VME总线,其中CPCI兼有PCI总线的优点同时结构坚固,符合军用标准,也可以采用VME总线结构。以上总线结构可以根据用户的需要确定。该数字接收机的数据处理是由多DSP从处理机完成的,该从处理机的DSP个数可以根据不同用户对算法的要求来确定,对于I、Q两通道的数字下变频运算需要4片C6416芯片。图3以4片DSP为例给出了该多DSP处理机的硬件框图。该并行处理机工作在共享存储区方式下,SDRAM和SBSRAM是全局共享存储区,AD和DSP之间通过FIFO按照DMA方式进行数据交换,主机不直接与DSP的HPI口连接,而是通过一个总线接口电路,采用不同的接口芯片实现与不同总线结构的主机接口。
3.2 数字下变频的软件实现
在该数字接收机的原理样机阶段,笔者在C6416 Simulator上实现了该数字下变频算法。以一个通道为例,该软件包括混频和滤波抽取两部分,考虑到算法的通用性采用了C语言,并对代码进行了优化。这两部分分别在一片DSP上实现,其中一片实现混频,一片实现滤波抽取。这两片DSP采用乒乓缓存方式并行工作,其软件流程见图4。从图4中可以看出DSP1实现混频,存储区SBSA及SBSB通过DMA方式实现的,从FIFO来的数据也通过DMA方式读入。由于DMA方式可以在DSP运算的同时完成数据的交换,所以数据交换不占用额外的时间,实现了混频和滤波抽取的并行运算。混频运算实际就是乘法运算。通常为节省片内存储空间可以根据正余因子的对称性存储半个周期的数据,但该数字接收机中,复振荡信号的频率为190MHz,采样频率为500MHz,每周期仅3.8个样值点,所以没有必要存储半个周期。实际应用中存储50个样值点,也就是19个周期,其余的由对称性给出。由于C6416采用16bit定点算法,为防止溢出复振荡信号可由下式给出: W(n)=k%26;#215;sin(2πf/fs%26;#215;n) n=0,1,……,49 (1) 这里k=32767,f=190MHz,fs=500MHz,同时混频运算的结果要右移15位,对应的C6416代码如下: for(j=0;j>15; } 其中IN[n]为采样数据,OUT[n]为混频后的结果,SINNUM是复振荡信号长度。
低通抽取滤波器实现的关键是通过合理确定抽取的位置来减少运算量。从图1可以看出抽取是在滤波之后完成的,实际上根据变采样率系统的结构互易性,抽取也可放在滤波之前。这相当于把低通滤波和抽取看作一个滤波器,则 其中K为抽取率,h(i)为低通滤波器的单位样值响应。当>>1时,当抽取率为10时,经实验证明这种算法的运算时间约为先滤波后抽取运算时间的1/10。该滤波器是利用MATLAB的FDAT00l工具包设计的。设计时综合考虑其性能及C6416的处理能力,确定此为一个17阶、截止频率为25MHz的滤波器。软件实现抽取滤波时为防止溢出,采取了与混频相似的处理方法,相应的C6416代码如下: sum=0; for(j=0;j>15; } IN[i]=sum;其中,RATE为抽取率,H[n]为滤波器系数,HNUM为其长度。 图5 某中频采样信号波形频谱及数字下变频后的波形频谱为验证以上算法的可行性,笔者在C6416 Simulator上作为大量实验。图5(a)、(b)分别给出了某采样信号的波形与频谱,该信号为简单脉冲,频率为201MHz;(c)、(d)分别是下变频后的信号波形与频谱。从图5中可以看出下变频后的信号有和采样信号相同的包络,频率被搬移到了11MHz,其数据长度仅为采样信号长度的1/10,可以大大减轻后续处理的运算量。
对于20MHz带宽的中频信号,以500MHz采样时,使用两片C6416就可以实时实现一个通道(I或者Q)的数字下变频,满足了设计要求。采样长度(bit定点数)采样时间(μs)混 频低通滤波周期数时间(μs)周期数时间(μs) 2000 4 1812 3.02 2165 3.61 4000 8 3612 6.02 4215 7.19 8000 16 7212 12.02 8615 14.35 16000 32 14412 24.02 12215 20.36 注:表中给出的混频及低通滤波时间是10次实验的平均结果,采样频率为500MHz,C6416的时钟频率为600MHz。