a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 基于XScale處理器的天線控制系統的設計

基于XScale處理器的天線控制系統的設計

作者: 時間:2009-02-25 來源:網絡 收藏

0 引言

本文引用地址:http://www.j9360.com/article/152640.htm

  隨著信息社會的到來,人類的生產方式、生活方式以及工作方式也隨著現代技術的不斷發展而發生變化。無論在民用還是軍用方面,都需要一種可以在移動中實時、大容量、不間斷地傳遞語音、數據、動態圖像等多媒體信息的衛星跟蹤系統的出現。因此,機動性能強、抗干擾能力強、保密性強的衛星通信系統理所當然地成為了當前移動通信研究領域的熱點與重點。

  本文所介紹的的“動中通”移動衛星,能夠在各種條件下保證高精度地對準目標衛星,準確而快速實現平臺天線和衛星之間的實時通信。由于采用了嵌入式進行開發,該衛星移動天線體積小,性價比優良,實時性好。

  1 系統總體

  1.1 總體方案

  采用“開環穩定+閉環跟蹤”的控制方案。總體思想如下:通過GPS接收機得出載體方位信息,使用姿態傳感器敏感載體的姿態角,快速初始對準衛星,將慣性角速率陀螺儀作為電機伺服控制的反饋元件,敏感載體運動過程中天線平臺在方位和俯仰方向的變化,通過反饋補償保證載體運動過程中平臺的穩定。同時,為克服載體姿態變化快、幅度大,以及陀螺的漂移和電機的特性等諸多復雜因素的影響,滿足衛星通信對跟蹤精度的要求,在陀螺穩定的基礎上還配以電平信號步進跟蹤以達到高精度穩定跟蹤目標衛星的目的。

  采用方位和俯仰兩軸控制,雖可以避免三軸控制的復雜性,但是天線俯仰軸相對于水平面的橫滾變化卻無法消除。該變化對螺旋天線、平板天線影響不大,但是會影響拋物面天線接收信號的強度。這時可以在兩軸穩定控制的基礎上增加極化軸,用電機尋找最佳極化角度。

1.2 嵌入式系統組成

  嵌入式系統是本文的重點內容。嵌入式系統是一種將嵌入了軟件的計算機硬件作為其最重要的一部分的系統。它是一種專用于某個應用或者產品的計算機的系統,既可以是一個獨立的系統,也可以是更大系統的一部分[1]。總體而言,一個嵌入式系統有三個主要組成部分:支撐硬件、主應用軟件和實時操作系統(RTOS)。實時操作系統和主應用軟件集成于計算機硬件系統之中,也就是軟件與硬件的一體化。軟件和硬件之間由BSP層(板極支持包)連接。嵌入式系統的體系結構如圖2所示:

1.3 硬件支持

  中首先要考慮的是如何使操作系統能更有效的管理資源并支持多任務環境。為了移植Windows CE操作系統與開發相關的程序,我們選用Intel PXA255的高端嵌入式解決方案XSBASE255作為實驗平臺。

  該開發板具有我們系統實驗所需的大部分硬件配置。同時,硬件設備廠商為客戶提供了Windows CE.NET下PXA255的BSP,所以在硬件擴展加以改動時,可以很方便的進行BSP開發,只需對現有的源代碼進行修改。

  Intel PXA255是32位RISC,支持v5TE指令集,采用7級超流水線,32KB指令緩存和32KB數據緩存,主頻為400MHz,具有MMU(Memory Management Unit)。XSBASE255采用兩片16MB的Flash Rom提供了32MB的非易失存儲,采用兩片32MB SDRAM組成64MB作為主內存。引導程序、Image等所有的軟件都是存儲在Flash中。同時,PXA255提供眾多的外設接口為開發提供了極大的擴展性和適應性。

  2 系統軟件實現

  2.1 軟件支持

  在嵌入式計算機應用中使用實時操作系統,可使控制系統的實時性得到保證,同時良好的多任務規劃設計及根據需求對軟件進行裁剪,有助于提高系統的穩定性和可靠性。

  Microsoft Windows CE是一個開放的、可裁剪的、32位的實時嵌入式窗口操作系統。可以工作在12種不同的處理器體系結構、180余種CPU上;緊湊、高效和可擴展的特性,使它適用于各種嵌入式系統和產品。擁有多線程、多任務、確定性的實時、完全搶占式優先級的操作系統環境,專門面向只有有限資源的硬件系統[2]。同時,它的模塊化設計方式使得系統開發人員和應用開發人員能夠為多種多樣的產品來定制它。

  Windows CE內核是Windows CE操作系統的核心。系統運行時,Windows CE的內核表現為NK.EXE進程。NK.EXE是所有基于Windows CE的系統中都存在的核心進程,它實現了Win32 API核心進程創建加載、線程調度、中斷處理和內存管理等核心功能[3]。

  當Windows CE加載一個應用程序時,它就產生了一個進程。多個進程使用戶可以同時工作于多個應用程序,而多個線程可以使一個應用程序同時完成多個任務。在任務調度過程,內核維護一個當前操作系統所有線程的優先級列表。每個進程可能包含多個線程,而每一個線程都是一個可執行單元。調度系統控制這些執行單元的執行順序,并允許他們相互之間以可預測的方式交換數據[4]。當中斷發生時,調度系統重新排列所有線程的優先級。


  下面是一些與調度有關的主要函數介紹[5]:

  1、MakeRunIfNeeded(HANDLE hth)函數:主要功能是在需要時調度線程;

  2、MakeRun(PTHREAD pth)函數:如果當前沒有可運行的線程,或者指定的線程pth是優先級最高的線程,那么把pth插入到可運行隊列的最前面,并判斷是否需要重新修改調度策略;

  3、RunqDequeue(PTHREAD pth,DWORD cprio)函數:從運行隊列中刪除一個線程;

  4、SleepqDequeue(PTHREAD pth)函數:把一個線程從睡眠隊列中刪除;

  5、ThreadSleep(DWORD time)函數:讓線程睡眠一段時間。


上一頁 1 2 下一頁

評論


相關推薦

技術專區

關閉