李红兵
(中国电子科技集团公司第十研究所,四川 成都 610036)
现代防撞雷达的显示终端是雷达信息输出和人机交互的重要设备,雷达系统通常要求显示终端体积小、处理速度快、功耗低、接口丰富和显示直观。目前,国内防撞雷达的显示终端都是采用X86+PCI显卡的硬件平台,该平台存在功耗高、显卡图像绘制慢、实时性差、芯片供货不稳定等问题。因此,高性能、低功耗雷达显示终端的开发设计成为一个迫在眉睫的问题。
i.MX6是恩智浦公司新一代工业级多媒体处理器,具有单芯片集成度高、功耗低、图形处理能力强等特点,本文基于i.MX6设计并实现了一种新型雷达显示终端,该显示终端提供多种标准接口,性能稳定可靠。三维图形显示基于Linux操作系统,利用QT和OpenGL ES等相关工具软件进行开发,解决了原显示终端功耗高、图像显示性能差等关键问题。
以i.MX6处理器为核心搭建雷达显示终端的硬件平台,图1为其总体原理框图。考虑到显示终端的通用性,将相关芯片集中设计在一个尺寸为84 mm×55 mm的核心板上,接口兼容PCIMG规范COM.0 Rev 2.1版本,主要由主处理器电路、存储电路、电源管理电路、通信接口电路和人机交互电路等部分组成。
主处理电路提供上电时序控制、复位、时钟产生等功能;存储电路由NAND Flash、eMMC存储器和DDR3内存等组成,用来存放操作系统、用户数据以及为操作系统稳定运行提供内存;电源管理电路将外部直流输入电源转换为多种电压,为显示终端提供稳定的二次供电;通信接口电路完成数据的输入、输出功能;人机交互电路通过雷达综合显示器显示雷达系统的工作状态、三维图像信息,操作人员通过按键操控,完成雷达控制命令输入。
i.MX6处理器基于ARM Cortex-A9内核,主频可达1.2 GHz,支持单核、双核、四核扩展应用[1]。本显示终端选择i.MX6Q四核处理器为主处理器,芯片集成3D图形处理引擎GC2000,多边形填充率达到200 MT/s,可提供高达30 GFLOPS的运算能力以实现快速的数字
图1 显示终端硬件设计框图
化图形处理,为雷达操作员提供三维高清晰度的图像显示;可以同时提供RGB、LVDS、HDMI等多路显示接口,以适用于不同雷达综合显示器。
i.MX6Q芯片存储接口包含本地总线(LBS)控制器、NAND控制器、eMMC控制器和DDR3控制器。
LBS总线通过COMe连接器引出,数据宽度16 bit,地址总线10 bit,片选信号3个,本地总线用于访问雷达系统中的低速设备。
NAND Flash和eMMC存储器分别用来存放芯片引导程序、操作系统、应用程序和图像数据,选用Micron公司8 GB容量NAND芯片MTF29F8G08AB,该芯片引脚兼容性好,可原位扩展存储容量。eMMC芯片选用Micron公司32 GB容量的MTFC32GJDDQ,该芯片支持8 bit、4 bit工作模式,数据传输速率最高可达832 Mb/s。
i.MX6Q芯片支持64 bit DDR3扩展,内存容量支持256 MB~8 GB可选。为了提供总线带宽,选择Micron公司的16 bit DDR3芯片MT41J256M16RE,通过4片级联的方式扩展内存数据宽度至64 bit,总容量为2 GB。
电源管理是硬件电路设计的关键部分,电源设计必须严格按照处理器手册上要求的上电时序和下电时序,否则可能引起电流过冲,导致芯片无法正常工作。
图2 电源管理设计框图
显示终端的电源管理设计如图2所示,雷达系统提供直流+5 V电压输入,首先通过DC/DC芯片LTM4624转换为+3.8 V;再通过电源管理芯片MMPF0100F0将+3.8 V转换为+3.3 V、+3.0 V、+2.8 V、+1.5 V、+1.375 V和USB_5 V等电压输出,提供给i.MX6Q、DDR3、NAND Flash、eMMC芯片、网卡和USB接口等外围电路,其中DDR3芯片所需要的半电压+0.75 V由+3.3 V经过TPS51200转换产生。MMPF0100F0芯片是专门为i.MX6系列处理器设计的电源管理芯片,它内部集成六路DC/DC和六路LDO,能提供i.MX6Q所需的各种电源输出以及上下电时序控制[2]。由于该芯片集成度高,每路输出的电流大小有限,原理图设计时需要仔细计算各路电源的负载大小以防止负载电流不够引起输出电压不稳定,PCB设计时要尽量保证使每路电源输出都相互隔离开来以减少电磁干扰。
通信接口主要包括1 000 Mb/s以太网、PCIe和I2C等接口,由于i.MX6Q集成了相关的控制器,硬件设计不需要额外的外围电路,PCIe接口和I2C接口直接通过连接器引出,网络接口采用Qualcomm公司的AR8031 PHY芯片,构成10 Mb/s/1 000 Mb/s/1 000 Mb/s自适应以太网。
人机交互包括键盘、鼠标信息输入以及显示输出,i. MX6Q芯片集成USB host和USB otg控制器,实现外接键盘、鼠标。另外,由于i.MX6Q同时提供数字RGB输出,可以通过AD公司的ADV7125来进行D/A转换,产生一路模拟RGB信号,该路模拟RGB信号经AD8148之后输出差分RGB视频信号。这样,显示终端可以输出LVDS、差分RGB和HDMI三种格式的视频信号,使其可以满足不同综合显示的接口要求,使得显示终端更具通用性。
雷达显示终端软件总体框图如3所示,由引导程序、操作系统内核、文件系统和应用程序等部分组成。
图3 显示终端软件总体框架
引导程序是芯片上电后执行的第一段程序代码,其作用是初始化CPU、内存、串口和网络等设备,为引导内核建立环境变量[3]。选用uboot-2009.08为引导程序,恩智浦公司提供的开发包里面已经针对i.MX6Q芯片作了相关的移植,只需要根据本系统硬件的设计情况稍做修改,即可在本显示终端上运行输出。
由于Linux系统具有安全性高、源代码开放、实时性高等优点,已经在军事和民用电子设备中得到广泛地应用,本系统选用Linux-3.0.35版本内核,移植工作包括裁剪掉内核中无关的驱动模块、修改内核源代码中网卡芯片的物理地址、配置时钟频率和DDR3的容量等。
利用Busybox工具集构建ext4日志文件系统,该文件系统内存占用量小,挂载时间快[4],满足雷达系统对显示终端启动时间的要求。
显示终端应用程序实现目标三维地形生产、雷达参数显示和系统控制等功能,考虑到雷达显示终端软件的可靠性、实用性和可移植性,应用程序开发选用跨平台工具QT+OpenGL ES,采用QT图形工具的面向对象编程方法,把各个功能的实现合理地分配到不同的类中,做到显示软件模块清晰,界面整洁、直观、逼真。
3.4.1程序移植
开发工具选用QT-4.8.5和OpenGL ES 1.X版本,编译工具为gcc-4.6.2-glibc-2.13,交叉编译环境为Ubuntu 14.04,移植流程如图4所示。
图4 程序移植流程图
首先根据自己的硬件选取相应的QT配置参数,使用以下参数进行配置:-embedded arm、 -opengl es2 -egl-confirm-licensee、qws/linux-arm-g++ ;再使用make install命令编译安装QT至usr/local/qte-arm目录下;然后针对OpenGL ES编译QT中的eglfs插件库并安装。
QT及OpenGL ES编译完成以后,需要将QT目录下的imports、lib、mkspecs、plugins文件夹拷贝到显控终端目标板上的/opt/qt目录下,并配置QT运行的环境变量,让目标板能找到QT,按如下步骤编辑/etc/profile文件:
export QTDIR=/opt/qt
export PATH=MYMQTDIR/bin:MYMPATH
export LD_LIBRARY_PATH=MYM QTDIR/lib: MYMLD_LIBRARY_PATH
export QWS_DISPLAY=“LinuxFb:/dev/fb0”
最后基于以上步骤编译出来的QT和OpenGL ES库文件,重新交叉编译原防撞雷达显示终端的应用程序,在目标板上成功运行。
3.4.2程序优化
在实际应用中,雷达显示终端接收信号处理分机送出的目标信息,经过相关算法的优化处理,最后将生产的三维地形数据送到综显进行显示。
显示终端使用了地形分块加速算法以提高三维图形的绘制速度,使用了快速地形着色方法以突出表现地形的高度层次、立体感和真实感,还采用了场景漫游算法使得地形数据更新、场景交替画面流畅自然[5]。利用雷达目标信息生产的三维地形渲染效果图如图5所示。
图5 雷达三维地形渲染效果图
将本显示终端和原防撞雷达使用的X86显示平台进行性能对比测试,X86平台的硬件配置如下:CPU为Intel Core Duo处理器U2500,频率为1.2 GHz,内存为1 GB DDR2,显卡为Intel 945 GM独立显卡,显存容量为128 MB。对于图5所示的三维地形效果图,在顶点个数固定为300×400的条件下,三维地形绘制时间和三维地形的预测刷新速度对比如表1所示。可见,使用本显示终端实现三维地形显示,性能明显好于原X86平台,而且在绘制图形的同时,CPU还会有大量的处理余量,以完成雷达的控制等功能。
表1 性能对比
随着高性能处理器技术的飞速发展,基于ARM +Linux实时操作系统的雷达显示处理平台将成为雷达系统设计的发展趋势。本文以i.MX6处理器为核心设计并实现了一款集通信、显示、控制等多种功能于一体的新型雷达显示终端,此显示终端集成度高,接口丰富且标准,功能强。三维地形显示软件基于Linux操作系统,利用QT和OpenGL ES实现后,运行速率快,稳定性好,显示画面美观、逼真。经过测试,此显示终端已经成功应用于某型雷达设备中,取得了良好的经济、社会效益。
[1] NXP Semiconductors.i.MX 6Dual/6Quad applications processors for industrial products[Z].2015.
[2] NXP Semiconductors.14 channel configurable power management intergrated circuit[Z].2016.
[3] 韦东山.嵌入式Linux应用开发完全手册[M].北京:人民邮电出版社,2009.
[4] 乔旭兴.基于I.MX6的数字化仪表设计与实现[J].计算机测量与控制,2015,23(11):3899-3903.
[5] 靳碧鹏.毫米波防撞雷达三维显示界面的设计与实现[J].电讯技术,2011,51(6):88-90.