• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于STM32和emWin的北斗衛(wèi)星定位終端設(shè)計(jì)

      2019-04-25 12:04:50張傳奎
      關(guān)鍵詞:導(dǎo)航系統(tǒng)接收機(jī)北斗

      張傳奎,張 春

      (1.高端裝備先進(jìn)感知與智能控制教育部重點(diǎn)實(shí)驗(yàn)室,安徽 蕪湖 241000;2.安徽工程大學(xué) 電氣工程學(xué)院,安徽 蕪湖 241000)

      北斗衛(wèi)星導(dǎo)航系統(tǒng)是我國自主研發(fā)并獨(dú)立運(yùn)行的全球衛(wèi)星導(dǎo)航系統(tǒng),具有實(shí)時(shí)導(dǎo)航、短報(bào)文通信、授時(shí)、高精度定位和同時(shí)在線用戶容量大等優(yōu)勢[1]。北斗衛(wèi)星導(dǎo)航系統(tǒng)采用了正交相移鍵控,擁有較高的頻譜利用率和較強(qiáng)的抗干擾性。它目前已經(jīng)基本無縫覆蓋我國本土及周邊地區(qū),在水利防汛、交通運(yùn)輸、森林防火、軍事防衛(wèi)領(lǐng)域都有應(yīng)用,具有極高的全境范圍導(dǎo)航定位可用性[2]。我國計(jì)劃于2020年建成范圍覆蓋全球的新一代北斗導(dǎo)航系統(tǒng)。近年來,很多學(xué)者利用北斗衛(wèi)星導(dǎo)航系統(tǒng)進(jìn)行定位及導(dǎo)航終端設(shè)備的研發(fā),越來越多的領(lǐng)域可見到北斗終端的應(yīng)用[3-4]。

      隨著我國北斗衛(wèi)星導(dǎo)航系統(tǒng)的不斷完善和交通道路的日益復(fù)雜,人們對導(dǎo)航終端的精度、功耗、可操作性等要求越來越高。然而我國北斗衛(wèi)星導(dǎo)航終端一般采用分立式元器件,其中的可編程邏輯器件和數(shù)字信號(hào)處理器件等核心處理器件往往依賴國外進(jìn)口,可替代性較小,面臨較大的風(fēng)險(xiǎn),存在安全隱患,在未來衛(wèi)星導(dǎo)航終端的發(fā)展中需提高其安全性。并且常見的北斗衛(wèi)星導(dǎo)航終端的通用元器件以FPGA+DSP的方式進(jìn)行搭建,這種模式下的通用元器件往往體積比較大而且能耗也比較高[5-7]。因此,相比較于GPS,目前北斗衛(wèi)星導(dǎo)航系統(tǒng)在民用上應(yīng)用還較少,主要是由于北斗芯片的成本高,北斗產(chǎn)品的核心零部件和制造水平還有待進(jìn)一步提高[8]。隨著北斗相關(guān)技術(shù)不斷發(fā)展與進(jìn)步,成本逐漸降低,依靠強(qiáng)大的國內(nèi)市場需求及政府部門的支持,高性能、低成本的北斗導(dǎo)航終端將向市場普及。

      為此,研究設(shè)計(jì)了一種基于STM32和emWin的北斗衛(wèi)星定位終端系統(tǒng),該系統(tǒng)采用的所有關(guān)鍵芯片都是基于精簡指令的低功耗芯片,價(jià)格相對低廉。系統(tǒng)采用模塊化設(shè)計(jì),硬件上以STM32F429IGT6為核心,使用國產(chǎn)AT6558芯片實(shí)現(xiàn)對北斗衛(wèi)星的數(shù)據(jù)接收,并在LCD上進(jìn)行實(shí)時(shí)顯示,同時(shí)可進(jìn)行相應(yīng)的觸摸控制。軟件上以μC/OSⅢ為核心,完成任務(wù)調(diào)度、內(nèi)存管理、中斷服務(wù)等工作,并配合emWin圖形庫,實(shí)現(xiàn)精準(zhǔn)的授時(shí)、經(jīng)緯度、空間高度的實(shí)時(shí)動(dòng)態(tài)顯示。

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

      系統(tǒng)以STM32F429IGT6作為主控芯片,主控單元主要用于數(shù)據(jù)處理、輸出控制、圖形繪制等;使用AT6558作為北斗衛(wèi)星接收機(jī)芯片,接收機(jī)用于接收“北斗二號(hào)”衛(wèi)星發(fā)送的信號(hào),通過UART與主控芯片進(jìn)行通信,信號(hào)接收采用了有源天線設(shè)計(jì)方案;使用μC/OSⅢ作為實(shí)時(shí)操作系統(tǒng),進(jìn)行任務(wù)分配等工作;交互界面使用的是7寸1 024*600高分辨率的LCD投射式電容觸摸屏,比傳統(tǒng)TFTLCD擁有更好的視覺和觸覺體驗(yàn),并利用主控芯片的LTDC進(jìn)行控制顯示;為了增強(qiáng)圖形顯示的性能,降低CPU的負(fù)荷,此處還使用了DMA2D進(jìn)行圖像的填充和搬運(yùn);觸控部分使用的是GT911驅(qū)動(dòng)IC來檢測電容觸摸,并通過IIC接口輸出觸摸數(shù)據(jù)。電源電路使用AMS1117穩(wěn)壓器進(jìn)行設(shè)計(jì)。系統(tǒng)結(jié)構(gòu)圖如圖1所示。

      圖1 系統(tǒng)結(jié)構(gòu)圖

      2 “北斗二號(hào)”系統(tǒng)接收機(jī)設(shè)計(jì)

      2.1 “北斗二號(hào)”系統(tǒng)B1信號(hào)結(jié)構(gòu)

      “北斗二號(hào)”系統(tǒng)的信號(hào)可以表示為測距碼、數(shù)據(jù)和正交載波的乘積。系統(tǒng)使用的是“北斗二號(hào)”系統(tǒng)B1頻段信號(hào)。其中,測距碼使用的是開放服務(wù)的I支路的普通測距碼,載波使用的是面向民用的I頻段載波,其頻率為1 561.098 MHz。

      B1頻段信號(hào)表達(dá)式如下[9]:

      (1)

      2.2 射頻前端拓?fù)浣Y(jié)構(gòu)

      射頻前端采用了超外差結(jié)構(gòu),超外差結(jié)構(gòu)是通信接收機(jī)中使用最為廣泛的一種結(jié)構(gòu),其利用本地產(chǎn)生的震蕩波與輸入信號(hào)混頻,將輸入信號(hào)頻率變換為某個(gè)預(yù)先確定的頻率。其最先是由阿姆斯特朗于1918年提出的。超外差結(jié)構(gòu)示意圖如圖2所示。

      圖2 超外差結(jié)構(gòu)示意圖

      超外差式射頻前端通過一次或多次下變頻,將天線接收到的信號(hào)經(jīng)射頻濾波器濾除帶外噪聲,再通過低噪聲放大器,然后再與本振信號(hào)混頻,經(jīng)過中頻濾波器和中頻放大器產(chǎn)生所需要的中頻信號(hào)。通過該射頻前端可以接收中心頻率為1 561.098 MHz,帶寬為2.046 MHz的B1信號(hào)。

      2.3 QPSK調(diào)制與解調(diào)

      “北斗二號(hào)”系統(tǒng)采用了一種新型的數(shù)字調(diào)制技術(shù)QPSK,即正交相移鍵控。其輸入基帶信號(hào)為雙極性不歸零碼元,用以串/并變換產(chǎn)生兩路并行碼元I通道信號(hào)和Q通道信號(hào),這兩路碼元信號(hào)分別與兩路正交載波相乘,最后相加得到QPSK信號(hào)。其原理框圖如圖3所示, 圖3中ωc為載波頻率。由此“北斗二號(hào)”系統(tǒng)可發(fā)出如式(1)所示的B1頻段信號(hào)。

      圖3 QPSK信號(hào)調(diào)制框圖

      同樣,在接收端需要對QPSK信號(hào)進(jìn)行解調(diào),QPSK信號(hào)解調(diào)時(shí)可以看作兩個(gè)正交的2PSK信號(hào)的疊加,即

      圖4 QPSK信號(hào)解調(diào)框圖

      3 系統(tǒng)軟件設(shè)計(jì)

      3.1 衛(wèi)星數(shù)據(jù)的獲取與解析

      AT6558是一款高性能BDS/GNSS多模衛(wèi)星導(dǎo)航接收機(jī)SOC單芯片,片上集成了射頻前端、數(shù)字基帶處理器與電源管理模組。通過該芯片可實(shí)現(xiàn)“北斗二號(hào)”系統(tǒng)B1頻段信號(hào)的獲取與解調(diào),并通過RS232串口輸出。

      接收機(jī)與主控芯片以UART作為主要輸出通道,按照NMEA0183的協(xié)議格式輸出。數(shù)據(jù)以串行異步方式傳送。第1位為起始位,其后是數(shù)據(jù)位。其數(shù)據(jù)傳送方式如表1所示。傳輸數(shù)據(jù)所使用的參數(shù)如表2所示。

      表1 數(shù)據(jù)傳送方式

      表2 傳輸數(shù)據(jù)所使用的參數(shù)

      根據(jù)NMEA協(xié)議框架,設(shè)計(jì)如下的數(shù)據(jù)解析代碼:

      u8 Res;

      if((__HAL_UART_GET_FLAG(&USART6_BDSHandler,UART_FLAG_RXNE) != RESET))

      {

      HAL_UART_Receive(&USART6_BDSHandler,&Res,1,1000);

      if(Res == '$'){ point1 = 0};

      BDS_RX_BUF[point1++] = Res;

      if(USART_RX_BUF[0] == '$' && USART_RX_BUF[4] == 'M' && USART_RX_BUF[5] == 'C')

      {

      if(Res == ' ')

      {

      memset(BDS_Data.GPS_Buffer,0,GPS_Buffer_Length);

      memcpy(BDS_Data.GPS_Buffer,USART_RX_BUF,point1);

      BDS_Data.isGetData = true;

      point1 = 0;

      memset(USART_RX_BUF,0,USART_REC_LEN);

      }

      }

      if(point1 >= USART_REC_LEN) {point1 = USART_REC_LEN};

      }

      上述代碼主要利用if語句判別串口接收數(shù)據(jù)寄存器是否為空,若非空則將數(shù)據(jù)存放到數(shù)組BDS_RX_BUF[]中,然后再判斷NMEA0183協(xié)議的起始符“$”是否存在,若存在,則繼續(xù)判斷第4位和第5位是否為“M”和“C”,用于篩選出最簡定位信息。其流程圖如圖5所示。

      圖5 系統(tǒng)流程圖

      3.2 液晶驅(qū)動(dòng)設(shè)計(jì)

      STM32F429IGT6主控芯片帶有液晶控制器,即LTDC。主控芯片通過LTDC可以直接外接LCD屏,實(shí)現(xiàn)液晶驅(qū)動(dòng)。STM32F429IGT6的LTDC共有28根信號(hào)線,包括24根數(shù)據(jù)線、一根像素時(shí)鐘同步輸出線、一根水平同步線、一根垂直同步線和一根數(shù)據(jù)使能線。該LTDC支持RGB888顏色格式和DMA2D,因此可以獲得良好的顯示效果。除信號(hào)線外,LTDC控制器還包括圖像處理單元、AHB接口、配置和狀態(tài)寄存器、時(shí)鐘等,其框圖如圖6所示。

      圖6 LTDC系統(tǒng)框圖

      關(guān)于LTDC的配置,首先定義一個(gè)結(jié)構(gòu)體,用于存放LCD的一些重要參數(shù),具體如下:

      typedef struct

      {

      uint32 pwidth;

      uint 32 pheight;

      uint 16 hsw;

      uint 16 vsw;

      uint 16 hbp;

      uint 16 vbp;

      uint 16 hfp;

      uint 16 vfp;

      uint 8 activelayer;

      uint 8 dir;

      uint 16 width;

      uint 16 height;

      uint 32 pixsize;

      }_ltdc_dev;

      該結(jié)構(gòu)體用于定義LCD面板的寬度和高度、水平同步寬度、垂直同步寬度、水平后廊、垂直后廊、水平前廊、垂直前廊、當(dāng)前層編號(hào)、橫豎屏、LCD寬度、LCD高度、每個(gè)像素所占字節(jié)數(shù)。然后編寫函數(shù)用于配置LTDC時(shí)鐘、LTDC初始化等,并編寫LCD的讀點(diǎn)、寫點(diǎn)和填充等函數(shù),用作emWin移植的接口函數(shù)。

      3.3 系統(tǒng)任務(wù)分配

      系統(tǒng)經(jīng)初始化后創(chuàng)建1個(gè)主任務(wù),并在主任務(wù)下創(chuàng)建4個(gè)子任務(wù),包括BDS接收機(jī)任務(wù)、emWin任務(wù)、觸摸屏任務(wù)和LED任務(wù),分別用來獲取BDS接收機(jī)數(shù)據(jù)、顯示衛(wèi)星數(shù)據(jù)、執(zhí)行人機(jī)交互和指示系統(tǒng)正常運(yùn)行。

      BDS接收機(jī)任務(wù)的任務(wù)函數(shù)為:

      OSTaskCreate((OS_TCB*)&BDSTaskTCB,(CPU_CHAR*) "bds task",(OS_TASK_PTR )bds_task,(void*)0,(OS_PRIO)BDS_TASK_PRIO,(CPU_STK* )&BDS_TASK_STK[0],(CPU_STK_SIZE)BDS_STK_SIZE/10,(CPU_STK_SIZE)BDS_STK_SIZE,(OS_MSG_QTY)0,(OS_TICK)0,(void* )0,(OS_OPT )OS_OPT_TASK_STK_CHK|OS_OPT_TASK_STK_CLR|OS_OPT_TASK_SAVE_FP,(OS_ERR*)&err);

      該函數(shù)指定了任務(wù)的控制塊、任務(wù)名、任務(wù)函數(shù)、傳遞參數(shù)、任務(wù)優(yōu)先級、任務(wù)堆棧基地址、任務(wù)堆棧深度限位、任務(wù)堆棧大小、消息隊(duì)列、時(shí)間片長度、補(bǔ)充存儲(chǔ)區(qū)、返回值等任務(wù)信息。

      4 系統(tǒng)測試

      系統(tǒng)開機(jī)顯示初始?xì)g迎界面后可通過觸摸屏選擇要顯示的信息。系統(tǒng)的使用受到環(huán)境的影響,最好在空曠的室外環(huán)境進(jìn)行系統(tǒng)測試。通過解析幀數(shù)據(jù):

      $GNRMC,063 944.000,A,3 133.604 8,N,11 841.084 8,E,4.152,292.44,141 216,A*75

      可知當(dāng)前UTC時(shí)間為063 944.000,地理位置為31.336 048,118.410 848,運(yùn)動(dòng)速度為4.152節(jié)。

      對以上數(shù)據(jù)進(jìn)行轉(zhuǎn)換,得到當(dāng)前UTC時(shí)間為8點(diǎn)21分15秒,即北京時(shí)間16點(diǎn)21分15秒,地理位置為北緯31度20分16秒,東經(jīng)118度24分19秒,運(yùn)動(dòng)速度為7.689 5 Km/h。

      初始界面如圖7所示。點(diǎn)擊“Display real-time information”按鈕即可進(jìn)入實(shí)時(shí)信息顯示界面。實(shí)時(shí)信息顯示界面如圖8所示。

      圖7 初始界面 圖8 實(shí)時(shí)信息顯示界面

      5 結(jié)論

      系統(tǒng)實(shí)現(xiàn)了一款成本低、功耗低、應(yīng)用領(lǐng)域廣、穩(wěn)定性好、高性能且便攜的嵌入式定位終端設(shè)備。系統(tǒng)硬件以STM32F429IGT6為主控芯片,并搭配LCD液晶顯示模塊和基于AT6558芯片的ATGM336H-5N北斗導(dǎo)航模塊,共同組成了系統(tǒng)的硬件核心。軟件上以底層驅(qū)動(dòng)、μC/OSⅢ和emWin為核心,底層驅(qū)動(dòng)實(shí)現(xiàn)了系統(tǒng)的基本運(yùn)轉(zhuǎn),μC/OSⅢ實(shí)現(xiàn)了任務(wù)分配,emWin實(shí)現(xiàn)了系統(tǒng)的界面設(shè)計(jì),包括地理位置顯示、運(yùn)動(dòng)速度顯示、時(shí)間顯示等,并利用其圖形顯示功能,實(shí)現(xiàn)上述信息的圖形動(dòng)態(tài)顯示。與其他同類設(shè)備相比,該設(shè)備具有體積小、低功耗、高實(shí)時(shí)性等優(yōu)點(diǎn)。設(shè)備的成本主要來自主控芯片和顯示屏,主控芯片成本約為十幾元,顯示屏成本約為三十元,這和市面上動(dòng)輒上百元的衛(wèi)星定位系統(tǒng)相比有著巨大的經(jīng)濟(jì)優(yōu)勢。

      猜你喜歡
      導(dǎo)航系統(tǒng)接收機(jī)北斗
      北斗和它的N種變身
      軍事文摘(2023年20期)2023-10-31 08:42:08
      北斗時(shí)鐘盤
      說說“北斗導(dǎo)航系統(tǒng)”
      “北斗”離我們有多遠(yuǎn)
      一種用于調(diào)幅接收機(jī)AGC的設(shè)計(jì)與實(shí)現(xiàn)
      一種面向ADS-B的RNSS/RDSS雙模接收機(jī)設(shè)計(jì)
      電子制作(2018年19期)2018-11-14 02:36:40
      “北斗”導(dǎo)航系統(tǒng)是怎樣煉成的
      一種GNSS/SINS容錯(cuò)深組合導(dǎo)航系統(tǒng)設(shè)計(jì)
      解讀全球第四大導(dǎo)航系統(tǒng)
      數(shù)字接收機(jī)故障維修與維護(hù)
      電子制作(2016年1期)2016-11-07 08:42:41
      北京市| 伊川县| 黑山县| 黑水县| 固安县| 章丘市| 横山县| 集贤县| 建水县| 巨鹿县| 阿拉善左旗| 巴东县| 南澳县| 贵港市| 泸州市| 平江县| 河源市| 兴仁县| 陆川县| 象山县| 海伦市| 建平县| 白山市| 曲沃县| 阿拉尔市| 印江| 师宗县| 廉江市| 乐平市| 山阴县| 合作市| 雅江县| 广德县| 治多县| 三门峡市| 舒兰市| 修文县| 莱州市| 紫阳县| 太仓市| 吉首市|