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