• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于ARM9的快速對星裝置設計與實現(xiàn)

      2010-05-13 09:17:24伍文平,王小兵
      現(xiàn)代電子技術 2009年19期

      伍文平,王小兵

      摘 要:該裝置以ARM9為核心,采用Windows CE多線程編程技術,分別采集GPS和電子羅盤等傳感器件數(shù)據(jù),加以綜合計算,得到衛(wèi)星通信天線對星的理論值與實際值,調(diào)整天線指向使實際值與理論值一致,即可完成對星。使用該裝置能夠明顯縮短對星時間,平均對星時間由原來不可預知,縮短到2 min以內(nèi),顯著提高了通信效能。該裝置在天線方位角的磁偏角修正方面具有先進性。

      關鍵詞:電子羅盤;對星;磁偏角;ARM9

      中圖分類號:TP216文獻標識碼:A

      文章編號:1004-373X(2009)19-053-03

      Design and Implement of Quickly Aimed the Satellite Device Based on ARM9

      WU Wenping1,WANG Xiaobing2

      (1.Uint 69046,Urumqi,830002;2.Xinjiang Mobile Communication Corp.,Urumqi,830063,China)

      Abstract:This device based on ARM9 collects the data from GPS and compass,then the theoretic value and the real value can obtain by computing the data.The antenna can be rotated to make the real value equal to the theoretic value,then the antenna is aimed at the satellite accurately.Using this device can reduce the time of aim the satellite,the average time for aim the satellite can be reduced from the unpredictable period to 2 minutes,then the efficiency of communication is increased markedly.The device is advanced on the azimuthal angle revised by the declination.

      Keywords:compass;aimed the satellite;declination;ARM9

      0 引 言

      大中型衛(wèi)星站均具有相應的、完善的天線跟蹤伺服系統(tǒng),天線伺服跟蹤系統(tǒng)依據(jù)信標信號強弱,決定天線轉(zhuǎn)向,驅(qū)動天線旋轉(zhuǎn),達到準確對星。隨著通信技術和電子技術的發(fā)展,小型衛(wèi)星站如車載站、便攜站受機動性能和便攜性能的局限,不可能采用大中型衛(wèi)星站才能使用的伺服跟蹤系統(tǒng),采用不同原理,開發(fā)適用于小型衛(wèi)星站天線的對星裝置,具有現(xiàn)實意義。

      1 系統(tǒng)概述

      該裝置通過GPS采集地理信息、電子羅盤采集姿態(tài)信息,根據(jù)GPS采集的地理信息,結(jié)合通信衛(wèi)星位置,計算出對星所需要的標準方位、俯仰、極化參數(shù),同時計算出當?shù)?、當年磁偏角?shù)據(jù);通過采集電子羅盤數(shù)據(jù),得到初步方位、俯仰、極化數(shù)據(jù),其中俯仰和極化均為天線實際指向值,但是方位值是以磁北為標準測量值;通過GPS得到的磁偏角數(shù)據(jù),對從電子羅盤得到的以磁北為標準的方位值進行修正,得到比較準確的、以真北為標準的真實方位數(shù)據(jù)。其系統(tǒng)結(jié)構(gòu)如圖1所示,其中基于EVC4平臺的多線程應用程序流程結(jié)構(gòu)如圖2所示。

      圖1 系統(tǒng)結(jié)構(gòu)構(gòu)圖

      圖2 簡要程序流程圖

      2 硬件設計

      本裝置在設計上,選擇S3C2440作為主控制器構(gòu)成硬件平臺,利用其豐富的外部接口和高速處理能力,達到實時采集數(shù)據(jù)、及時處理數(shù)據(jù)、快速傳輸數(shù)據(jù)、不附加額外接口設備的目的。由于該裝置需要測量的參數(shù)多,GPS、電子羅盤統(tǒng)一采用RS 232接口,保證了測量數(shù)據(jù)精度和接口一致性。供電統(tǒng)一采用+5 V鋰電池電源供電。

      3 軟件設計

      本裝置采用ARM9作為主控制器,以Windows CE.net操作系統(tǒng)作為系統(tǒng)平臺,使用EVC4開發(fā)環(huán)境作為開發(fā)工具,軟件采用多線程結(jié)構(gòu),MFC和API編程技術,實時采集傳感器數(shù)據(jù),計算修正方位值,達到準確對星的目的。

      3.1 總體程序設計

      本裝置程序采用多線程結(jié)構(gòu),在主線程(用戶接口線程)的基礎上,增加兩個輔助線程(工作者線程),輔助線程負責處理數(shù)據(jù)采集,主線程負責界面響應、數(shù)據(jù)融合、數(shù)據(jù)顯示。線程處理采用API,而不采用MFC編程,增加了程序的通用性。程序中還使用SuspendThread掛起線程、ResumeThread恢復線程、ExitThread退出線程[1,2]。

      線程同步采用臨界區(qū)域(也稱關鍵區(qū)域,即CRITICALSECTION)措施,首先用CRITICALSECTION申明一個全局變量,再調(diào)用InitializeCriticalSection初始化,使用EnterCriticalSection進入關鍵區(qū)域,使用LeaveCriticalSection離開關鍵區(qū)域,使用DeleteCriticalSection 函數(shù)刪除關鍵區(qū)域[1,2]。其關鍵部分代碼如下:

      CRITICALSECTION gcs;

      DWORD WINAPI GpsThreadProc(LPVOID);

      DWORD WINAPI CompassThreadProc(LPVOID);

      void MainDlg::Starton()

      { …

      HANDLE hThread1,hThread2;

      DWORD dwThreadId1,dwThreadId2;

      hThread1 = CreateThread(NULL,0,GpsThreadProc,NULL,0,&dwThreadId1;);

      hThread2 = CreateThread(NULL,0,CompassThreadProc,NULL,0,&dwThreadId2;);

      if((hThread1 != NULL)&( hThread2 != NULL))

      {…//創(chuàng)建線程后的一些初始化、計算、顯示等工作}

      InitializeCriticalSection(&gcs;);

      WaitForSingleObject(hThread1,INFINITE);

      WaitForSingleObject(hThread2,INFINITE);

      DeleteCriticalSection(&gcs;);

      CloseHandle(hThread1);

      CloseHandle(hThread2);

      }

      3.2 HMR3000程序設計

      電子羅盤數(shù)據(jù)輸出格式滿足NMEA0183通信協(xié)議規(guī)范,根據(jù)需求選用$PTNTHPR語句,每秒更新30次,基本滿足實時測量的要求。$PTNTHPR語句的數(shù)據(jù)格式為[3,4]:

      $PTNTHPR,<1>,<2>,<3>,<4>,<5>,<6>*hh

      各字段含義為:<1>表示方位值,<2>表示方位狀態(tài),<3>表示俯仰值,<4>表示俯仰狀態(tài), <5>表示橫滾值,<6>表示橫滾狀態(tài),hh表示校驗和。采集數(shù)據(jù)程序在判斷各參數(shù)狀態(tài)正常的基礎上,從輸出語句中提取對應參數(shù)值。其線程函數(shù)部分代碼如下:

      DWORD WINAPI CompassThreadProc(LPVOID)

      {…

      EnterCriticalSection(&gcs;);

      ucTemp=ReadByte();

      if(ucTemp=′$′) //判斷語句開始

      {iAZ=0;iEL=0;iPOL=0;numberComa=0;}//變量初始化

      if(ucTemp1=′,′)

      {numberComa++;}//逗號加一,根據(jù)逗號數(shù)目劃分字段

      If((numberComa==1)&(ucTemp!=′,′))//讀取方位數(shù)據(jù)

      {AZ[iAZ]=ucTemp;iAZ++;}

      If((numberComa==2)&(ucTemp!=′,′))//讀取方位狀態(tài)

      {MarkAZ=ucTemp;}

      …//讀取其他參數(shù)并處理

      LeaveCriticalSection(&gcs;);

      return 0;

      }

      3.3 GPS模塊程序設計

      GPS模塊數(shù)據(jù)輸出格式也滿足NMEA0183通信協(xié)議規(guī)范,根據(jù)需求選用$GPRMC語句[5],默認更新速率。$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)正常的基礎上,從輸出語句中提取對應參數(shù)值。其線程函數(shù)部分代碼如下:

      DWORD WINAPI GpsThreadProc(LPVOID)

      {…

      EnterCriticalSection(&gcs;);

      ucTemp=ReadByte();

      if(ucTemp==′$′)

      {iLog=0;iLat=0;numberComa=0;}

      if(ucTemp==′,′)

      {numberComa++;}

      if((numberComa==2)&(ucTemp!=′,′)) //讀取標示位,為A則數(shù)據(jù)有效

      {iFlag=ucTemp;}

      if((numberComa==3)&(ucTemp!=′,′))//讀取緯度數(shù)據(jù)

      {Lat[iLat]=ucTemp;iLat++;}

      if((numberComa==5)&(ucTemp!=′,′))//讀取經(jīng)度數(shù)據(jù)

      {Log[iLog]=ucTemp;iLog++;}

      …//讀取其他數(shù)據(jù)并處理

      LeaveCriticalSection(&gcs;);

      return 0;…

      }

      3.4 對星參數(shù)理論值計算

      衛(wèi)星通信中重要的一步就是衛(wèi)星通信天線準確對準通信衛(wèi)星。對星需要三個參數(shù):方位、俯仰、極化。下面分別是三個參數(shù)的計算公式[6],其中Ψc是衛(wèi)星波束中心經(jīng)度,Ψs為衛(wèi)星的經(jīng)度,Ψg是接收地經(jīng)度,θ為接收地緯度。

      衛(wèi)星通信天線方位角計算公式:

      AZ=arctg[tg(Ψs -Ψg)/sin θ]

      (1)

      俯仰角計算公式:

      EL=arctgcos(Ψs-Ψg)cos θ-0.151 721-[cos(Ψs-Ψg)cos θ]2

      (2)

      極化角計算公式1:

      POL=arctg[sin(Ψs-Ψg)/tg θ]

      (3)

      極化角計算公式2:

      POL=arctg[sin(Ψc-Ψg)/tg θ]

      (4)

      極化角通常位于式(3)和式(4)的計算值之間,為簡化計算常采用式(3)作為極化角計算公式使用。

      經(jīng)過GPS采集得到接收地經(jīng)度、緯度,結(jié)合衛(wèi)星經(jīng)度,采用C語言提供的數(shù)學函數(shù)可以很簡便地計算出天線準確對星需要的三個參數(shù):方位、俯仰、極化。為對星操作提供理論標準值,將對星操作簡化為比對理論標準值,調(diào)整天線,使實際值與理論值完全一致,從而完成對星任務。

      3.5 方位角修正程序設計

      電子羅盤測量得到的是天線實際指向值,由于電子羅盤是根據(jù)地磁場測量出方位值,此方位值實際是以磁北為標準的方位值,而理論值是以真北為標準的方位值,這樣在電子羅盤測量值和理論計算值之間存在一個差值,此差值即為磁偏角。要使電子羅盤測量的方位值代表以真北為標準的方位值,必須在電子羅盤測量的數(shù)據(jù)基礎上進行磁偏角的修正[7]。

      根據(jù)IGRF2005地磁場模型,利用NOAA的NGDC提供的磁偏角計算程序,逐一計算覆蓋我國領土及周邊的磁偏角數(shù)據(jù),其緯度為北緯10°~50°,經(jīng)度為東經(jīng)70°~140°,構(gòu)成41×71的二維數(shù)組,根據(jù)經(jīng)度、緯度數(shù)據(jù)提取磁偏角數(shù)據(jù),與采集的羅盤數(shù)據(jù)進行運算,修正羅盤方位值,從而得到代表物體指向的比較準確的方位值。其部分代碼如下所示:

      fAZ=cAZ+Dec[nLat,nLog];

      Double Dec[int x,int y]

      { ……

      Doule DecTable[41,71]

      {{23,232,233,235,235,235,233,23,23,225,222,212,212,205,198,192,183,175,167,157,147,137,127,115,105,095,085,075,065,055,047,04,033,027,022,018,015,013,012,012,012,013,017,018,022,025,028,032,035,038,04,042,043,043,042,04,037,032,025,018,01,0,-01,-022,-035,-05,-065,-082,-10,-118},…}

      //磁偏角數(shù)組

      Return(DecTable[x-10,y-70]);

      }

      從電子羅盤得到的方位數(shù)據(jù),經(jīng)過磁偏角修正,形成以真北為標準的真實方位數(shù)據(jù),從而具有與理論對星參數(shù)比對的基礎。

      4 應用及結(jié)果

      該裝置巧妙利用GPS模塊和電子羅盤模塊,在分別采集模塊數(shù)據(jù)的基礎上,利用地理信息進行查表運算,得出當?shù)卮牌?利用磁偏角修正方位,得到較為準確的方位指向數(shù)據(jù)。此裝置采用S3C2440ARM9芯片作為主CPU,Windows CE.Net為操作系統(tǒng)平臺;電子羅盤選用Honeywell HMR3000,GPS選用GARMIN GPS25LVS,蘑菇頭天線,單一+5 V供電,輸出接口均為RS 232。該系統(tǒng)精度高、實時性好、界面直觀,具有廣泛的應用前景。某型衛(wèi)星通信裝備,天線口徑1 m,工作于Ku波段,其半功率波瓣寬度近似計算公式為:θ=70λ/D[6],得到半功率波瓣寬度θ=1.75°;通過磁偏角修正后的電子羅盤角度指示誤差為φ=±0.5°,θ≥φ,滿足應用需求。2009年烏魯木齊的磁偏角為-2.93°,如果不加磁偏角修正,其誤差總和為2.93°+0.5°=3.43°,超過半功率波束寬度,無法完成對星任務。程序運行后界面如圖3所示。

      圖3 快速對星裝置程序?qū)嵗?/p>

      5 結(jié) 語

      經(jīng)過使用證明:該裝置經(jīng)過磁偏角修正后,可以使用于方位精度要求±0.5°、傾角和橫滾經(jīng)度要求±0.1°的物體位置和姿態(tài)測量。經(jīng)過在昆明、喀什、北京等地實際使用測量,效果良好,平均對星時間由原來不確定減少到2 min以內(nèi)(實際測量平均時間為14 min),改善效果明顯。使用中注意事項:由于此裝置采用的電子羅盤,利用地磁場根據(jù)磁阻傳感信息計算方位的原理,因此,此裝置在使用中要求盡量遠離框架式建筑物、鐵礦廠、鐵柵欄、鐵門鐵窗等大型硬鐵物質(zhì),避免因硬鐵物質(zhì)對磁力線的影響,導致測量誤差大的情況出現(xiàn)。

      參考文獻

      [1]高守傳,聶云銘,鄭靜.Visual C++6.0開發(fā)指南[M].北京:人民郵電出版社,2007.

      [2]明日科技.Visual C++程序開發(fā)范例寶典[M].北京:人民郵電出版社,2007.

      [3]Honeywell Corp.HMR3000 Digital Compass Module User′s Guide[Z].1999.

      [5]GARMIN Corp.GPS25 LP Series GPS Sensor Boards Technical Specification[Z].2000.

      [6]呂海寰,蔡劍銘,甘仲民,等.衛(wèi)星通信系統(tǒng)[M].北京:人民郵電出版社,1988.

      [4]葛偉,馮桂蘭,黃光偉,等.HMR3000數(shù)字羅盤在船舶導航中的應用[J].科學技術與工程,2006,6(16):2 579-2 580.

      [8]黃少鋒,張尊泉,鄧斌.雷達圖像傳輸天線自動控制系統(tǒng)的設計[J].電子技術應用,2007,33(5):86-88.

      [7]呂永清,蔡亞先,程駿玲.地震儀器定向與磁偏角[J].大地測量與地球動力學,2006,26(2):120-122.

      [9]侯志強,王祖林.車載天線定向系統(tǒng)設計[J].電子測量技術,2006,29(4):17-18.

      [10]章大勇,吳文啟,吳美平,等.基于測姿GPS及電子羅盤組合的姿態(tài)估計算法[J].中國航海,2007(4):33-36,49.

      嘉善县| 康乐县| 怀化市| 德州市| 潼关县| 会理县| 和静县| 多伦县| 静乐县| 东阿县| 雷波县| 许昌市| 祁东县| 象山县| 扶绥县| 万年县| 商南县| 成都市| 平邑县| 汉阴县| 厦门市| 莱西市| 鲁甸县| 永康市| 申扎县| 雷波县| 高阳县| 屏边| 泸州市| 嫩江县| 嘉黎县| 铜鼓县| 金秀| 安仁县| 黑水县| 利辛县| 兴仁县| 东至县| 东明县| 房山区| 华安县|