基于RTLinux的軟件無(wú)線(xiàn)電偵察預處理系統
2.嵌入式實(shí)時(shí)Linux
許多嵌入式系統要求能預測、可限定響應時(shí)間地響應外界事件,也就是有實(shí)時(shí)性的要求。用于嵌入式場(chǎng)合的實(shí)時(shí)操作系統就是嵌入式實(shí)時(shí)操作系統,此類(lèi)實(shí)時(shí)系統包括自動(dòng)控制、數據采集和信號處理等系統。一般“實(shí)時(shí)”的含義是指對來(lái)自外界的事件必須在可預測的、相對短的時(shí)間段內得到響應。實(shí)時(shí)系統一般分為2種類(lèi)型:軟實(shí)時(shí)系統和硬實(shí)時(shí)系統。軟實(shí)時(shí)系統指系統整體吞吐量大或者整體響應速度快,但是不能保證在規定的時(shí)間內完成規定的任務(wù)。硬實(shí)時(shí)系統指任務(wù)必須在規定的時(shí)間內正確的完成。
嵌入式實(shí)時(shí)系統有很多,這里只介紹實(shí)時(shí)Linux系統。Linux本身不是一個(gè)是真正的實(shí)時(shí)操作系統,通用的Linux操作系統有3個(gè)不利于實(shí)現實(shí)時(shí)性的弊端:中斷封鎖時(shí)間過(guò)長(cháng);非搶占式Linux內核;耗盡式、機會(huì )均等的進(jìn)程調度策略。但是它已經(jīng)有幾個(gè)增加的選擇可以給基于Linux的系統提供實(shí)時(shí)特性。其中,最常用的辦法是雙內核相結合,把一個(gè)通用操作系統作為一個(gè)任務(wù)運行在一個(gè)實(shí)時(shí)內核上。通用操作系統提供磁盤(pán)讀寫(xiě)、網(wǎng)絡(luò )及通訊、串/并口讀寫(xiě)、系統初始化、內存管理等功能,而實(shí)時(shí)內核則處理實(shí)時(shí)事件的響應。雙內核策略充分兼容標準的Linux,而又采用一種不干擾原Linux的方式來(lái)增加了實(shí)時(shí)功能。
RTLinux(RealTimeLinux)是一個(gè)嵌入式硬實(shí)時(shí)操作系統,RTLinux實(shí)現了一個(gè)小的實(shí)時(shí)核心,僅支持底層任務(wù)創(chuàng )建、中斷服務(wù)例程的裝入、底層任務(wù)通信隊列、中斷服務(wù)例程(ISR)和Linux進(jìn)程。原來(lái)的非實(shí)時(shí)Linux核心作為一個(gè)可搶先的任務(wù)運行于這個(gè)小核心之上,優(yōu)先級最低,隨時(shí)會(huì )被高優(yōu)先級任務(wù)搶占。用戶(hù)可自行編寫(xiě)調度程序,它們可實(shí)現為可加載的核心模塊;已實(shí)現的調度程序有:基于優(yōu)先級的搶占式調度和EDF調度;基于優(yōu)先級的調度使用“單調率算法”,它直接支持周期任務(wù)。RTLinux是硬實(shí)時(shí)系統,系統響應速度可達微秒級。
3.RTLinux預處理系統
我們采用RTLinuxv3.0來(lái)開(kāi)發(fā)預處理系統。從資料上看,RTLinuxv3.0為某些嵌入式處理器提供低于10μm的中斷響應時(shí)間(最差情況),為標準PC提供低于20μm的中斷響應時(shí)間(最差情況)。為了進(jìn)一步驗證RTLinux是否滿(mǎn)足項目實(shí)時(shí)性能的要求,我們對它的實(shí)時(shí)性能指標進(jìn)行了測試。由于在項目中主要的技術(shù)指標是中斷響應時(shí)間,我們采用并口中斷的方法進(jìn)行測試中斷響應時(shí)間。在PII300MHz的PC機上做一個(gè)并口中斷卡,每10μm中斷一次,測試中斷響應時(shí)間,結果如表1所示。從測試結果可以看出,RTLinux具有很好的實(shí)時(shí)性。

采用RTLinux的預處理系統還需要編寫(xiě)設備驅動(dòng)程序。按照在Linux下編寫(xiě)驅動(dòng)程序的規則編寫(xiě),編寫(xiě)以下驅動(dòng)程序:(1)對設備初始化和釋放;(2)把數據從內核傳到硬件和從硬件讀取數據;(3)讀取應用程序傳遞給設備文件的數據和回送應用程序請求的數據;(4)檢測和處理設備出現的錯誤。
如圖3所示,在相應的硬件基礎上,我們加載RTLinuxv3.0操作系統、設備驅動(dòng)程序和預處理程序,就組成了一個(gè)預處理系統。在整個(gè)偵察系統的性能調試中,預處理部分經(jīng)測試運行效果良好,并滿(mǎn)足實(shí)時(shí)性要求。

四、結束語(yǔ)
嵌入式實(shí)時(shí)操作系統是源碼開(kāi)放、系統可裁減的,可以根據處理器的和硬件的類(lèi)型進(jìn)行配置,精簡(jiǎn)了內核,達到最簡(jiǎn)最優(yōu)的系統,使系統具有很好的實(shí)時(shí)性。嵌入式實(shí)時(shí)Linux操作系統運行于高速的微處理器之上,隨著(zhù)微處理器的快速發(fā)展,處理速度幾乎可以和DSP相媲美。作為操作系統,它使用戶(hù)不需和硬件打交道,利用操作系統提供一些標準的接口,可用高級語(yǔ)言來(lái)編寫(xiě)程序,縮短軟件開(kāi)發(fā)周期,降低軟件開(kāi)發(fā)難度,并且大大提高了程序的可移植性和擴展性。所以用嵌入式實(shí)時(shí)Linux操作系統來(lái)代替DSP來(lái)實(shí)現預處理,可以大大提高系統的靈活性和軟件的可移植性,便于系統的維護和升級換代。因此采用RTLinux預處理的軟件無(wú)線(xiàn)電通信偵察系統具有很大的優(yōu)越性。更為重要的是,Linux源碼開(kāi)放的,在該操作系統上開(kāi)發(fā)的程序具有自主知識產(chǎn)權,保密性好,更適應于軍用軟件無(wú)線(xiàn)電通信偵察設備。
評論