1 引 言
嵌入式系統(tǒng)是以應用為中心,計算機技術為基礎,軟硬件可裁剪,對功能,、可靠性,、成本,、體積,、功耗等有嚴格要求的專用計算機系統(tǒng),。使用嵌入式系統(tǒng)不僅對穩(wěn)定性有很大的改善,而且使應用模塊化,極大提高程序的可讀性,、可擴展性和可移植性[1]。
全球定位系統(tǒng)(Global Position System,GPS)是可在海,、陸,、空進行全方位實時三維導航與定位的新一代衛(wèi)星導航定位系統(tǒng),具有全天候、高精度和高效益等特點,現(xiàn)GPS已在各領域得到廣泛應用[2],。
本文采用嵌入式操作系統(tǒng)μC/OS-II,控制OEM板接收導航信息,并對GPS數(shù)據(jù)采集系統(tǒng)的硬件和軟件提出了詳細的設計方案,給出了提取GPS特征數(shù)據(jù)的算法,這些對研究嵌入式系統(tǒng)應用,、GPS定位及其在組合導航中的應用以及對OEM板的二次開發(fā)等都是實用的。
2 系統(tǒng)總體設計
嵌入式GPS數(shù)據(jù)采集系統(tǒng)由接收部分(OEM板),、電平轉換部分(MAX232),、控制部分、顯示部分組成,硬件結構如圖1所示,。
OEM板通過天線接收來自GPS的導航數(shù)據(jù)并經過電平轉換后發(fā)送給EP7312, EP7312接收OEM板發(fā)來
的數(shù)據(jù)并存儲,、顯示。EP7312與OEM板之間采用異步串行方式通信,幀格式1位起始位,8位數(shù)據(jù)位,1位停止位,無校驗位,波特率為9600 bit.s-1,。通過軟件控制EP7312對GPS信號進行實時處理,以獲得當前的經度,、緯度坐標等所需信息,并通過液晶顯示。
3 系統(tǒng)硬件配置
3.1 接收模塊
GPS-OEM板主要是由變頻器,、標頻器,、信號通道、微處理器和存儲單元等構成,。在上電完成初始自檢后,它將自動地接收來自天線的GPS射頻信號,經過變頻,、放大、相關,、混頻等一系列處理后,完成并行通道對其視界內幾何位置最佳的數(shù)顆衛(wèi)星的連續(xù)跟蹤,并且測出信號從衛(wèi)星到接收天線的傳播時間,解譯出GPS衛(wèi)星所發(fā)送的導航電文,最后經由I/0口輸出串行數(shù)據(jù),這些數(shù)據(jù)主要是向用戶提供定位信息,包括緯度,、經度、速度,、時間等,。
系統(tǒng)接收部分選用的Jupiter TU30-D410 -031,是美國Rockwell公司生產的并行12通道OEM板。該OEM板具有體積小,、定時時間短,、無靜態(tài)漂移等特點,能夠提供位置、速度,、時間,、定位與導航信息,以載波相位輸出、1PPS時標和10kHz方波輸出,適合各種導航定位的應用,。
3.2 控制模塊
系統(tǒng)采用Cirrus Logic公司的32位嵌入式處理器EP7312,。該ARM處理器內帶8K緩存,支持Thumb指令。EP7312資源豐富,功能強大,有27個通用I/O,2個UART,2個定時器,并內帶LCD控制器,可直接連接單色,、彩色LCD,。EP7312功耗很低,最大不超過90mW,。
采用EP7312構成的GPS應用系統(tǒng),具有功耗低、體積小,、使用靈活的特點,系統(tǒng)的結構和功能可以根據(jù)需求的不同進行個性化配置,而且可以很方便地進行系統(tǒng)外設的擴展,。
3.3 顯示模塊
本系統(tǒng)采用液晶顯示器是SHARP公司的彩色LCD,有效顯示點陣為320×240,其功耗較低,抗干擾能力強,體積小。由于EP7312內部帶有LCD控制器,當系統(tǒng)接收OEM板輸出的導航數(shù)據(jù)信息時,只要設置其內部控制器的寄存器就可以對LCD實現(xiàn)控制,然后再通過向Frame Buffer輸出接收到的并經過處理的導航信息,這時顯示屏上就可以顯示定位點精確的經度,、緯度及本地時間了,。
4 系統(tǒng)軟件設計及實現(xiàn)
4.1 μC/OS-II簡介
μC/OS-II是開源實時嵌入式操作系統(tǒng),絕大部分代碼是用C編寫的,其可移植性較強,可廣泛地應用于各種不同的硬件平臺上[3]。μC/OS-II是一個占先式實時系統(tǒng),當有優(yōu)先級高的任務就緒時,原任務將被打斷而轉為優(yōu)先級較高的任務,這也是實時性的重要保證,。μC/OS-II具體移植可參照其它資料,。
4.2 應用程序設計
根據(jù)設計要求,系統(tǒng)將應用程序劃分為采集存儲和顯示兩個任務,其優(yōu)先級分別為10和11。采集存儲任務的主要功能是對導航數(shù)據(jù)采集,并且每30秒作為歷史記錄存儲一次,以便與當前的導航信息比較,。首先必須掌握系統(tǒng)的通信協(xié)議,。GPS-OEM板采用NMEA-0183通信標準格式,可以輸出多種句型,均以“$”開頭。輸出的語句按串口通信協(xié)議,波特率9600bit.s-1,1位開始位,8位數(shù)據(jù)位,1位停止位,無奇偶校驗,。輸出數(shù)據(jù)采用的是ASCⅡ碼字符,內容包含了緯度,、經度、速度,、日期,、航向及衛(wèi)星狀況等信息。語句達十余種,本系統(tǒng)所使用的語句僅限于$GPRMC定位數(shù)據(jù)語句,。其結構為:
$GPRMC,<1>,<2>,<3>,<4>,<5>,
<6>,<7>,<8>,<9>,<10>,<11>*hh
其中“GP”為交談識別符;“RMC”為語句識別符;“*”為校驗和識別符;“hh”為校驗和,其代表了“$”與“*”之間所有字符的按位異或值(不包括這兩個字符),。
$GPRMC語句數(shù)據(jù)區(qū)的內容為:
<1>定位點的協(xié)調世界時間(UTC),hhmmss(時分秒)格式;
<2>定位狀態(tài),A=有效定位,V=無效定位;
<3>定位點緯度,ddmm.mmmm(度分)格式;
<4>緯度半球,N(北半球)或S(南半球);
<5>定位點經度,dddmm.mmmmm(度分)格式;
<6>經度半球,E(東經)或W(西經);
<7>地面速率,000.0節(jié)~999.9節(jié);
<8>地面航向,000.0度~359.9度;
<9>UTC日期,ddmmyy(日月年)格式;
<
10>磁偏角,000.0度~180度;
<11>磁偏角方向,E(東)或W(西)。
由于TU30-D410-031的波特率設置為9600bit.s-1,因此任務運行時,首先應將串行口的波特率設為此值,EP7312就會接收到OEM板的定位數(shù)據(jù),。在串口收到信息后,先判別是否為語句引導頭“$GPRMC”,否,則放棄此次接收;是,則接收數(shù)據(jù)內容,。由于接收到$GPRMC幀頭后,再接收11個數(shù)據(jù)包即完成整幀數(shù)據(jù)的接收,存儲后系統(tǒng)將調用等待延時函數(shù)。
顯示任務的功能是負責所采集的數(shù)據(jù)在LCD上顯示出來,每隔一秒刷新一次,。$GPRMC語句輸出了基本的定位信息,可以滿足一般用戶的使用要求,。接收來的數(shù)據(jù)存放在內存中,提取時先從數(shù)據(jù)中讀取定位狀態(tài)判斷是否有效,若有效再提取相應的時間及經緯度等信息。應注意的是在處理北京時間時應在UTC時間上加上8h才是準確的北京時,在超出24h時應作減24h處理,。系統(tǒng)運行時GPS定位信息在LCD上顯示界面如圖2,。
5 結束語
本文論述了嵌入式系統(tǒng)對GPS數(shù)據(jù)的讀取、處理及顯示的方法,分析了GPS模塊的信息格式并編制通信軟件,成功地實現(xiàn)了GPS定位信息的接收與顯示,。該系統(tǒng)程序簡單,可靠,可運用于車輛的導航系統(tǒng)中,另外,其方法思路對嵌入式系統(tǒng)、OEM板開發(fā)也具有很好的參考價值,。
參考文獻
[1] 王田苗.嵌入式系統(tǒng)設計與實例開發(fā)[M].北京:清華大學出版社,2003.
[2] 王惠南. GPS導航原理與應用[M].北京:科學出版社,2003.
[3] Jean J. Labrosse.μC/OS-II—源碼公開的實時嵌入式操作系統(tǒng)[M].邵貝貝,譯.北京:中國電力出版社.