TigerSHARC DSP在信号处理系统中的应用
扫描二维码
随时随地手机看文章
关键词:TigerSHARC DSP;运算量;复位;功耗
随着人们对实时信号处理要求的不断提高和大规模集成电路的迅速发展,作为数字信号处理核心和标志的数字信号处理器?DSP?芯片得到了快速的发展和应用。本文将介绍Analog Device公司的一款DSP-TigerSHARC在信号处理系统中的应用,并将对设计中的一些问题进行讨论说明。
1 系统设计及各部分功能简介
图1所示是一个信号处理系统的硬件框图。实际上,为了简化系统硬件,减少DSP片间连线,该系统的6个DSP以松耦合的链路方式进行连接。首先由DSP1通过外部DMA方式读入中频解调后的I、Q路数据,并由DSP1对读入数据进行脉冲压缩?匹配滤波?,脉冲压缩后进行二次对消,以消除固定杂波。再由DSP1将处理后的数据按距离单元段通过链路口0、1分别发送给DSP2、DSP4。DSP2、DSP4主要进行目标检测?MTD?,并采用滑窗加权FFT实现窄带多谱勒滤波器组。当DSP2、DSP4完成MTD后? 再将对应每个距离单元的16个输出数据通过链路口分别送到DSP3和DSP5。之后,由DSP3、DSP5先进行求模运算,再进行恒虚警计算。DSP3、DSP5处理后的数据经链路口传输到DSP6,在DSP6接到该信号后,先对距离单元内16个输出进行门限处理,并选择其中最小杂波剩余值作为本单元的输出。门限处理后,DSP6还应完成视频积累,视频积累采用累加求平均的方式,这样可以避免反馈积累的拖尾现象。视频数据以DMA方式通过外部口送出,并分别加到D/A与DS96F172等输入端,前者产生模拟视频,后者以差分形式送到显示单元。
图1
2 TigerSHARC DSP简介
TigerSHARC DSP是一款高性能的静态超标量数字信号处理器,该处理器专为大的信号处理和通信任务而在结构上进行了优化。由于该处理器将非常宽的存储带宽和双运算模块结合在一起,从而建立了数字信号处理器性能的新标准。TigerSHARC静态超标量结构使DSP每周期能够执行多达4条指令、24个16-bit定点运算和6个浮点运算。
该TigerSHARC DSP器件在三条相互独立的128bit宽度的内部数据总线中,每条可连接三个2Mbit内部存储器中的一个,并可提供4个字的数据、指令及I/O访问和12Gbytes/s的内部存储器带宽。当其运行在250MHz时,ADSP-TS101S的内核指令周期为4ns,同时可以提供20亿次的40bit MAC运算或者500万次80bit MAC运算。
TigerSHARC DSP器件的主要性能如下:
●最高运行速度为250MHz,指令周期为4ns;
●带有6Mbits片内SRAM;
●带有双运算模块?每个内部包含有一个ALU、一个乘法器、一个移位器和一个寄存器组;
●具有一个外部端口、4个链路口和可编程标志引脚、SDRAM控制器和2个定时器;
●与用于片上仿真的IEEE1149.1标准的JTAG接口兼容;
●可通过共享总线无缝连接多达8个Tiger-SHARC DSP的片内总线仲裁。
3 系统运算量分析及计算时间估计
根据信号处理任务,下面具体分析系统各组成部分的运算量,并估计所需的时间,并确定完成算法所需的DSP数目(总信号处理周期小于1000μs)。
3.1 脉冲压缩
图2所示是采用FFT技术实现脉冲压缩滤波的算法框图。若总距离单元数为1200,则需做2048点复数FFT。当2048点复数FFT完成后,还必须和预先存储好的匹配滤波器系数H?k?相乘。一般需要做2048个复数乘法,相乘结果还需做2048点复数IFFT以获得脉冲压缩结果。TigerSHARC DSP做2048点复数FFT?IFFT?大约需要100μs?工作在250MHz?。因此,可以充分利用TigerSHARC DSP的双运算块和单指令多数据?SIMD?特点同时进行两个距离单元的复数乘法,这种方法完成2048个复数乘法仅需25μs。
固定杂波对消可以采用二次对消器来实现,其差分方程为:
y(n)=x(n)-2x(n-1)+x(n-2)
对于每个距离单元,它都需要取三个数、做两个减法、一个加法并存储一个数,这样,完成1200个距离单元的二次对消大约需要25μs。因此,脉冲压缩和固定杂波二次对消只需要一片DSP便可完成,而且还有较多时间富余。
3.2 动目标检测(MTD)
用FFT实现窄带多谱勒滤波器组时,为了降低旁瓣,可在系统中采用滑窗加权FFT的方法,权系数为海明权,即:
S(k)=FFT{S(n)W(n)}? n=0,1,2,…N-1
其中S(n)为雷达回波序列,而W(n)则可用下式表示:
W(n)=0.54-0.46cos[2πn/(N-1)]
n=0,1,2,…N-1
TigerSHARC DSP做16点加权复数FFT大约需要80个指令周期?0.32μs?,因此,当距离单元数为1200时,共需384μs。这样,此滑窗多谱勒滤波器组?考虑到运算的辅助操作?仅需要两片TigerSHARC DSP就可实现并行处理,且还有较多的富余时间。
3.3 求模
求模可采用如下近似公式:
一般情况下,求模须对每个距离单元的16个通道FFT输出进行运算。TigerSHARC DSP做一个16通道的求模运算需要0.5μs,距离单元数为1200时,共需600μs?故可由两片TigerSHARC DSP并行处理。
3.4 恒虚警
恒虚警算法框图如图3所示。
该算法可充分利用TigerSHARC DSP的双运算模块,同时并行处理两个距离单元的两个通道,完成1200个距离单元的16个通道的恒虚警计算共需500μs,故可用DSP3和DSP4并行处理。
3.5 积累
积累可采用简单累加求平均的方式,由于其计算量较少,因此,用一片TigerSHARC DSP实现仍有较大时间富余。
综上所述,由TigerSHARC DSP构成的高速信号处理系统总共仅需6片DSP,即可对不同的距离单元段进行并行处理。
4 TigerSHARC DSP特殊的复位方式
TigerSHARC DSP的上电复位波形较为特殊,在设计时应充分重视,建议采用CPLD实现其复位。上电复位波形要求如图4所示。但应注意以下几点:
(1)tSTART_LO在供电稳定之后必须至少大于1ms?
(2)tPULSE1_HI必须大于50个系统时钟周期,同时小于100个系统时钟周期;
(3)tPULSE2_LO 必须大于100个系统时钟周期。
(4)在DSP上电后,如需正常复位,其低电平持续时间必须大于100个系统时钟周期。
本系统采用EP1K50产生上电复位波形和时序控制。由于EP1K50需要一个配置芯片,而且它和DSP存在一个上电先后的问题。也就是说,在上电后,如果CPLD芯片完成配置文件的读入时,DSP仍未上电稳定,则应充分延长Tstart_lo的低电平时间,以避免DSP上电未稳定而CPLD上电波形已结束。因此,应保证DSP上电稳定先于CPLD芯片配置文件的读入,此问题在系统设计时应予以充分重视,否则DSP将无法正常工作。
5 电源供电及功耗估计
TigerSHARC DSP有三个电源,其中数字3.3V为I/O供电;数字1.2V为DSP内核供电;模拟1.2V为内部锁相环和倍频电路供电。TigerSHARC DSP要求数字3.3V和1.2V应同时上电。若无法严格同步,则应保证内核电源1.2V先上电,I/O电源3.3V后上电。本系统在数字3.3V输入端并联了一个大电容,而在数字1.2V输入端并联了一个小电容,其目的就是为了保证3.3V充电时间大于1.2V充电时间,以便很好地解决电源供电先后的问题。
5.1 内核功耗估计
内核最大电流为1.277A,该电流是DSP进行单指令多数据(SIMD)方式下,4个16位定点字乘加与两个四字读取并行操作以及进行由外部口到内部存储器DMA操作所需的电流。实际上,DSP内核电流大小还和内核工作频率有关,图5所示是其内核电流与频率的关系曲线。因此,供给DSP内核电流可根据不同的并行处理任务和内核工作频率来确定。若并行处理较少,工作频率低,所需电流就小。这样,最大内核功耗为:
PDD=VDD×IDD=1.2×1.277=1.534W
5.2 外部口功耗估计
外部口的功耗(对VDD-IO)主要是输出引脚(例如数据线的某个位由高到低,或由低到高) 转换的功率消耗,而且该功耗与系统无关。由于这种转换的外部平均电流为0.137A,因此,功耗为:
PDD_IO=0.1370A×3.3V=0.45W
6 结束语
本文介绍了多片TigerSHARC DSP在实时信号处理系统中的应用。该系统充分利用了TigerSHARC DSP高速的运算能力及数据吞吐量,可对不同的距离单元段进行并行处理。文中分析了系统的运算量、所需计算时间以及完成算法所需的DSP数,并且讨论了DSP应用过程中的复位,电源设计和功耗问题,因而具有一定的工程指导意义。实践表明,由TigerSHARC DSP构成的系统硬件结构简单,软件编写容易,且成本较低。目前该系统已成功用于某雷达系统。