<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于A(yíng)RM的車(chē)載GPS智能導航系統

基于A(yíng)RM的車(chē)載GPS智能導航系統

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

隨著(zhù)中國的城市化的程度不斷加快,使得越來(lái)越多的人口與事業(yè)單位集中在一個(gè)“狹小”范圍內生活與工作。城市的迅速“膨脹”直接導致了交通網(wǎng)絡(luò )的日趨復雜,人員流動(dòng)的日益頻繁也使得每個(gè)人對空間信息有了更多的依賴(lài)。人們更加關(guān)心“當前我在哪里?”“目的地在哪里?”“如何到達?”等問(wèn)題。而以嵌入式為平臺的數字地理集成應用方案可以有效地解決這些矛盾。在此背景下,本文給出了的嵌入式解決方案。

2 硬件實(shí)現

本嵌入式的硬件核心是三星公司9系列中的16/32RISC處理器S3C2410A芯片,該芯片強大的實(shí)時(shí)處理能力和豐富的外圍接口非常適合嵌入式的開(kāi)發(fā),本系統正是該芯片的這些特點(diǎn)而設計的。系統框圖如圖1所示。


  該系統以
S3C2410A微處理器為核心,與232MSDRAM(HY57V561620CT)和一片64MNAND Flash(K9F1208U0B)組成了最小系統。外部添加了用于接收信號的模塊,用于顯示的液晶面板以及一片UDA1341TS的聲音芯片。此外,為了調試的方便,我們還增加了一片CS8900A10M網(wǎng)卡芯片。



圖1  系統框圖

3 系統平臺的建立

系統平臺的建立主要包括兩部分,即宿主機(PC機)上操作系統的選擇和交叉編譯器工具鏈的建立。


  PC
機上的操作系統可以有多種選擇:安裝Linux發(fā)行版、在Windows下使用虛擬機或者使用Cygwin。由于現今Microsoft Windows統領(lǐng)著(zhù)全球超過(guò)半數的PC機(在中國Windows占據近90%的份額),許多開(kāi)發(fā)者開(kāi)始使用虛擬機等手段來(lái)實(shí)現在Windows平臺下進(jìn)行嵌入式Linux的開(kāi)發(fā),但這些方法都會(huì )或多或少地帶來(lái)些兼容性問(wèn)題。開(kāi)發(fā)嵌入式Linux最好的選擇便是在PC機上安裝Linux發(fā)行版,因為這樣與Windows毫無(wú)關(guān)聯(lián),可占有系統全部資源,擁有系統最高性能和最佳的兼容性。


  在建立交叉編譯器工具鏈方面必須注意一點(diǎn)的便是
C運行庫的選擇?,F在可供選擇的C運行庫有glibc, uClibc以及newlib等。glibc是由GNU項目提供的標準C運行庫,它針對PC應用設計,較龐大,但能提供最優(yōu)的兼容性。如果一般的嵌入式開(kāi)發(fā)可選用uClibc。uClibc原本是uCLinux開(kāi)發(fā)過(guò)程中的一個(gè)C語(yǔ)言庫,現已經(jīng)獨立于uCLinux項目并且進(jìn)一步完善。它對glibc的大部分函數進(jìn)行了重寫(xiě),并且目標就定位于嵌入式,所以其相對glibc而言要小巧很多。此外由于它的函數與glibc保持一致,這樣很多原本glibc開(kāi)發(fā)的軟件基本無(wú)需改動(dòng)便可改用uClibc編譯運行,使得在嵌入式系統上占用的內存和磁盤(pán)空間更少。但由于畢竟不是標準的C運行庫,因此uClibc擁有著(zhù)一定的兼容性問(wèn)題。


  本系統選用了
Fedora Core 5作為宿主機(PC機)的操作系統以及分別使用buildrootcrosstool建立兩條采用不同的C運行庫的交叉編譯器工具鏈。由于我們系統開(kāi)發(fā)需要使用U-BootTFTP功能下載Linux內核以及LinuxNFS網(wǎng)絡(luò )文件系統,所以首先需要對Fedora Core 5設置TFTP以及NFS,而后需要設置一個(gè)串口通信軟件與開(kāi)發(fā)板互動(dòng),本系統選擇了Kermit。


  使用兩條采用不同
C運行庫的交叉編譯器工具鏈的主要原因在于,我們的應用程序使用uClibc有兼容性問(wèn)題,所以不得不采用glibc。而為了減少占用資源,我們U-Boot、Linux內核和Busybox仍然采用的是uClibc。


  本課題主要環(huán)境設置如下:

課題主目錄

/Project

編譯器目錄

arm-linux-uclibc-

/Project/toolchina/uclibc/buildroot/build_arm_nofpu/

staging_dir

arm-unknown-linux-gnu-

/Project/toolchain/glibc/tools/gcc-4.1.0-glibc-2.3.2/

arm-unknown-linux-gun

NFS目錄

/Project/nfs

TFTP目錄

/tftpboot

PC機的IP地址

192.168.0.110

開(kāi)發(fā)板的IP地址

192.168.0.3

4 應用軟件的開(kāi)發(fā)

在系統平臺建立之后,Linux操作系統提供了底層的操作,包括文件系統的管理、內存分配以及基本flash的燒錄讀取,但并沒(méi)有提供友好的顯示界面。同時(shí)也為了實(shí)現地理數據的顯示和,就需要在操作系統上放入圖形用戶(hù)界面支持系統和地理信息開(kāi)發(fā)平臺。為此我們分別選擇了MiniGUImGIS。


              
3是應用軟件的流程圖

整個(gè)軟件系統依靠響應不同窗口或者控件發(fā)出的事件,來(lái)實(shí)現各種功能。通過(guò)主窗口建立后注冊mGIS控件,可以較為方便的實(shí)現一些常用的地圖操作。主窗口建立后,將會(huì )創(chuàng )建許多用于子窗口,包括用于顯示經(jīng)緯度信息,時(shí)間。速度的靜態(tài)框,用于實(shí)現快速便捷操作的工具欄,用于實(shí)現GPS功能關(guān)閉和地圖數據加載的菜單欄。

           圖4 GPS接收模塊流程圖

5 總結和展望

“Find My Way”(完成項目的名稱(chēng))嵌入式移動(dòng)地圖導航系統經(jīng)過(guò)最初設計、實(shí)現及應用檢驗,已經(jīng)具備基本的功能,可初步滿(mǎn)足個(gè)人移動(dòng)導航信息系統的需求。能完成數字地圖的加載、縮放、拖動(dòng)、搜索、簡(jiǎn)易導航、測距、GPS功能開(kāi)閉等功能。同時(shí)我們也摸索出了一整套較為可行的矢量地圖的制作方法,能依據使用的場(chǎng)合不同,較快速的完成地圖數據源的制作及相關(guān)信息的添加,有一定的擴展能力。當然由于時(shí)間和能力的有限,這款產(chǎn)品也有其一定的不足,值得進(jìn)一步的深入研究,例如:在打開(kāi)GPS接收模塊之后,系統的響應速度將有顯著(zhù)的下降,雖然已經(jīng)對Linux核心和編譯器經(jīng)過(guò)適當的優(yōu)化,但情況并沒(méi)有顯著(zhù)的改善。問(wèn)題可能在硬件平臺的處理速度和可調用的資源有限,也有可能在軟件接收上的程序結構不合理,嵌套過(guò)多。GPS接收信號有時(shí)會(huì )發(fā)生信號接收的不穩定,出現信號的偏移,超過(guò)標稱(chēng)的誤差值。問(wèn)題可能在開(kāi)發(fā)平臺的設計電路中對于數據信號線(xiàn)的排版上,沒(méi)有使信號線(xiàn)等距,也沒(méi)有設置合理的信號隔離和保護帶,導致最終出現了不應有的誤差。但從軟件上著(zhù)手,如何糾正這樣的誤差也是值得研究的一個(gè)方向。在本課題中只實(shí)現了固定點(diǎn)的導航,并不能完成從任意點(diǎn)至任意點(diǎn)的導航。導航功能可以從軟件方面繼續深入的研究,包括對地圖格式的選擇等。這些都是將來(lái)值得完善之處。



圖5 硬件平臺




圖6 最終效果圖


參考文獻

1  飛漫軟件,MiniGUI 技術(shù)白皮書(shū) Ver 1.6.2,www.minigui.org, 2004.3.29

2  飛漫軟件,mGIS技術(shù)文檔,www.minigui.org, 2005.3

3  飛漫軟件,mGIS產(chǎn)品介紹,www.minigui.org, 2005.3

4   MapInfo Corporation, MapInfo7.5用戶(hù)指南,www.mapinfo.com,2003.12

5  HOLUX,GR-87使用手冊,www.holux.com.cn,2006.2.21

6  HOLUX,GR-86 manual,www.holux.com.cn,2005.5

7   鄧滔,徐勇,GPS與嵌入式Linux平臺串行通信研究,湖南大學(xué)電氣與信息工程學(xué)院,2004.11.2,全文

8  孫天澤,袁文菊,張海峰. 嵌入式設計及Linux驅動(dòng)開(kāi)發(fā)指南. 北京:電子工業(yè)出版社,2005

9  馬忠梅,李善平,康慨等. Linux嵌入式系統教程. 北京:航空航天出版社,2004

10  廖日坤. ARM嵌入式應用開(kāi)發(fā)技術(shù)白金手冊. 北京:中國電力出版社,2005

11  Samsung Electronics Co., Ltd. S3C2410X 32-Bit RISC Microprocessor User's Manual. Revision 1.2. 2003

12  Samsung Electronics Co., Ltd. K9F1208U0B Datasheet. Revision 0.1. 2004

13  Corbet J, Rubini A, Kroah-Hartman G. Linux設備驅動(dòng)程序. 魏永明,耿岳,鐘書(shū)毅譯. 第三版. 北京:中國電力出版社,2006

14  Love R. Linux內核設計與實(shí)現. 陳莉君,康華,張波譯. 第二版. 北京:機械工業(yè)出版社,2006

15  Philips Semiconductors. UDA1341TS Product Specification. 2002

16  Sharp Corporation. LQ080V3DG01 Product Specification. 2003



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>