陳 賽,李建朝
(河南科技大學(xué)機(jī)電工程學(xué)院,河南洛陽(yáng) 471003)
基于單片機(jī)的多功能手持GPS定位儀的設(shè)計(jì)
陳 賽,李建朝
(河南科技大學(xué)機(jī)電工程學(xué)院,河南洛陽(yáng) 471003)
介紹基于STC89C52單片機(jī)下的GPS信息的接收及輸出顯示,并利用SD卡對(duì)導(dǎo)航數(shù)據(jù)進(jìn)行保存。采用GPS模塊接收衛(wèi)星信號(hào),通過串口連接,既可通過單片機(jī)處理,然后在TFT彩屏上顯示相關(guān)信息,也可與PC機(jī)通信,通過PC機(jī)應(yīng)用軟件顯示GPS信息,也可通過PC版靈圖電子地圖實(shí)現(xiàn)實(shí)時(shí)導(dǎo)航。將SD卡保存的數(shù)據(jù)經(jīng)GPS Babel軟件轉(zhuǎn)換,在googel earth地圖上實(shí)現(xiàn)軌跡重現(xiàn)。實(shí)際應(yīng)用效果表明,該設(shè)計(jì)合理有效,具有很高的實(shí)用價(jià)值。關(guān)鍵詞:全球定位系統(tǒng);手持式;單片機(jī);串口通信;軌跡
一直以來(lái),出行的問題困擾著大家,我現(xiàn)在在哪里?應(yīng)該向哪個(gè)方向走?直到20世紀(jì)末,這些問題終于有了一個(gè)有效、便捷的解決方法,那就是GPS——全球定位系統(tǒng)的出現(xiàn)與發(fā)展[1]。全球定位系統(tǒng)(Global Positioning System)是美國(guó)從20世紀(jì)70年代開始研制,于1994年全面建成,以接收導(dǎo)航衛(wèi)星信號(hào)為基礎(chǔ)的非自主式導(dǎo)航與定位系統(tǒng)。該系統(tǒng)能夠在全球海、陸、空范圍內(nèi),全天候、連續(xù)實(shí)時(shí)的免費(fèi)提供高精度的三維位置、三維速度和時(shí)間信息,為人類的導(dǎo)航和定位提供了可靠的保障。隨著社會(huì)的進(jìn)步和科學(xué)技術(shù)的發(fā)展,GPS定位技術(shù)已經(jīng)越來(lái)越接近普通人的生活。用戶通過設(shè)備接收GPS衛(wèi)星信號(hào),經(jīng)信號(hào)處理獲得用戶位置、速度等信息,最終實(shí)現(xiàn)利用GPS進(jìn)行定位導(dǎo)航。但目前GPS定位接收機(jī)價(jià)格比較昂貴而且使用靈活性低,難以滿足許多普通用戶的應(yīng)用需求。所以,體積小、重量輕、功耗低、攜帶方便、價(jià)格低廉是GPS定位儀的發(fā)展趨勢(shì)。
本設(shè)計(jì)是以GS-15C GPS模塊為例,利用STC89C52單片機(jī)開發(fā)板,TFT顯示屏,開發(fā)設(shè)計(jì)的一種體積小、低成本、多功能的手持式GPS定位儀。
手持式定位儀的組成結(jié)構(gòu)如圖1所示,主要由STC89C52單片機(jī)微處理器、GPS模塊、TFT彩屏、SD卡模塊、PC機(jī)、串口轉(zhuǎn)換按鍵及電池組成。
定位儀主要有以下功能:
1)獲取并顯示定位信息,包括經(jīng)緯度、速度、海拔及方向、時(shí)間等信息。
2)將獲取的導(dǎo)航信息保存在SD卡上,經(jīng)GPS Babel軟件進(jìn)行數(shù)據(jù)處理和轉(zhuǎn)換,可在google earth顯示路線軌跡。
3)通過串口轉(zhuǎn)換按鍵,可使GPS模塊、單片機(jī)、PC機(jī),任何2個(gè)都能進(jìn)行通信。所以此系統(tǒng)可以按需要修改單片機(jī)程序,查看GPS輸出數(shù)據(jù)等。
圖1 系統(tǒng)的組成
4)在PC機(jī)上安裝靈圖導(dǎo)航地圖軟件,通過GPS模塊與PC機(jī)通信,可實(shí)現(xiàn)在地圖上定位并導(dǎo)航。
5)系統(tǒng)采用4節(jié)充電電池或USB線纜供電,方便筆記本用戶,以便到室外進(jìn)行調(diào)試,用筆記本插上USB線就可以實(shí)現(xiàn)供電。
6)整個(gè)系統(tǒng)采用貼片元件,體積小、重量輕,便于用戶手持?jǐn)y帶。
2.1 CPU系統(tǒng)
考慮到手持式定位儀體積的限制和性能的要求,CPU采用宏晶科技推出的STC89C52RC單片機(jī)[2],封裝為L(zhǎng)QFP-44貼片式。該型單片機(jī)體積小、功耗低、抗干擾能力強(qiáng),指令代碼完全兼容傳統(tǒng)8051單片機(jī)。在設(shè)計(jì)中,CPU外接11.0592 MHz晶振。
2.2 GPS接收模塊
GPS接收模塊的型號(hào)為GS-15C。模塊是由韓國(guó)生產(chǎn),貼片封裝,采用MTK芯片組,在功耗、價(jià)格上都有很大優(yōu)勢(shì),最重要的是該模塊天線內(nèi)置,無(wú)需外接天線,體積小,外觀尺寸為30 mm(長(zhǎng))×27 mm(寬)×7 mm(高),滿足手持式定位儀的要求。該模塊其他主要特點(diǎn)如下:
1)12通道并行,可同時(shí)跟蹤12顆衛(wèi)星。
2)定位精度高:位置精度為10 m圓周圍差,速度精度為0.1 m/s,時(shí)間誤差為1μs。
3)定位時(shí)間:熱啟動(dòng)1 s,暖啟動(dòng)38 s,冷啟動(dòng)42 s。
4)工作電壓:4.5~5.5 V。
5)輸出格式:TTL。
2.3 TFT彩屏模塊
考慮到手持式定位儀[3]的體積不能太大,顯示屏采用1.6 in TFT彩屏,型號(hào)為三星S6D0117,分辨率為128×128,26萬(wàn)色。該模塊工作電壓為5 V或3.3 V,支持8,9,16位接口,帶背光驅(qū)動(dòng),51單片機(jī)可直接驅(qū)動(dòng)。
2.4 串行通信接口電路
本系統(tǒng)設(shè)計(jì)了RS232外部串行通信接口[4],可以通過PC機(jī)對(duì)單片機(jī)芯片進(jìn)行在線燒寫。由于本GPS模塊輸出格式為TTL電平,故GPS模塊與單片機(jī)可直接進(jìn)行串口通信,而不需進(jìn)行電平轉(zhuǎn)換。同時(shí),為了方便調(diào)試和使用,系統(tǒng)上設(shè)計(jì)有通信模式切換按鍵,可以設(shè)置成3種串口通信模式,分別為PC機(jī)——GPS模塊,PC機(jī)——單片機(jī),單片機(jī)——GPS模塊,即三者之間兩兩通信。當(dāng)按下PC機(jī)——單片機(jī)按鍵時(shí),可以通過串口ISP在線下載程序;當(dāng)按下單片機(jī)——GPS模塊按鍵時(shí),可以用單片機(jī)解析GPS模塊數(shù)據(jù),并通過TFT彩屏顯示;當(dāng)按下PC機(jī)——GPS模塊按鍵時(shí),可以通過PC機(jī)應(yīng)用軟件來(lái)監(jiān)視GPS模塊數(shù)據(jù)輸出或者在PC機(jī)上實(shí)現(xiàn)顯示當(dāng)前地圖位置。
2.5 電池
采用5 V直流充電電池(由4節(jié)充電電池組成)。由于在電路板上設(shè)計(jì)了充電濾波和保護(hù)電路,使得電池的充電簡(jiǎn)單易行。充電時(shí),只需將一個(gè)5 V的整流器接到定位儀上(不必要先將電池從定位儀中取出),大約4 h后,就可完成對(duì)電池的充電。同時(shí),在系統(tǒng)中設(shè)計(jì)了USB供電端口,通過USB端口,與電腦USB端口相連可對(duì)系統(tǒng)進(jìn)行供電。這對(duì)于系統(tǒng)在室外調(diào)試和與電腦進(jìn)行通信提供了很大方便。
3.1 工作原理
GPS模塊的工作原理[5]是:通過天線獲取衛(wèi)星信號(hào),經(jīng)過變頻、放大、濾波等一系列處理,實(shí)現(xiàn)對(duì)天線視界內(nèi)衛(wèi)星信號(hào)的跟蹤、鎖定和測(cè)量,最終產(chǎn)生計(jì)算位置的數(shù)據(jù)信息(包括:經(jīng)度、緯度、高度、速度、時(shí)間、日期、航向、衛(wèi)星狀況等),并經(jīng)RS232標(biāo)準(zhǔn)I/O輸出串行數(shù)據(jù)或者輸出TTL數(shù)據(jù)。
3.2 GPS模塊輸出數(shù)據(jù)格式
GPS模塊雖然型號(hào)很多,但是絕大多數(shù)都采用NMEA-0183通信格式[6]。其格式定義為:
波特率:4 800 bit/s;(默認(rèn),可以按需要改變)
數(shù)據(jù)位:8位;
停止位:1位;
奇偶校驗(yàn):無(wú);
NMEA-O183語(yǔ)句解析。
NMEA通訊協(xié)議所規(guī)定的通訊語(yǔ)句都是以ASCII碼為基礎(chǔ)的,NMEA-0183協(xié)議語(yǔ)句的數(shù)據(jù)格式如下:“$”為語(yǔ)句起始標(biāo)志;“,”為域分隔符;“*”為校驗(yàn)和識(shí)別符,其后面的兩位數(shù)為校驗(yàn)和,代表了“$”和“*”之間所有字符的按位異或值(不包括這兩個(gè)字符);“/”為終止符,所有的語(yǔ)句必須以它結(jié)束,也就是ASCII字符的“回車”(十六進(jìn)制的0D)和“換行”(十六進(jìn)制的0A)。
典型的NMEA0183語(yǔ)句如下面的GPRMC語(yǔ)句:
$GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,,,A*50
字段0:$GPRMC,語(yǔ)句ID,表明該語(yǔ)句為Recommended Minimum Specific GPS/TRANSIT Data(RMC)推薦最小定位信息
字段1:UTC時(shí)間,hhmmss.sss格式
字段2:狀態(tài),A=定位,V=未定位
字段3:緯度ddmm.mmmm,度分格式(前導(dǎo)位數(shù)不足則補(bǔ)0)
字段4:緯度N(北緯)或S(南緯)
字段5:經(jīng)度dddmm.mmmm,度分格式(前導(dǎo)位數(shù)不足則補(bǔ)0)
字段6:經(jīng)度E(東經(jīng))或W(西經(jīng))
字段7:速度,節(jié),Knots
字段8:方位角,度
字段9:UTC日期,DDMMYY格式
字段10:磁偏角,(000-180)度(前導(dǎo)位數(shù)不足則補(bǔ)0)
字段11:磁偏角方向,E=東,W=西
字段16:校驗(yàn)值
GPS模塊上電經(jīng)過自檢后,進(jìn)入衛(wèi)星測(cè)量狀態(tài)并不斷地輸出相關(guān)信息。
本定位儀除了手持使用外,還能通過串口與PC機(jī)進(jìn)行通信。定位儀中的GPS模塊負(fù)責(zé)接收來(lái)自衛(wèi)星的信號(hào),PC機(jī)上可以安裝各種相對(duì)應(yīng)的應(yīng)用軟件[7],只要在PC機(jī)上設(shè)置好串口端口和波特率,就能使GPS模塊和PC機(jī)進(jìn)行通信。
比如,在系統(tǒng)調(diào)試時(shí),需要用PC機(jī)上的串口調(diào)試助手來(lái)觀察GPS模塊輸出的數(shù)據(jù),方法是:用串口線將定位儀和PC機(jī)的串口(Com1)相連,按下PC機(jī)——GPS模塊按鍵,打開串口調(diào)試助手,將波特率設(shè)置成與GPS模塊的波特率一樣,串口選擇com1,可以看見串口調(diào)試助手顯示框上不斷地實(shí)時(shí)顯示GPS模塊接收到的衛(wèi)星數(shù)據(jù)。
另外,可以在PC機(jī)上安裝天行者中國(guó)電子地圖導(dǎo)航軟件,將PC機(jī)與GPS模塊串口相連,當(dāng)GPS信號(hào)接收正常后,可以在地圖上顯示當(dāng)前所在位置,當(dāng)把你要去的地方設(shè)為目的地時(shí),系統(tǒng)會(huì)自動(dòng)計(jì)算距離而且是實(shí)際公路距離。開始導(dǎo)航后,當(dāng)你到路口的時(shí)候系統(tǒng)會(huì)自動(dòng)語(yǔ)音提示左轉(zhuǎn)還是右轉(zhuǎn)。如果你去了一個(gè)地圖上沒有的地方,系統(tǒng)也會(huì)為你提供軌跡存儲(chǔ)功能,記錄所走過的路,這樣就可以輕松找到回去的路。很多地圖還能標(biāo)出每一個(gè)點(diǎn)的坐標(biāo),這樣在地圖上沒有標(biāo)出地名的地方,也可以根據(jù)經(jīng)緯度在普通地圖上找到你的位置。這就大大滿足了野外人員的需求,還有就是喜歡駕車長(zhǎng)途旅游的朋友們可以方便地找到自己位置,不至于迷路。
5.1 SD卡模塊介紹
SD卡主要功能是存儲(chǔ)GPS模塊接收到的導(dǎo)航數(shù)據(jù)。SD卡的驅(qū)動(dòng)方式有2種模式,SD模式與SPI模式。設(shè)計(jì)中,單片機(jī)對(duì)SD卡進(jìn)行驅(qū)動(dòng)時(shí),采用SPI模式,一方面是因?yàn)镾PI模式接口與操作方法比較簡(jiǎn)單,易于實(shí)現(xiàn);另一方面是因?yàn)椴僮鞯臄?shù)據(jù)量并不是很大,速度并不需要很快。SD模式用于數(shù)據(jù)量比較大、速度要求比較快的應(yīng)用場(chǎng)合。SD卡工作在SPI模式時(shí),只需要4根信號(hào)線,即CS片選、DIN數(shù)據(jù)輸入、CLK時(shí)鐘、DOUT數(shù)據(jù)輸出。另外,SD卡的工作電壓是3.3 V,而本設(shè)計(jì)中,電源采用5 V供電,故需要進(jìn)行電壓轉(zhuǎn)換,設(shè)計(jì)中,采用AME1117-3.3穩(wěn)壓模塊,通過穩(wěn)壓模塊的轉(zhuǎn)換,可以將5 V電壓轉(zhuǎn)換為3.3 V,給SD卡供電。
5.2 軌跡重現(xiàn)功能實(shí)現(xiàn)過程
上面已經(jīng)介紹,SD卡主要功能是存儲(chǔ)GPS模塊接收到的導(dǎo)航數(shù)據(jù)。但是要實(shí)現(xiàn)導(dǎo)航軌跡的重現(xiàn)還需要用到兩款軟件,分別是GPS Babel軟件和googel earth軟件。GPS Babel軟件的主要功能是將SD卡上存儲(chǔ)的導(dǎo)航數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換,googel earth軟件的主要功能是實(shí)現(xiàn)導(dǎo)航軌跡的重現(xiàn)。
設(shè)計(jì)中,主要是利用googel earth軟件來(lái)實(shí)現(xiàn)行進(jìn)軌跡的重現(xiàn),但是googel earth軟件只能支持KML格式的文件,而SD卡上存儲(chǔ)的數(shù)據(jù)格式為NMEA 0183 sentences,所以要利用GPS Babel軟件來(lái)進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換。數(shù)據(jù)轉(zhuǎn)換方法如圖2所示,打開GPS Babel軟件,設(shè)置好Input和Output,點(diǎn)擊“l(fā)et’s go”,則會(huì)將SD卡文件中的NMEA 0183 sentences語(yǔ)句轉(zhuǎn)換為googel earth軟件支持KML格式的文件,然后打開googel earth軟件,在googel earth軟件界面上,通過“文件→打開”,打開轉(zhuǎn)換好的KML格式的文件,則會(huì)在googel earth地圖上顯示軌跡。
圖2 GPS Babel運(yùn)行界面
系統(tǒng)軟件實(shí)現(xiàn)的主要功能是在GPS模塊輸出的大量信息中,提取出時(shí)間、經(jīng)度、緯度、速度和方向信息,經(jīng)過處理,在TFT彩屏上顯示出來(lái),并每秒刷新一次[8]。主程序流程圖如圖3所示。
圖3 主程序流程
本設(shè)計(jì)中軟件開發(fā)環(huán)境為Keil C5l,用C語(yǔ)言對(duì)STC89C52單片機(jī)進(jìn)行GPS導(dǎo)航數(shù)據(jù)的處理和解算,由TFT彩屏顯示。采用這種設(shè)計(jì)方法優(yōu)點(diǎn)有:用C語(yǔ)言開發(fā)本系統(tǒng)軟件中的數(shù)據(jù)處理部分,可以使單片機(jī)具有較強(qiáng)大的數(shù)據(jù)處理能力。
根據(jù)本文所討論的設(shè)計(jì)方法,已成功研制出手持式GPS樣機(jī)一臺(tái),該樣機(jī)重量輕、體積?。?0 mm ×65 mm×40 mm)、成本低,便于用戶攜帶和使用,值得推廣。
[1]B.Hofmann-Wellonhof,H.Lichtenegger,J.Collins.Global positioning system:theory and practice[M].New York:Springer-Verlag,2001:89-125.
[2]張毅剛,彭喜源,曲春波,等.MCS-51單片機(jī)應(yīng)用設(shè)計(jì)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1997:42-66.
[3]陳嘉清.手持定位裝置的設(shè)計(jì)與實(shí)現(xiàn)[D].大連.大連海事大學(xué),2009.
[4]林艷玲.采用MAX232實(shí)現(xiàn)MCS-51單片機(jī)與PC機(jī)通信[J].天津理工學(xué)院學(xué)報(bào),1999,15(2):57-61.
[5]胡輝.高動(dòng)態(tài)數(shù)字化GPS接收機(jī)的研制[R].上海:上海航天局博士后工作站出站報(bào)告,2002.
[6]Renato Filjar,Tomislav Koa,Markezic.GPS Ionospheric Error Correction Models.The 48th Internation Symposium ELMAR-2006,Croatia.2006.215-217.
[7]許紹銓,張華海,楊志強(qiáng),等.測(cè)量原理及應(yīng)用[M].武漢:武漢大學(xué)出版社,2002:84-98.
[8]JAMES BAO-YEN TSUI.GPS軟件接收機(jī)基礎(chǔ)[M].北京:電子工業(yè)出版社,2008.
Design of multi-function portable orientation GPS instrument based on MCU
CHEN Sai,LI Jian-chao
(School of Mechatronics Engineering,Henan University of Science and Technology,Luoyang 471003,China)
Receiver and output display of GPS information based on the STC89C52 MCU are introduced indetail.Using GPS module as satellite reception,through a serial port conversion,can not only by MCU processing,displaying relevant information in TFT,but also can communicate with the PC,through PC application software,displaying GPS output data.The actual application result indicates that the design is rational and effective with high practical value.
GPS;portable;MCU;serial communication;track
P228.4
A
1006-7949(2012)04-0057-04
2011-05-15
陳 賽(1984-),男,碩士研究生.
[責(zé)任編輯:劉文霞]