一种基于FPGA的雷达波束控制系统设计
扫描二维码
随时随地手机看文章
波束控制系统的基本功能是给天线阵列中各个移相器提供所需要的控制信号。除此基本功能外,现代雷达还要求波束控制系统高速高效、低成本、小型化,并具有波束控制分系统的自检;根据工作频率,进行初相位在线补偿;天线相位码随机馈相等功能。同时,在设计生产过程中,为了配合其他系统的检测,还需要在雷达的不同工作模式下完善调试功能。另外,在雷达的长期使用过程中,要求单个组件维修时,波束控制组件驱动板能在脱机状态下正常工作。
这里展开介绍一种有源相控阵雷达波束控制系统的硬件平台及软件设计。
l 系统原理
为降低电路成本和增加系统可靠性,该系统采用设备量少、维修方便、可靠性高的集中式运算、分布式驱动体系。也就是,波束控制算法用一块电路板(称之为运算板)实现。
对工作方式,运算板接收来自雷达控制台的控制指令(包括主天线的方位和俯仰增量代码、工作频率、工作模式代码等),进行波束控相位码的计算、传输、分配与格式重排。运算板把处理后的串行波束控制码通过驱动器发往阵面的波束控制组件驱动板。在波束控制组件驱动板内再进行译码、驱动,然后送给组件单元作为控制码,从而实现波束控制系统的功能。波束控制系统的组成如图1所示。
2 系统硬件平台
该相控阵雷达系统要求波束控制系统准确可靠地控制512个天线单元,波束转换时间不大于1 ms。在此分析运算板需要哪些关键器件。运算板要在500μs内完成从雷达控制台接收指令、波束控制算法及运算结果传输的功能,必须选用FPGA器件。参与运算的补偿数据是运算的主要对象之一,要能够实时参与波束控制算法的运算过程,也可以被雷达控制台在线更新,这就需要运算板具有存储器。系统采用自定义总线接收雷达控制指令和上报阵面返回的信息。
关于驱动板的硬件设计,不仅要实现驱动、译码、系统自检等功能,还要考虑组件在单独调试时驱动板的控制功能是否可以方便实现。由于设备数量较大,在满足功能的基础上,要尽可能降低设备成本。基于这些需求,选用一片单片机和一片EPLD。图1中虚线左侧部分所示运算板硬件组成。其中,雷达控制台发送的是波束控制指令、接收的是阵面自检和检测信息;传输模块产生和发送串行波束控制码、传送所需要的时钟、定时信号。
图l中虚线右侧部分所示组件驱动板的硬件组成。其中接口电路接收波束控制运算板发来的串行波束控制码;组件单元接收的是TTL电平的控制码(包括发射移相码、接收移相码、衰减码、T/R开关控制码)。EPLD完成译码和控制分发代码,SCU完成联机自检和脱机控制调试的功能。控制和调试方式比其他提供的系统设计方法,更加多样化和灵活。
3 软件设计
3.1 运算板FPGA程序设计
波控运算板基本用途就是为满足阵面天线单元控制的需要。在此,整个天线阵面等分成四个子阵面。每个子阵面包括a×b个天线单元,如图2所示。
天线分时实现全孔径SAR模式和子孔径GMTI模式两种工作模式。雷达对空探测或者在SAR工作方式时,利用天线全阵面,形成一个波束进行发射和接收,阵面的物理中心就是阵面天线单元的坐标原点;GMTI工作方式时,全阵面形成一个发射波束,而接收时则在方位上等分四个子阵面,形成四个接收波束,此时形成四个坐标系:每个子阵面的物理中心就是每个阵面天线单元的坐标原点。
根据天线单元此分布特点的控制需求,这里选用两片FPGA,传输采用四路差分串行码(两路数据码、一路地址码、一路8 MHz时钟码),就可完成阵面天线单元对波束控制的要求。FPGA内部程序的逻辑功能框图如图3所示。其中的串口核、SRAM、FIFO全是调用FPGA内部的资源。串口核的功能是在波束控制运算板单机调试和雷达近场测试时,接收来自调试计算机的控制指令。SRAM用于当雷达工作在阵面监测方式时,存储来自雷达控制计算机的控制码;FIFO用于存储运算器计算的结果(运算板单板调试时用)或组件驱动板自检结果,此结果可以通过串口返回调试计算机,以此来判断FPGA计算的中间结果或者送出的最终结果是否正确和判断组件单元及相应的信号通路是否良好。运算、传输时钟产生和运算结果传送、读/写FLASH都在运算器中,做在同一个状态机里。波控运算状态机如图4所示。
图4中:S1为运算使能控制和状态转换条件控制及变量初始化;S2完成波束控制算法和按照格式排布计算结果;S3产生被传送数据的地址和时钟及将并行的计算结果转为串行;S4对FLASH进行写操作;S5对FLASH进行读操作;S6对SRAM进行写操作;S7先对SRAM读操作,然后按照预定格式拼位,以便跳入S3状态将SRAM中的数据传出。S1中状态机的状态转换条件即为译码得到的来自雷达控制台的控制指令。状态机将根据不同的控制指令进入相应的状态处理程序段。
其中的S2状态机实现的阵面第(m,n)个组件的移相值运算如下:
式中:m为行坐标值;n为列坐标值。当雷达工作在SAR方式和GMTI的发射方式时m=-2a,-2a+1,…,-1,0,1,…,2a-2,2a-1;n=-b/2,-b/2+1,…,-1,0,1,…,b/2-2,b/2-1。对GMTI的接收方式,m=-a/2,-a/2+1,…,-1,O,1,…,a/2-2,a/2-1;n=-b/2,-b/2+1,…,-1,O,1,…b/2-2,b/2-1。ψ0m,n(λ)为初始相位值;α,β为雷达控制计算机根据波束指向角而发送的方位递增量和俯仰递增量;φ(m,n,t)为相位误差修正量;△ψ为单位相移量,用于随机馈相。等式右端的ψ0m,n,ψ,△ψ预存在片外的FLASH中,FPGA通过对FLASH的读操作将对应地址空间的数据存入相应寄存器,在状态机的控制下参与移相值的计算。
在FPGA中,此算式的实现采用Verilog硬件描述语言编程,控制变量做加法循环即可实现该算法。对随机馈相的运算,是将按单元排列方式所对应的、预先存在FLASH中的一组随机数δi.j(其存储位数不小于4位),和波束控制系统计算的移相器量化相移值结尾相位△i.j做比较,如果△i.j大于δi.j,则移相器量化相移值加单位相移量△ψ后送给移相器,否则直接将移相器量化相移值送给移相器。
3.2 运算板调试的控制程序设计
运算板的初期调试和验证对于整个产品的实现至关重要,此阶段直接决定了产品实现的可行性和进度。在此选用ViSUalBasic 6.0开发设计程序,基于Windows的VB提供了一个MSCOMM 32.OCX串行通信控件,用串口电平转换器接上两对差分信号线,就可以实现与运算板FPGA异步串行口的通信。所设计的控制程序可以模拟产生雷达控制台的控制指令和定时器的定时信号、实现对SRAM和FLASH信息的写入和读出,完成对FPGA运算结果的回送数据校验。
根据需要,所设计的程序分为八个模块,分别为串口通信控制、雷达控制指令产生、定时信息产生、对FLASH的各种操作控制、补偿数据文件的写入/读出操作、理论运算结果显示、FPGA运算结果回送显示、自检方式所需要的控制等。
3.3 驱动板的程序设计
该驱动板程序设计的关键点和特点在于单片机和EPLD的程序既能够联机工作,又能够独立地控制组件,实现组件的单机调试功能,即装机和测试用同一个程序。
驱动板的单片机串口接收来外来的控制指令,判断波束控制系统是处在哪种工作状态。如果是联机工作,则SCU接收联机自检指令,读入组件地址、开关状态、发射和接收移相码、衰减控制码,并将这些控制码存在指定的寄存器内,等待通道状态读取指令到达后,将它们回送到运算板,在所设计的控制界面内可以显示,从而得知波束控制系统整个子系统的运行工作情况。如果是模拟子系统控制指令,打开与EPLD之间的通信控制开关,将来自串口的控制指令,经处理发给EPLD。
EPLD也要判断收到的指令来自单片机还是雷达系统,如果是单片机,则接收来自调试计算机的指令;否则,直接接收来自雷达系统的控制指令。单片机的程序设计主要分为四部分:程序初始化、串口接收中断服务子程序、串口发送中断子程序和串口回送数据子程序。后两者子程序设计流程示意如图5所示。其中,指令字包含的信息分别为开关状态码、阵面回数信息、阵面回数状态、阵面自检信息、移相值和衰减值。
这里仍然选用VB编写调试控制程序,用来模拟产生来自运算板的控制信号,实现对驱动板的调试控制。编写的调试控制程序分为五个模块:控制方式选择、移相角度选择、衰减值选择、定时信息选择、控制码发送和发送数据校对信息显示。
4 结论
该FPGA程序设计既可满足天线对波束控制0.5 ms内完成运算和传输数据的时间要求,又满足波束控制分系统在线自检;根据工作频率,进行初相位在线补偿;天线相位码随机馈相的功能需求。其调试控制程序,不仅满足单板调试、补偿文件写入或者读出操作的需要,还用于雷达天线暗室测试的控制。同样,单片机和EPLD的程序设计,满足天线组件对波束控制系统装机和测试用同一个程序的要求。调试过程中,两者都有友好的控制界面可操作。