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