《课程设计论文基于FPGA的雷达中心控制器的设计》由会员分享,可在线阅读,更多相关《课程设计论文基于FPGA的雷达中心控制器的设计(17页珍藏版)》请在金锄头文库上搜索。
1、 基于FPGA的雷达中心控制器的设计摘要:对于现代雷达对数据处理和实时监控方面的要求越来越高,所以对计算机的要求越来越高,故此有必要在雷达和计算机之间加一个实时控制器。对计算机的要求越来越高的方面主要有两个:一是雷达的周期越来越短,二是对雷达探测的实时监控。这两个方面使得计算机的要求越来越高,计算机的压力配置可能达不到数据处理的要求,即使达到成本也很高,故加中心控制器。其研究目的为了解决雷达与计算机之间的数据处理问题,在计算机与雷达之间加一个雷达中心控制器,实现数据的快速处理及实时监控。 实验方法是利用FPGA的VHDL编程的方法,实现对雷达中心控制器的设计及实现。该实验是对两路模拟数据进行一
2、系列的处理,首先是FIR滤波,再数据暂存及DSP链路口通信,最终输出相应的数据。由于FIR滤波对输入不同的数据输出相应的数据,结果也要按输入而论。结论:实现对数据的快速处理及对雷达单元及波形产生器的控制,完成雷达中心控制器的设计。 其中主要涉及的主要任务有:中心控制器的方案设计;数据预处理模块、DSP链路口通信模块的VHDL的编程和设计;中心控制器硬件电路的调试和测试.实现的主要任务:对不同的雷达单元发送不同的指令,完成相应的任务;雷达在特定的时间完成相应的任务;操作人员对雷达系统发送指令,并使其响应。基本满足以上的符合雷达系统的设计要求,同时测试也要达到相应的设计指标。关键字:FIR滤波,中
3、心控制器,DSP链路口 6 目录引言:11 中心控制器的设计21.1总体设计21.2 总体设计的分小模块22 FIFO数据缓存与A/D转换器32.1FIFO数据缓存的原理及设计33 FIR滤波器53.1FIR滤波器的原理53.2FIR滤波器的实现63.2.1原理图法设计FIR滤波器63.2.2编程法设计FIR滤波器64 DSP链路口通信与雷达单元模块和波形产生器94.1 DSP链路口通信的原理及实现94.2 雷达单元模块和波形产生器124.2.1雷达单元模块和波形产生器的原理125 参考文献14参考文献146 致谢15致谢15引言:国内外对雷达中心控制器这方面的研究还相对较少,这方面的相关的文
4、章也相对较少,对此很有研究的价值。传统雷达的中心控制器与数据处理设备一起,都由通用计算机实现。通用计算机与雷达系统各个单元硬件(信号处理器、波形产生器等)和其它外部设备(如键盘、鼠标、显示器等)通过通用接口相连,它们之间要通过缓存器和数据总线。雷达操作人员工作通用计算机直接给雷达系统各单元发送指令,对雷达的工作状态进行控制。现代雷达中,随着近距离精跟踪和目标截获的需要,雷达的工作周期越来越短,周期内要处理的数据流量越来越大,这对于既要进行大量数据的实时处理,又要进行雷达工作的实时控制的计算机来讲是很困难的。此外由于多种设备协调工作,雷达系统的时间校准也是必不可少的,对于处理时间己经十分紧张的数
5、据处理计算机来说,更增加了很大负担。因此非常有必要在数据处理计算机和雷达各分系统之间设计一个可实现雷达实时控制的系统。目前雷达中心控制器的设计有使用单片机、DSP及数电模电等元件构成的,但是用FPGA设计相对而言,系统的可靠性更高、功耗更低,更重要的应用FPGA可设计出专用的雷达中心控制器芯片,具有自主知识产权。 其中关于FPGA的发展也是很快速,其主要的优点决定了其发展前途,主要优点有FPGA不仅可以解决电子系统小型化、低功耗、可靠性高等问题,而且其开发周期短、开发软件投入少、芯片价格不断降低,促使FPGA越来越多地取代了ASIC的市场,特别是对小批量、多品种的产品需求,使FPGA成为首选。
6、所以选择FPGA是比较好的选择。主要工作有如下几个方面:1)根据项目的要求要对时序的严格要求,完成中心控制器的方案设计;2)数据预处理模块、DSP链路口通信模块的VHDL的编程和设计3中心控制器硬件电路的调试和测试;4)中心控制器联合调试与测试1 中心控制器的设计1.1总体设计中心控制器的设计:对中心控制器进行总体设计,画出相应的框图,见图1。I路模拟信号Q路模拟信号FIR滤波器数据存储DSP链路口A/D转化器时钟模块雷达单元波形产生器中心控制时间基准显示界面显示界面缓冲器采样时间采样频率复位电 路电源 图1.1 中心控制器的实现结构1.2 总体设计的分小模块其中中心控制器主要分几大模块设计:
7、A/D转换器:对I/Q两路信号进行数字化处理,本来I/Q两路信号是两路差拍模拟信号,输入差拍信号的最高频率为0.6MHz,数据采样率则为总体系统设计规定的2MHz。要用到的是AD9059是8位单片双通道模数转换器;FIR滤波:对两路8位数字信号进行滤波;数据缓冲:对滤波后的两路信号进行缓存,采用FIFO存储器来实现,再送给DSP链路口;链路口数据发送:缓存的数据进入DSP,完成与DSP的通信,同时要满足通信的速度方面的数据要求;雷达单元:对不同的雷达单元进行控制,有相应的响应,完成相应的任务;波形产生器:产生不同的波形,与不同的数据采集有一定的时间关系。中心控制:实现时间的严格控制,同时满足操
8、作人发出指令完成相应的任务;复位电路:对中心控制器发出复位信号;电源:对输入电压进行滤波和稳压,提供中心控制器电路需要的1.SV、3.3V电压。2 FIFO数据缓存与A/D转换器2.1FIFO数据缓存的原理及设计FIFO即先进先出堆栈,用作数据缓冲器。中心控制器和信号处理机DSP之间为异步通信,我们使用两个FIFO分别存放两路数据,对两个FIFO的要求完全相同。对FIFO的要求如下: FIFO深度为1024,宽度为8,即存放1024个数据,每个数据为8位。同时是异步并行数据,同时对FIFO有相关的指示,允许不同的速率传输,同时也会指示FIFO的空或满,防止数据传输过程中出现错误。FIFO的实现
9、:在Quartusll软件提供参数化模块LMP_FIFO+,可实现同步或异步FIFO,具体的设计时可采用两种方式,一是在原理图或VHDL语言输入方式下调用库元件LPM_FIFO+,再对端口和参数进行编辑即可;方法二是对FIFO进行编程,完成相应的功能。图2.1.1为向导生成的FIFO符号,FIFO深度为1024,宽度为8。图2.1.1 FIFO原理图FIFO只是对数据的一个缓存作用,进取什么数据,出来什么数据,对其进行功能仿真,仿真图如图2.1.2所示,当进去10101111八位数据时,出来q也是八位10101111数据。图2.1.2 FIF0功能仿真2.2 A/D转换器A/D转换器要用AD9
10、059芯片,采样时间长度ts=512us ;于AD9059的介绍,AD9059是8位单片双通道模数转换器,主要由2个跟踪/保持电路(T/H)、2个模数转换器(ADCA、ADCB)和一个2.5V的基准电源等组成,具有高速、高性能、低功耗及易使用等特性,60MSPS的编码速率和120MHz的最大功率模拟带宽使其在多路数据采样系统中表现出优秀的动态性能。大部分情况下,AD9059仅需要一个单极性的5V电源和一个编码时钟即能正常工作.这是主要关于A/D转换器方面的要求。FIR滤波器 滤波器目的:对于理想的线性相位滤波器,滤波器输出等于输入在时间上的移位,可达到无失真传输.介绍关于FIR滤波器相关的知识
11、:3 FIR滤波器3.1FIR滤波器的原理数字滤波器通常都是应用于修正或改变时域或频域中信号的属性。最为普通的数字滤波器就是线性时间不变量(linear time-invariant,LTI)滤波器。LTI与其输入信号之间相互作用,经过一个称为线性卷积的过程。表示为,其中f是滤波器的脉冲响应,x是输入信号,而y是卷积输出。线性卷积过程的正式定义如下: (3-1)LTI数字滤波器通常分成有限脉冲响应(finite impulse response,也就是FIR)和无限脉冲响应(infinite impulse response,也就是IIR)两大类。顾名思义,FIR滤波器由有限个采样值组成,将上
12、述卷积的数量降低到在每个采用时刻为有限个。而IIR滤波器需要执行无限数量次卷积。研究数字滤波器的动机就在于它们正日益成为一种主要的DSP操作。数字滤波器正在迅速的代替传统的模拟滤波器,后者是利用RLC元器件和运算放大器实现的。模拟原型设计只能应用在IIR设计之中,而FIR通常采用直接的计算机规范和算法进行分析的。3.2FIR滤波器的实现3.2.1原理图法设计FIR滤波器其中我们要用到的是线性相位滤波器,实现的方法主要有两种方法:一是原理图法;二是编程法:原理图法:调用加法器LPM ADD_SUB 和乘法器LPM_ MuLT ,其中原理图如图3.2.1; 图3.2.1 FIR滤波器原理图两路数据
13、经过乘法器,再进行扩展2位数据,这是为了防止数据溢出,在经过加法器,截取累加和的高8位,作为滤波器的最终结果。3.2.2编程法设计FIR滤波器编程法:对滤波器进行编程,完成实验目的。以下是实验源程序: library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_signed.all;PACKAGE coeffs istype coef_arr is array(0 to 2) of signed(8 downto 0);constant coeffs:coef_arr:=(11
14、1111001,111111011,000001101);end coeffs;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_signed.all;use work.coeffs.all;entity fir isport(clk,reset:in std_logic;sample:in signed(7 downto 0);result:out signed(16 downto 0); -进行相关的定义;end fir;architecture beh OF f
15、ir isbeginprocess(clk,reset)type shift_arr is array (4 downto 0) of signed (7 downto 0);variable tmp,old:signed (7 downto 0);variable pro:signed (16 downto 0);variable acc:signed (16 downto 0);variable shift:shift_arr;beginif reset=0 then result0);for i in 0 to 3 loopshift(i):=(others=0);end loop;ELSIF clkEVENT and clk=1 thentmp:=sample;pro:=