資料介紹
定位系統(tǒng)自問世后便得到了蓬勃發(fā)展,其應用已滲入到各行各業(yè)。個人消費領域引領移動定位類型科技產品集中涌現,其他領域和行業(yè)也有大量技術更新。目前各領域的定位系統(tǒng)主要集中在平臺和地圖的研發(fā)上,平臺配合應用要求選用硬件,地圖根據顯示要求實現軟件算法。因而,它們在定位系統(tǒng)的研究工作中各成體系,兼容性不強。
近年來,在定位系統(tǒng)設計中,硬件選擇越來越集中在幾個品牌的幾個型號上。而軟件設計方面比較分散。因而在一個兼容性強的平臺上實現軟件的集中研發(fā),將是未來的研發(fā)方向。
這里提出一種系統(tǒng)構造模式,弱化硬件平臺的影響而力求最大限度的統(tǒng)一軟件設計。
1 系統(tǒng)整體設計方案
這里提出一種實用的設計方案,通過對系統(tǒng)的各方面配置,實現GPS實時導航功能。系統(tǒng)主控器件采用韓國Samsung公司生產的ARM核32位RISC微處理器S3C2410,并在由其組成的開發(fā)板上移植Linux操作系統(tǒng),Linux操作系統(tǒng)負責系統(tǒng)的整體調度和控制。通過S3C2410的UART接口連接GPS接收機,用以接收NEMA0183格式的GPS定位信息。通過UART接口和GSM/GPRS模塊MC35進行通信。
為了在移動LED上實現電子地圖的繪制顯示,系統(tǒng)的整體層次結構框圖如圖1所示。Linux操作系統(tǒng)負責底層硬件的初始化和管理,并向上層提供應用接口,MiniGUI完成電子地圖在LED上的繪制,并通過Linux內核提供的應用接口與GPS接收機和GSM/GPRS模塊完成通信等功能。

2 圖形界面支持系統(tǒng)——MiniGUI
MiniGUI是一個針對嵌入式系統(tǒng)的輕量級圖形界面支持系統(tǒng)。MiniGUI能夠在各個不同的平臺上提供最大程度的接口兼容性,可運行于AR-M、MIPS等各種主流嵌入式硬件平臺之上。它能夠提供一個輕型、資源開銷少的嵌入式圖形接口。
這里利用MiniGUI Ver l.3.3版本,將其編譯為lite版本并移植到基于ARM核的32位微處理器S3C2410上。在此基礎上,開發(fā)基于MiniG-UI的電子地圖顯示應用程序,配合GPS信號接收機實現定位導航功能。
2.1 交叉編譯MiniGUI
MiniGUI從結構層次上可以分為3層,最上層是APT層,中間層是MiniGUI核心,負責維護整個窗口系統(tǒng)的運行,最下層由2部分組成,即圖形抽象層(GAL)和輸人抽象層(IAL)。
為了使MiniGUI能夠在不同的目標平臺上運行,必須有針對相應平臺的交叉編譯環(huán)境。根據本文的設計選用S3C2410器件,則選擇交叉編譯環(huán)境Linux-ARM,選擇Mizi公司針對Samsung公司32位ARM核RISC微處理器S3C2410設計開發(fā)的工具鏈,這樣的配置環(huán)境使軟件和硬件具有更好的兼容性。具體交叉編譯的步驟如下:
1)修改configure文件。設置make環(huán)境變量CC、LD及AR等。
2)GAL(圖形引擎)和IAL(輸入引擎)接口的實現。在MiniGUI中,GAL和IAL是MinGUI的2個基礎設施,MiniGUI的高可靠度在很大程度上也是由于這2個接口提供了獨立于硬件的抽象能力。這2個接口的抽象類似于Linux內核中的虛擬文件系統(tǒng)。
在具體實現一個輸入引擎(IAL)時,其中最為關鍵的是事件處理函數wait_event()的實現,MiniGUl會不斷的調用該函數,來確定在輸入引擎上是否有輸入事件發(fā)生。這里需要特別注意的是,因為MiniGUI是通過select系統(tǒng)調用來實現進程間通信機制的,因此在實現lite版本輸入引擎的wait_event函數時,一定要通過select函數或與其等價的poll函數實現。與此同時,在實現目標板的觸摸屏驅動時,必須要實現對應file_operaTIons結構中的poll函數指針。即使觸摸屏驅動未提供poll函數,也要在wait_event返回之前調用select,并傳遞相關參數。
Linux系統(tǒng)提供了一種基礎設施——FrameBuffer,通過這個設施Linux的圖形輸出有了統(tǒng)一的接口。由于MiniGUI可以通過FrameBuffer獲得統(tǒng)一的圖形引擎接口。
因此其適應性大大提高,也就很少需要再為MiniGUI編寫GAL驅動層。
3)依次運行configure、make和make install命令,完成MiniGUl的配置和編譯。
經過上述編譯過程,會將編譯好的MiniGUI庫文件安裝在/home/MiniGUI-lite目錄下。為了減小庫文件的大小,根據需要利用config-ure命令去掉MiniGUI中一些不需要的功能,同時利用交叉編譯工具鏈中的strip命令刪除MiniGUI函數庫中的符號信息和其他一些調試信息。
2.2 MiniGUI向S3C2410上的移植
在嵌入式系統(tǒng)開發(fā)過程中,編譯完MiniGUI和應用程序后,把MiniGUI庫和應用程序拷貝到為目標系統(tǒng)準備的文件系統(tǒng)目錄中,然后使用相關工具生成文件系統(tǒng)映像,下載到目標板上。
MiniGUI在運行時需要一個配置文件,用來配置MiniGUI運行所需要的環(huán)境參數。本設計中,將配置文件MiniGUI.cfg放到目標板的/etc目錄下。另外,MiniGUI使用framebuffer作為其輸入引擎,因此在編譯Linux內核時,選擇將framebuffer相關的功能編譯到內核中去。
3 繪制基于MiniGUI的電子地圖的算法
3.1 提取電子地圖數據的算法實現
由于GUI的程序和傳統(tǒng)單一流程的程序不太相同,因此通過簡單的循環(huán)獲取GPS數據的方式是不可取的。該系統(tǒng)通過多線程的循環(huán)提取數據,每組數據的提取與處理是在一個單線程中完成的,從而避免了數據和處理的復雜交互,能更好地體現實時性。
首先,對所采用的坐標系進行說明:假定有一個形狀為嚴格矩形的地圖,其像素坐標原點為(O,0),地圖X軸方向上的寬度為W個像素點,Y軸方向上的高度為H個像素點,地圖上某點的坐標為(X,Y),則定義該像素點的歸一化坐標為(x/W,y/H)。對于終端而言,其覆蓋的地理范圍相對于地球半徑來說幾乎可以看作無窮小,故可以認為電子地圖所對應的經緯度坐標在其覆蓋的區(qū)域內是線性變化的。有了這2個點的坐標數據后,當從GPS接收機讀取到經緯度坐標時,根據近似的線性映射關系,就可以算出該坐標在電子地圖上的歸一化坐標。這種映射關系,根據歐式幾何原理即式(1)和式(2),由已知的2個點可以算出點A和點B的未知參數。

要得到地圖的左上角和右下角的經緯度坐標,只需知道地圖邊界范圍內任取的2個參考點的4個參數即可。通過在某地實地采集的3個參考點,得到表l所列的坐標數據。
近年來,在定位系統(tǒng)設計中,硬件選擇越來越集中在幾個品牌的幾個型號上。而軟件設計方面比較分散。因而在一個兼容性強的平臺上實現軟件的集中研發(fā),將是未來的研發(fā)方向。
這里提出一種系統(tǒng)構造模式,弱化硬件平臺的影響而力求最大限度的統(tǒng)一軟件設計。
1 系統(tǒng)整體設計方案
這里提出一種實用的設計方案,通過對系統(tǒng)的各方面配置,實現GPS實時導航功能。系統(tǒng)主控器件采用韓國Samsung公司生產的ARM核32位RISC微處理器S3C2410,并在由其組成的開發(fā)板上移植Linux操作系統(tǒng),Linux操作系統(tǒng)負責系統(tǒng)的整體調度和控制。通過S3C2410的UART接口連接GPS接收機,用以接收NEMA0183格式的GPS定位信息。通過UART接口和GSM/GPRS模塊MC35進行通信。
為了在移動LED上實現電子地圖的繪制顯示,系統(tǒng)的整體層次結構框圖如圖1所示。Linux操作系統(tǒng)負責底層硬件的初始化和管理,并向上層提供應用接口,MiniGUI完成電子地圖在LED上的繪制,并通過Linux內核提供的應用接口與GPS接收機和GSM/GPRS模塊完成通信等功能。

2 圖形界面支持系統(tǒng)——MiniGUI
MiniGUI是一個針對嵌入式系統(tǒng)的輕量級圖形界面支持系統(tǒng)。MiniGUI能夠在各個不同的平臺上提供最大程度的接口兼容性,可運行于AR-M、MIPS等各種主流嵌入式硬件平臺之上。它能夠提供一個輕型、資源開銷少的嵌入式圖形接口。
這里利用MiniGUI Ver l.3.3版本,將其編譯為lite版本并移植到基于ARM核的32位微處理器S3C2410上。在此基礎上,開發(fā)基于MiniG-UI的電子地圖顯示應用程序,配合GPS信號接收機實現定位導航功能。
2.1 交叉編譯MiniGUI
MiniGUI從結構層次上可以分為3層,最上層是APT層,中間層是MiniGUI核心,負責維護整個窗口系統(tǒng)的運行,最下層由2部分組成,即圖形抽象層(GAL)和輸人抽象層(IAL)。
為了使MiniGUI能夠在不同的目標平臺上運行,必須有針對相應平臺的交叉編譯環(huán)境。根據本文的設計選用S3C2410器件,則選擇交叉編譯環(huán)境Linux-ARM,選擇Mizi公司針對Samsung公司32位ARM核RISC微處理器S3C2410設計開發(fā)的工具鏈,這樣的配置環(huán)境使軟件和硬件具有更好的兼容性。具體交叉編譯的步驟如下:
1)修改configure文件。設置make環(huán)境變量CC、LD及AR等。
2)GAL(圖形引擎)和IAL(輸入引擎)接口的實現。在MiniGUI中,GAL和IAL是MinGUI的2個基礎設施,MiniGUI的高可靠度在很大程度上也是由于這2個接口提供了獨立于硬件的抽象能力。這2個接口的抽象類似于Linux內核中的虛擬文件系統(tǒng)。
在具體實現一個輸入引擎(IAL)時,其中最為關鍵的是事件處理函數wait_event()的實現,MiniGUl會不斷的調用該函數,來確定在輸入引擎上是否有輸入事件發(fā)生。這里需要特別注意的是,因為MiniGUI是通過select系統(tǒng)調用來實現進程間通信機制的,因此在實現lite版本輸入引擎的wait_event函數時,一定要通過select函數或與其等價的poll函數實現。與此同時,在實現目標板的觸摸屏驅動時,必須要實現對應file_operaTIons結構中的poll函數指針。即使觸摸屏驅動未提供poll函數,也要在wait_event返回之前調用select,并傳遞相關參數。
Linux系統(tǒng)提供了一種基礎設施——FrameBuffer,通過這個設施Linux的圖形輸出有了統(tǒng)一的接口。由于MiniGUI可以通過FrameBuffer獲得統(tǒng)一的圖形引擎接口。
因此其適應性大大提高,也就很少需要再為MiniGUI編寫GAL驅動層。
3)依次運行configure、make和make install命令,完成MiniGUl的配置和編譯。
經過上述編譯過程,會將編譯好的MiniGUI庫文件安裝在/home/MiniGUI-lite目錄下。為了減小庫文件的大小,根據需要利用config-ure命令去掉MiniGUI中一些不需要的功能,同時利用交叉編譯工具鏈中的strip命令刪除MiniGUI函數庫中的符號信息和其他一些調試信息。
2.2 MiniGUI向S3C2410上的移植
在嵌入式系統(tǒng)開發(fā)過程中,編譯完MiniGUI和應用程序后,把MiniGUI庫和應用程序拷貝到為目標系統(tǒng)準備的文件系統(tǒng)目錄中,然后使用相關工具生成文件系統(tǒng)映像,下載到目標板上。
MiniGUI在運行時需要一個配置文件,用來配置MiniGUI運行所需要的環(huán)境參數。本設計中,將配置文件MiniGUI.cfg放到目標板的/etc目錄下。另外,MiniGUI使用framebuffer作為其輸入引擎,因此在編譯Linux內核時,選擇將framebuffer相關的功能編譯到內核中去。
3 繪制基于MiniGUI的電子地圖的算法
3.1 提取電子地圖數據的算法實現
由于GUI的程序和傳統(tǒng)單一流程的程序不太相同,因此通過簡單的循環(huán)獲取GPS數據的方式是不可取的。該系統(tǒng)通過多線程的循環(huán)提取數據,每組數據的提取與處理是在一個單線程中完成的,從而避免了數據和處理的復雜交互,能更好地體現實時性。
首先,對所采用的坐標系進行說明:假定有一個形狀為嚴格矩形的地圖,其像素坐標原點為(O,0),地圖X軸方向上的寬度為W個像素點,Y軸方向上的高度為H個像素點,地圖上某點的坐標為(X,Y),則定義該像素點的歸一化坐標為(x/W,y/H)。對于終端而言,其覆蓋的地理范圍相對于地球半徑來說幾乎可以看作無窮小,故可以認為電子地圖所對應的經緯度坐標在其覆蓋的區(qū)域內是線性變化的。有了這2個點的坐標數據后,當從GPS接收機讀取到經緯度坐標時,根據近似的線性映射關系,就可以算出該坐標在電子地圖上的歸一化坐標。這種映射關系,根據歐式幾何原理即式(1)和式(2),由已知的2個點可以算出點A和點B的未知參數。

要得到地圖的左上角和右下角的經緯度坐標,只需知道地圖邊界范圍內任取的2個參考點的4個參數即可。通過在某地實地采集的3個參考點,得到表l所列的坐標數據。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 基于嵌入式Linux的GPS車載定位導航系統(tǒng)設計
- 背篼酥課堂-GPS定位(一) nodemcu 解析gps
- 基于GPS的云爆炸定高引信系統(tǒng)設計方案 17次下載
- 基于51單片機的簡易GPS定位器設計方案資料下載.pdf 14次下載
- 射頻通信的GPS定位系統(tǒng)設計 4次下載
- 車載GPS/DR組合導航系統(tǒng)硬件設計解析 0次下載
- 車載GPS/DR組合導航系統(tǒng)硬件設計 1次下載
- 無人機的指揮中樞:GPS模塊導航系統(tǒng) 26次下載
- 北斗+GPS雙模定位導航模塊 49次下載
- 基于嵌入式 的GPS 導航信息處理方案的實現 9次下載
- 車輛導航定位系統(tǒng)GPS接收機的原理與研制 27次下載
- 有源RFID局域定位系統(tǒng)設計方案 28次下載
- 基于GPS的小型組合導航系統(tǒng)設計 58次下載
- 基于GPRS網絡的GPS圖形導航儀
- 基于GPS的汽車導航系統(tǒng)的設計與實現
- 什么是gps定位? gps定位放線的步驟有哪些 6818次閱讀
- bds是什么地理技術 BDS與GPS的區(qū)別 2.1w次閱讀
- GPS定位的基本原理 4225次閱讀
- 基于GPS/MEMS組合芯片實現高精度定位解決方案 3656次閱讀
- 基于伽利略與GPS定位技術的結合應用分析 3487次閱讀
- 基于LPC2210芯片和uClinux實現導航定位信息獲取模塊的設計 1861次閱讀
- 基于GSM和GPRS實現GPS定位信息傳輸系統(tǒng)的應用設計 3954次閱讀
- 基于GPS和航位推算技術實現組合導航系統(tǒng)的應用方案 4679次閱讀
- 基于FPGA-DSP平臺實現GPS衛(wèi)星導航接收機的設計 2479次閱讀
- 基于Linux操作系統(tǒng)和S3C2410微處理器實現GPS實時導航系統(tǒng)的設計 1097次閱讀
- MiniGUI與嵌入式系統(tǒng)的關系 MiniGUI移植的過程 4907次閱讀
- 一種基于MiniGUI的GPS導航定位系統(tǒng)設計與實現 1651次閱讀
- 基于嵌入式Linux系統(tǒng)的導航軟件設計思路 5039次閱讀
- 雙頻帶GPS/Galileo射頻前端接收系統(tǒng)的設計方案 3812次閱讀
- 基于SOPC技術的便攜式定位系統(tǒng)方案 1339次閱讀
下載排行
本周
- 1蘋果iphone 11電路原理圖
- 4.98 MB | 10次下載 | 5 積分
- 2EMC電路設計工程師必備的EMC基礎
- 0.42 MB | 2次下載 | 2 積分
- 3AU3116 2×60W模擬輸入雙通道Class-D 音頻功率放大器數據手冊
- 1.19 MB | 1次下載 | 免費
- 4低壓降肖特基整流管SR340L數據手冊
- 0.78 MB | 1次下載 | 免費
- 5FH153C6電子開關芯片數據手冊
- 0.95 MB | 次下載 | 免費
- 6LI32480T035IA3004 液晶屏規(guī)格書
- 4.27 MB | 次下載 | 1 積分
- 7DFN1610-2L塑料封裝二極管SD07FDT系列規(guī)格書
- 2.61 MB | 次下載 | 免費
- 8SOT-23塑料封裝ESD保護二極管SMxxOC Series系列規(guī)格書
- 2.66 MB | 次下載 | 免費
本月
- 1三相逆變主電路的原理圖和PCB資料合集免費下載
- 27.35 MB | 110次下載 | 1 積分
- 2運算放大器基本電路中文資料
- 1.30 MB | 14次下載 | 免費
- 3蘋果iphone 11電路原理圖
- 4.98 MB | 10次下載 | 5 積分
- 4TL494工業(yè)用開關電源原理圖資料
- 0.22 MB | 10次下載 | 1 積分
- 5常用電子元器件介紹
- 3.21 MB | 7次下載 | 免費
- 6AIWA J36 維修手冊
- 4.34 MB | 4次下載 | 10 積分
- 7QW2893應急燈專用檢測芯片
- 590.40 KB | 4次下載 | 免費
- 8相關協(xié)議信號總結
- 0.94 MB | 4次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935130次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191390次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183344次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81591次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65989次下載 | 10 積分
評論