當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀] 全球定位系統(tǒng)(Clobal Position System,GPS)能夠提供實(shí)時(shí)、全天候、全球性和高精度的服務(wù),其廣泛應(yīng)用于各行各業(yè)中。GPS接收機(jī)通過(guò)天線單元接收衛(wèi)星信號(hào),將信號(hào)進(jìn)行帶通濾波、下變頻混頻、AGC放大、A/D轉(zhuǎn)換等一系

 全球定位系統(tǒng)(Clobal Position System,GPS)能夠提供實(shí)時(shí)、全天候、全球性和高精度的服務(wù),其廣泛應(yīng)用于各行各業(yè)中。GPS接收機(jī)通過(guò)天線單元接收衛(wèi)星信號(hào),將信號(hào)進(jìn)行帶通濾波、下變頻混頻、AGC放大、A/D轉(zhuǎn)換等一系列處理,得到數(shù)字中頻信號(hào),進(jìn)而對(duì)中頻信號(hào)進(jìn)行捕獲、跟蹤,解調(diào)出用戶的緯度、經(jīng)度、高度、速度、時(shí)間等導(dǎo)航信息,將這些信息按NMEA-0183協(xié)議封裝,通過(guò)串口輸出數(shù)據(jù)。用戶設(shè)備中的GPS接收器在收到GPS信息后,需要對(duì)相關(guān)信息予以解碼處理,從而得到用戶的位置、時(shí)間等信息,進(jìn)而實(shí)現(xiàn)用GPS導(dǎo)航和定位的目的。近幾年來(lái),現(xiàn)場(chǎng)可編程門陣列(FPGA)憑借其開發(fā)過(guò)程投資少、設(shè)計(jì)周期短、靈活方便以及可反復(fù)編程等特點(diǎn),在現(xiàn)代電子設(shè)計(jì)中得到了廣泛應(yīng)用。本設(shè)計(jì)選擇現(xiàn)場(chǎng)可編程門陣列(FPGA)來(lái)實(shí)現(xiàn)GPS信號(hào)的解析處理。

1 NMEA-0183協(xié)議的數(shù)據(jù)格式

NMEA-0183是美國(guó)國(guó)家海洋電子協(xié)會(huì)(NMEA,The National Marine Electronics Association)為海用電子設(shè)備制定的標(biāo)準(zhǔn)格式,它現(xiàn)在已被廣泛地應(yīng)用于多個(gè)領(lǐng)域的設(shè)備之間的數(shù)據(jù)傳輸。NMEA標(biāo)準(zhǔn)格式輸出采用ASCII碼,每個(gè)ASCII數(shù)據(jù)碼長(zhǎng)8位,串行通信的波特率為9600位/秒,數(shù)據(jù)位8位,開始位1位,停止位1位,無(wú)奇偶校驗(yàn)位。

NMEA-0183協(xié)議由語(yǔ)句組成,每條語(yǔ)句以字符“$”作為語(yǔ)句起始標(biāo)志,數(shù)據(jù)之間以逗號(hào)相隔,字符“*”作為校驗(yàn)和前綴,最后以校驗(yàn)和數(shù)值和回車/換行字符結(jié)束。最常用的有6種語(yǔ)句格式:$GPGGA,$GPGLL,$GPGSA,$GPGSV,$GPRMC,$GPVTG。下面以推薦定位信息GPRMC語(yǔ)句為例介紹數(shù)據(jù)格式。語(yǔ)句的格式如下:

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

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

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

<3>緯度,ddmm.mmmm(度分)格式(前導(dǎo)位不足則補(bǔ)0);

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

<5>經(jīng)度,dddmm.mmmm(度分)格式(前導(dǎo)位不足則補(bǔ)0);

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

<7>地面速率(000.0~999.9節(jié),前導(dǎo)位不足則補(bǔ)0);

<8>地面航向(000.0~359.9度,以真北為參考基準(zhǔn),前導(dǎo)位不足則補(bǔ)0);

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

<10>磁偏角(000.0~180.0度,前導(dǎo)位不足則補(bǔ)0);

<11>磁偏角方向,E(東)或W(西);

<12>模式指示(僅NMEA-0183 3.00版本輸出,A=自主定位,D=差分,E=估算,N=數(shù)據(jù)無(wú)效);

<13>校驗(yàn)和;

2 NMEA-0183協(xié)議解析器設(shè)計(jì)

2.1 系統(tǒng)的總體設(shè)計(jì)

以深圳星際通公司生產(chǎn)的GP5MX1513F1導(dǎo)航芯片為例進(jìn)行說(shuō)明。該芯片為一個(gè)64并行通道單頻接收機(jī),只接受L1波段的衛(wèi)星信號(hào),定位精度2 m(2D RMS)。該芯片依次輸出6種NMEA信息,分別是:$GPGGA,$GPGLL,$GPGSA,$GPGSV,$GPRMC,$GPVTG,串口默認(rèn)設(shè)置:波特率9 600bps,起始位1位,數(shù)據(jù)位8位,無(wú)奇偶校驗(yàn)位,停止位1位。NMEA-0183協(xié)議解析系統(tǒng)的總體設(shè)計(jì)框圖如圖1所示,GP5MX1513F1導(dǎo)航芯片通過(guò)天線單元接收衛(wèi)星信號(hào),將信號(hào)濾波、下變頻、放大和模數(shù)轉(zhuǎn)換等一系列處理,得到數(shù)字中頻信號(hào),進(jìn)而對(duì)中頻信號(hào)進(jìn)行捕獲、跟蹤、位同步及幀同步,解調(diào)出導(dǎo)航數(shù)據(jù),最后計(jì)算出用戶的緯度、經(jīng)度、高度、速度、時(shí)間等信息,以NMEA-0183協(xié)議格式打包成數(shù)據(jù)幀,再通過(guò)標(biāo)準(zhǔn)的串口輸出數(shù)據(jù)。NMEA-0183協(xié)議解析模塊生成的硬件電路內(nèi)嵌在FPGA中,一方面通過(guò)串口模塊接收GP5MX1513F1芯片發(fā)出的串行數(shù)據(jù),將接收的信號(hào)給解析模塊進(jìn)行處理,另一方面解析模塊根據(jù)NMEA-0183協(xié)議的數(shù)據(jù)格式提取出所需要的信息。

2.2 串口模塊

串口模塊主要負(fù)責(zé)接收由GP5MX1513芯片輸出的導(dǎo)航定位信息,串口模塊通過(guò)波特率發(fā)生器將系統(tǒng)時(shí)鐘進(jìn)行分頻,產(chǎn)生16倍數(shù)據(jù)波特率的時(shí)鐘。系統(tǒng)復(fù)位后,接收端以16倍波特率的速率讀取線路狀態(tài),檢測(cè)信號(hào)GPS_TX出現(xiàn)下降沿,在GPS_TX信號(hào)下降沿后第8個(gè)采樣點(diǎn)確認(rèn)是否為低電平,如果檢測(cè)得到的是高電平,則認(rèn)為起始位無(wú)效,返回到空閑狀態(tài),重新等待起始信號(hào)的到來(lái)。起始位找到后,開始接收數(shù)據(jù),當(dāng)數(shù)據(jù)計(jì)數(shù)器data_bit_cnt計(jì)到7時(shí),8位數(shù)據(jù)都已經(jīng)輸入完成。最后,檢測(cè)停止位,如果正確檢測(cè)到高電平,則

說(shuō)明本幀的各位數(shù)據(jù)正確接收,將數(shù)據(jù)存入到8位數(shù)據(jù)寄存器中,否則出錯(cuò)。

串口模塊接收端的狀態(tài)轉(zhuǎn)移圖如圖2所示,接收機(jī)由4個(gè)工作狀態(tài)組成,分別是空閑狀態(tài)、起始位、數(shù)據(jù)位和停止位。當(dāng)系統(tǒng)復(fù)位后,電路處于空閑狀態(tài),等待信號(hào)的觸發(fā),連續(xù)8個(gè)時(shí)鐘檢測(cè)出數(shù)據(jù)發(fā)生負(fù)跳變,sof信號(hào)為高,進(jìn)入起始狀態(tài),當(dāng)sample為1時(shí),進(jìn)入數(shù)據(jù)位,接著的數(shù)據(jù)位將每隔16個(gè)采樣周期被采樣一次。即取每一位的第8次的波特率時(shí)鐘采樣值來(lái)確保采樣正確。連續(xù)采樣8次后,采樣計(jì)數(shù)器data_bit_cnt==7,進(jìn)入停止位,當(dāng)sample為1時(shí),進(jìn)入空閑狀態(tài),開始接收下一個(gè)數(shù)據(jù)。

在狀態(tài)機(jī)模型的基礎(chǔ)上,使用verilog HDL語(yǔ)言來(lái)描述其功能,其主要代碼如下:

2.3 解析模塊

串口模塊輸出的8位數(shù)據(jù)送到解析模塊,解析模塊采用6MUX1選擇器來(lái)選擇提取哪種語(yǔ)句,通過(guò)外部輸入信號(hào)對(duì)寄存器config_Reg進(jìn)行配置來(lái)實(shí)現(xiàn),當(dāng)config_Reg=000時(shí),提取GGA語(yǔ)句,當(dāng)config_Reg=001時(shí),提取GLL語(yǔ)句,當(dāng)config_Reg=010時(shí),提取GSA語(yǔ)句,當(dāng)config_Reg=001時(shí),提取GSV語(yǔ)句,當(dāng)config_Reg=011時(shí),提取RMC語(yǔ)句,當(dāng)config_Reg =100時(shí),提取VTG語(yǔ)句。下面以RMC語(yǔ)句為例,來(lái)說(shuō)明解析過(guò)程,解析模塊將串口模塊接收端接收的數(shù)據(jù)進(jìn)行循環(huán)檢測(cè),判斷報(bào)文頭、定位狀態(tài)、校驗(yàn)位、結(jié)束位信息,提取時(shí)間信息。首先,對(duì)config_Reg進(jìn)行配置,設(shè)置config_Reg=011;其次,檢測(cè)報(bào)文頭$GPRMC,如果是,則進(jìn)行下一步,否則,繼續(xù)檢測(cè);最后,用逗號(hào)計(jì)數(shù)器的值來(lái)決定提取$GPBMC語(yǔ)句的哪段信息,當(dāng)逗號(hào)計(jì)數(shù)器為1時(shí),提取時(shí)分秒信息,存儲(chǔ)在data_hh_mm_ss寄存器中;當(dāng)逗號(hào)計(jì)數(shù)器為2時(shí),提取定位狀態(tài)信息,當(dāng)VALID信號(hào)為高,則有效定位;當(dāng)VALID信號(hào)為低,則無(wú)效定位;當(dāng)逗號(hào)計(jì)數(shù)器為3時(shí),提取緯度信息,存儲(chǔ)在lat_data寄存器中;當(dāng)逗號(hào)計(jì)數(shù)器為5時(shí),提取經(jīng)度信息,存儲(chǔ)在lon_data寄存器中;當(dāng)逗號(hào)計(jì)數(shù)器為9時(shí),提取日月年信息,存儲(chǔ)在data_dd_mm_yy寄存器中。程序設(shè)計(jì)的流程圖如圖3所示。

其主要代碼如下:

3 仿真測(cè)試及硬件實(shí)現(xiàn)

根據(jù)編寫的測(cè)試模塊在ModelSim 6.2軟件下進(jìn)行了功能仿真,其仿真結(jié)果如圖4所示,GPS_TX為輸入的串行數(shù)據(jù),rcv_data為接收的8位數(shù)據(jù),hh_mm_ss為提取出時(shí)分秒信息:15:49:41,dd_mm_yy為提取出日月年信息:13.06.09,lat_data為提取的緯度信息:3409.3297,lon_data為提取的經(jīng)度信息:10853.6986,從仿真波形上看,仿真的結(jié)果與測(cè)試激、勵(lì)中的數(shù)據(jù)一致。

完成了仿真后,在Quartus II 9.0下進(jìn)行了邏輯綜合,將程序下載到Altera公司生產(chǎn)的CycloneII系列EP2C5T144C8型號(hào)的FPGA中,用Quartus II 9.0軟件自帶的嵌入式邏輯分析儀SignalTapII,對(duì)FPGA內(nèi)部的信號(hào)進(jìn)行觀測(cè),F(xiàn)PGA內(nèi)部實(shí)際工作波形如圖5所示,從硬件調(diào)試結(jié)果觀測(cè),實(shí)際測(cè)出的結(jié)果:年月日2013.08.19,時(shí)分秒00:07:42,緯度為3412.0714,經(jīng)度為10856.6625。由于所測(cè)得時(shí)間信息為世界協(xié)調(diào)時(shí)間,北京時(shí)間與世界協(xié)調(diào)時(shí)相差8個(gè)時(shí)差,北京時(shí)間應(yīng)修正為:08:40:09,所測(cè)得結(jié)果與本地的時(shí)間一致。

結(jié)果分析:從圖4和圖5波形上可以看到我們測(cè)試的結(jié)果,實(shí)際測(cè)試中,我們讓整個(gè)解析過(guò)程連續(xù)工作12 h,沒(méi)有發(fā)現(xiàn)解析錯(cuò)誤、丟包等不正?,F(xiàn)象。因此,大量測(cè)試結(jié)果表明,該模塊能夠正確的接收和處理導(dǎo)航信息。

4 結(jié)論

根據(jù)NMEA—0183協(xié)議格式,提出使用FPGA實(shí)現(xiàn)NMEA-0183信息解析的一種方法,仿真及實(shí)際測(cè)試結(jié)果表明,該電路能夠正確地提取出所需要的信息,如時(shí)間、位置等信息,最終實(shí)現(xiàn)了GPS數(shù)據(jù)采集及處理等工作,為搜查救援、事故定位等工作提供了技術(shù)依據(jù)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉