阮成肖
(江苏自动化研究所,江苏 连云港 222061)
随着电子设备的飞速发展,雷达技术也取得了跨越式发展,当前的雷达视频显示技术已不能满足人们的需求。特别是对雷达终端显示的可操作性、分辨率,以及显示的内容和层次提出了更高的要求[1]。雷达显示技术主要用来显示雷达所获得的目标信息和情报[2],完成显示雷达回波、雷达状态等信息,是雷达系统的重要组成部分[3]。传统的雷达显示技术主要基于结构复杂的专用硬件设备,价格昂贵,移植性差,通用性不够理想,功能有限且开发升级周期较长[4]。随着现代雷达的发展,如何依据最新的芯片技术提高雷达显示性能是雷达显示的基本要求。本文分析原有雷达显示技术的不足,针对雷达的A 式显示,提出了一种基于FPGA 的雷达A 式显示电路设计,实现对目标回波信号的采集、存储及实时显示[5-6]。利用现场可编程芯片庞大的逻辑单元以及越来越丰富的免费IP 核,将雷达A 式显示的全部功能置于一片FPGA 中[7-8],完成单片FPGA 可以实现雷达前端信号的分选、采样、数值变换、波门叠加、线存、帧存、像素变换等功能。
雷达显示的目的是将雷达视频回波实时地显示在显示屏上,而雷达A 显的原理是将雷达信号强度和距离的关系通过直角坐标系进行表示。目标的距离与信号时间之间的关系如式(1)所示,其中L 代表目标距离,s 代表回波速度(光速3×108m/s),t 代表时间。
要将回波视频显示在直角坐标系中,就要将采样得到的点按照距离远近的关系进行显示,式(2)所示为采样时间与坐标系的位置关系,其中t 为采样时间,T 为采样时钟周期,x 为显示位置(即直角坐标系中x 坐标,代表距离)。
结合式(1)和式(2),就会得到显示位置与距离关系,如式(3)所示,其中f 代表采样频率,f=1/T。在实际采样中为了不丢失目标,往往采用较大的采样频率,然后对一个最小采样周期内的采样点进行选取,通过取得的值进行组合进行显示,这种方式就是分选。
雷达显示IP 核的设计目标是实现雷达A 显的扫描变换。显示屏上应该显示六根扫描线,分为两组,两组由波段1/波段2 信号控制,波段1/波段2 为低电平时刷新波段1 的三根扫描线,为高电平时刷新波段2 的三根扫描线,不刷新时,扫描线保持上次的扫描状态。
每组的三根扫描线分别显示单目标、双重目标1、双重目标2 三种视频,单目标同步脉冲到来时,开始刷新单目标视频,刷新时间达到t2(即刷新了D1公里)时结束;双重目标同步脉冲到来时,开始刷新双重目标1 视频,过t3(即刷新了D2公里)后,改为刷新双重目标2 视频,过t3后结束。由于t3时间不能完全刷新D1公里的视频,因此双重目标视频扫描线的后部需人为增补,其幅度与视频输入电平为低时相同。
波门脉冲来到时,无论正在刷新哪种视频,该视频都应叠加一个固定时间的负电平,该波门以下凹的形式出现,即采样视频减去一个固定的波门深度。
经外部模拟电路采样完成的视频信号经量程控制电路(分选)后存入线存。线存中的视频数据经读写控制写入相应的帧存中,帧存中的像素数据输出后,经像素格式转换电路,形成图像像素送到图形板,由显示屏进行显示,图1 所示为雷达A 显画面示意图。
图1 雷达A 显画面示意图
雷达显示IP 核功能框图如图2 所示,前端雷达模拟信号经过A/D 转换为数字信号,经过信号的分选进行数据的采样,然后经过数值变换和波门叠加得到线存数据,线存数据线存控制器接口存入线存RAM 中,存储方式为线性一维数据。每当同步信号来临时,帧存会从线存中读取一帧数据转存至帧存RAM 中,存储方式为平面式存储,最后经由像素输出模块将帧存图像转换为A显画面。
图2 雷达显示IP 核功能框图
1.2.1 分选模块
动态分选取值原理图如图3 所示。为了不丢失目标,分选模块连续采样16 次后取最大值作为该点视频采样值送入线存。原有系统中的分选取值为固定分选取值,首先在第一个分选周期完成对一组采样数值的缓存,然后通过两两比较的方式完成一次数据的过滤,直至取到最大值。这种方式需要占用大量的寄存器,且至少存在一个分选周期的数据延迟,同时,如果增加采样点的个数,寄存器数量会成倍地增加,且数据延迟会更大。
图3 动态分选取值原理图
本文设计选用动态分选取值占用更少的寄存器,且有更少的数据延迟,又因为分选取值的改变并不会降低视频的分选效率,使得系统可以根据具体的情形选择自己的分选次数,增加了系统的灵活性和适应性。
1.2.2 数值变换与波门叠加
波门信号在上升沿时有效,每当一个波门上升沿来临,模块自行生成固定宽度的波门,波门宽度的大小可通过软件选择。波门采用下凹式显示,下凹深度的大小可通过软件选择。
图形分辨率为1 280×1 024 时,设波门下凹深度为BD,首先对采样、分选后的8 位视频值AD_DATA[7:0]进行数值变换,将其灰度值从0~255 的范围变换到0~(64-BD)的范围。在无波门时,变换后的视频值加上BD后送入线存;在波门下凹期间,变换后的数值直接送入线存。
数值变换,即灰度等级变换,由于两个灰度级之间的比例关系为小数0~0.25,为了实现硬件小数换算,本文使用累加器和移位寄存器。设定累加器权值寄存器,通过位加权确定寄存器取值,加权值如下:K[5]=0.125,K[4]=0.062 5,K[3]=0.031 25,K[2]=0.015 625,K[1]=0.007 812 5,K[0]=0.003 906 25。
硬件中的小数就是通过该寄存器直接进行乘法,然后右移8 位来实现。设分选产生的数据为Dsample,经变换后数据为Dtrans,gate 代表有无波门,那么该模块的换算关系如下所示:
从式中可以看出,由于本文使用硬件语言描述,为了防止数值变换时出现负值,故采用无波门叠加的方式进行波门的控制。
1.2.3 线存模块
采样的视频数据,经过数值变换和波门叠加之后,变为低灰度值数据,存入由片内双口RAM 设计的线存中,每当目标同步信号到来时,连续向线存中写入数据,当屏幕刷新信号到来时,帧存模块从RAM 读数据端口读取线存数据。
由于双重目标1 视频和双重目标2 视频之间是连续的,为了确保数据完整性,线存由两个片内双口RAM组成。单目标同步信号到来时,开始将采样处理后的视频数据送入线存RAM1,送512 个采样数据后停止送数;双重目标同步信号到来时,将采样处理后的视频数据送入线存RAM1,送300(t3对应采样点)个采样数据后停止送入线存RAM1,改为送入线存RAM2,送300 个数据后停止送数。线存数据传输的控制时段如图4 所示。
图4 线存控制时段时序
六路A 显的距离量程都是D1,但四路双重目标A显的有效距离只有D2。为了使六路A 显的距离轴长度一致,需要将双重目标A 显的距离轴进行延长。由于在双重目标同步周期每个目标的回波都只有t3时间有效,不能使用延长采样时间办法来加长距离轴,而需用插补方法实现。
距离轴插补的方法是在处理后的数据送入线存前,需经过一个选择器,当单目标回波信号或双重目标回波信号有效时,选择真正的数据送线存;插补距离轴时则选择一个“小波发生器”的数据给线存。所谓“小波发生器”是一组低电平噪声数据,也可以使用低电平的常值数据代替。由于A 显的扫描变换周期远大于t2,有足够的时间插补距离轴。无论双重目标1 还是双重目标2,它们的插补时间均在采样t3时间后,如图4 中所示。
1.2.4 帧存模块
帧存数据存储的是一帧图像的数据,数据的存储是平面式的存储方式,本文使用片内双口RAM 设计帧存体,为了实现平面式存储,RAM 中按照地址段存储的方式顺序存储每一帧数据。根据实际要求,数据在帧存体中的存储顺序如图5 所示,线存数据的传输顺序与帧存存放有很大不同,因此线存向帧存的数据传输采用寻址的方式进行。
图5 帧存数据存放示意图
由于帧存数据保存的是一帧完整的显示图像,那么为了避免视频信号因为外界干扰而产生突发脉冲,或者视频采样过程中丢失采样目标,造成显示图像的缺损而影响显示效果,本文采用FPGA 内部双口RAM 的乒乓切换进行帧存缓存[9],并在帧存模块的两个帧存体之间引入写相关的功能,这样既可以消除图像缺损,又能够使图像产生衰减的效果。
1.2.5 像素输出模块
雷达视频通过A/D 转换电路,得到的是信号的灰度值数据,经由数据变换到存储在帧存中的像素格式也是如此。但雷达A 显的显示功能上是用X 坐标轴表示距离,Y 坐标表示信号的幅度。帧存中的像素输出时,进行一次数据格式转换,将信号灰度转换为图像幅度。
首先对屏刷新的行同步进行计数;其次在像素输出时,将像素的信号灰度值与行同步计数结果相比较。若两者相等,则判该像素为有,显示该像素;反之,则判该像素为无,不进行显示。按以上方法处理后,输出的就是像素的图像幅度。数据格式转换处理框图如图6 所示。
图6 像素数据格式转换框图
本文设计基于Windriver 平台的PCI 驱动程序,得到用户层PCI 函数库,通过这些函数实现对硬件设备寄存器组的访问。为了实现系统的各项显示功能,本文还要进行上位机应用程序的设计。
本文采用VC 平台的MFC 函数类库来实现雷达显示系统应用程序设计[10],上位机的应用程序设计主要分为三个部分:一是雷达显示控制单元;二是雷达信号源单元;三是读写测试单元。表1 和表2 中所示为3 个功能单元的具体窗口功能列表。
表1 雷达显示控制单元功能列表
根据具体的功能列表,完成雷达显示系统软件功能界面,如图7 所示。
图7 雷达显示系统软件
雷达显示板所有的功能设计全部围绕一片FPGA 芯片展开。除了FPGA 芯片之外,显示板上还包括电源电路、雷达接口电路、图形板接口电路、PCI 接口电路、两片SRAM 存储芯片、25 MHz 和27 MHz 晶振电路、JTAG接口以及AS 接口。其中雷达接口电路、图形板接口电路以及PCI 接口电路均通过CPCI 插槽与外部连接。图8所示为雷达显示板硬件结构图。
图8 雷达显示板硬件结构图
本文根据系统验证要求搭建系统调试环境,系统调试环境主要由以下部分组成:调试底板、主板、图形显示板、雷达显示板、显示器、键盘鼠标和电源模块。按照要求对平台进行搭建。系统平台搭建完毕后,通过EDA 环境将雷达显示IP 核下载至雷达显示板中,并将信号源的软件描述通过上位机软件环境加载至雷达显示板中,启动系统调试环境,进行系统验证。图9 所示为系统验证环境图,图10 为雷达A 显验证效果图,从图中可以看出,该雷达显示IP 核能够实现雷达A 显需求。
图9 系统验证环境
图10 雷达A 显验证效果图
针对本文设计的雷达显示系统和原有雷达显示系统的实时性问题,本文通过对比两者在不同功能模块的数据延迟以及总体的数据延迟,对两者性能进行分析对比。表3 所示为新老雷达显示板功能模块的延迟时间。
表3 两个系统各功能模块延迟时间对比(ns)
从表3 中的延迟时间对比可知,本文雷达显示系统的各个功能模块相较原有的雷达显示系统延迟时间都有所减少,特别是分选模块和帧存模块,由于作了相应的改进,实时性大幅度提高。
本文主要完成了一种基于FPGA 的雷达A 式显示电路设计与实现,该技术利用FPGA 芯片庞大的可编程逻辑单元以及丰富的成熟IP 核的优势,实现雷达输入信号的接收、采样、变换以及显示的功能,简化了以往雷达显示系统的硬件结构,降低了信号的显示延迟,整体提升雷达显示性能。同时该设计可以通过进一步修改内部IP 核实现其他雷达显示方式,使其具备硬件设备的通用性和可扩展性。