基于ARM的嵌入式車(chē)載GPS定位系統(tǒng)設(shè)計(jì)
3.4應(yīng)用程序的實(shí)現(xiàn)
GPS模塊通過(guò)串口輸出NMEAO183語(yǔ)句,而應(yīng)用程序主要完成對(duì)GPS數(shù)據(jù)的采集與解析。NMEA0183輸出語(yǔ)句多達(dá)十余種,任意一種定位語(yǔ)句都包含一定的定位數(shù)據(jù),由于以"$GPRMC"開(kāi)頭的語(yǔ)句包含了本系統(tǒng)所需的所有定位信息,本系統(tǒng)只需研究該類(lèi)型。該類(lèi)型定位數(shù)據(jù)的各個(gè)符號(hào)位的含義如下所示。
表1 $GPRMC幀基本格式的描述
應(yīng)用程序的整體設(shè)計(jì)流程如圖3所示。
圖3 軟件設(shè)計(jì)整體框圖
從圖3可以看出,系統(tǒng)開(kāi)始運(yùn)行后首先對(duì)串口的初始化就是對(duì)GPS模塊韌始化,包括設(shè)置波特率、數(shù)據(jù)位、校驗(yàn)位等,然后開(kāi)始接收GPS數(shù)據(jù)。即從串口讀數(shù)據(jù)。井將讀到的數(shù)據(jù)保存到BUF中;接著進(jìn)入數(shù)據(jù)的解析和提取階段。通過(guò)BUF等不等于"c"判斷是苦為$GPRMC;若是,則開(kāi)始提取經(jīng)緯度、時(shí)間等信息并存入結(jié)構(gòu)體GPS_DATA中。最后通過(guò)LCD顯示出來(lái)。
4 結(jié)束語(yǔ)
本文給出了基于ARM9和嵌入式操作系統(tǒng)Linux下,GPS定位系統(tǒng)的整體解決方案。包括了系統(tǒng)的整體設(shè)計(jì),GPS模塊制作方案,開(kāi)發(fā)平臺(tái)搭建以及GPS驅(qū)動(dòng)程序和應(yīng)用程序的設(shè)計(jì)。較市場(chǎng)上的車(chē)載定位系統(tǒng)相比,本設(shè)計(jì)在功能性、可擴(kuò)展性和穩(wěn)定性上都有所提高。由本系統(tǒng)作為基礎(chǔ),車(chē)載定位系統(tǒng)的下一步工作將可以專(zhuān)注于應(yīng)用程序的編寫(xiě),包括提高GPS定位精度的算法,以及開(kāi)發(fā)更加友好的人機(jī)交互界面。
參考文獻(xiàn):
[1].RISCdatasheethttp://www.dzsc.com/datasheet/RISC_1189725.html.
[2].ARM920Tdatasheethttp://www.dzsc.com/datasheet/ARM920T_139814.html.
[3].PCBdatasheethttp://www.dzsc.com/datasheet/PCB_1201640.html.
[4].TTLdatasheethttp://www.dzsc.com/datasheet/TTL_1174409.html.
[5].MAX232datasheethttp://www.dzsc.com/datasheet/MAX232_1074207.html.
[6].RS232datasheethttp://www.dzsc.com/datasheet/RS232_585128.html.
評(píng)論