基于“Jupiter”GPS接收機(jī)的應(yīng)用設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
關(guān)鍵詞:GPS接收機(jī) 單片機(jī) 串口通訊
1 概述
GPS (global positioning system)全球定位系統(tǒng)是利用美國(guó)24顆GPS地球衛(wèi)星所發(fā)射的信息而進(jìn)行導(dǎo)航、定位、授時(shí)等服務(wù)的系統(tǒng)。自1993年GPS系統(tǒng)向世界免費(fèi)開(kāi)放以來(lái),得到了世界各地各行業(yè)的廣泛應(yīng)用。這種全球定位系統(tǒng)可以用于航空導(dǎo)航、航海導(dǎo)航、大地測(cè)量、石油地質(zhì)勘探、地震預(yù)報(bào)、授時(shí)校準(zhǔn)、自動(dòng)校時(shí)、高程測(cè)量、時(shí)間同步、輸變電工程、疏浚工程測(cè)量驗(yàn)收、車(chē)輛定位、車(chē)輛跟蹤、車(chē)輛導(dǎo)向及防盜等領(lǐng)域。
Rockwell公司的“Jupiter”GPS/OEM接收機(jī)具有尺寸小、性能穩(wěn)定等優(yōu)良特征。可方便、自主地開(kāi)發(fā)出各種GPS應(yīng)用系統(tǒng)。
它具有如下特點(diǎn):
●極其緊湊的GPS接收機(jī)尺寸:71mm×41mm×11mm;
●其射頻輸入為1575.42MHz,范圍為-130dBw~-163dBw;
●具有12個(gè)并行衛(wèi)星軌跡通道,能快速識(shí)別和再識(shí)別當(dāng)前位置;
●支持真正的NEMA-0183數(shù)據(jù)格式;
●直接微分的RECMSC-104數(shù)據(jù)動(dòng)態(tài)提供定位精確度;
●自適應(yīng)門(mén)限檢測(cè),提高微弱信號(hào)的檢測(cè)能力;
●其于SA的靜態(tài)導(dǎo)航能力;
●可與過(guò)去的天線兼容,花費(fèi)很小;
●3D到2D導(dǎo)航時(shí)能自動(dòng)保持緯度;
●可以基于SPS獲得最佳導(dǎo)航精確度;
●無(wú)初始化數(shù)據(jù)時(shí)可以自動(dòng)開(kāi)啟冷啟動(dòng)程序;
●通過(guò)串行通訊,用戶有很大的操作空間和配置能力;
●可接受用戶通過(guò)主串口寫(xiě)入的初始化數(shù)據(jù);
●具有三種啟動(dòng)方式:熱啟動(dòng)、初始化、冷啟動(dòng);
●用戶可以選擇衛(wèi)星;
●用戶可以選擇衛(wèi)星表面角;
●具有可選的RF連接頭;
●最大測(cè)速可達(dá)500m/s;
●工作溫度范圍為-40℃~+85℃。
2 內(nèi)部結(jié)構(gòu)和引腳說(shuō)明
圖1 所示是“Jupiter”GPS/OEM接收機(jī)的內(nèi)部結(jié)構(gòu)圖,它主要包括天線部分、接收部分、數(shù)據(jù)處理部分。這種接收器是通過(guò)兩個(gè)串口與外部通訊的,串口 1為主串口,串口2為輔助串口(提供修正量)。其中,串口1為全雙工方式,串口2為半雙工方式。系統(tǒng)通過(guò)這兩個(gè)串口同其外部器件或設(shè)備連接,也可以用軟件編程或硬件設(shè)置來(lái)配置其串口特性。
接收數(shù)據(jù)的用戶可以選擇的存儲(chǔ)方式有三種:SRAM、ROM、EEPROM。
接收機(jī)內(nèi)部的一個(gè)10kHz的參考時(shí)鐘輸出和一個(gè)1pps(每秒一個(gè)脈沖)的時(shí)鐘標(biāo)輸出可用來(lái)進(jìn)行時(shí)鐘同步,也可用于進(jìn)行時(shí)鐘校準(zhǔn)。
系統(tǒng)可以通過(guò)RESET進(jìn)行復(fù)位。
“Jupiter”GPS/OEM接收機(jī)采用20腳DIP封裝,常用管腳的說(shuō)明如表1所列。
表1 “Jupiter”GPS/OEM接收機(jī)主要管腳說(shuō)明
管 腳 | 說(shuō) 明 | 備 注 |
2 | PWRIN_5 | 5V主電源 |
5 | M_RST | 復(fù)位輸入(低電平有效) |
7 | GPIO2 | NMEA協(xié)議選擇 |
8 | GPIO3 | ROM缺省選擇 |
11 | SDO1 | 串口1輸出 |
12 | SDI1 | 串口1輸入 |
15 | SDI2 | 串口2輸入 |
18 | GND | 地 |
19 | TMARK | 1PPS時(shí)鐘標(biāo)記輸出 |
20 | 10kHz | 10kHz時(shí)鐘輸出 |
3 數(shù)據(jù)格式和通訊設(shè)置
3.1 數(shù)據(jù)格式
“Jupiter”GPS/OEM接收機(jī)具有兩種數(shù)據(jù)格式,一種是二進(jìn)制方式,另一種是(也為ASCII碼)方式,可通過(guò)設(shè)置GPIO2和GPIO3來(lái)選擇不同的數(shù)據(jù)格式。選擇不同的數(shù)據(jù)格式所對(duì)應(yīng)的形式不同,消息長(zhǎng)度和內(nèi)容也不同。
二進(jìn)制方式消息格式共有31種消息(其中14種輸出消息,17種輸入消息),每種消息必有一個(gè)消息頭,且以“0xFF81”開(kāi)始,數(shù)據(jù)段可選;NEMA方式消息格式共有11種消息(其中7種輸出消息,4種輸入消息),每種消息以“$”開(kāi)頭,以<CR><LF>結(jié)束。前者消息長(zhǎng)度比后者長(zhǎng),后者比前者消息種類(lèi)少,可根據(jù)實(shí)際需要來(lái)選擇。
3.2 通訊設(shè)置
“Jupiter”GPS/OEM接收機(jī)與外設(shè)連接,用串口來(lái)進(jìn)行通訊。其串口設(shè)置如表2所列。
表2 串口設(shè)置
GPIO2 | GPIO3 | 消息格式 | 主串口波特率(BPS) | 奇偶 | 數(shù)據(jù)位 | 停止位 | 存儲(chǔ)方式 |
0 | 0 | NMEA | 4800 | 無(wú) | 8 | 1 | ROM |
0 | 1 | NMEA | 4800 | 無(wú) | 8 | 1 | SRAM/EEPROM |
1 | 0 | 二進(jìn)制 | 9600 | 無(wú) | 8 | 1 | ROM |
1 | 1 | 二進(jìn)制 | 9600 | 無(wú) | 8 | 1 | SRAM/EEPROM |
4 典型應(yīng)用
4.1 典型電路
由于“Jupiter”GPS/OEM接收機(jī)的串口與TTL電平兼容,故可直接與單片機(jī)的串口連接,具體連接電路如圖2所示。
4.2 程序流程圖
程序流程圖如圖3所示(假定為NEMA格式,即選擇GPIO2=GPIO3=0)。
4.3 初始化程序
單片機(jī)初始化主要對(duì)串口初始化,設(shè)置波特率和串口工作方式。假定選擇GPIO2=GPIO3=0,可將串口初始化為,串口方式1,定時(shí)器1置方式2,波特率為4800BPS,允許接收。其初始化程序如下:
MOV SCON,#50H;
MOV TMOD,#20H;
MOV TH1,#0FAH;
MOV TL1,#0FAH;
SETB TCON.6;
SETB EA;
SETB ES;
4.4 中斷服務(wù)程序
單片機(jī)可以采用中斷方式接收GPS消息,收到中斷后,為了挑選出有用的消息,可以先進(jìn)行消息頭識(shí)別。不同消息具有不同的消息頭,可根據(jù)需要來(lái)選擇,如RMC消息格式為:
$GPRMC,hhmmss.ss,a,llll.ll,a,yyyyy.yy,a,x.x,x.x,xxxxxx,x.x,a*hh<CR><LF>
例如,接收到的消息如下:
$GPRMC,185203,A,3339.7332,N,11751.7589,W,0.000,121.7,160496,13.8,E*55<CR><LF>
此消息共分13個(gè)部分,前面為消息頭,接著是時(shí)間,經(jīng)緯度,速度,高度,日期等消息??梢韵扰卸ㄏ㈩^是否正確,然后再接收,既可局部接收某個(gè)量,也可全部接收下來(lái)再選擇所需參量。
識(shí)別消息頭程序如下:
JB 21H.5,WORD6;
JB 21H.4,WORD5;
JB 21H.3,WORD4;
JB 21H.2,WORD3;
JB 21H.1,WORD2;
JB 21H.0,WORD1;
CJNE A,#24H,WORDCLR;
SETB 21H.0; ;識(shí)別“$”
SJMP ENDT;
WORD1:CJNE A,#47H,WORDCLR;
SETB 21H.1; ;識(shí)別“G”
SJMP ENDT;
WORD2:CJNE A,#50H,WORDCLR;
SETB 21H.2; ;識(shí)別“P”
SJMP ENDT;
WORD3:CJNE A,#52H,WORDCLR;
SETB 21H.3; 識(shí)別“R”
SJMP ENDT;
WORD4:CJNE A,#4DH,WORDCLR;
SETB 21H.4; ;識(shí)別“M”
SJMP ENDT;
WORD5:CJNE A,#43H,WORDCLR;
SETB 21H.5; ;識(shí)別“C”
SJMP ENDT;
WORD6;
......;數(shù)據(jù)接收與處理程序
WORDCLR:MOV 21H,#00H;
ENDT:RETI;
5 結(jié)束語(yǔ)
“Jupiter”GPS/OEM接收機(jī)具有較高的準(zhǔn)確度。由于城市的高層建筑比較多,信號(hào)多徑傳輸明顯,因而沒(méi)有頂蓋或運(yùn)動(dòng)的運(yùn)動(dòng)媒體上運(yùn)行效果很好。城市有些高層方位會(huì)出現(xiàn)接收盲區(qū)(很小范圍),使用時(shí)應(yīng)該注意。
這種GPS接收電路可以由硬件來(lái)設(shè)定模式,部分參數(shù)還可通過(guò)主串口送到接收電路進(jìn)行設(shè)定,操作方便、靈活。本文介紹的電路及設(shè)定參數(shù)都經(jīng)過(guò)了實(shí)踐檢驗(yàn),數(shù)據(jù)接收穩(wěn)定,誤差小。