基于ARM9的快速對星裝置設計與實現
2 硬件設計
本裝置在設計上,選擇S3C2440作為主控制器構成硬件平臺,利用其豐富的外部接口和高速處理能力,達到實時采集數據、及時處理數據、快速傳輸數據、不附加額外接口設備的目的。由于該裝置需要測量的參數多,GPS、電子羅盤統(tǒng)一采用RS 232接口,保證了測量數據精度和接口一致性。供電統(tǒng)一采用+5 V鋰電池電源供電。
3 軟件設計
本裝置采用ARM9作為主控制器,以Windows CE.net操作系統(tǒng)作為系統(tǒng)平臺,使用EVC4開發(fā)環(huán)境作為開發(fā)工具,軟件采用多線程結構,MFC和API編程技術,實時采集傳感器數據,計算修正方位值,達到準確對星的目的。
3.1 總體程序設計
本裝置程序采用多線程結構,在主線程(用戶接口線程)的基礎上,增加兩個輔助線程(工作者線程),輔助線程負責處理數據采集,主線程負責界面響應、數據融合、數據顯示。線程處理采用API,而不采用MFC編程,增加了程序的通用性。程序中還使用Suspend-Thread掛起線程、ResumeThread恢復線程、Exit-Thread退出線程。
線程同步采用臨界區(qū)域(也稱關鍵區(qū)域,即CRITI-CAL SECTION)措施,首先用CRITICAL_SEC-TION申明一個全局變量,再調用InitializeCriticalSec-tion初始化,使用EnterCriticalSection進入關鍵區(qū)域,使用LeaveCriticalSection離開關鍵區(qū)域,使用Delete-CriticalSection函數刪除關鍵區(qū)域。其關鍵部分代碼如下:
3.2 HMR3000程序設計
電子羅盤數據輸出格式滿足NMEA0183通信協(xié)議規(guī)范,根據需求選用$PTNTHPR語句,每秒更新30次,基本滿足實時測量的要求。$PTNTHPR語句的數據格式為:
$PTNTHPR,1>,2>,3>,4>,5>,6>*hh
各字段含義為:1>表示方位值,2>表示方位狀態(tài),3>表示俯仰值,4>表示俯仰狀態(tài),5>表示橫滾值,6>表示橫滾狀態(tài),hh表示校驗和。采集數據程序在判斷各參數狀態(tài)正常的基礎上,從輸出語句中提取對應參數值。其線程函數部分代碼如下:
3.3 GPS模塊程序設計
GPS模塊數據輸出格式也滿足NMEA0183通信協(xié)議規(guī)范,根據需求選用$GPRMC語句,默認更新速率。$GPRMC語句的數據格式為:
$GPRMC,1>,2>,3>,4>,5>,6>,7>,8>,9>,10>,11>,*hh。
各字段含義為:1>表示方位值,2>表示方位狀態(tài),3>表示俯仰值,4>表示俯仰狀態(tài),5>表示橫滾值,6>表示橫滾狀態(tài)。采集數據程序在判斷各參數狀態(tài)正常的基礎上,從輸出語句中提取對應參數值。其線程函數部分代碼如下:
3.4 對星參數理論值計算
衛(wèi)星通信中重要的一步就是衛(wèi)星通信天線準確對準通信衛(wèi)星。對星需要三個參數:方位、俯仰、極化。下面分別是三個參數的計算公式,其中ψc是衛(wèi)星波束中心經度,ψs為衛(wèi)星的經度,ψg是接收地經度,θ為接收地緯度。
衛(wèi)星通信天線方位角計算公式:
極化角通常位于式(3)和式(4)的計算值之間,為簡化計算常采用式(3)作為極化角計算公式使用。經過GPS采集得到接收地經度、緯度,結合衛(wèi)星經度,采用C語言提供的數學函數可以很簡便地計算出天線準確對星需要的三個參數:方位、俯仰、極化。為對星操作提供理論標準值,將對星操作簡化為比對理論標準值,調整天線,使實際值與理論值完全一致,從而完成對星任務。
3.5 方位角修正程序設計
電子羅盤測量得到的是天線實際指向值,由于電子羅盤是根據地磁場測量出方位值,此方位值實際是以磁北為標準的方位值,而理論值是以真北為標準的方位值,這樣在電子羅盤測量值和理論計算值之間存在一個差值,此差值即為磁偏角。要使電子羅盤測量的方位值代表以真北為標準的方位值,必須在電子羅盤測量的數據基礎上進行磁偏角的修正。
評論