亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        51單片機(jī)接收GPS數(shù)據(jù)的算法與實(shí)現(xiàn)

        2008-04-12 00:00:00杜文龍
        現(xiàn)代電子技術(shù) 2008年22期

        摘 要:介紹以51單片機(jī)為處理器的應(yīng)用系統(tǒng)在編程時(shí)的內(nèi)存使用區(qū)劃分和GPS定位信息流的數(shù)據(jù)格式。說明GPS15L型接收模塊的數(shù)據(jù)線應(yīng)用情況。針對(duì)51單片機(jī)的內(nèi)存較小和GPS 導(dǎo)航數(shù)據(jù)流較大的矛盾,提出使用51單片機(jī)接收GPS數(shù)據(jù)的一種壓縮算法,并給出軟件設(shè)計(jì)流程圖,最后以51匯編語言為例給出實(shí)際接收GPS 數(shù)據(jù)的部分程序的具體實(shí)現(xiàn)方法。

        關(guān)鍵詞:51單片機(jī);數(shù)據(jù)格式;GPS數(shù)據(jù);數(shù)據(jù)壓縮

        中圖分類號(hào):TP368.1文獻(xiàn)標(biāo)識(shí)碼:B

        文章編號(hào):1004373X(2008)2205003

        Algorithm and Implementation Based on the MCU-51 Receiving GPS Data

        YANG Yong,DU Wenlong

        (Huaian College of Information Technology,Huaian,223003,China)

        Abstract:The application system based on processor MCU-51 is introduced.The system programming memory uses data formats of the division and GPS positioning information flow.The data line application of GPS15L receiver module is noted.Because of the small memory of MCU-51 and the great navigation data of GPS,a kind of compression algorithm based on the MCU-51 receiving GPS data is introduced.The flow chart of software design is given.The specific method of the part process for GPS receiving data based on 51 language is given.

        Keywords:MCU-51;data format;GPS data;data compression

        1 小內(nèi)存單片機(jī)的內(nèi)存

        51系列的單片機(jī)只有128 B的內(nèi)存,分為:寄存器區(qū)(00H~1FH)32個(gè)字節(jié)、位尋址區(qū)(20H~2FH)16個(gè)字節(jié)、數(shù)據(jù)緩沖區(qū)(30H~7FH)80個(gè)字節(jié)。能否充分高效地使用這有限的寶貴資源是衡量一個(gè)單片機(jī)技術(shù)人員水平高低的尺度之一。在應(yīng)用51系列單片機(jī)開發(fā)項(xiàng)目時(shí),程序設(shè)計(jì)人員經(jīng)常在數(shù)據(jù)緩沖區(qū)暫存數(shù)據(jù)運(yùn)算的結(jié)果或中間結(jié)果,位尋址區(qū)用作定義一些變量或標(biāo)志等,寄存器區(qū)作為參與程序運(yùn)算數(shù)據(jù)的寄存單元來使用。

        2 GPS定位信息

        GPS接收機(jī)只要處于工作狀態(tài)就會(huì)源源不斷地把接收并計(jì)算出的GPS導(dǎo)航定位信息通過串口傳送單片機(jī)中,在沒有進(jìn)一步處理之前,傳送的數(shù)據(jù)是一長串字節(jié)流信息。因此必須經(jīng)過程序?qū)⑵滢D(zhuǎn)化為有實(shí)際意義的;可供高層決策使用的定位信息數(shù)據(jù)。與其他通信協(xié)議類似,GPS進(jìn)行信息提取,必須明確其幀結(jié)構(gòu),然后才能根據(jù)其結(jié)構(gòu)完成對(duì)各個(gè)定位信息的提取。對(duì)本文以使用的GARMIN GPS 接收機(jī)為例,其發(fā)送到單片機(jī)的數(shù)據(jù)主要由幀頭,幀尾和幀內(nèi)數(shù)據(jù)組成。根據(jù)數(shù)據(jù)幀的不同,幀頭也不相同,主要有“#GPGGA”,“$GPGSA”,“$GPRMC”等。這些幀頭標(biāo)識(shí)了后續(xù)幀內(nèi)數(shù)據(jù)的組成結(jié)構(gòu),各幀均以回車符和換行符作為幀尾標(biāo)識(shí)一幀的結(jié)束。對(duì)于通常的情況,大家所關(guān)心的定位數(shù)據(jù)如經(jīng)緯度、速度、時(shí)間、航向等均以“$GPRMC”中獲取得到。該幀的結(jié)構(gòu)及各字段釋義如下:

        $GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh

        其中:

        <1>為UTC時(shí)間,hhmmss(時(shí)分秒)格式;

        <2>為定位狀態(tài),A=有效定位,V=無效定位;

        <3>為緯度ddmm.mmmm(度分)格式;

        <4>為緯度半球N北半球或S南半球;

        <5>為經(jīng)度dddmm.mmmm(度分)格式;

        <6>為經(jīng)度半球E東經(jīng)或W西經(jīng);

        <7>為地面速度(000.0~999.9節(jié));

        <8>為地面航向(000.0~359.9°),以真北為參考標(biāo)準(zhǔn);

        <9>為UTC日期,ddmmyy(日月年)格式;

        <10>為磁偏角(000.0~180.0°),磁偏方向,E(東)或W(西)模式指示;

        <11>為校驗(yàn)和;

        <12>為結(jié)束標(biāo)志。

        GPS模塊是以 GPS15L為例。GPS15L接口特性是CMOS電平,波特率固定為4 800 b/s。其接口線共有6根,分別說明如下:

        白線:備用電源輸入線;

        黑線:接地線;

        紅線:電源線;

        黃線:數(shù)據(jù)輸出線接單片機(jī)的RXD;

        藍(lán)線:數(shù)據(jù)輸入線;

        桔色線:天線外部電源線。

        用51系列單片機(jī)接收GPS15L的數(shù)據(jù)一般只用到3根線即黑線、紅線和黃線。

        3 51單片機(jī)內(nèi)存小與GPS定位信息長的矛盾

        嵌入式GPS車載系統(tǒng)的使用者只關(guān)心其日期和時(shí)間、糾度、面速度信息,因而可以只選用$GPRMC記錄語句。一條$GPRMC語句包括13個(gè)記錄:語句標(biāo)識(shí)頭、世界時(shí)間、定位狀態(tài)、緯度、緯度方位、經(jīng)度、經(jīng)度方位、地面速度、地面路線、日期、磁偏角、校驗(yàn)和和結(jié)束標(biāo)記,它一共占用70個(gè)字節(jié)(其中包括用于分隔記錄所使用的13個(gè)逗號(hào)),例如:$GPRMC,121530,A,0033.4304,N,00118.2030,E,029.1,240.8,050712,120.4,E,A,由此可見,從GPS15 OEM板接收下來的數(shù)據(jù)流文本字符串,如果全部直接由51單片機(jī)的內(nèi)存緩沖區(qū)80個(gè)字節(jié)來接收,一次就占用70個(gè)字節(jié),對(duì)單片機(jī)設(shè)計(jì)人員來說剩余的緩沖區(qū)空間根本就無法再用作其他的安排。

        4 GPS接收程序的設(shè)計(jì)與算法

        仔細(xì)觀察以上段中的GPS數(shù)據(jù)記錄,可以發(fā)現(xiàn)語句之間的數(shù)據(jù)段還存在很多冗余位。除此之外,這些記錄中所含的信息既有英文字符又有數(shù)字,為了后續(xù)的壓縮,把GPS數(shù)據(jù)分為10段:對(duì)語句中的各個(gè)記錄應(yīng)做如下的處理

        ‖$GPRMC,‖121530,‖A,‖0033.4304,‖N,‖00118.2030,‖E,‖029.1,‖240.8,‖050712,120.4,E,A,‖

        (1) 語句標(biāo)識(shí)頭(ID)$GPRMC,:占用7個(gè)字節(jié),因?yàn)槊總€(gè)語句的標(biāo)識(shí)頭都一樣,所以該記錄段屬冗余信息,完全可以去除,可去掉7個(gè)字節(jié),在程序中具體處理時(shí)可先預(yù)置$GPRMC,標(biāo)識(shí)頭與接收的GPS信息進(jìn)行同步信號(hào)檢測處理。

        (2) 世界時(shí)間(UTC):占用7個(gè)字節(jié),該信息段以時(shí)、分、秒的格式指示出當(dāng)時(shí)世界時(shí)間。轉(zhuǎn)換為北京時(shí)間還需要再加上8小時(shí)。末尾的“,”是冗余位可去掉。

        (3) 定位狀態(tài)(A/V):占用2個(gè)字節(jié),不進(jìn)行處理。其與其他信息一起傳到控制中心,由此可判斷GPS信息定位成功與否。末尾的“,”是冗位可去掉。

        (4) 緯度:占用10個(gè)字節(jié),進(jìn)行預(yù)處理時(shí)中間的“.”和末尾的“,”是冗余位??扇サ?個(gè)字節(jié)。

        (5) 經(jīng)度指示器(E/W):占2個(gè)字節(jié),它指示出經(jīng)度是東經(jīng),還是西經(jīng)。由于各個(gè)$GPRMC語句中的該段信息在中國都是東徑,它是冗余信息,可去掉。

        (6) 緯度:占用11個(gè)字節(jié),進(jìn)行預(yù)處理時(shí)中間的“.” 和末尾的“,”是冗余位??扇サ?個(gè)字節(jié)。

        (7) 緯度指示器(N/S):占2個(gè)字節(jié),各個(gè)$GPRMC語句中的該段信息完全一樣,是冗余信息,處理方法與上相同。

        (8) 地面速度:占用6個(gè)字節(jié),進(jìn)行預(yù)處理時(shí)中間的“.” 和末尾的“,”是冗余信息??扇サ?個(gè)字節(jié)。

        (9) 地面航向:占用6個(gè)字節(jié),進(jìn)行預(yù)處理時(shí)中間的“.” 和末尾的“,”是冗余信息??扇サ?個(gè)字節(jié)。

        (10) 其他記錄段與本系統(tǒng)的設(shè)計(jì)無關(guān)都不保留和進(jìn)行壓縮??扇サ?7個(gè)字節(jié)。

        通過以上壓縮預(yù)處理后,保留的數(shù)據(jù),共占用32個(gè)字節(jié),壓縮掉38個(gè)字節(jié)。這其中把GPS數(shù)據(jù)格式段中的“,”,和“.”兩個(gè)符號(hào)去掉非常重要,其他的冗余位可以通過接收不存儲(chǔ)的方法去掉。為了直觀可先設(shè)計(jì)2個(gè)子程序,分別是單片機(jī)的單字節(jié)串行口接收的子程序和接收GPS數(shù)據(jù)流中的一段如時(shí)間、經(jīng)度、緯度等并去掉GPS數(shù)據(jù)串中間的“,”和“.”兩個(gè)符號(hào)的子程序。單片機(jī)串行口單字節(jié)接收子程序設(shè)計(jì)框圖如圖1所示。去掉GPS數(shù)據(jù)流中間的“,”,“、”子程序如圖2所示。單片機(jī)接收GPS數(shù)據(jù)的壓縮程序設(shè)計(jì)框圖如圖3所示。

        GPS的數(shù)據(jù)串行口接收程序中不允許中斷,如單字節(jié)接收子程序命名為“RECEIVE1”,接收GPS數(shù)據(jù)段并壓縮掉該數(shù)據(jù)段中間的“,”,“.”的子程序命名為RECEIVE2,GPS數(shù)據(jù)流接收的程序?yàn)镚PSRECEIVE。

        在程序中定義:

        GPRMC:DB 6

        DB “GPRMC,”為GPS數(shù)據(jù)同步識(shí)別標(biāo)志。

        以51匯編語言編寫的程序代碼如下所示:

        GPSRECEIVE: MOV DPTR,#GPRMC

        …;同步識(shí)別處理

        ACALL RECEIVE2;接收時(shí)間

        …;北京時(shí)間調(diào)整

        MOVR0,#30H;數(shù)據(jù)存放的起始地址

        ACALL RECEIVE2;接收定位成功與否信息A或V

        ACALL RECEIVE2;接收經(jīng)度信息

        ACALL RECEIVE1;接收不存儲(chǔ)去掉“E”

        ACALL RECEIVE1;接收不存儲(chǔ)去掉“,”

        ACALL RECEIVE2;接收緯度信息

        ACALL RECEIVE1;接收不存儲(chǔ)去掉“S”

        ACALL RECEIVE1;接收不存儲(chǔ)去掉“,”

        ACALLRECEIVE2;接收速度信息

        ACALL RECEIVE2;接收航向信息

        …;

        該壓縮方在車載系統(tǒng)中使用不僅能節(jié)省存儲(chǔ)空間,而且能減少信道占有時(shí)間及提高數(shù)據(jù)的安全性。由于壓縮程序是針對(duì)GPS數(shù)據(jù)格式編寫的,因此其壓縮比大但通用性不強(qiáng)。盡管如此,該程序略做修改可移植到其他系統(tǒng)中,因?yàn)楦鱾€(gè)GPS廠家所執(zhí)行的規(guī)范標(biāo)準(zhǔn)都是NMEA-0183輸出語句,其數(shù)據(jù)的輸出格式略有差別。

        參考文獻(xiàn)

        [1]劉大杰,施一民,過靜君.全球定位系統(tǒng)(GPS)的原理與數(shù)據(jù)處理[M].上海:同濟(jì)大學(xué)出版社,1996.

        [2]魏守明,周生輝.GPS數(shù)據(jù)在出租車集群調(diào)度系統(tǒng)中的傳輸方案[J].電子技術(shù),2002,29(5):29-31.

        [3]楊宏業(yè),張躍.GPS定位數(shù)據(jù)壓縮算法的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2002,28(12):29-32.

        [4]長青,柳重提.GPS定位與測速算法研究\\.北京航空航天大學(xué)學(xué)報(bào),1998,24(5):510-513.

        [5]劉基余等.全球定位系統(tǒng)原理及應(yīng)用[M].北京:測繪出版社,1993.

        [6]袁玫,袁文.數(shù)據(jù)壓縮技術(shù)及應(yīng)用[M].北京:電子工業(yè)出版社,1995.

        [7]吳樂南.數(shù)據(jù)壓縮的原理及應(yīng)用[M].北京:電子工業(yè)出版社,1995.

        作者簡介 楊 永 男,1973年出生,工學(xué)碩士,講師,電子信息教研室主任。研究方向?yàn)樾盘?hào)與信息處理。

        杜文龍 男,1973年出生,工學(xué)碩士,講師,通信教研室主任。研究方向?yàn)橥ㄐ殴こ獭?/p>

        久久久精品久久久国产| 大伊香蕉在线精品视频75| 国产a√无码专区亚洲av| 亚洲人成电影在线观看天堂色| 91精品视品在线播放| 蜜桃一区二区三区自拍视频| 男女做那个视频网站国产| 成人一区二区免费中文字幕视频| 福利视频一二三在线观看| 国产在线欧美日韩一区二区| 国产一区二区在线观看av| 熟妇高潮一区二区三区在线观看 | 亚洲成av人片在www鸭子| 亚洲色精品aⅴ一区区三区| 丝袜国产高跟亚洲精品91| 日本久久精品国产精品| 国产一级二级三级在线观看视频| 亚无码乱人伦一区二区| 少妇愉情理伦片高潮日本| 国产av一区二区三区日韩| 亚洲精品国产福利在线观看 | 伊人色综合视频一区二区三区| 久久亚洲精品成人综合| 一区二区三区视频亚洲| 精品欧洲av无码一区二区14| 亚洲精品无码成人a片| 亚洲色欲久久久综合网 | 国产亚洲视频在线观看网址| 日韩精品欧美激情国产一区| 国产中文字幕免费视频一区| 中国人妻与老外黑人| 人妻无码中文专区久久五月婷| 国内自拍第一区二区三区| 久久精品av在线视频| 亚洲av无码码潮喷在线观看| 精品综合久久久久久97超人| 亚洲AV秘 无码一区二区在线| 青青草小视频在线观看| 99视频30精品视频在线观看| 亚洲毛片αv无线播放一区| 久久久精品久久久国产|