新聞中心

EEPW首頁(yè) > 設(shè)計(jì)應(yīng)用 > 基于BD/GPS的雙模船載導(dǎo)航系統(tǒng)設(shè)計(jì)

基于BD/GPS的雙模船載導(dǎo)航系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2016-10-10 來(lái)源:網(wǎng)絡(luò) 收藏

引言

本文引用地址:http://butianyuan.cn/article/201610/306171.htm

北斗衛(wèi)星導(dǎo)航系統(tǒng)(BDS)是我國(guó)正在實(shí)施的自主建設(shè)、獨(dú)立運(yùn)行的全球衛(wèi)星導(dǎo)航系統(tǒng)。有著集定位、授時(shí)、短報(bào)文通信及用戶檢測(cè)于一體的優(yōu)勢(shì),然而目前北斗衛(wèi)星導(dǎo)航系統(tǒng)的實(shí)際應(yīng)用并不理想,用戶終端設(shè)備價(jià)格偏高且研發(fā)滯后,應(yīng)用規(guī)模不大。尤其在航海領(lǐng)域,許多與衛(wèi)星導(dǎo)航有關(guān)的先進(jìn)設(shè)備、先進(jìn)技術(shù)(如電子海圖導(dǎo)航系統(tǒng))暫不支持北斗衛(wèi)星導(dǎo)航服務(wù),目前船載衛(wèi)星導(dǎo)航系統(tǒng)中使用最普遍的仍是系統(tǒng)。

本文利用現(xiàn)有的電子海圖導(dǎo)航系統(tǒng),在其基礎(chǔ)之上同時(shí)加載北斗及導(dǎo)航定位信息,選用泰斗微電子科技有限公司推出的支持BD2/的雙模授時(shí)定位模組實(shí)現(xiàn)北斗/GPS衛(wèi)星導(dǎo)航信息的接收,選用具有雙串口的一款單片機(jī)負(fù)責(zé)系統(tǒng)的控制、信息采集、傳輸,最終實(shí)現(xiàn)電子海圖導(dǎo)航系統(tǒng)與北斗衛(wèi)星導(dǎo)航系統(tǒng)的對(duì)接,對(duì)北斗衛(wèi)星在航海領(lǐng)域的民用推廣有一定意義。

1 總體結(jié)構(gòu)與功能

本系統(tǒng)將導(dǎo)航信息進(jìn)行解析轉(zhuǎn)換,通過(guò)串口傳遞給上位機(jī),最終在電子海圖顯示系統(tǒng)中顯示定位導(dǎo)航。按照功能要求,可將系統(tǒng)分為單片機(jī)控制模塊、BD/GPS雙模接收模塊、模塊、存儲(chǔ)系統(tǒng)、電源模塊等,如圖1所示。

基于BD/GPS的雙模船載導(dǎo)航系統(tǒng)設(shè)計(jì)

2 硬件設(shè)計(jì)

2.1 北斗/GPS雙模接收模塊

芯片是北斗/GPS雙模接收模塊的核心,它是一款支持BD2 B1/GPS L1的雙模授時(shí)定位模組,內(nèi)部整合了雙模基帶芯片和高性能可配置的雙模雙通道射頻芯片,提供高精度、高靈敏度、低功耗、低成本的BD2/GPS雙模導(dǎo)航、授時(shí)服務(wù),且具備天線狀態(tài)檢測(cè)及天線短路保護(hù)功能,支持休眠工作模式,支持軟件升級(jí)等功能。

通常情況下,北斗/GPS雙模接收模塊通過(guò)外接BD2B1/GPS L1有源天線,可接收到北斗B1頻段(即1561.098±2.046 MHz)及GPS的L1頻段(即1575.42±1.023MHz)內(nèi)的衛(wèi)星導(dǎo)航信號(hào)。有源天線接收到高頻衛(wèi)星信號(hào)后,經(jīng)過(guò)A模組內(nèi)射頻芯片完成對(duì)信號(hào)的放大、變頻得到中頻模擬信號(hào);再經(jīng)濾波、解調(diào)、A/D轉(zhuǎn)換等操作,實(shí)現(xiàn)微弱射頻信號(hào)到數(shù)字中頻信號(hào)的轉(zhuǎn)換;然后再通過(guò)A模組內(nèi)基帶芯片進(jìn)行捕獲和跟蹤、定位結(jié)算等一系列算法處理后,解譯出北斗以及GPS的導(dǎo)航電文;最后輸出NMEA格式的定位數(shù)據(jù)和1PPS授時(shí)信號(hào)。

模塊上電完成初始自檢后,自動(dòng)接收來(lái)自天線的射頻信號(hào),解析出導(dǎo)航電文,最后由串口輸出NMEA-0831數(shù)據(jù)。TD3017的串口引腳通過(guò)MA X232電平轉(zhuǎn)換芯片,可直接與上位機(jī)串口連接通信,也可以通過(guò)簡(jiǎn)單的跳線連接與單片機(jī)系統(tǒng)進(jìn)行,硬件電路圖如圖2所示。

基于BD/GPS的雙模船載導(dǎo)航系統(tǒng)設(shè)計(jì)

2.2 模塊

STC12C5A60S2單片機(jī)是一款低功耗、高性能、抗干擾能力強(qiáng)、價(jià)格低廉、操作簡(jiǎn)單、實(shí)用性強(qiáng)的CMOS 8位微控制器,指令代碼完全兼容傳統(tǒng)8051,片上集成1280字節(jié)RAM,具有串口1(RxD/P3.0及TxD/P3.1和串口2(RxD2/P1.2,可通過(guò)寄存器設(shè)置到P4.2;TxD2/P1.3可通過(guò)寄存器設(shè)置到P4.3)雙串口。

單片機(jī)與上位機(jī)可通過(guò)電平轉(zhuǎn)換電路實(shí)現(xiàn)RS232格式通信;單片機(jī)與BD/GPS信號(hào)接收模塊間,可經(jīng)由MAX232進(jìn)行電平轉(zhuǎn)換實(shí)現(xiàn)RS232通信,也可以通過(guò)簡(jiǎn)單的跳線鏈接進(jìn)行串口通信。

2.3 電源模塊

電源部分電路如圖3所示,其中AS1117—3.3是一款低壓差線性穩(wěn)壓器,它能提供完善的過(guò)流保護(hù)和過(guò)熱保護(hù)功能,確保芯片和電源系統(tǒng)的穩(wěn)定性。

基于BD/GPS的雙模船載導(dǎo)航系統(tǒng)設(shè)計(jì)

3 系統(tǒng)程序設(shè)計(jì)

上位機(jī)的電子海圖系統(tǒng)選用OpenCPN,它是一個(gè)開(kāi)源代碼的簡(jiǎn)潔電子海圖導(dǎo)航軟件,支持GPS/GPDS定位信息輸入、BSB柵格圖表顯示、S57 Vector ENChart Display、AIS輸入解碼、Waypoint Autopilot Navigation等功能。單片機(jī)將從北斗/GPS信號(hào)接收模塊中接收到的BD2或GPS報(bào)文進(jìn)行解析、轉(zhuǎn)換后,得到NMEA標(biāo)準(zhǔn)格式的“$GPRMC”定位報(bào)文,通過(guò)串口傳遞給電子海圖加以顯示定位。整個(gè)程序可分為幾個(gè)部分,即主控程序、BD2/GPS定位解析程序、串口通信程序。

3.1 NMEA數(shù)據(jù)協(xié)議簡(jiǎn)單介紹

TD3017模塊輸出的消息語(yǔ)句符合NMEA—0183通信標(biāo)準(zhǔn)格式,基本格式定義如下:

$,data1,data2,…,*校驗(yàn)和>

IDsss是語(yǔ)句類型標(biāo)識(shí),它由兩部分組成:ID為語(yǔ)句標(biāo)識(shí)符,SSS為語(yǔ)句格式符。語(yǔ)句標(biāo)識(shí)符有BD、GP、GN、CC、P,分別代表BD2系統(tǒng)、GPS系統(tǒng)、GNSS系統(tǒng)、Computer Control語(yǔ)句、專用語(yǔ)句;而語(yǔ)句格式符分為輸入語(yǔ)句格式符(用于對(duì)TD3017模組進(jìn)行工作模式等的切換設(shè)置),以及輸出語(yǔ)句格式符(有GGA、GLL、GSA、GSV、RMC、TXT,除了TXT是段文本信息的傳送,用于輸出天線檢測(cè)狀態(tài)或者輸出一些控制命令的響應(yīng)以外,其余的與標(biāo)準(zhǔn)NMEA~0831協(xié)議一致)。

類型標(biāo)識(shí)符后為數(shù)據(jù)體,由若干數(shù)據(jù)字段(d1,d2,…,dn)組成;校驗(yàn)和的計(jì)算是從$到*之間的所有字符;表示回車換行。例如:

$BDRMC,084300.00,A,2434.90608,N,11806.83229,E,0.067,,151014,,,A*77

本實(shí)驗(yàn)中利用衛(wèi)星接收模塊接收到其中一條信息一$BDRMC為幀頭,表明該語(yǔ)句為北斗RNC格式定位信息;字段1(084300.00)為UTC時(shí)間,hhmmss.sss為時(shí)分秒格式,即UTC時(shí)間8時(shí)43分0秒(北京時(shí)間16時(shí)43分0秒);字段2(A)表示狀態(tài),A=定位,V=未定位;字段3(2434.90608)為緯度ddmm.mmmm,度分格式;字段4(N)表示N(北緯)或S(南緯);字段5(11805.83229)為經(jīng)度dddmm.mmmm,度分格式;字段6(E)表示E(東經(jīng))或W(西經(jīng));字段7(0.067)為速度,單位為節(jié),Knots;字段9(151014)為UTC日期,DDMMYY格式,即14年10月15日。

3.2 北斗定位模塊程序設(shè)計(jì)

北斗/GPS信號(hào)接收模塊上電后會(huì)自動(dòng)不停地將接收到的數(shù)據(jù)通過(guò)串口發(fā)送出去,單片機(jī)系統(tǒng)由串口2接收這些數(shù)據(jù),因而,在串口初始化(串口1及串口2都要初始化)后,等待串口2接收終端標(biāo)志位置1,在串口2終端程序中,判斷串口2的接收緩沖寄存器S2BUF中的字符是否為“$”,若是則將其存入table[]數(shù)組中,并繼續(xù)將接下來(lái)接收到的字符逐個(gè)存入table[]數(shù)組中,直到接收滿63個(gè)字符,即一條NMEA信息中除“*”及回車換行以外的其他字符的總個(gè)數(shù)。暫時(shí)關(guān)閉串口2中斷,等待接下來(lái)的判斷,否則,重新判斷下一個(gè)接收到的字符是否為“$”。

回到主程序中判斷table[4]是否為“M”,若是則說(shuō)明該條信息是一條RMC格式的信息,否則丟棄該條信息重新開(kāi)始接收。接著判斷table[17]為“A”,若是則說(shuō)明該條信息定位有效,否則丟棄該條信息重新開(kāi)始接收。

將table[]數(shù)組中的數(shù)據(jù)前3位修改為“$GP”后,將該數(shù)組中數(shù)據(jù)逐個(gè)發(fā)送給串口1的發(fā)送緩沖寄存器SBUF,由串口1發(fā)送給上位機(jī)電子海圖系統(tǒng)。程序流程如圖4所示。

基于BD/GPS的雙模船載導(dǎo)航系統(tǒng)設(shè)計(jì)

3.3 串口通信子程序

串口通信包含兩部分:串口2從北斗/GPS信號(hào)接收模塊中接收衛(wèi)星信號(hào),再通過(guò)串口l將解析后的數(shù)據(jù)發(fā)送給上位機(jī)。源程序如下:

基于BD/GPS的雙模船載導(dǎo)航系統(tǒng)設(shè)計(jì)

4 實(shí)驗(yàn)結(jié)果

系統(tǒng)各模塊連接正確后,串口通信指示燈閃爍。圖5為上位機(jī)收到的北斗模塊直接輸出的ASCII信息,模塊默認(rèn)接收GNSS,即北斗與GPS混合定位信息,圖6為單片機(jī)傳遞給上位機(jī)的ASCII信息,圖7為電子海圖系統(tǒng)中顯示的定位信息。

基于BD/GPS的雙模船載導(dǎo)航系統(tǒng)設(shè)計(jì)

結(jié)語(yǔ)

我國(guó)系統(tǒng)起步較晚,尤其海上民用中許多與衛(wèi)星導(dǎo)航有關(guān)的先進(jìn)設(shè)備、先進(jìn)技術(shù)暫不提供北斗衛(wèi)星導(dǎo)航服務(wù)。本文利用簡(jiǎn)單的單片機(jī)系統(tǒng)成功實(shí)現(xiàn)在現(xiàn)有電子海圖中顯示北斗衛(wèi)星的船舶導(dǎo)航定位信息,對(duì)積極推廣北斗衛(wèi)星導(dǎo)航系統(tǒng)在各種民用航海領(lǐng)域的應(yīng)用有著一定意義。在項(xiàng)目設(shè)計(jì)中,通過(guò)需求分析選用合適型號(hào)的單片機(jī)系統(tǒng),制定合理的軟、硬件功能劃分,實(shí)現(xiàn)了所需的功能。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉