IC技术讲座是本刊2005年推出的全新技术类栏目。为了让工程师在设计开发中完善和拓展基础理论与系统知识,丰富应用经验,《世界电子元器件》和bwin客户端
联合清华大学等知名院校共同创办了这个栏目,特约知名学者、教授以及著名半导体公司的应用工程师撰写,以系列讲座的方式对热点IC技术进行全面而系统的介绍,涵盖最新技术要点。最先开设的讲座将围绕三大课题:DSP、FPGA和嵌入式系统,每个课题都将连载6期。
周斌,男,1980年11月生。2004年7月在清华大学电子系获得理学学士学位,同年免试入清华大学电子工程系攻读硕士学位,2005年10月直接攻读博士学位。主要从事高速信号处理、雷达信号处理、多DSP信号处理等方面的研究。
引言
新一代的FPGA提供了更快的运算速度,更多的逻辑单元,更丰富的软硬核和更多的外部接口,从而使其性能有了非常大的进步。而因为有了这些优点,使其在雷达信号处理系统中的应用越来越广泛和重要。以高性能DSP和FPGA构成的雷达信号处理系统,正在被广泛的开发和应用并且显示出强大的优势。
FPGA在系统中应用分类
接口部分
FPGA的可编程性能以及丰富的接口支持,使得其应用在接口部分显得非常合适。常用的LVDS,LVTTL,TTL,TTL,CMOS,LVTTL,
LVDS,GTL,HSTL等接口电平都能够适应。
总线协议部分
由于FPGA广泛提供各种总线协议的IP核和丰富的引脚接口等,所以各种总线协议都可以很好的使用,包括pci,pci_x,vme等常用总线,都有现成的IP核可以完成。而且对应于常用的UART控制器、USB接口控制器、数字视频信号处理器、VGA/LCD显示控制器、CAN总线控制器、以太网控制器等,也可以提供很好的支持。
协处理计算单元
随着用于数字信号处理的IP核被广泛开发,像FFT、卷积、乘累加、矢量运算等很多基本计算单元,都可以使用FPGA进行,并且可以通过空间换时间的方式,集成大量的单元来达到高速并行处理的效果。
控制核心单元
FPGA集成软件控制核心和硬件控制核心已经比较成熟,现在大规模FPGA一般会集成比较成熟实用的控制核心,直接进行流程控制。
总之,随着FPGA规模扩展、成本下降、性能提高,其灵活可编程性的优势得到充分的体现,且令SOC概念的软硬件支持日益成熟。在现代雷达信号处理系统中,FPGA在各个领域都扮演了越来越重要的角色。
FPGA在雷达信号处理中应用举例
应用Xilinx Virtex 300E 完成高速LVDS 实时SAR数据接口
实时SAR成像系统的数据量随着成像精度提高和成像范围的扩大呈几何级数增长,普通的简单协议已经无法满足巨大的实时数据传输要求,LVDS是低压差分信号的简写,其具有传输速度快、功耗低、抗干扰能力强、传输距离远等优点,开始广泛应用于下一代信号传输领域,而SAR成像的极大原始数据量成为LVDS应用的很好场合。LVDS最大速率是655Mb/s,在这里使用同步传输模式,设计速率为75Mb/s
8bit。系统结构框图如图1所示。
图1 SAR信号处理结构图
系统实现:
(1)LVDS接收
Xilinx Virtex 300E系列直接支持LVDS电平,所以只要配置好终端电阻,就可以在程序设计中直接指定电平,配置Vcco为LVDS电平就可以使用。
(2)帧解析
具有丰富的片内资源,编写帧解析结构非常方便,使用一个有限状态机就可以完成帧的解析工作。
(3)串并转换
为了充分利用PCI_X的64bit 66MHz传输能力,需要在FPGA内部建立16KByte缓冲区,在写入端使用8bit写入,而在输出端使用拼接方式,将8个8bit拼接成一个64bit输出到PCI_X接口。
系统实现使用Verilog语言、modelsim仿真,内部结构图如图2所示。系统仿真图像如图3所示。
图2 内部处理结构框图
图3 系统仿真图象
系统实现了75MB/s的LVDS数据传输,通过内部逻辑实现串并转换及完成缓冲,与LxBus进行接口,将数据发送至高速信号处理机,最终完成SAR的实时成像。
应用Lucent FPSC实现DDR SDRAM接口PCI_X接口和LXBus接口协议逻辑
对于数据接口板GPIO,需要将数据进行缓冲,同时要完成高速接口PCI_X协议。PCI_X总线接口协议是PCI总线协议的超集,可以支持64bit、100MHz的数据传输,完全可以满足现阶段SAR的数据传输要求。Lucent
FPSC具有内置的PCI_X协议IP核以及DDR SDRAM IP核,可以很容易的完成复杂接口协议,大大加快了系统开发。系统设计工作在66MHz
64bit时,可以达到528MB/s的Burst传输速率,足以满足现有的SAR成像系统的要求。系统结构框图如图4所示。
图4 GPIC结构框图
内部主要通过使用成熟IP核来完成开发,极大地提高了开发速度。主要解决对PCI_X和SDRAM的访问冲突,基本思路是为各个接口设计独自的缓冲区,建立各自的最小传输字节数,当发生冲突时,使用最小传输字节数进行轮换访问。
系统同时设计各个接口模块的寄存器,软件可以通过PCI_X总线接口访问所有的寄存器,同时LxBus外部总线也同样可以访问相关寄存器,通过读写寄存器来设置工作模式和相关的参数。
系统实现了外部数据接口、PCI_X接口、DDR SDRAM访问接口,内部通过仲裁机制,完成冲突控制。同时提供了各种寄存器,面向各个接口进行标准化配置,最终实现了高速数据传输。在整个实现过程中,只需使用一片Lucent
的GPStar完成整个接口逻辑和总线协议,其可操作性和灵活性非常之好。
应用Xilinx Spartan 2E实现FFT运算
FFT运算是现代雷达信号处理里面基本的运算,DSP的运算指标有一项很重要的指标就是特定点数的FFT运算时间。以比较高级的dsp
PowerPc 7447 1G运算 1024点定点 复FFT,需要时间大约是17.41us左右。而使用Xilinx Spartan
2E,直接使用IP核进行设计,通过仿真,需要大约us的时间。这些都提供了简洁而便宜的解决方案。在这里选用 Xilinx LogiCORE
FFT的核心处理,其基本处理时间为4096个时钟周期,当运行在100MHz时,可以计算出其需要时间为40.96us,这个时间对于一般的雷达信号处理已经足够了,如果需要提高性能,可选用更好的Virtex系列或者Altera的高端系列,就可以达到或者超过PPC7447的水平。系统结构框图如图5所示。
图5 FFT结构图triple memory
系统使用Spartan 2E FPGA,使用Xilinx LogiCORE FFT V1.0,进行定点FFT运算,运算宽度16bit,使用Synplify进行设计综合,ISE
7.1进行布局布线,FFT核心占用1869个逻辑单元,运行于自行设计的spartan 2E实验板,当使用100MHz时钟时,其稳定工作,达到实时处理的要求,但有限字长效应在某些情况下比较明显。
应用Xilinx Spartan 2E嵌入软核MicroBlaze实现雷达信号处理流程控制
雷达信号处理系统是一个复杂系统,需要在各个模块之间进行流程控制,而在以前的设计中,一般是使用微控制器来控制各个单元模块协同工作,大量的流程都是经过特定设计的,升级复杂,通用性也不强。而通过FPGA嵌入微处理器,不仅可以高效的完成系统流程控制等,而且其可扩展性和通用性都有很大的提高。MicroBlaze就是Xilinx公司为其FPGA推出的软处理器。同时还有高端的PowerPC软处理器。Altera公司也有相应的Nios软处理器。这些处理器都有为嵌入式应用所优化的指令集和功能设计。系统结构框图如图6所示。
图6 MicroBlaze系统结构图
系统使用ISE 7.1和EDK7.1开发。将嵌入式软核MicroBlaze加入到系统设计中,通过对其编写相应软件(C语言),来控制整个雷达信号处理流程。其中外设接口和总线接口都使用MicroBlaze软核本身的设计,而协处理单元则使用前面介绍的FFT等dsp软核嵌入。处理器核心为任意外部处理单元,通过中断等方式与控制核心交互。在系统中主要验证MicroBlaze内部系统工作模式。在自行设计的实验板上,使用sparten
2E稳定工作于100MHz,对于ms量级的实时成像调度算法,展示出强大的性能和适应性。并且由于其丰富的可扩展和可编程性,可以优化外部接口设计以及随时更新算法设计。使用数据流驱动的实时SAR成像算法,运行可靠稳定。
FPGA在雷达信号处理系统中应用展望
随着各大FPGA厂商继续推出规模更大、速度更高的产品,随着不断丰富的接口配置和各种嵌入式开发系统的支持,全SOC系统也已经开始应用。基本的核心是FPGA,内部嵌入软硬DSP核心和各种接口IP核,就可以完成不同要求的雷达信号处理流程。并且其强大的可编程能力,使得当系统进行算法升级时,仍然具有很大的空间。广泛的外部接口和总线协议支持,使得其设计更加简洁快速。
全面高效的软硬件IP核是进行二次开发和知识复用的极好平台。随着各种通用和专用IP核的提供,FPGA的系统开发被大大简化,同时各种开发工具也大量涌现,都极大的推进了FPGA在雷达信号处理系统中的应用。开发周期大幅度缩短,而性能和可靠性等却得到大幅提高。
FPGA以其强大的优势,在雷达信号处理系统中各个部分都开始广泛的应用,而在可预见的将来,必将得到更广泛的应用推广。随着工艺的提高和成本的下降,其不仅仅可以取代相当多的专用ASIC,而且可以在很大程度上完成DSP、CPU等的工作。而开发丰富的信号处理算法IP核,也必将成为雷达信号处理领域的新增长点。
|