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