新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 软件化和网络化的基于Linux的雷达终端系统

软件化和网络化的基于Linux的雷达终端系统

作者: 时间:2013-10-23 来源:网络 收藏


3.1.2 余晖模拟

传统雷达系统中利用长余辉管作为PPI显示器。其优点是:目标亮度强、衰减慢;噪声在显示器上亮度弱、衰减快。这使目标很突出。如果是运动目标,会产生拖尾效应,使运动目标更形象、更容易被发现。使用普通显示器,必须提供一种软件实现机制模拟余辉。一种方法是:对PPI扫描区域的点进行循环伪随机访问,读出后进行衰减再写入。其原理是:按伪随机序列进行遍历的点可以近似认为是分布均匀的,而当前扫描区域只是占整个PPI区域的极少部分,所以落入当前扫描区域的伪随机序列的点数也很少,而远离当前区域的随机序列的点数很多,所以平稳后能产生离当前扫描线越远越暗的余晖效果。

对于半径512像素点的PPI扫描区域,其外切矩形为1024×1024。用20bit的伪随机序列的前10bit对应矩形区域的X坐标点,后10bit对应Y坐标点,再去掉圆外面、矩形以内的像素。PPI每扫描一根半径线,就循环读出一段随机点,衰减后再写入。每次衰减的点数和幅度可根据需要设置。X和Y坐标的随机表可以事先生成好,以数据文件的形式存储在硬盘中,程序初始化时一次读入。

3.1.3 二次信息的分层显示

广义的二次信息包括航迹、状态监控等所有非一次视频的信息。在软件方案中,采用了Overlay功能实现。目前通用显卡都支持此功能。

Overlay如同显示器前一块透明的切片,如图6所示。当需要显示Overlay时,可同时看到Overlay部分和Primary Surface没有被Overlay遮挡的地方。当不需要显示Overlay时,移除Overlay,原来的Primary Surface内容不变,也就是说Primary Surface与Overlay的内容物理上是分开的。而是否显示Overlay,由Primary Surface上像素的颜色来决定。当Primary Surface上某些区域的像素设为一种特殊的颜色时,这些区域显示的就是Overlay上的内容。这种起过滤作用的颜色称为Color Key。这种显示机制完全由显卡的CPU完成,所以当使用Overlay功能时,程序不会有明显的性能损失。不同的显卡,Color Key可能不一样。
软件化和网络化的基于Linux的雷达终端系统
Overlay有多种模式,最常用的是YV12_OVERLAY,Y:U:V=4:2:2。本系统采用了这种模式。
YUV Overlay的一个特点是:适当地固定U、V,可以近似地固定颜色种类,改变Y就相当于改变亮度。测试还表明,在Overlay上显示视频比在Primary Surface上显示要少占用CPU资源。相比Primary Surface 上的RGB显示方式,这些特性很适合于PPI显示一次视频。

一次和二次分层显示的实现方法是:首先将Primary Surface上位于PPI扫描区域内的所有像素都填上特殊的Color Key,这样保证在与Primary Surface关联的Overlay上的一次视频可见;需要显示二次信息的地方用不同于Color Key的其它颜色填在Primary Surface层上;当不需要显示二次信息时,只需在Primary Surface上将原来的二次信息用Color Key颜色再写一遍即可。

3.2 的显示应用程序框架结构

由于接收网络组播的视频帧包是一种阻塞操作,而GUI程序的主线程不能有阻塞操作,所以网络接收部分应该放在子线程或子进程中。

系统首先选择了子线程方式,试验表明在这种方式下显示部分不均匀。这是因为CPU调度的对象是进程,进程内的线程同时竞争CPU分给该进程的时间片,于是就会出现在某段时间内主线程一直占用CPU,另一段时间网络部分的子线程占用CPU。网络接收虽然不会丢包,但是接收速度的不均匀引起了显示的不均匀。系统又试验了子进程方式,发现显示效果有所改观,但是改进不大。

设想一下,如果有两个CPU,并行运行父进程和子进程,那么整体运行效率就会有很大程度的提高。因为,CPU几乎不需要在不同的进程之间反复切换了。

系统中选用具有超线程功能的Intel Pentium 4处理器,如果操作系统能够支持SMP(Symmetric Multiple Processing),那么一个CPU相当于两个CPU,两个进程就可以并行处理。实际上,2.4版本的内核就支持SMP了。系统选择的内核版本是2.6.8,手工编译内核,选用SMP功能。用新的内核运行同样的程序,显示很平滑,最快显示速度达到一圈2s以内,性能得到了明显提高。内核的灵活定制特性在系统中起关键作用。

图7是主显机上显示程序的框架。
软件化和网络化的基于Linux的雷达终端系统
兼顾平等,父子进程尽量平均分担负载。有许多实现进程间通信的机制:管道、消息队列、共享内存等。系统中选择共享内存方式,因为这是进程间通信最快捷的方式。框架中,二次信息通过I/O口进入主显机,由于其数据率比较低,所以系统采用定时的方法进行访问更新。

本文论证了基于Linux的的实现可行性,并提出了一套切实可行的实现方案,对方案中的关键技术做了必要的阐述。这套方案的推广对目前国内具有革命性的意义。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭