新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 軟件化和網絡化的基于Linux的雷達終端系統(tǒng)

軟件化和網絡化的基于Linux的雷達終端系統(tǒng)

作者: 時間:2013-10-23 來源:網絡 收藏


3.1.2 余暉模擬

傳統(tǒng)雷達系統(tǒng)中利用長余輝管作為PPI顯示器。其優(yōu)點是:目標亮度強、衰減慢;噪聲在顯示器上亮度弱、衰減快。這使目標很突出。如果是運動目標,會產生拖尾效應,使運動目標更形象、更容易被發(fā)現(xiàn)。使用普通顯示器,必須提供一種軟件實現(xiàn)機制模擬余輝。一種方法是:對PPI掃描區(qū)域的點進行循環(huán)偽隨機訪問,讀出后進行衰減再寫入。其原理是:按偽隨機序列進行遍歷的點可以近似認為是分布均勻的,而當前掃描區(qū)域只是占整個PPI區(qū)域的極少部分,所以落入當前掃描區(qū)域的偽隨機序列的點數也很少,而遠離當前區(qū)域的隨機序列的點數很多,所以平穩(wěn)后能產生離當前掃描線越遠越暗的余暉效果。

對于半徑512像素點的PPI掃描區(qū)域,其外切矩形為1024×1024。用20bit的偽隨機序列的前10bit對應矩形區(qū)域的X坐標點,后10bit對應Y坐標點,再去掉圓外面、矩形以內的像素。PPI每掃描一根半徑線,就循環(huán)讀出一段隨機點,衰減后再寫入。每次衰減的點數和幅度可根據需要設置。X和Y坐標的隨機表可以事先生成好,以數據文件的形式存儲在硬盤中,程序初始化時一次讀入。

3.1.3 二次信息的分層顯示

廣義的二次信息包括航跡、狀態(tài)監(jiān)控等所有非一次視頻的信息。在軟件方案中,采用了Overlay功能實現(xiàn)。目前通用顯卡都支持此功能。

Overlay如同顯示器前一塊透明的切片,如圖6所示。當需要顯示Overlay時,可同時看到Overlay部分和Primary Surface沒有被Overlay遮擋的地方。當不需要顯示Overlay時,移除Overlay,原來的Primary Surface內容不變,也就是說Primary Surface與Overlay的內容物理上是分開的。而是否顯示Overlay,由Primary Surface上像素的顏色來決定。當Primary Surface上某些區(qū)域的像素設為一種特殊的顏色時,這些區(qū)域顯示的就是Overlay上的內容。這種起過濾作用的顏色稱為Color Key。這種顯示機制完全由顯卡的CPU完成,所以當使用Overlay功能時,程序不會有明顯的性能損失。不同的顯卡,Color Key可能不一樣。
軟件化和網絡化的基于Linux的雷達終端系統(tǒng)
Overlay有多種模式,最常用的是YV12_OVERLAY,Y:U:V=4:2:2。本系統(tǒng)采用了這種模式。
YUV Overlay的一個特點是:適當地固定U、V,可以近似地固定顏色種類,改變Y就相當于改變亮度。測試還表明,在Overlay上顯示視頻比在Primary Surface上顯示要少占用CPU資源。相比Primary Surface 上的RGB顯示方式,這些特性很適合于PPI顯示一次視頻。

一次和二次分層顯示的實現(xiàn)方法是:首先將Primary Surface上位于PPI掃描區(qū)域內的所有像素都填上特殊的Color Key,這樣保證在與Primary Surface關聯(lián)的Overlay上的一次視頻可見;需要顯示二次信息的地方用不同于Color Key的其它顏色填在Primary Surface層上;當不需要顯示二次信息時,只需在Primary Surface上將原來的二次信息用Color Key顏色再寫一遍即可。

3.2 的顯示應用程序框架結構

由于接收網絡組播的視頻幀包是一種阻塞操作,而GUI程序的主線程不能有阻塞操作,所以網絡接收部分應該放在子線程或子進程中。

系統(tǒng)首先選擇了子線程方式,試驗表明在這種方式下顯示部分不均勻。這是因為CPU調度的對象是進程,進程內的線程同時競爭CPU分給該進程的時間片,于是就會出現(xiàn)在某段時間內主線程一直占用CPU,另一段時間網絡部分的子線程占用CPU。網絡接收雖然不會丟包,但是接收速度的不均勻引起了顯示的不均勻。系統(tǒng)又試驗了子進程方式,發(fā)現(xiàn)顯示效果有所改觀,但是改進不大。

設想一下,如果有兩個CPU,并行運行父進程和子進程,那么整體運行效率就會有很大程度的提高。因為,CPU幾乎不需要在不同的進程之間反復切換了。

系統(tǒng)中選用具有超線程功能的Intel Pentium 4處理器,如果操作系統(tǒng)能夠支持SMP(Symmetric Multiple Processing),那么一個CPU相當于兩個CPU,兩個進程就可以并行處理。實際上,2.4版本的內核就支持SMP了。系統(tǒng)選擇的內核版本是2.6.8,手工編譯內核,選用SMP功能。用新的內核運行同樣的程序,顯示很平滑,最快顯示速度達到一圈2s以內,性能得到了明顯提高。內核的靈活定制特性在系統(tǒng)中起關鍵作用。

圖7是主顯機上顯示程序的框架。
軟件化和網絡化的基于Linux的雷達終端系統(tǒng)
兼顧平等,父子進程盡量平均分擔負載。有許多實現(xiàn)進程間通信的機制:管道、消息隊列、共享內存等。系統(tǒng)中選擇共享內存方式,因為這是進程間通信最快捷的方式??蚣苤?,二次信息通過I/O口進入主顯機,由于其數據率比較低,所以系統(tǒng)采用定時的方法進行訪問更新。

本文論證了基于Linux的、的實現(xiàn)可行性,并提出了一套切實可行的實現(xiàn)方案,對方案中的關鍵技術做了必要的闡述。這套方案的推廣對目前國內具有革命性的意義。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉