基于PXA270嵌入式開發(fā)板GPS定位系統(tǒng)的設(shè)計
作為衛(wèi)星導(dǎo)航系統(tǒng),GPS具有性能好、精度高、應(yīng)用廣的特點,是迄今為止應(yīng)用最廣泛的導(dǎo)航定位系統(tǒng)。將GPS與嵌入式技術(shù)融合在一起,形成一個嵌入式的地理平臺,是當(dāng)前GPS領(lǐng)域的一個重要趨勢。本文是在PXA270嵌入式開發(fā)板和GPS模塊上開發(fā)實現(xiàn)的。在Linux下的嵌入式開發(fā)環(huán)境中,利用C++設(shè)計完成定位。嵌入式系統(tǒng)利用軟件設(shè)計主要完成GPS定位信號的處理、電子地圖的移植、地球坐標(biāo)的轉(zhuǎn)換、定位的顯示等功能。
1 系統(tǒng)概述
嵌入式系統(tǒng)是控制、監(jiān)視或者輔助裝置、機器和設(shè)備運行裝置;是軟件和硬件的綜合體,可涵蓋機械等附屬裝置;有著友好的人機界面,支持LCD及GPS模塊;主要完成提取GPS定位信號的數(shù)據(jù)、坐標(biāo)轉(zhuǎn)換、電子地圖的顯示等功能。軟件設(shè)計流程如圖1所示。
2 嵌入式系統(tǒng)軟件設(shè)計
2.1 GPS模塊輸出的信息的提取
GPS模塊通電后,會自動搜索衛(wèi)星信號,并把計算數(shù)據(jù)從串口輸出。所有GPS接收機以通用的NMEA格式輸出數(shù)據(jù)。NMEA-0183協(xié)議定義的語句較多,但常用且兼容性較廣的語句只有:$GPGGA、$GPGSA、$GPGSV、$GPRMC、$GPVTG、$GPGLL等。如圖2所示。
用串口連接宿主機與開發(fā)板的串口0。宿主機進入Linux,打開Minicom終端。設(shè)置波特率115 200,8位數(shù)據(jù),1位停止,無校驗,無流控。串口的設(shè)備文件為/dev/ttyS*,其中,ttyS0為串口1,ttyS1為串口2,以此類推。在對串口通信之前,首先要對串口參數(shù)進行初始化、設(shè)置它的屬性以保證通信雙方的通信參數(shù)保持一致。初始化完串口,就可以進行讀取操作了。由于GPS發(fā)送的數(shù)據(jù)類型都是以GPGGA符
號開頭,所以檢測GPGGA符號,進而進行下一步的處理。關(guān)鍵代碼如下:
評論