- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
TMS320C6701DSP线性调频信号数字脉冲压缩
2 TMS320C6701的结构和性能
TMS320C6701(以下简称C6701)是TI公司近年来推出的含多个处理单元的一种新型新点DSP芯片。它采用VLIW结构,在167MHz的主频下可以得到1GFLOPS的高处理速度。CPU中包括报两套对套的运算单元(L,S,M,D)和相应的两套寄存器组,每组有16个32位宽的寄存器。每个功能单元输入输出端口相互独立,可实现并行处理。
C6701的地址总线为32位,寻址范围达到4GB。存储空间可分为四部分:片内程序空间、片内数据空间、外部存储空间和内部外围设备空间,可通过对五个BOOTMODE引脚的灵活设置设定各空间的地址范围。片内数据空间又分成两块,每一块RAM被组织为八个2K×16的存储体,使得CPU可以同时访问不同存储体的数据,而不会发生冲突。片内程序空间可设为Cache,存储经常使用的代码,减少片外访问次数,从而提高程序运行速度。
C6701的外围端口包括DMA控制器、主机接口(HPI)、中断选择等。两个多通道缓存串行口(McBSP)除多通道、比缓存外,还支持多种数据格式、硬件A/μ率压扩展 、位时钟和帧时钟的灵活编程,另外还提供SBSRAM、SDRAM等高速存储器的无缝接口。
C6701采用间接寻址,有线性方式和循环方式 两种。程序按三级流水线执行,即取指、译码、执行。C6701具有丰富 的指令集,内含50余条指令,且大部分是单周期的,可完成数据传输、算术逻辑运算和程序控制等功能。
3 频域脉冲压缩系统的硬件结构和原理
以C6701为核心器件,辅以相应的输入输出电路,可完成数字频域脉冲压缩系统的设计。实现的硬件结构如图3所示。
将正交的两路采样信号输入到放大器。放大器一方面对信号放大。另一方面也将放大的信号以差分方式输出。信号以差分方式输出是为了抑制掉高阶谐波分量,滤掉各种干扰信号(如电源和地的噪声),这样有利于提高A/D转换器的性能。系统选用了12位A/D转换芯片AD9220,该芯片具有单端输入和差分输入两种方式,因此,放大器输出信号能直接输入到AD9220进行模/数转换。两路回波信号经AD9220正交采样后,再经符号扩展成16位存入FIFO。C6701处理器将输入的32位信号送到内部RAM,按照图2所示的方法进行频域脉压处理。首先对输入信号进行FFT变换,将信号变换离散的频域抽样值。然后将FFT变换 结果和匹配滤波系数相乘。设计中将匹配滤波器的系数存放在FLASH ROM中,上电后将此系数搬移到内部高速数据RAM,然后才进行运算。为了获得-40dB以下的副瓣电平,通常将匹配滤波器的系数进行汉明加权后存放在ROM中。再后,对相乘结果进行反傅立叶变换,完成频域脉压。量后,将反傅立叶变换结果进行求模运算,得出离散的脉压信号并将其输出。由于C6701是浮点处理器,既保证了较高的精度,又不用考虑溢出问题,使得有限字长的影响可以忽略不计。当雷达发射周期较长时,可以将输入信号分段进行处理,每段单独进行频域脉冲压缩,然后按照重叠保留法将每段压缩结果组合成整个信号脉压输出。
以上脉压算法可以通过编程在DSP内部实现,这不仅简化了电路、减小了体积、提高了系统的可靠性,而且扩展了系统的功能,使系统具有较高的灵活性,即在不改变硬件电路的情况下,只需改变系统软件和外部ROM中的匹配系数,就能完成不同信号的脉冲压缩功能。
4 频域脉冲压缩系统的软件设计
频域脉冲压缩系统的软件设计主要采用TI公司的CCS软件开发。在CCS下,软件可分为三个阶段。第一阶段,根据任务编写C语言程序,并对程序进行优化。当代码性能较低时,为改进代码性能进入第二阶段,第二阶段利用优化方法重新编写C代码,并检查所生成的代码性能。第三阶段,从C语言程序中抽出对性能影响很大的程序段,使用线性汇编语言重新编写,然后使用汇编优化器对线性汇编程序进行优化,从而得到满意的代码性能。根据以上方法,编写出的脉冲压缩系统的软件包括系统初始化子程序、DMA子程序、正傅立叶变换FFT子系统和反傅立叶变换IFFT子程序、复数相乘子程序、求模子程序等。其流程如图4所示。
在执行系统初始化程序时,要对系统的控制状态寄存器、外部存储器接口控制寄存器等进行参数设置,保证系统按要求正常工作。为提高系统效率,系统通过DMA通道从外部CE2空间将数据读入片内RAM,所以初始化程序必须设置好外部存储器CE2空间的控制寄存器。在进行FFT变换子程序的设计时,因为基四算法比基二算法快,并且频率抽取算法比时间抽取算法能更好地发挥C6701的并行运算能力,所以采有基四频率抽取算法。对4096点信号进行FFT变换,所需时间≤400μs。编写的复数数组相乘通用子程序实现4096点运算所需时间≤95μs。对于反变换,可以直接得用前面的FFT算法实现,即先对输入频域序列作共轭变换,然后进行FFT运算,并对所得的时域序列再作共轭变换 ,最后除以FFT变换 数据的个数。但这样进行反变换所需要的时间较长,不能实时处理。为此按照其四频率抽取的算法编写了IFFT子程序,此IFFT子程序经过CCS优化之后,对4096点逆变换来讲,需要400μs左右。本程序和FFT子程序配合使用,可以方便地实现信号的正傅立叶变换和傅立叶变换,而不需要进行位反转操作,不仅节省了存储空间,而且加快了运算速度。为求复信号的模值,可以采用迭代等算法编写求模子程序。
来源:嵌入式公社
上一篇:基片集成波导多层转换器的设计与仿真
下一篇:基于TCP/IP网络定位业务的研究