基于XScale處理器的天線控制系統(tǒng)的設(shè)計(jì)
0 引言
本文引用地址:http://m.butianyuan.cn/article/152640.htm隨著信息社會的到來,人類的生產(chǎn)方式、生活方式以及工作方式也隨著現(xiàn)代技術(shù)的不斷發(fā)展而發(fā)生變化。無論在民用還是軍用方面,都需要一種可以在移動中實(shí)時(shí)、大容量、不間斷地傳遞語音、數(shù)據(jù)、動態(tài)圖像等多媒體信息的衛(wèi)星天線跟蹤系統(tǒng)的出現(xiàn)。因此,機(jī)動性能強(qiáng)、抗干擾能力強(qiáng)、保密性強(qiáng)的衛(wèi)星通信系統(tǒng)理所當(dāng)然地成為了當(dāng)前移動通信研究領(lǐng)域的熱點(diǎn)與重點(diǎn)。
本文所介紹的基于XScale微處理器的“動中通”移動衛(wèi)星天線控制系統(tǒng),能夠在各種條件下保證天線高精度地對準(zhǔn)目標(biāo)衛(wèi)星,準(zhǔn)確而快速實(shí)現(xiàn)平臺天線和衛(wèi)星之間的實(shí)時(shí)通信。由于采用了嵌入式控制系統(tǒng)進(jìn)行開發(fā),該衛(wèi)星移動天線控制系統(tǒng)體積小,性價(jià)比優(yōu)良,實(shí)時(shí)性好。
1 系統(tǒng)總體設(shè)計(jì)
1.1 總體方案
采用“開環(huán)穩(wěn)定+閉環(huán)跟蹤”的控制方案。總體思想如下:通過GPS接收機(jī)得出載體方位信息,使用姿態(tài)傳感器敏感載體的姿態(tài)角,快速初始對準(zhǔn)衛(wèi)星,將慣性角速率陀螺儀作為電機(jī)伺服控制的反饋元件,敏感載體運(yùn)動過程中天線平臺在方位和俯仰方向的變化,通過反饋補(bǔ)償保證載體運(yùn)動過程中平臺的穩(wěn)定。同時(shí),為克服載體姿態(tài)變化快、幅度大,以及陀螺的漂移和電機(jī)的特性等諸多復(fù)雜因素的影響,滿足衛(wèi)星通信對跟蹤精度的要求,在陀螺穩(wěn)定的基礎(chǔ)上還配以電平信號步進(jìn)跟蹤以達(dá)到高精度穩(wěn)定跟蹤目標(biāo)衛(wèi)星的目的。
采用方位和俯仰兩軸控制,雖可以避免三軸控制的復(fù)雜性,但是天線俯仰軸相對于水平面的橫滾變化卻無法消除。該變化對螺旋天線、平板天線影響不大,但是會影響拋物面天線接收信號的強(qiáng)度。這時(shí)可以在兩軸穩(wěn)定控制的基礎(chǔ)上增加極化軸,用電機(jī)尋找最佳極化角度。
1.2 嵌入式系統(tǒng)組成
嵌入式系統(tǒng)設(shè)計(jì)是本文的重點(diǎn)內(nèi)容。嵌入式系統(tǒng)是一種將嵌入了軟件的計(jì)算機(jī)硬件作為其最重要的一部分的系統(tǒng)。它是一種專用于某個(gè)應(yīng)用或者產(chǎn)品的基于計(jì)算機(jī)的系統(tǒng),既可以是一個(gè)獨(dú)立的系統(tǒng),也可以是更大系統(tǒng)的一部分[1]??傮w而言,一個(gè)嵌入式系統(tǒng)有三個(gè)主要組成部分:支撐硬件、主應(yīng)用軟件和實(shí)時(shí)操作系統(tǒng)(RTOS)。實(shí)時(shí)操作系統(tǒng)和主應(yīng)用軟件集成于計(jì)算機(jī)硬件系統(tǒng)之中,也就是軟件與硬件的一體化。軟件和硬件之間由BSP層(板極支持包)連接。嵌入式系統(tǒng)的體系結(jié)構(gòu)如圖2所示:
1.3 硬件支持
設(shè)計(jì)中首先要考慮的是如何使操作系統(tǒng)能更有效的管理資源并支持多任務(wù)環(huán)境。為了移植Windows CE操作系統(tǒng)與開發(fā)相關(guān)的程序,我們選用基于Intel XScale PXA255處理器的高端嵌入式解決方案XSBASE255作為實(shí)驗(yàn)平臺。
該開發(fā)板具有我們系統(tǒng)實(shí)驗(yàn)所需的大部分硬件配置。同時(shí),硬件設(shè)備廠商為客戶提供了Windows CE.NET下PXA255的BSP,所以在硬件擴(kuò)展加以改動時(shí),可以很方便的進(jìn)行BSP開發(fā),只需對現(xiàn)有的源代碼進(jìn)行修改。
Intel XScale PXA255是32位RISC處理器,支持ARMv5TE指令集,采用7級超流水線,32KB指令緩存和32KB數(shù)據(jù)緩存,主頻為400MHz,具有MMU(Memory Management Unit)。XSBASE255采用兩片16MB的Flash Rom提供了32MB的非易失存儲,采用兩片32MB SDRAM組成64MB作為主內(nèi)存。引導(dǎo)程序、Image等所有的軟件都是存儲在Flash中。同時(shí),PXA255提供眾多的外設(shè)接口為開發(fā)提供了極大的擴(kuò)展性和適應(yīng)性。
2 系統(tǒng)軟件實(shí)現(xiàn)
2.1 軟件支持
在嵌入式計(jì)算機(jī)應(yīng)用中使用實(shí)時(shí)操作系統(tǒng),可使控制系統(tǒng)的實(shí)時(shí)性得到保證,同時(shí)良好的多任務(wù)規(guī)劃設(shè)計(jì)及根據(jù)需求對軟件進(jìn)行裁剪,有助于提高系統(tǒng)的穩(wěn)定性和可靠性。
Microsoft Windows CE是一個(gè)開放的、可裁剪的、32位的實(shí)時(shí)嵌入式窗口操作系統(tǒng)??梢怨ぷ髟?2種不同的處理器體系結(jié)構(gòu)、180余種CPU上;緊湊、高效和可擴(kuò)展的特性,使它適用于各種嵌入式系統(tǒng)和產(chǎn)品。擁有多線程、多任務(wù)、確定性的實(shí)時(shí)、完全搶占式優(yōu)先級的操作系統(tǒng)環(huán)境,專門面向只有有限資源的硬件系統(tǒng)[2]。同時(shí),它的模塊化設(shè)計(jì)方式使得系統(tǒng)開發(fā)人員和應(yīng)用開發(fā)人員能夠?yàn)槎喾N多樣的產(chǎn)品來定制它。
Windows CE內(nèi)核是Windows CE操作系統(tǒng)的核心。系統(tǒng)運(yùn)行時(shí),Windows CE的內(nèi)核表現(xiàn)為NK.EXE進(jìn)程。NK.EXE是所有基于Windows CE的系統(tǒng)中都存在的核心進(jìn)程,它實(shí)現(xiàn)了Win32 API核心進(jìn)程創(chuàng)建加載、線程調(diào)度、中斷處理和內(nèi)存管理等核心功能[3]。
當(dāng)Windows CE加載一個(gè)應(yīng)用程序時(shí),它就產(chǎn)生了一個(gè)進(jìn)程。多個(gè)進(jìn)程使用戶可以同時(shí)工作于多個(gè)應(yīng)用程序,而多個(gè)線程可以使一個(gè)應(yīng)用程序同時(shí)完成多個(gè)任務(wù)。在任務(wù)調(diào)度過程,內(nèi)核維護(hù)一個(gè)當(dāng)前操作系統(tǒng)所有線程的優(yōu)先級列表。每個(gè)進(jìn)程可能包含多個(gè)線程,而每一個(gè)線程都是一個(gè)可執(zhí)行單元。調(diào)度系統(tǒng)控制這些執(zhí)行單元的執(zhí)行順序,并允許他們相互之間以可預(yù)測的方式交換數(shù)據(jù)[4]。當(dāng)中斷發(fā)生時(shí),調(diào)度系統(tǒng)重新排列所有線程的優(yōu)先級。
下面是一些與調(diào)度有關(guān)的主要函數(shù)介紹[5]:
1、MakeRunIfNeeded(HANDLE hth)函數(shù):主要功能是在需要時(shí)調(diào)度線程;
2、MakeRun(PTHREAD pth)函數(shù):如果當(dāng)前沒有可運(yùn)行的線程,或者指定的線程pth是優(yōu)先級最高的線程,那么把pth插入到可運(yùn)行隊(duì)列的最前面,并判斷是否需要重新修改調(diào)度策略;
3、RunqDequeue(PTHREAD pth,DWORD cprio)函數(shù):從運(yùn)行隊(duì)列中刪除一個(gè)線程;
4、SleepqDequeue(PTHREAD pth)函數(shù):把一個(gè)線程從睡眠隊(duì)列中刪除;
5、ThreadSleep(DWORD time)函數(shù):讓線程睡眠一段時(shí)間。
評論