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