一種基于PIC單片機(jī)和GPS接收模塊的手持式GPS定位系統(tǒng)
1 引言
本文引用地址:http://butianyuan.cn/article/261850.htmGPS以其高精度,全天候,全球覆蓋,方便靈活和優(yōu)質(zhì)價(jià)廉吸引全世界許多用戶。GPS的廣泛應(yīng)用改變了人們的工作方式,提高工作效率,帶來巨大的經(jīng)濟(jì)效益。這里提出一種基于EM411 GPS接收模塊和PIC18F2550單片機(jī)的手持式GPS定位系統(tǒng)設(shè)計(jì)方案。該系統(tǒng)采用點(diǎn)陣字符液晶屏顯示接收GPS衛(wèi)星數(shù)據(jù),并用SD卡記錄所接收到的GPS信息,從而實(shí)現(xiàn)GPS數(shù)據(jù)導(dǎo)入電子地圖。
2 NEMA協(xié)議簡介
目前,GPS采用NMEA-0183協(xié)議做為發(fā)送和接收數(shù)據(jù)的標(biāo)準(zhǔn),NMEA-0183是美國國家海洋電子協(xié)會(huì)(NationalMarine Electronics Association)為統(tǒng)一海洋導(dǎo)航規(guī)范而制定的標(biāo)準(zhǔn),該格式標(biāo)準(zhǔn)已成為國際通用的一種格式,協(xié)議內(nèi)容在兼容NMEA-180和NMEA-0182的基礎(chǔ)上。增加了GPS、測深儀、羅經(jīng)方位系統(tǒng)等多種設(shè)備接口和通訊協(xié)議定義,同時(shí)還允許一些特定廠商對(duì)其設(shè)備通信自定協(xié)議。NMEA-0183格式數(shù)據(jù)串的所有數(shù)據(jù)都采用ASCⅡ文本字符表示,數(shù)據(jù)傳輸以“$”開頭,后面是語句頭。語句頭由5個(gè)字母組成。其前2個(gè)字母表示“系統(tǒng)ID”,即表示該語句是屬于何種系統(tǒng)或設(shè)備,例如GP表示該語句屬于GPS定位系統(tǒng),HC表示該語句屬于羅經(jīng)方位系統(tǒng);后3個(gè)字母表示“語句ID“,表示該語句是關(guān)于何方面的數(shù)據(jù)。語句頭后是數(shù)據(jù)體,包含不同的數(shù)據(jù)體字段,語句末尾為校驗(yàn)碼(可選),以回車換行符《CR》《LF》結(jié)束,也就是ACSII字符 “回車”(十六進(jìn)制的0D)和“換行”(十六進(jìn)制的0A)。數(shù)據(jù)字段以逗號(hào)分隔識(shí)別,空字段保留逗號(hào)。在GPS系統(tǒng)中常用語句有GPGGA(GPS定位信息),GPGSA(當(dāng)前衛(wèi)星信息),GPGSV(可見衛(wèi)星信息),GPRMC(推薦定位信息),GPGLL(定位地理信息),GPVTG(地面速度信息) 等。GPS數(shù)據(jù)傳輸是以標(biāo)準(zhǔn)異步串行方式發(fā)送,其串行通信波特率為4 800 b/s、數(shù)據(jù)位8位、停止位1位、無奇偶校驗(yàn)位。文獻(xiàn)[2]給出各種GPS語句的詳細(xì)數(shù)據(jù)格式。
3 EM411 GPS接收模塊簡介
GPS接收模塊性能主要決定于其內(nèi)部使用的GPS核心芯片組,GPS芯片組SiRF Star III通過采用20萬次/頻率的相關(guān)器(Correlators)提高了靈敏度并能在室內(nèi)定位。冷開機(jī)/暖開機(jī)/熱開機(jī)的時(shí)間分別達(dá)到42 s/38 s/1 s,可同時(shí)追蹤20個(gè)衛(wèi)星信道。
EM411型GPS接收模塊采用SiRF Star III高效能GPS芯片組,其具有特點(diǎn):極佳的靈敏度(追蹤感度:-159 dBm);訊號(hào)微弱時(shí),TTFF(Time to First Fix)定位仍十分迅速;支持NMEA 0183語言格式:GGA,GSA,GSV,RMC,GLL,VTG;內(nèi)建超大電容,可儲(chǔ)存快速獲取的衛(wèi)星訊號(hào)數(shù)據(jù);內(nèi)建陶瓷天線;LED指示燈顯示衛(wèi)星定位狀況:LED不亮?xí)r接收器關(guān)閉,LED恒亮?xí)r未定位或搜尋訊號(hào),LED閃爍時(shí)已定位。此外,EM411體積小巧,外形尺寸為30 mm×30 mm×10.5 mm,工作時(shí)供電電壓為4.5~6.5 V,消耗電流為60 mA。對(duì)外提供6個(gè)引腳,使用時(shí)引腳1、5接地,引腳2接電源,引腳3為串口輸出數(shù)據(jù)線,引腳4為串口輸入數(shù)據(jù)線,引腳6懸空。
4 系統(tǒng)硬件設(shè)計(jì)
4.1 GPS接收部分
圖1為便攜式GPS接收機(jī)的GPS接收部分的電路,由于該系統(tǒng)設(shè)計(jì)是手持式便攜設(shè)備,所有器件選型都應(yīng)考慮節(jié)省成本,節(jié)能。圖1中,MCU選用 PIC18F2520,它是采用納瓦技術(shù)的低功耗8位單片機(jī),具有一系列能在工作時(shí)顯著降低功耗的功能,非常適合手持便攜式設(shè)備使用。該器件內(nèi)部具有32 K Flash程序存儲(chǔ)器,具備SPI、UART、I2C等接口以及1O位A/D轉(zhuǎn)換器,借助于內(nèi)部PLL倍頻器,時(shí)鐘速度可高達(dá)40 MHz;可通過其UART接口(引腳RC6和RC7)實(shí)現(xiàn)與EM411 GPS接收模塊的通信,由于EM411串口輸出的最大電平為2.85 V,低于PIC18F2520 UART端口所要求的最小驅(qū)動(dòng)電平4 V,因此在PIC18F2520和EM411之間需增加由U2(74HCT04)構(gòu)成的TTL/RS232電平轉(zhuǎn)換電路,否則PIC18F2520將不能接收EM411的定位信息。PIC18F2520通過其SPI接口(引腳RC0,RC3,RC4,RC5)與SD卡通信。SD卡對(duì)外提供兩種訪問模式:SD模式和SPI模式。SD模式允許4線的高速數(shù)據(jù)傳輸。SPI模式使用通用的SPI接口,相比SD模式傳輸速率有所降低,使用SPI。接口的優(yōu)點(diǎn)是僅用4根數(shù)據(jù)線即可完成SD卡的讀寫。通信模式不同,SD卡引腳功能也不同。由于PIC18F2520內(nèi)部具有SPI接口,本方案采用SPI模式實(shí)現(xiàn)對(duì) SD卡的訪問,圖1中CS(RC0)為MCU向卡發(fā)送的片選信號(hào),SCLK(RC3)為MCU向卡發(fā)送的時(shí)鐘信號(hào)。SDI為MCU向卡發(fā)送的單向數(shù)據(jù)信號(hào),SD0為卡向MCU發(fā)送的單向數(shù)據(jù)信號(hào),此外所有的SD卡插座還具有CD與WP兩個(gè)引腳,CD引腳是SD卡檢測信號(hào)引腳,當(dāng)有卡插人時(shí),該引腳對(duì)地短路(在插座內(nèi)部連接)。WP是寫保護(hù)信號(hào)引腳,在卡插入且沒有寫保護(hù)時(shí),該引腳對(duì)地短路(在插座內(nèi)部連接)。
該系統(tǒng)設(shè)計(jì)采用20×4的點(diǎn)陣字符液晶顯示器顯示所接收的GPS定位信息,液晶顯示器設(shè)置于4 bit工作方式,MCU通過4根數(shù)據(jù)線以及使能引腳控制LCD的顯示以節(jié)省MCUI/O端口資源。該系統(tǒng)設(shè)置2個(gè)按鍵用于控制SD卡的數(shù)據(jù)存儲(chǔ)。當(dāng)SW1 鍵按下時(shí),通過軟件延時(shí)設(shè)定數(shù)據(jù)保存時(shí)間間隔,SW2鍵按下時(shí),系統(tǒng)將接收到的GPS定位信息寫入SD卡。圖1中,開關(guān)K2用于打開、關(guān)閉LCD背光電源:PIC18F2520的RA端口資源暫未使用??闪舸院笙到y(tǒng)升級(jí)時(shí)使用,例如將電池輸出的直流模擬電壓信號(hào)輸入到RA端口,利用 PIC18F2520的10 bit A/D轉(zhuǎn)換器將其轉(zhuǎn)換為數(shù)字信號(hào)后。在LCD上顯示電池電量,便于用戶使用。
4.2 電源部分
便攜式GPS接收機(jī)采用兩節(jié)AA型1.5 V電池供電,使用微功耗、高效率DC-DC變換器LT1300,將3 V電壓轉(zhuǎn)換為5 V以供電路使用,LT1300最低輸入電壓低至1.8 V,轉(zhuǎn)換效率高達(dá)88%。當(dāng)輸入電壓為2 V、輸出電壓為5 V時(shí),LT1300的輸出電流可達(dá)220 mA。LT1300采用8引腳SOIC封裝,引腳1為信號(hào)地(GND),引腳2為輸出選擇(SEL),當(dāng)其與輸入電源相接時(shí),輸出5 V電壓,當(dāng)該引腳接地時(shí)則LT1300輸出3.3 V電壓。引腳3(SHUTDOWN)用于選擇工作方式,該引腳接地時(shí),LT1300為正常工作方式;當(dāng)該引腳接高電平時(shí),LT1300為掉電工作模式。引腳4(SENSE)是LT1300的輸出端。其引腳5為限流,當(dāng)該引腳接地時(shí),其最大的開關(guān)電流為400 mA。LT1300的引腳6~8分別為電源輸入、輸出開關(guān)、電源地。圖2為LT1300構(gòu)成的GPS接收機(jī)電源電路。圖2中開關(guān)K1是GPS接收機(jī)的總電源開關(guān)。由于GPS接收機(jī)的主機(jī)部分使用5 V電壓,因此LT1300的引腳2、引腳6與電池的正極相連,引腳3、引腳5、引腳1、引腳8接地。工作時(shí)引腳7需外接電感和二極管,其作用是當(dāng)電池電量消耗過大時(shí),LT1300內(nèi)部的開關(guān)效應(yīng)會(huì)引起電感L1上的電流交替增大,此時(shí)二極管VD1會(huì)將這部分能量轉(zhuǎn)儲(chǔ)到電容C4中,以提高LT1300的輸出電壓。該部分設(shè)計(jì)的二極管以及電感L1、電解電容C4參數(shù)選擇均參考LT1300數(shù)據(jù)資料中推薦的型號(hào)和參數(shù)。需要注意的是,由于LT1300是高速、高電流器件,因此在PCB板布局時(shí)應(yīng)盡量使電感L1靠近引腳7放置,走線應(yīng)盡量短,并應(yīng)將電源地與信號(hào)地相連以減少電路中的干擾噪聲。
5 系統(tǒng)軟件設(shè)計(jì)
圖3為便攜式GPS接收機(jī)的主程序流程。首先是PIC18F2520的初始化,主要包括通用I/O端口,UART,SPI,以及LCD初始化,并在 LCD 上顯示開機(jī)初始信息。接著PIC18F2520開始接收從EM411傳送的GPS定位信息,該系統(tǒng)設(shè)計(jì)的PIC18F2520只接收GPSGGA以及 GPSRMC語句信息并將保存接收到的信息。然后從中提取要顯示在LCD上的信息,并將其寫入預(yù)先定義的顯示用緩存數(shù)組中再送往LCD顯示。然后鍵盤掃描,如果有鍵按下則進(jìn)行鍵盤中斷程序的處理。當(dāng)SW1鍵按下時(shí),軟件通過延時(shí)子程序設(shè)定一個(gè)固定的保存時(shí)間間隔。當(dāng)SW2鍵按下時(shí),軟件執(zhí)行SD卡驅(qū)動(dòng)子程序,微芯公司提供了PIC單片機(jī)使用的完整的SD卡驅(qū)動(dòng)程序代碼,可以方便地將GPS定位信息以FAT文件格式保存到SD卡中,并可在Windows操作系統(tǒng)下打開這些文件。SD卡驅(qū)動(dòng)子程序主要完成SD卡初始化、卡插入檢測、寫保護(hù)檢測、SD卡讀/寫命令的發(fā)送/接收、文件的更名、文件數(shù)據(jù)的傳送等任務(wù)。文獻(xiàn)[6]給出了微芯公司有關(guān) PIC單片機(jī)SD卡驅(qū)動(dòng)程序的詳細(xì)說明。
6 結(jié)束語
電路搭建好后,選擇室外空曠地帶、寫字樓室內(nèi)、繁華街道、汽車內(nèi)等環(huán)境對(duì)便攜式GPS接收機(jī)進(jìn)行測試,在室外、室內(nèi)以及移動(dòng)的汽車內(nèi)該GPS接收機(jī)均能很好的接收多顆衛(wèi)星的GPS定位信息,關(guān)閉LCD背光顯示的情況下,可連續(xù)工作超過10 h。借助SD卡以及PC機(jī)可實(shí)現(xiàn)將接收到的GPS數(shù)據(jù)導(dǎo)入到Google Earth等電子地圖中。由EN411 GPS接收模塊以及PIC18F2520構(gòu)成的手持式GPS接收機(jī)具有電路簡單、成本低、靈敏度高等優(yōu)點(diǎn),接收到的數(shù)據(jù)能以FAT文件格式保存到SD卡中,具有較高的實(shí)用價(jià)值,該系統(tǒng)設(shè)計(jì)可廣泛應(yīng)用于野外作業(yè)、戶外運(yùn)動(dòng)等領(lǐng)域。
dc相關(guān)文章:dc是什么
評(píng)論