- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
一种基于FPGA的雷达波束控制系统设计
图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的程序设计,满足天线组件对波束控制系统装机和测试用同一个程序的要求。调试过程中,两者都有友好的控制界面可操作。
上一篇:MBMS业务的技术实现及相关标准
下一篇:协作多点通信系统中的切换机制