MSCBSC 移動通信論壇
搜索
登錄注冊
網(wǎng)絡(luò)優(yōu)化工程師招聘專欄 4G/LTE通信工程師最新職位列表 通信實習(xí)生/應(yīng)屆生招聘職位

【網(wǎng)優(yōu)軟件】

網(wǎng)優(yōu)軟件的發(fā)布、下載和使用
軟件決定效率

【GPRS/EDGE優(yōu)化】

數(shù)據(jù)業(yè)務(wù)專題優(yōu)化資料和經(jīng)驗
知識共享平臺

【DT路測與分析】

DT、CQT路測和分析
資料與經(jīng)驗

【室內(nèi)覆蓋】

室內(nèi)覆蓋、直放站、天線等
覆蓋無間隙



  • 閱讀:4747
  • 回復(fù):6
GPS通訊協(xié)議(NMEA0183)解析
討厭裝逼的人
金牌會員



 發(fā)短消息    關(guān)注Ta 

積分 6786
帖子 388
威望 21343 個
禮品券 55 個
專家指數(shù) -35
注冊 2008-7-18
專業(yè)方向  無線規(guī)劃
回答問題數(shù) 0
回答被采納數(shù) 0
回答采納率 0%
 
發(fā)表于 2009-04-10 20:54:39  只看樓主 

GPS通訊協(xié)議(NMEA0183)解析

說起NMEA協(xié)議,只要接觸過GPS設(shè)備的人,或者說是要用到GPS設(shè)備研發(fā)的人都知道,這是一個很常用的GPS通訊協(xié)議,而且也有很多人遇到關(guān)于NEMA協(xié)議的一些問題,我忽然有一個想法,就是按照自己對這個協(xié)議的一些理解,寫一點這方面的東西,看是不是能幫剛剛?cè)腴T的人解答一些疑問,由于筆者水平有限,這個東西也只能算是一個簡單介紹,就算是知識普及吧,希望能引高手出來大家一起討論。好了,言歸正傳,我們開始吧!

GPS(全球定位系統(tǒng))接收機與手持機之間的數(shù)據(jù)交換格式一般都由生產(chǎn)廠商缺省定制,其定義內(nèi)容普通用戶很難知曉,且不同品牌、不同型號的GPS接收機所配置的控制應(yīng)用程序也因生產(chǎn)廠家的不同而不同。所以,對于通用GPS應(yīng)用軟件,需要一個統(tǒng)一格式的數(shù)據(jù)標(biāo)準,以解決與任意一臺GPS的接口問題。NMEA-0183數(shù)據(jù)標(biāo)準就是解決這類問題的方案之一。NMEA協(xié)議是為了在不同的GPS導(dǎo)航設(shè)備中建立統(tǒng)一的RTCM(海事無線電技術(shù)委員會)標(biāo)準,它最初是由美國國家海洋電子協(xié)會(NMEA—The NationalMarine Electronics Association)制定的。NMEA協(xié)議有0180、0182和0183這3種,0183可以認為是前兩種的升級,也是目前使用最為廣泛的一種

NMEA通訊協(xié)議硬件接口
符合NMEAO183標(biāo)準的GPS接收機的硬件接口能夠兼容計算機的RS-232C協(xié)議串口,然而,嚴格來說NMEA標(biāo)準不是RS-232C,規(guī)范推薦依照EIA422(也稱為RS-422)。是一個與RS-232C不同的系統(tǒng)。標(biāo)準RS-232C采用負邏輯,即邏輯“1”表示-5V~ -15v,邏輯“0”表示+5V~+15V,利用傳輸信號線和信號地之間的電壓差進行傳輸。而EIA-422是利用導(dǎo)線之間的信號電壓差來傳輸信號的,其每個通道要用兩條信號線,一條是邏輯“1”,~條是邏輯“0”,通過傳輸線驅(qū)動器和傳輸線接收器實現(xiàn)邏輯電平和電位差之間的轉(zhuǎn)換,一般允許驅(qū)動器輸出為±2V~ ±6V 。

雖然存在區(qū)別,但在實際使用中,如果只是接收GPS的輸出.則只需兩根信號線 GPS數(shù)據(jù)輸出線和信號地線,可以直接將EIA-422輸出通道兩條信號線的中一條同計算機的Rs232C輸入線相連(這個方法我并沒有試驗過,是從別的地方聽來的,有興趣有條件的兄弟可以動手實驗一下,不過后果自負哦!呵呵)。

NMEA通訊協(xié)議所定義的標(biāo)準通訊接口參數(shù)為:
波特率:4800bit/s;
數(shù)據(jù)位:8位;
停止位:1位;
奇偶校驗:無;

NMEA-OI83語句解析
NMEA通訊協(xié)議所規(guī)定的通訊語句都已是以ASCII碼為基礎(chǔ)的,NMEA-0183協(xié)議語句的數(shù)據(jù)格式如下:“$”為語句起始標(biāo)志;“,”為域分隔符;“ *”為校驗和識別符,其后面的兩位數(shù)為校驗和,代表了“$”和“*”之間所有字符的按位異或值(不包括這兩個字符);“/”為終止符,所有的語句必須以來結(jié)束,也就是ASCII 字符的“回車”(十六進制的0D)和“換行”(十六進制的0A)。
典型的NMEA0183語句如下面的GPGGA語句。

當(dāng)GPS正常工作時,語句如:
$GPGGA,053152,3957.7484,N,11626.7626,E,1,06,1.5,88.1,M,-8.0,M,,*64
當(dāng)GPS收不到衛(wèi)星信號時,GPGGA語句輸出變?yōu)椋?br /> $GPGGA,053247,3957.7484,N,11626.7626,E,0,00,,,M,,M,,*46
除標(biāo)準語句外,NMEAO183規(guī)范還允許個別廠商定義私有的語句格式,這些語句以“$P”開始,然后是三個字符長度的廠商識別號,跟著是廠商定義的數(shù)據(jù),接下來的數(shù)據(jù)格式與標(biāo)準格式相同。
如Garmin的PGRME私有格式如下:
$PGRME,8.9,M,6.1,M,10.8,M*11
其中,“P”代表私有格式,“GRM”是Garmin的代碼,“E”表示語句類型。

NMEA數(shù)據(jù)處理中的注意事項
如果開發(fā)基于GPS的應(yīng)用系統(tǒng),就需要將GPS作為信息源,正確接收和解析GPS發(fā)送的NMEA一0183數(shù)據(jù)。此時,在編程實現(xiàn)時需要注意幾個問題。
1、通訊端口的設(shè)置
雖然NMEA規(guī)范推薦的串行通訊參數(shù)為“波特率:4800;奇偶校驗:無;數(shù)據(jù)位:8;停止位:1”,但也有廠商的產(chǎn)品允許用戶將波特率設(shè)置的更高,此時需要注意設(shè)置計算機的接口參數(shù)與GPS設(shè)備一致。
2、 所需信息的正確提取
NMEA—O183是以語句形式發(fā)送數(shù)據(jù)的,接收機可能發(fā)送很多類型的語句,而我們需要的可能只是某些語句中的幾個字段。因此就需要對接收到的數(shù)據(jù)進行解析,取得所需的信息。另外,可能會由于小數(shù)點位數(shù)不同等原因,語句的長度是可變的,因而分離感興趣的信息時,不能按照該信息在語句中所處的字符位置來查找,只能依據(jù)逗號分隔符,這一點在數(shù)據(jù)提取的過程中非常重要。筆者就經(jīng)常遇到一些應(yīng)用軟件工程師,在提取NMEA語句中的信息的時候按照字符的長度提取,這樣編出來的程序,通用性差,而且經(jīng)常會出現(xiàn)信息提取錯誤的問題。

以上都是我們在程序中需要注意的問題。為解決信息的正確提取問題,并提高程序的復(fù)用性,可以編寫適當(dāng)?shù)暮瘮?shù),如一個函數(shù)用來分離語句(即通過$字符判斷語句頭,一直到換行回車結(jié)束一條語句);一個函數(shù)用來判斷語句中的字段數(shù)(通過“,”分隔符來提取語句字段),還有一個函數(shù)用來返回語句中指定字段的內(nèi)容。有了這三個函數(shù),就可以方便的提取所需的信息,此時的工作只是簡單字符串比較和顯示格式的變換
檢驗和的計算與比較

最后,為了確保所采集的GPS數(shù)據(jù)的可靠性,必須進行檢驗和的計算與比較。檢驗和hh為“$”與“*”之間的所有字符按位異或的結(jié)果,并將其高4位和低4位各用一個十六進制數(shù)(字母大寫)表示出來。為此,需編寫函數(shù),從語句頭識別符“*”開始,計算檢驗和,直至“*”到達為止,這時“*”號后面的兩個字符就是檢驗碼,將自己的計算結(jié)果同這兩個檢驗碼字符比較,若不同,按出錯處理,并繼續(xù)運行;若相同,則說明通訊成功,數(shù)據(jù)接收正確,可以處理該語句,提取所需數(shù)據(jù)。

這里簡單介紹了NMEA一0183規(guī)范的接口定義和數(shù)據(jù)格式,但是篇幅限制沒有對NMEA語句進行詳細的解析,語句的詳細說明可參照NMEA規(guī)范或各GPS接收機的說明書。我現(xiàn)在手中有一份中文版本的NMEA協(xié)議語句的詳細解析,當(dāng)然并不是全部的語句,是根據(jù)GARMIN技術(shù)手冊翻譯過來的,如果有興趣了解的兄弟可以留下郵箱。

以上這些文字,是AKA按照自己對NMEA協(xié)議的的理解,再加上一點東找西看來的東西寫出來的,如對其中的問題有疑問,歡迎探討!

掃碼關(guān)注5G通信官方公眾號,免費領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費領(lǐng)取《中國移動:5G網(wǎng)絡(luò)AI應(yīng)用典型場景技術(shù)解決方案白皮書
  • 2、回復(fù)“5G6G”免費領(lǐng)取《5G_6G毫米波測試技術(shù)白皮書-2022_03-21
  • 3、回復(fù)“YD6G”免費領(lǐng)取《中國移動:6G至簡無線接入網(wǎng)白皮書
  • 4、回復(fù)“LTBPS”免費領(lǐng)取《《中國聯(lián)通5G終端白皮書》
  • 5、回復(fù)“ZGDX”免費領(lǐng)取《中國電信5G NTN技術(shù)白皮書
  • 6、回復(fù)“TXSB”免費領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費領(lǐng)取《中國移動算力并網(wǎng)白皮書
  • 8、回復(fù)“5GX3”免費領(lǐng)取《 R16 23501-g60 5G的系統(tǒng)架構(gòu)1
  • 對本帖內(nèi)容的看法? 我要點評


    作者的更多帖子
     
    [充值威望,立即自動到帳] [VIP貴賓權(quán)限+威望套餐] 另有大量優(yōu)惠贈送活動,請光臨充值中心
    充值擁有大量的威望和最高的下載權(quán)限,下載站內(nèi)資料無憂
    development51
    論壇元老
    鎵嬫満鍙風(fēng)爜宸查獙璇? style=


     發(fā)短消息    關(guān)注Ta 

    專家·初級勛章   紀念勛章·十周年  
    積分 18254
    帖子 1259
    威望 1334 個
    禮品券 0 個
    專家指數(shù) 103
    注冊 2009-3-22
    專業(yè)方向  WCDMA網(wǎng)絡(luò)優(yōu)化
    回答問題數(shù) 0
    回答被采納數(shù) 0
    回答采納率 0%
     
    發(fā)表于 2009-04-10 21:33:51  QQ
    學(xué)習(xí)了謝謝分享你的資料

    對本帖內(nèi)容的看法? 我要點評

     
    [立即成為VIP會員,百萬通信專業(yè)資料立即下載,支付寶、微信付款,簡單、快速!]
    xunjia
    金牌會員



     發(fā)短消息    關(guān)注Ta 

    公益·慈善勛章   財富勛章·萬元戶  
    積分 7329
    帖子 503
    威望 7180 個
    禮品券 20 個
    專家指數(shù) -94
    注冊 2009-3-11
    專業(yè)方向  EPON
    回答問題數(shù) 0
    回答被采納數(shù) 0
    回答采納率 0%
     
    發(fā)表于 2009-04-14 10:22:02 
    感謝分享,我想知道GPS應(yīng)用中都收到哪些數(shù)據(jù),能給出具體的數(shù)據(jù)格式中字段說明嗎,請指導(dǎo)!

    xyzhou8051@163.com

    對本帖內(nèi)容的看法? 我要點評

     
    最新通信職位:廣東通信人才網(wǎng) | 北京通信人才網(wǎng) | 上海通信人才網(wǎng) | 南京通信人才網(wǎng) | 西安通信人才網(wǎng) | 重慶通信人才網(wǎng) | 中國通信人才網(wǎng)
    ass2312
    高級會員
    鎵嬫満鍙風(fēng)爜宸查獙璇? style=


     發(fā)短消息    關(guān)注Ta 

    積分 2349
    帖子 78
    威望 8466 個
    禮品券 8 個
    專家指數(shù) 4
    注冊 2008-12-26
    專業(yè)方向  網(wǎng)優(yōu)
    回答問題數(shù) 0
    回答被采納數(shù) 0
    回答采納率 0%
     
    發(fā)表于 2009-04-14 21:32:56 

    對本帖內(nèi)容的看法? 我要點評

     
    熱點: 通信招聘職位 | 網(wǎng)絡(luò)優(yōu)化全集 | WCDMA精品 | TD-SCDMA學(xué)習(xí)資料 | EVDO | MGW媒體網(wǎng)關(guān)資料
    zhaogis
    初級會員



     發(fā)短消息    關(guān)注Ta 

    積分 62
    帖子 12
    威望 -18 個
    禮品券 0 個
    專家指數(shù) 0
    注冊 2009-5-9
    專業(yè)方向  gis
    回答問題數(shù) 0
    回答被采納數(shù) 0
    回答采納率 0%
     
    發(fā)表于 2009-05-09 02:50:19 
    學(xué)習(xí)了謝謝分享你的資料

    對本帖內(nèi)容的看法? 我要點評

     
    最新通信職位:廣東通信人才網(wǎng) | 北京通信人才網(wǎng) | 上海通信人才網(wǎng) | 南京通信人才網(wǎng) | 西安通信人才網(wǎng) | 重慶通信人才網(wǎng) | 中國通信人才網(wǎng)
    不正確
    金牌會員
    鎵嬫満鍙風(fēng)爜宸查獙璇? style=


     發(fā)短消息    關(guān)注Ta 

    積分 7712
    帖子 934
    威望 10167 個
    禮品券 8 個
    專家指數(shù) -50
    注冊 2009-6-6
    專業(yè)方向  網(wǎng)優(yōu)
    回答問題數(shù) 0
    回答被采納數(shù) 0
    回答采納率 0%
     
    發(fā)表于 2009-07-19 20:44:52 
    連上GPS,用超級終端直接連GPS所在串口,設(shè)置速率4800KBPS,數(shù)據(jù)位8,停止位1,無奇偶校驗,可以看GPS消息。。。。。

    對本帖內(nèi)容的看法? 我要點評

     
    [2分鐘擁有VIP權(quán)限和充足威望,可下載站內(nèi)任何資料] [快速找到一份高薪的通信行業(yè)職位]
    tangxw2006
    初級會員



     發(fā)短消息    關(guān)注Ta 

    積分 270
    帖子 13
    威望 3105 個
    禮品券 5 個
    專家指數(shù) 0
    注冊 2009-7-20
    專業(yè)方向  RF
    回答問題數(shù) 0
    回答被采納數(shù) 0
    回答采納率 0%
     
    發(fā)表于 2009-07-20 17:25:38 
    感謝同仁分享,謝謝。

    對本帖內(nèi)容的看法? 我要點評

     
    熱點: 通信招聘職位 | 網(wǎng)絡(luò)優(yōu)化全集 | WCDMA精品 | TD-SCDMA學(xué)習(xí)資料 | EVDO | MGW媒體網(wǎng)關(guān)資料

    快速回復(fù)主題    
    標(biāo)題
    內(nèi)容
     上傳資料請點左側(cè)【添加附件】

    當(dāng)前時區(qū) GMT+8, 現(xiàn)在時間是 2025-02-11 09:36:17
    渝ICP備11001752號  Copyright @ 2006-2016 mscbsc.com  本站統(tǒng)一服務(wù)郵箱:mscbsc@163.com

    Processed in 0.439345 second(s), 25 queries , Gzip enabled
    TOP
    清除 Cookies - 聯(lián)系我們 - 移動通信網(wǎng) - 移動通信論壇 - 通信招聘網(wǎng) - Archiver