機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
基于ARM的車載GPS智能導(dǎo)航系統(tǒng)
基于ARM的車載GPS智能導(dǎo)航系統(tǒng)
 更新時間:2009-6-4 10:21:18  點(diǎn)擊數(shù):1
【字體: 字體顏色
1  引言

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

  2硬件實(shí)現(xiàn)

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

  該系統(tǒng)以S3C2410A微處理器為核心,與2片32M的SDRAM(HY57V561620CT)和一片64M的NAND Flash(K9F1208U0B)組成了最小系統(tǒng)。外部添加了用于接收GPS信號的GPS模塊,用于顯示的液晶面板以及一片UDA1341TS的聲音芯片。此外,為了調(diào)試的方便,我們還增加了一片CS8900A的10M網(wǎng)卡芯片。

                              圖1系統(tǒng)框圖

  3系統(tǒng)平臺的建立

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

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

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

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

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

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


課題主目錄
 /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機(jī)的IP地址
 192.168.0.110
 
開發(fā)板的IP地址
 192.168.0.3
 
  4應(yīng)用軟件的開發(fā)

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



                               圖3是應(yīng)用軟件的流程圖

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


                             圖4 GPS接收模塊流程圖


  5總結(jié)和展望

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


                          圖5硬件平臺


                            圖6最終效果圖

  參考文獻(xiàn)

  
1飛漫軟件,MiniGUI 技術(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用戶指南,www.mapinfo.com,2003.12

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

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

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

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

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

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

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

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

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

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

  15Philips Semiconductors. UDA1341TS Product Specification. 2002

  16Sharp Corporation. LQ080V3DG01 Product Specification. 2003

<!--插入廣告JS代碼-->
  • 上一篇: 用S3C2410實(shí)現(xiàn)三導(dǎo)聯(lián)遠(yuǎn)程心電監(jiān)護(hù)系統(tǒng)
  • 下一篇: ARM開發(fā):從ADS到RealView MDK
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1