雷达操控显示终端作为雷达系统的重要组成部分,用于雷达空情目标显示、数字原始视频显示、雷达控制、系统监测等,随着计算机性能的提高和多功能需求的日益增强,将雷达的实时控制、数据处理等实时应用集成在雷达的操控显示终端中已日益成为趋势,用户的界面审美需求也对终端的图形加速、多媒体以及三维场景的显示性能提出更高的要求。目前,国内外的雷达操控显示终端产品很难同时满足上述要求。通常实时操作系统为保证其实时性,对图形的支持能力都较弱,一般只支持简单的图形显示,目前尚没有一款独立的操作系统能够既满足实时性要求,又为用户提供强有力的图形处理支持。
为了兼顾雷达操控显示终端的实时性能和强劲的图形显示能力,本文提出了一种在嵌入式Window XP(XPE)中基于INtime实时操作系统的雷达实时操控显示终端设计方案。终端采用通用PC硬件平台,利用实时多任务操作系统INtime的实时性完成雷达系统的实时控制和数据处理任务,同时充分利用Windows操作系统强大的图形界面功能,实现雷达目标、状态、原始视频、电子地图等显示功能。
1 INtime实时操作系统介绍
INtime是TenAsys公司为满足Windows平台上硬实时系统严格的响应时间要求而开发的一个实时子系统,其系统结构体系如图1所示。
图1 INtime系统结构图
INtime实时系统在计算机启动加载Windows操作系统时同时被加载,共享相同的CPU和中断硬件,但在其他方面相互独立。当实时活动必须发生时,计算机上下文将切换到该实时操作系统,这些活动完成后,计算机上下文将切换回Windows操作系统。实时进程运行在INtime内核上,非实时进程运行在Windows内核上。INtime为Windows进程提供了扩展函数库(NTX API),使Windows进程能够共享在实时内核上创建的对象,从而实现Windows进程和INtime进程之间的数据共享和同步。
INtime内核提供了一个基于优先级的抢先式多任务调度系统,可支持256个线程优先级,优先级高的线程优先调度执行,同一优先级的线程采用时间片轮转调度算法。通过对线程赋予不同的优先级,严格保证各个任务的先后执行次序。在进程通信和同步方面。INtime通过共享内存与Windows进程进行数据交换,通过信号量进行进程的同步控制。INtime内核提供了高精度的系统计时器,最高精度达100μs,可满足大多数要求苛刻的应用程序的实时性要求。INtime支持多处理器系统,可以划分出一个处理器为INtime操作系统及其实时进程专用,提高了系统的可靠性。INtime还提供了与Windows环境兼容的实时编程接口,支持Win32的API,实现了一套实时扩展函数,通过VC++编译环境开发,具备良好的实时调试器。
2 系统总体结构
雷达实时操控显示终端是一个集实时通信、控制、数据处理及显示的综合多任务系统,既有实时性要求很高的雷达设备控制、跟踪数据采集和跟踪数据处理等任务,又有实时性要求较低的数据管理,状态控制,雷达目标、数字原始视频、电子地图显示等任务,所以在系统结
构设计时,把实时和非实时任务分开运行。实时任务运行在INtime内核中,主要完成对跟踪雷达分系统、光电跟踪分系统的跟踪数据实时采集和处理。根据处理结果实时控制跟踪伺服分系统,并将跟踪天线对准目标,以达到跟踪功能,同时完成与非实时进程的数据同步。非实时任务运行在Windows内核中,主要完成雷达分系统非实时的状态控制和数据显示,同时完成系统数据的存储等管理,其系统结构如图2所示。
图2 系统结构图
雷达操控显示终端在硬件选型上,选用加固一体计算机,为更好地发挥计算机的图形处理能力,计算机显卡具备2D/3D硬件加速能力。 CPU选用Intel酷睿双核,并将INtime配置成独占模式,即INtime独自占用一个CPU核运行实时进程,Windows占用另一核,这样可提高系统的稳控性和实时性。终端计算机内置一块定时接口板,用于产生雷达系统同步时钟,板卡通过PCI总线向终端计算机提供时钟中断信号。终端与雷达其他分系统之间的通信通过网络传输。
为保证系统的健壮稳定,Windows操作系统采用裁剪的嵌入式XPE操作系统,该系统设计成基于休眠方式启动、内存保护方式运行模式,既保证了系统的快速启动,又保证了系统的稳定可靠。关于XPE操作系统的设计已有较多文献资料参考,本文将不做详细介绍。
3 终端软件设计
终端软件采用VC++开发,基于上述系统结构,软件主要包括INtime的实时进程和Windows的非实时进程,各进程根据任务需求划分相应的任务和功能模块,软件功能结构图如图3所示。
图3软件功能结构图
3.1 INtime进程
INtime实时进程在INtime内核中运行,根据其功能划分主要包括系统定时功能模块、实时跟踪控制功能模块、跟踪数据处理功能模块、网络接口通信功能模块和进程通信管理模块。软件采用多线程方式设计,按实时性要求划分不同优先级的任务,采用适当的任务调度策略,使每个任务按要求适时执行。进程的软件结构如图4所示。
图4 实时进程软件结构图
实时进程采用计数器对外部定时接口板的10ms硬件定时中断进行计数,分别产生40 ms和200 ms中断信号量。根据系统处理实时性要求,将40 ms定时处理线程相对优先级设置为1(高),将200 ms定时处理线程相对优先级设置为2(中),将雷达各分系统与INtime进程的通信线程优先级均设置为0(最高),以保证跟踪传感器跟踪数据的实时可靠。
通信线程主要用于接收网络上跟踪传感器的跟踪距离、角度偏差和状态数据。线程通过网络中断方式实时接收数据,并将数据存入相关的接收数据数组,供40 ms定时处理线程使用。
40ms定时处理线程用于将多跟踪传感器的跟踪数据进行融合处理,并建立跟踪航迹,采用卡尔曼滤波对目标进行航迹的平滑、外推和精确跟踪。根据目标预测位置和天线位置求取角度偏差量,采用速度回路和位置回路控制跟踪伺服分系统,以使跟踪天线保持对准目标方向,实现对目标的实时跟踪。40 ms定时处理线程同时将光电及跟踪雷达传感器的状态数据、系统状态和目标航迹的跟踪处理结果等写入数据队列用于Windows进程显示。
200ms定时处理线程主要用于INtime实时进程与Windows进程间的数据交互。采用共享内存和信号量机制,创建共享内存对象和信号量对象,定时将数据队列中的数据写入共享内存中,主要包括雷达的跟踪状态、跟踪航迹信息、雷达分系统控制信息、时钟信号量等。Windows进程在与INtime进程通信时,通过调用INtime的NTX API,获得INtime实时内核上创建的对象。
3.2 Windows进程
Windows进程与普通桌面Windows系统下的进程设计方法完全兼容。本终端的显示设计采用多线程方式,利用Windows平台的DirectX图形接口,通过DirectDraw进行快速、多层次的页面绘制和显示。采用图形控件进行界面布局,通过各控件的功能定义和相应的消息机制来驱动人机界面操控事件,以完成界面中各功能按钮、对话框、列表框等的操控功能。
雷达图像的显示主要为圆形雷达图像和文字显示,包括PPI坐标背景、电子地图背景、雷达原始视频图像、各种目标点迹、航迹、字符以及天线码盘等信息。采用DirectlDraw图形加速显示技术和页面的分层设计,将DirectDraw页面分为背景层页面、电子地图显示页面、雷达原始回波视频页面、目标页面和动态状态数据页面。通过多线程对各页面显示内容独立进行快速绘制,在Windows进程的主定时器中将各页面叠加绘制到DxDraw主页面,调用DirectDraw的换页函数(Flip)进行显示。由于雷达数字原始视频数据量庞大,显示任务资源消耗较多,为保证INtime进程对CPU资源的合理利用,将用于显示任务的主定时器线程时间周期设计为100 ms,既满足显示画面的流畅性,又不致过多的占用CPU。
Windows进程与INtimc间的数据交互通过通信管理模块来完成,调用INtime的NTX API,访问INtime系统中创建的共享内存数据和信号量数据。
雷达数据的存储以INtime系统设置的定时器为时间基准,对接收到的所有网络数据进行打时标和报文重组,以二进制方式记录在存储介质中,以保证数据的真实性。
3.3 软件的运行
使用XPE+INtime构筑的系统作为雷达操控终端软件运行环境,主要由Real-time控制应用(INtime进程)和GUl应用(Windows进程)两部分构成。终端软件的Windows进程直接双击运行,由XPE操作系统载入内存并执行,INtime实时进程由其系统配套的实时控制应用软件载入器LDRTA.EXE加载到内核并执行。INtime内核将自动创建一个最低优先级线程,用于将计算机上下文切换回Windows进程,以保证两进程在同一硬件平台同时运行。两进程通过共享的内存和信号量进行数据交互,并各自独立运行完成雷达的实时操控显示功能。
4 结语
通过对基于INtime的雷达实时操控显示终端的实验室测试与仿真,以及与雷达实装的现场运行,实时操控显示终端较好地完成了对雷达的实时控制和数据处理运算,满足系统实时性要求,同时能够流畅显示雷达的原始视频回波、检测点迹以及雷达工作状态,表明了该方案能够成功地将雷达实时控制和实时性要求不高的显示集成在一起,既降低成本又增加了系统的可靠性。