999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于STM32+ucGUI的北斗導航定位系統設計

2014-03-21 10:00:06羅衛兵胡健生
液晶與顯示 2014年2期
關鍵詞:指令界面信息

羅衛兵,胡健生

(武警工程大學 信息工程系,陜西 西安710086)

1 引 言

隨著導航模塊的小型化,在手持設備上實現導航定位的應用越來廣泛。目前,對于帶有界面顯示功能的手持定位設備,主要都是使用GPS系統,并且基于“嵌入式處理器+嵌入式操作系統+GUI”實現的[1-3]。然而,隨著我國自行研制的“北斗衛星導航定位系統”不斷完善,目前已經逐步得到應用,將來應用前景必將更加廣闊[4-6]。同時對于某些只需實現簡單顯示功能,對人機界面要求不高的應用場合,基于上述復雜嵌入式構架進行設計,不僅是對資源的浪費,也提高了開發難度,同時對于成熟產品的擴展也不太適用。

本文從某款手持設備用戶需求出發,只需要提供簡單的定位信息,而不需要復雜的導航界面,同時兼顧設備已用的其他功能模塊,提出一種基于STM32+ucGUI構架的手持北斗顯示終端系統,用于實現北斗(BD2)信號的接收和解析,并實現簡單導航界面顯示。本文重點研究系統的總體結構、北斗定位數據接收解析和電子羅盤界面設計等內容。

2 系統總體結構與設計思路

系統在硬件上以STM32嵌入式微處理器為核心,擴展了LCD、GPS模塊、存儲器、溫濕度傳感器和氣壓傳感器,實現了對經緯度、高度、速度和溫濕度信息的實時采集,根據用戶需求,可對特定的應用領域進行精確化管理和科學預測。如圖1所示。

圖1 系統組成結構Fig.1 Structure of system

系統處理器采用STM32F103BE,使用高性能的ARM Cor-texTM-M3 32 位的RISC 內核,工作最高頻率可達72 MHz,內置高速存儲器(512K 的Flash 和64K 的SRAM),不 需 要 使 用專門的外部Flash 或ROM 固化代碼,具有豐富IO 端口,以及ADC、I2C、SPI、TIMER、UART 等模塊[7],通過科學的復用可以滿足應用需要。

系統存儲器包括串行Flash 和大容量TF卡,均通過SPI總線與CPU 進行數據傳輸。串行Flash使用W25X16,用于存儲系統的中英文字庫、觸摸屏校驗參數等。TF 卡用于存儲系統圖標、應用圖片和文本等大容量數據;LCD 模塊是由一塊真彩液晶屏(240×320)和LCD 控制器集成,LCD 控制器位ILI9320,通過16位的8080總線與CPU 進行數據交換,同時提供4線電阻采樣端與觸摸屏的AD 芯片ADS7843 相連;CPU 使用4 個IO 端 口,模 擬SPI 總 線 與 觸 摸 屏ADS7843進行通信;CPU 通過IIC 總線,與溫濕度傳感器STH1X 進行通信。

在軟件上,系統采用“驅動層+GUI”的形式,即在底層硬件驅動的基礎上,直接移植ucGUI圖形用戶接口。系統對實時性要求不高,且任務量相對較少,完全可以使用CPU 中的定時器和中斷實現簡單的任務調動;同時為了保證GPS信息的可視化顯示,應該使用圖形用戶接口(GUI),而ucGUI又是最合適本系統的,可為任何使用LCD圖形顯示的應用,提供高效的獨立于處理器及LCD 控制器的圖形用戶接口,可獨立于操作系統,直接使用,支持豐富的圖形庫、字體和窗口管理器[8]。

本文重點闡述BDII定位信息的接收、解析和顯示等內容的設計。

3 北斗定位模塊控制與數據解析

3.1 UM220模塊及其初始化

UM220是北斗聯星公司針對車輛監控、氣象探測和電信電力授時等應用推出BD2/GPS雙系統模塊。UM220是市場上尺寸最小的BD2/GPS模塊,集成度高,功耗低,非常適合北斗系統大規模應用的需求。這里只研究其中北斗定位信息的提取和顯示。產品具有尺寸小、重量輕、功耗低等優點,同時支持BD2 和GPS 的但系統獨立定位和多系統聯合定位,支持UART,SPI,1PPS 和I2C等多種接口。

UM220模塊正常工作前,要通過指令對其進行初始化。主要配置如下信息;

(1)設置串口指令,對模塊輸出數據的端口和協議 進 行 配 置,指 令 如 下$CFGPRT,1,0,115200,3,2。這里使用串口1,數據長度為8bit,波特率為115 200,模塊輸入的數據格式為和芯星通軟件接口協議,即對模塊進行配置,輸出的數據格式為NMEA 協議。

(2)設置衛星系統配置,接收機收到該指令后會自動復位,設置的開啟衛星頻點在復位后生效.$CFGSYS,h10。這里為了驗證北斗系統的定位效果,僅啟動北斗定位系統。

(3)設置輸出NMEA 配置,$CFGNMEA,h30.輸出的NMEA 版本為在version3基礎上擴展的BD2相關語句。

(4)設置消息輸出頻度。通過該指令可設置模塊NMEA 消息類中各條指令的輸出頻率,也可屏蔽不需要指令。$CFGMSG,0,1,0,$CFGMSG,0,2,0,$CFGMSG,0,3,0,$CFGMSG,0,5,0,關閉GLL,GSA,GSV,VTG 等4條指令,指令輸出頻率保留默認設置,即1Hz。

3.2 BD2數據的接收

UM220每條NMEA 指令都是一串以“$”開始,以“*”結束的字符串,不同指令的數據長度也不同,正確的存儲BDGGA 和BDRMC 指令是正確解析所需的經緯度、高度、速度和角度信息的前提。在硬件電路上,UM220模塊與STM32的UART2相連,每隔2s兩條指令發送一次,因此將使用STM32的UART2中斷函數來處理接收的數據更為方便。需要設置的變量如表1所示。

表1 BD2數據獲取函數所需變量Tab.1 Variables of getting BD2data function

BD 數據獲取函數分成3個部分,即BD 指令類型的識別,按照類型存儲兩種指令數據和BD指令接收結束。

(1)BD 指令類型識別,在BD_RX_EN==1時,如果收到指令開始符號“$”,則表明一條完整的指令開始,設置BD_BUF_FLAG 為1,GPS_RX_STA 為0,BD_RX_LEN 為0,即允許更新BD 數據緩存,開始接收指令報頭。

(2)按照類型存儲兩種指令,緊隨“$”開始符后的是指令報頭字符串,即“BDGGA”或“BDRMC”,若BD_RX_STA 為0,即正在接收報頭字符串時,則將接收到的指令字符串存儲在HEADER_BUF[]中,由于設置模塊僅輸出“BDGGA”和“BDRMC”兩種指令,因此根據第3位判斷當前輸出指令的類型,若HEADER_BUF

[2]為‘G’,則表明當前為BDGGA 指令,設置BD_RX_STA 為1,若HEADER_BUF[2]為‘R’,則表明當前為BDRMC指令,設置BD_RX_STA 為2。在此過程中,執行BD_RX_LEN++,當BD_RX_LEN==5時,則根據BD_RX_STA 的值,將指令的其余字符串存儲到相應的緩存中,即BD_GGA_BUF[]或BD_RMC_BUF[]。

(3)BD 指令接收結束,當串口接收到‘*’后,則表明一條指令的結束,另BD_CMD_NUM加1,當BD_CMD_NUM 為2時,表明分別接收到1 條BDGGA 和1 條BDRMC 指 令,此 時 令BD_RX_EN 為0,停止接收模塊發送的指令,保護指令緩存,等待對指令的解析,并將計數器BD_RX_LEN 清零。

這里需要重點強調是,BD_RX_EN 和BD_CMD_NUM 兩個變量實際上完成了BD 數據接收程序和BD 數據解析程序之間的信號量通信功能,保證了接收緩存在同一時刻只能被一個任務占用,避免了緩存讀寫沖突的發生。

3.3 BD 數據的解析

為了便于應用程序調用各類信息參數,系統必須對正確接收到的兩條指令進行解析,即提取出用戶需要的時間、經(緯)度、高度、速度和方向等信息,故需要定義如下變量。每條NMEA 中包含的不同信息之間以“,”相間隔,這里以對BDGGA 為 例。 $BD2GGA, 063952.000,4002.2299,N,11618.0968,E,1,4,2.788,37.254,M,0,M,*71是一條典型的GGA 指令,各 段 依 次 含 義 為 時 間(063952.000)、緯 度(4002.2299)、南 緯 或 北 緯 指 示(N)、經 度(11618.0968)、東經或西經指示(E)、定位狀態標識(1)、參與定位的衛星數(4)、水平精度因子(2.788 3)、橢球高(37.254)、橢球高單位(M)、海平面分離度(0)、海平面分離度單位(M)、差分校正時延(空)、參考ID(空)、結束符合和校驗和(71)。

當BD_CMD_NUM 為2,停止對BD2指令的接收,依次對進行解析。通過變量seg的值確定各信息段,再根據各段信息的長度即可提取出所需的信息,函數流程如圖2所示。

表2 BD2數據解析函數所需變量Tab.2 Variables of resolution function

圖2 BD2數據各段信息提取函數流程圖Fig.2 Flow of the information extraction of BD2data

4 顯示界面設計

4.1 ucGUI的移植

ucGUI作為一種精簡、高效的嵌入式圖形支持系統,在使用過程中主要完成兩個工作,一是要將其移植到自己的硬件平臺上,二是要根據需求編寫圖形應用程序。

由于ucGUI可以支持任意型號的LCD 控制器和CPU,即可獨立運行也可與ucOS操作系統配合使用,因此關于ucGUI移植相關的參考文獻很多[8-10],但是在具體移植步驟也有所不同,主要體現在對配置文件的修改和底層LCD 驅動控制程序的編寫。

本系統在移植ucGUI時,結合LCD 控制器的型號,在編寫驅動函數和修改配置文件時主要參考了文獻[10],但是由于是獨立運行ucGUI,沒有系統系統支持,因此需要在移植進行修改。具體的修改內容和移植過程,前期已撰寫并發表于網上。

4.2 自動設備對象(Auto device object)

根據要求,系統的導航定位信息應以電子羅盤的形式直觀形象地提供給用戶。電子羅盤是在2-D 圖形的基礎上,對幾何圖形進行靜態(表盤)或動態(指針旋轉)的顯示。由于定位信息的實時更新,界面中的部分幾何圖形也需要實時刷新,而ucGUI中的自動設備對象(Auto device object)就是針對需要實時更新或改變顯示內容的需求場合,尤其是像指針這樣屏幕中的小部分實時更新的場合,它基于內存設備(memory devices),可以自動區分由固定對象組成的靜止區域和由移動變化對象組成的動態更新區域,不需要更新整個界面,因此節約CPU 計算時間,有效地避免屏幕抖動[8]。使用對象的主要過程及關鍵代碼如下:

(1)定義繪制路徑信息的結構體變量。

5 圖片顯示及界面效果

圖3 系統最終效果圖Fig.3 Final effect of sysetm

系統對BMP或JPG 格式的圖片顯示,主要針對以下兩種應用:一是復雜圖形界面的顯示,如主界面的背景及按鍵LOGO;二是簡易電子地圖的預覽及縮放功能,對大范圍高分辨率的電子地圖,根據需要,按照地圖上的像素位置與實際地理坐標位置的對應關系,對圖片上的指定區域進行剪裁顯示,以及縮小和放大顯示。

上述功能的實現,需要調用ucGUI的位圖顯示功能,這里需要使用如下API函數,由于篇幅限制,具體調用方法這里不再敘述。

系統的主界界面、電子羅盤界面以及電子地圖界面最終效果如圖3所示。

6 結 論

本文研究的系統,硬件上以STM32 嵌入式處理器和北斗II模塊UM220為核心,軟件設計上以ucGUI為核心實現了電子羅盤界面,實現了精確定位及信息的可視化顯示。分別在靜止,步行(1~2m/s)和車載(60~100m/s)等三種環境下對系統性能進行測試,結果表明系統冷啟動時的定位時間小于2 min,熱啟動時的定位時間小于1min,經度緯度不受運動速度影響,誤差小于3m,而由于GPS定位原理的局限性,實際運動速度越快,定位結果越精確。同時,與其他同類定位終端相比,該系統的最大優點是成本低,功耗小,可單獨應用于定位領域,也可以此系統為平臺,進行二次開發和擴展,應用于更多領域。

[1] 吳紅蘭,黃圣國.嵌入式GPS數據采集與分析系統設計[J].實驗室研究與探索,2011,30(1):54-57.WU H L,Huang S G.Design of embedded GPS data receiving and analysis system[J].Research and Exploration in Laborary,2011,30(1):54-57.(in Chinese)

[2] 魏強,王曉浩,周兆英,等.GPS的微型系統及其制導[J].光學精密工程,2009,17(7):1660-1664.Wei Q,Wang X H,Zhou Z Y,et al.Guidance and implement of micro system based on GPS[J].Optics and Precision Engineering,2009,17(7):1660-1664(in Chinese)

[3] 張洋溢,王忠.基于ARM 的GPS/GPRS多功能手持終端的設計與實現[J].計算機測量與控制,2011,19(12):3050-3053.Zhang Y Y,Wang Z.Design and implementation of an embedded GPS/GPRS multi-function handheld terminal based on Linxu[J].Computer Measurement &Control,2011,19(12):3050-3053.(in Chinese)

[4] 沈鵬,徐景碩,張建忠.北斗導航系統及其在無人機上的應用[J].航空電子技術,2007,38(2):5-9.Shen P,Xu J S,Zhang J Z.BeiDou navigation positioning system and its application to unmanned aerial vehicle[J].Electronics for Aeronautics and Astronautics,2007,38(2):5-9.(in Chinese)

[5] 錢成越,薛原.基于北斗導航系統的移動導航定位終端設計[J].現代計算機,2010,6:165-169.Qian C Y,Xue Y.Design of a mobile navigation terminal based on Beidou(COMPASS)navigation satellite systems[J].Modern Computer,2010,6:165-169.(in Chinese)

[6] 張曉安,逯亮清,楊彪.應用延長基線法實現北斗雙星的快速定向[J].光學精密工程,2010,18(11):2461-2466.Zhang X A,Lu L Q,Yang B.Fast orientation of Beidou bi-satellite by extending baseline[J].Optics and Precision Engineering,2010,18(11):2461-2466.(in Chinese)

[7] STMicroelectronic.STM32Reference Manual[EB/OL].http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1031/LN1565/PF164485.

[8] uc-GUI Manual v4.www.micrium.com[EB/OL].http://micrium.com/rtos/ucgui/overview.

[9] 北京翔宇星通.UM220接口協議,2011.[EB/OL].http://download.csdn.net/download/snowdrinker/5508139.BeiJing xiangyuxingtong.UM220interface protocol,2011[EB/OL].http://download.csdn.net/download/snowdrinker/5508139.(in Chinese)

[10] Code_HXH.基于STM32的ucGUI移植和優化[EB/OL].http://www.haogongju.net/art/73074.2011/7/27.Code_HXH.The transplant and optimization of ucGUI based on STM32[EB/OL].http://www.haogongju.net/art/73074.2011/7/27.(in Chinese)

[11] 張洋,劉軍,嚴漢宇.原子教你玩STM32[M].北京:北京航空航天大學出版社,2013.Zhang Y,Liu J,Yan H Y.YUAN Zi teach you how to play STM32[M].Beijing:BEIHANG University Press,2013.(in Chinese)

猜你喜歡
指令界面信息
聽我指令:大催眠術
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
人機交互界面發展趨勢研究
手機界面中圖形符號的發展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
坐標系旋轉指令數控編程應用
機電信息(2014年27期)2014-02-27 15:53:56
主站蜘蛛池模板: 色综合热无码热国产| 伊人激情综合网| 亚洲人成影视在线观看| 亚洲AⅤ综合在线欧美一区| 国产精品嫩草影院av| 欧美国产日韩在线观看| 欧美日韩国产系列在线观看| 九九视频免费看| 韩国福利一区| 日韩久久精品无码aV| 免费国产无遮挡又黄又爽| 亚洲色图欧美视频| 亚洲国产av无码综合原创国产| 老司国产精品视频| 国产精品欧美在线观看| 国产高清不卡视频| 色吊丝av中文字幕| 亚洲精品大秀视频| 日韩av电影一区二区三区四区| 欧美天天干| 91网红精品在线观看| 国产成人精品高清不卡在线| 亚洲中久无码永久在线观看软件| 激情乱人伦| 亚洲成年人片| 丰满人妻久久中文字幕| 青青青草国产| 国产精品免费p区| 精品一区二区三区水蜜桃| 亚洲天堂网站在线| lhav亚洲精品| 久久精品国产亚洲AV忘忧草18| AV无码一区二区三区四区| 国产主播福利在线观看| 久久天天躁狠狠躁夜夜躁| 香港一级毛片免费看| 国产成人一区在线播放| 六月婷婷精品视频在线观看| 国产成人a在线观看视频| 日日拍夜夜嗷嗷叫国产| 欧美日韩精品在线播放| 久久国产高潮流白浆免费观看| 四虎成人在线视频| 天天综合网色中文字幕| 香蕉eeww99国产精选播放| 91麻豆精品国产91久久久久| 亚洲成人网在线播放| 成人福利一区二区视频在线| 国产91高跟丝袜| 亚洲人成在线精品| 精品福利视频导航| 午夜色综合| 中国精品久久| 国产成人精品男人的天堂| 日韩在线播放中文字幕| 亚洲日韩精品伊甸| 欧美成人日韩| 亚洲国产欧美自拍| 亚洲欧美国产五月天综合| 久久综合色视频| 亚洲国产一区在线观看| 亚洲男人的天堂在线| 免费a级毛片视频| 欧美在线网| 久久久久无码国产精品不卡| 久久香蕉国产线看观看式| 中文字幕不卡免费高清视频| 成人国产精品网站在线看| 一级毛片在线免费看| 中文字幕乱码中文乱码51精品| 亚洲福利视频一区二区| 天天综合色网| 亚洲欧美激情小说另类| 亚洲精品无码高潮喷水A| 秘书高跟黑色丝袜国产91在线| 国产乱子伦精品视频| 激情综合五月网| 久久公开视频| 中国一级特黄视频| 国产精品开放后亚洲| 亚洲国产精品日韩专区AV| 91热爆在线|