GPS串口數(shù)據(jù)接收研究管理論文

時(shí)間:2022-06-25 03:46:00

導(dǎo)語(yǔ):GPS串口數(shù)據(jù)接收研究管理論文一文來(lái)源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢(xún)客服老師,歡迎參考。

GPS串口數(shù)據(jù)接收研究管理論文

摘要:目前gps(全球定位系統(tǒng))定位應(yīng)用市場(chǎng)日趨成熟,正在進(jìn)入應(yīng)用的高速發(fā)展時(shí)期。本文以一款EverMore公司的GM-X205GPS接受模塊為例,介紹了其數(shù)據(jù)格式,以及應(yīng)用PIC16F874單片機(jī)RS232串口進(jìn)行數(shù)據(jù)接收的程序。

關(guān)鍵詞:GPS、NMEA格式、PIC16F874、串口數(shù)據(jù)接收

1、GPS應(yīng)用簡(jiǎn)介

近年來(lái)GPS系統(tǒng),已經(jīng)在大地測(cè)繪、海上漁用、車(chē)輛定位監(jiān)控、建筑、農(nóng)業(yè)等各個(gè)領(lǐng)域得到廣泛應(yīng)用。從九十年代我國(guó)引進(jìn)GPS定位技術(shù)開(kāi)始,經(jīng)過(guò)十多年的市場(chǎng)培育,GPS定位應(yīng)用進(jìn)入了發(fā)展的最好時(shí)機(jī),未來(lái)十年基于GPS的應(yīng)用將會(huì)改變我們的生活和工作方式。

目前市場(chǎng)上的大部分GPS接受模塊都是通過(guò)RS232串口與MCU進(jìn)行數(shù)據(jù)傳輸?shù)?。這些數(shù)據(jù)包括經(jīng)度、緯度、海拔高度、時(shí)間、衛(wèi)星使用情況等基本信息。開(kāi)發(fā)人員再依據(jù)這些基本數(shù)據(jù),進(jìn)行數(shù)據(jù)處理來(lái)完成整套的定位系統(tǒng)軟件。

2、GM-X205模塊數(shù)據(jù)格式

在進(jìn)行數(shù)據(jù)接受編程之前,先介紹一下該模塊的數(shù)據(jù)格式。它支持NMEA-0183輸出格式。信息如下:

GGA位置測(cè)定系統(tǒng)定位資料(GlobalPositioningSystemFixData)

GSV導(dǎo)航衛(wèi)星資料(GNSSSatellitesinView)

RMC導(dǎo)航衛(wèi)星特定精簡(jiǎn)資料(RecommendedMinimumSpecificGNSSData)

VTG方向及速度等相關(guān)資料(CourseOverGroundandGroundSpeed)

由于文章篇幅問(wèn)題,筆者在這里只以接收GGA數(shù)據(jù)為例,格式如下:

$GPGGA,hhmmss,dddmm.mmmm,a,dddmm.mmmm,a,x,xx,x.x,x.x,M,,M,x.x,xxxx*CS

例:$GPGGA,033744,2446.5241,N,12100.1536,E,1,10,0.8,133.4,M,,,,*1F

說(shuō)明見(jiàn)表:

區(qū)域

名稱(chēng)

單位

說(shuō)明

1

信息ID

$GPGGA

GGA協(xié)議開(kāi)始

2

UTC時(shí)間

033744

hhmmss

3

緯度

2446.5241

dddmm.mmmm

4

南/北半球指示

N

N=north;S=south

5

經(jīng)度

12100.1536

dddmm.mmmm

6

東/西半球指示

E

E=east;W=west

7

定位指示

1

0=未定位

1=定位SPS模式

2=定位DGPS,SPS模式

8

應(yīng)位衛(wèi)星數(shù)

10

00-12

9

HDOP

0.8

10

海拔高度

133.4

11

海拔高度單位

M

12

WGS84水準(zhǔn)面劃分

13

WGS-84水準(zhǔn)面劃分單位

14

累計(jì)GPS數(shù)據(jù)微分

本模塊中不可用

15

參考工作站ID

本模塊中不可用

16

校驗(yàn)位

*1F

上面例子中,我們可讀出位置信息:北緯24度46.5241分,西經(jīng)121度00.1536分

格林威治時(shí)間:3點(diǎn)37分44秒

3、PIC16F874數(shù)據(jù)接收程序

筆者在系統(tǒng)中把接收到的數(shù)據(jù)處理后,顯示到圖形液晶屏上。限于篇幅在這里只給出數(shù)據(jù)接收部分程序,并且只接收經(jīng)度和時(shí)間信息,并且給出格林威治時(shí)間轉(zhuǎn)換為北京時(shí)間的轉(zhuǎn)換函數(shù)。其他數(shù)據(jù)接收程序類(lèi)似。

;**********************************************************

;THISISAGPSRECEIVERPROGRAM*

;**********************************************************

LISTP=16F874

INCLUDEP16F874.INC

;*******寄存器定義********************

TEMP1EQU0X27

W_TEMPEQU0X54

STATUS_TEMPEQU0X55

LONG1EQU0X40;LONG1---LONG10經(jīng)度的10位數(shù)據(jù)

LONG2EQU0X41

LONG3EQU0X42

LONG4EQU0X43

LONG5EQU0X44

LONG6EQU0X45

LONG7EQU0X46

LONG8EQU0X47

LONG9EQU0X48

LONG10EQU0X49

T1EQU0X58;T1---T6時(shí)間的6位數(shù)據(jù)

T2EQU0X59

T3EQU0X60

T4EQU0X61

T5EQU0X62

T6EQU0X63

;********************************************************

ORG00H

NOP

NOP

GOTOMAIN

ORG04H;設(shè)定按中端健才開(kāi)始數(shù)據(jù)接受

NOP

NOP

GOTOINTERRUPT

;*********判斷頭文件是不是''''$GPGGA’**********

IDMESSAGE

BCFSTATUS,RP0

BREAK0

CALLPAND

MOVWFTEMP1

MOVLW''''$'''';detect$

SUBWFTEMP1,0

BTFSSSTATUS,Z

GOTOBREAK0

CALLPAND

MOVWFTEMP1

MOVLW''''G'''';detectG

SUBWFTEMP1,0

BTFSSSTATUS,Z

GOTOBREAK0

CALLPAND

MOVWFTEMP1

MOVLW''''P'''';detectP

SUBWFTEMP1,0

BTFSSSTATUS,Z

GOTOBREAK0

CALLPAND

MOVWFTEMP1

MOVLW''''G'''';detectG

SUBWFTEMP1,0

BTFSSSTATUS,Z

GOTOBREAK0

CALLPAND

MOVWFTEMP1

MOVLW''''G'''';detectG

SUBWFTEMP1,0

BTFSSSTATUS,Z

GOTOBREAK0

CALLPAND

MOVWFTEMP1

MOVLW''''A'''';detectA

SUBWFTEMP1,0

BTFSSSTATUS,Z

GOTOBREAK0

CALLPAND;跳過(guò)逗號(hào)

RETURN

;************接收函數(shù)******************

RECEIVE

CALLPAND;開(kāi)始時(shí)間數(shù)據(jù)接收

MOVWFT1

CALLPAND

MOVWFT2

CALLPAND

MOVWFT3

CALLPAND

MOVWFT4

CALLPAND

MOVWFT5

CALLPAND

MOVWFT6;時(shí)間數(shù)據(jù)接收完成

CALLPAND;跳過(guò)逗號(hào)

CALLPAND;跳過(guò)10位緯度數(shù)據(jù)---開(kāi)始

CALLPAND

CALLPAND

CALLPAND

CALLPAND

CALLPAND

CALLPAND

CALLPAND

CALLPAND

CALLPAND;跳過(guò)10位緯度數(shù)據(jù)---結(jié)束

CALLPAND;跳過(guò)逗號(hào)

CALLPAND;跳過(guò)南/北緯判斷位數(shù)據(jù)

CALLPAND;跳過(guò)逗號(hào)

CALLPAND;接受經(jīng)度信號(hào)開(kāi)始

MOVWFLONG1

CALLPAND

MOVWFLONG2