電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>基于MiniGUI的GPS導(dǎo)航定位系統(tǒng)設(shè)計(jì)方案解析

基于MiniGUI的GPS導(dǎo)航定位系統(tǒng)設(shè)計(jì)方案解析

2017-10-25 | rar | 0.6 MB | 次下載 | 1積分

資料介紹

 定位系統(tǒng)自問世后便得到了蓬勃發(fā)展,其應(yīng)用已滲入到各行各業(yè)。個(gè)人消費(fèi)領(lǐng)域引領(lǐng)移動(dòng)定位類型科技產(chǎn)品集中涌現(xiàn),其他領(lǐng)域和行業(yè)也有大量技術(shù)更新。目前各領(lǐng)域的定位系統(tǒng)主要集中在平臺(tái)和地圖的研發(fā)上,平臺(tái)配合應(yīng)用要求選用硬件,地圖根據(jù)顯示要求實(shí)現(xiàn)軟件算法。因而,它們?cè)诙ㄎ幌到y(tǒng)的研究工作中各成體系,兼容性不強(qiáng)。
  近年來,在定位系統(tǒng)設(shè)計(jì)中,硬件選擇越來越集中在幾個(gè)品牌的幾個(gè)型號(hào)上。而軟件設(shè)計(jì)方面比較分散。因而在一個(gè)兼容性強(qiáng)的平臺(tái)上實(shí)現(xiàn)軟件的集中研發(fā),將是未來的研發(fā)方向。
  這里提出一種系統(tǒng)構(gòu)造模式,弱化硬件平臺(tái)的影響而力求最大限度的統(tǒng)一軟件設(shè)計(jì)。
  1 系統(tǒng)整體設(shè)計(jì)方案
  這里提出一種實(shí)用的設(shè)計(jì)方案,通過對(duì)系統(tǒng)的各方面配置,實(shí)現(xiàn)GPS實(shí)時(shí)導(dǎo)航功能。系統(tǒng)主控器件采用韓國(guó)Samsung公司生產(chǎn)的ARM核32位RISC微處理器S3C2410,并在由其組成的開發(fā)板上移植Linux操作系統(tǒng),Linux操作系統(tǒng)負(fù)責(zé)系統(tǒng)的整體調(diào)度和控制。通過S3C2410的UART接口連接GPS接收機(jī),用以接收NEMA0183格式的GPS定位信息。通過UART接口和GSM/GPRS模塊MC35進(jìn)行通信。
  為了在移動(dòng)LED上實(shí)現(xiàn)電子地圖的繪制顯示,系統(tǒng)的整體層次結(jié)構(gòu)框圖如圖1所示。Linux操作系統(tǒng)負(fù)責(zé)底層硬件的初始化和管理,并向上層提供應(yīng)用接口,MiniGUI完成電子地圖在LED上的繪制,并通過Linux內(nèi)核提供的應(yīng)用接口與GPS接收機(jī)和GSM/GPRS模塊完成通信等功能。
  基于MiniGUI的GPS導(dǎo)航定位系統(tǒng)設(shè)計(jì)方案解析
  2 圖形界面支持系統(tǒng)——MiniGUI
  MiniGUI是一個(gè)針對(duì)嵌入式系統(tǒng)的輕量級(jí)圖形界面支持系統(tǒng)。MiniGUI能夠在各個(gè)不同的平臺(tái)上提供最大程度的接口兼容性,可運(yùn)行于AR-M、MIPS等各種主流嵌入式硬件平臺(tái)之上。它能夠提供一個(gè)輕型、資源開銷少的嵌入式圖形接口。
  這里利用MiniGUI Ver l.3.3版本,將其編譯為lite版本并移植到基于ARM核的32位微處理器S3C2410上。在此基礎(chǔ)上,開發(fā)基于MiniG-UI的電子地圖顯示應(yīng)用程序,配合GPS信號(hào)接收機(jī)實(shí)現(xiàn)定位導(dǎo)航功能。
  2.1 交叉編譯MiniGUI
  MiniGUI從結(jié)構(gòu)層次上可以分為3層,最上層是APT層,中間層是MiniGUI核心,負(fù)責(zé)維護(hù)整個(gè)窗口系統(tǒng)的運(yùn)行,最下層由2部分組成,即圖形抽象層(GAL)和輸人抽象層(IAL)。
  為了使MiniGUI能夠在不同的目標(biāo)平臺(tái)上運(yùn)行,必須有針對(duì)相應(yīng)平臺(tái)的交叉編譯環(huán)境。根據(jù)本文的設(shè)計(jì)選用S3C2410器件,則選擇交叉編譯環(huán)境Linux-ARM,選擇Mizi公司針對(duì)Samsung公司32位ARM核RISC微處理器S3C2410設(shè)計(jì)開發(fā)的工具鏈,這樣的配置環(huán)境使軟件和硬件具有更好的兼容性。具體交叉編譯的步驟如下:
  1)修改configure文件。設(shè)置make環(huán)境變量CC、LD及AR等。
  2)GAL(圖形引擎)和IAL(輸入引擎)接口的實(shí)現(xiàn)。在MiniGUI中,GAL和IAL是MinGUI的2個(gè)基礎(chǔ)設(shè)施,MiniGUI的高可靠度在很大程度上也是由于這2個(gè)接口提供了獨(dú)立于硬件的抽象能力。這2個(gè)接口的抽象類似于Linux內(nèi)核中的虛擬文件系統(tǒng)。
  在具體實(shí)現(xiàn)一個(gè)輸入引擎(IAL)時(shí),其中最為關(guān)鍵的是事件處理函數(shù)wait_event()的實(shí)現(xiàn),MiniGUl會(huì)不斷的調(diào)用該函數(shù),來確定在輸入引擎上是否有輸入事件發(fā)生。這里需要特別注意的是,因?yàn)镸iniGUI是通過select系統(tǒng)調(diào)用來實(shí)現(xiàn)進(jìn)程間通信機(jī)制的,因此在實(shí)現(xiàn)lite版本輸入引擎的wait_event函數(shù)時(shí),一定要通過select函數(shù)或與其等價(jià)的poll函數(shù)實(shí)現(xiàn)。與此同時(shí),在實(shí)現(xiàn)目標(biāo)板的觸摸屏驅(qū)動(dòng)時(shí),必須要實(shí)現(xiàn)對(duì)應(yīng)file_operaTIons結(jié)構(gòu)中的poll函數(shù)指針。即使觸摸屏驅(qū)動(dòng)未提供poll函數(shù),也要在wait_event返回之前調(diào)用select,并傳遞相關(guān)參數(shù)。
  Linux系統(tǒng)提供了一種基礎(chǔ)設(shè)施——FrameBuffer,通過這個(gè)設(shè)施Linux的圖形輸出有了統(tǒng)一的接口。由于MiniGUI可以通過FrameBuffer獲得統(tǒng)一的圖形引擎接口。
  因此其適應(yīng)性大大提高,也就很少需要再為MiniGUI編寫GAL驅(qū)動(dòng)層。
  3)依次運(yùn)行configure、make和make install命令,完成MiniGUl的配置和編譯。
  經(jīng)過上述編譯過程,會(huì)將編譯好的MiniGUI庫(kù)文件安裝在/home/MiniGUI-lite目錄下。為了減小庫(kù)文件的大小,根據(jù)需要利用config-ure命令去掉MiniGUI中一些不需要的功能,同時(shí)利用交叉編譯工具鏈中的strip命令刪除MiniGUI函數(shù)庫(kù)中的符號(hào)信息和其他一些調(diào)試信息。
  2.2 MiniGUI向S3C2410上的移植
  在嵌入式系統(tǒng)開發(fā)過程中,編譯完MiniGUI和應(yīng)用程序后,把MiniGUI庫(kù)和應(yīng)用程序拷貝到為目標(biāo)系統(tǒng)準(zhǔn)備的文件系統(tǒng)目錄中,然后使用相關(guān)工具生成文件系統(tǒng)映像,下載到目標(biāo)板上。
  MiniGUI在運(yùn)行時(shí)需要一個(gè)配置文件,用來配置MiniGUI運(yùn)行所需要的環(huán)境參數(shù)。本設(shè)計(jì)中,將配置文件MiniGUI.cfg放到目標(biāo)板的/etc目錄下。另外,MiniGUI使用framebuffer作為其輸入引擎,因此在編譯Linux內(nèi)核時(shí),選擇將framebuffer相關(guān)的功能編譯到內(nèi)核中去。
  3 繪制基于MiniGUI的電子地圖的算法
  3.1 提取電子地圖數(shù)據(jù)的算法實(shí)現(xiàn)
  由于GUI的程序和傳統(tǒng)單一流程的程序不太相同,因此通過簡(jiǎn)單的循環(huán)獲取GPS數(shù)據(jù)的方式是不可取的。該系統(tǒng)通過多線程的循環(huán)提取數(shù)據(jù),每組數(shù)據(jù)的提取與處理是在一個(gè)單線程中完成的,從而避免了數(shù)據(jù)和處理的復(fù)雜交互,能更好地體現(xiàn)實(shí)時(shí)性。
  首先,對(duì)所采用的坐標(biāo)系進(jìn)行說明:假定有一個(gè)形狀為嚴(yán)格矩形的地圖,其像素坐標(biāo)原點(diǎn)為(O,0),地圖X軸方向上的寬度為W個(gè)像素點(diǎn),Y軸方向上的高度為H個(gè)像素點(diǎn),地圖上某點(diǎn)的坐標(biāo)為(X,Y),則定義該像素點(diǎn)的歸一化坐標(biāo)為(x/W,y/H)。對(duì)于終端而言,其覆蓋的地理范圍相對(duì)于地球半徑來說幾乎可以看作無窮小,故可以認(rèn)為電子地圖所對(duì)應(yīng)的經(jīng)緯度坐標(biāo)在其覆蓋的區(qū)域內(nèi)是線性變化的。有了這2個(gè)點(diǎn)的坐標(biāo)數(shù)據(jù)后,當(dāng)從GPS接收機(jī)讀取到經(jīng)緯度坐標(biāo)時(shí),根據(jù)近似的線性映射關(guān)系,就可以算出該坐標(biāo)在電子地圖上的歸一化坐標(biāo)。這種映射關(guān)系,根據(jù)歐式幾何原理即式(1)和式(2),由已知的2個(gè)點(diǎn)可以算出點(diǎn)A和點(diǎn)B的未知參數(shù)。
  基于MiniGUI的GPS導(dǎo)航定位系統(tǒng)設(shè)計(jì)方案解析
  要得到地圖的左上角和右下角的經(jīng)緯度坐標(biāo),只需知道地圖邊界范圍內(nèi)任取的2個(gè)參考點(diǎn)的4個(gè)參數(shù)即可。通過在某地實(shí)地采集的3個(gè)參考點(diǎn),得到表l所列的坐標(biāo)數(shù)據(jù)。
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1TC358743XBG評(píng)估板參考手冊(cè)
  2. 1.36 MB  |  330次下載  |  免費(fèi)
  3. 2開關(guān)電源基礎(chǔ)知識(shí)
  4. 5.73 MB  |  6次下載  |  免費(fèi)
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計(jì)
  8. 0.60 MB  |  3次下載  |  免費(fèi)
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費(fèi)
  11. 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
  12. 0.70 MB  |  2次下載  |  免費(fèi)
  13. 751單片機(jī)窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費(fèi)
  15. 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21548次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191185次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)