標(biāo)題: 基于ARM嵌入式GPS導(dǎo)航系統(tǒng)軟硬件設(shè)計(jì) [打印本頁(yè)]
作者: qq8426030 時(shí)間: 2014-7-18 14:53
標(biāo)題: 基于ARM嵌入式GPS導(dǎo)航系統(tǒng)軟硬件設(shè)計(jì)
一、硬件實(shí)現(xiàn)
本嵌入式GPS導(dǎo)航系統(tǒng)的硬件核心是三星公司arm9系列中的16/32位RISC處理器S3C2410A芯片,該芯片強(qiáng)大的實(shí)時(shí)處理能力和豐富的外圍接口非常適合嵌入式系統(tǒng)的開發(fā),本系統(tǒng)正是基于該芯片的這些特點(diǎn)而設(shè)計(jì)的。系統(tǒng)框圖如圖1所示。
該系統(tǒng)以S3C2410A微處理器為核心,與2片32M的SDRAM(HY57V561620CT)和一片64M的NAND Flash(K9F1208U0B)組成了最小系統(tǒng)。外部添加了用于接收GPS信號(hào)的GPS模塊,用于顯示的液晶面板以及一片UDA1341TS的聲音芯片。此外,為了調(diào)試的方便,我們還增加了一片CS8900A的10M網(wǎng)卡芯片。
file:///C:\Users\liangkai\AppData\Local\Temp\ksohtml\wps_clip_image-9593.png
圖1系統(tǒng)框圖
二、系統(tǒng)平臺(tái)的建立
系統(tǒng)平臺(tái)的建立主要包括兩部分,即宿主機(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ī)(在中國(guó)Windows占據(jù)近90%的份額),許多開發(fā)者開始使用虛擬機(jī)等手段來實(shí)現(xiàn)在Windows平臺(tái)下進(jìn)行嵌入式Linux的開發(fā),但這些方法都會(huì)或多或少地帶來些兼容性問題。開發(fā)嵌入式Linux最好的選擇便是在PC機(jī)上安裝Linux發(fā)行版,因?yàn)檫@樣與Windows毫無(wú)關(guān)聯(lián),可占有系統(tǒng)全部資源,擁有系統(tǒng)最高性能和最佳的兼容性。
在建立交叉編譯器工具鏈方面必須注意一點(diǎn)的便是C運(yùn)行庫(kù)的選擇。現(xiàn)在可供選擇的C運(yùn)行庫(kù)有glibc, uClibc以及newlib等。glibc是由GNU項(xiàng)目提供的標(biāo)準(zhǔn)C運(yùn)行庫(kù),它針對(duì)PC應(yīng)用設(shè)計(jì),較龐大,但能提供最優(yōu)的兼容性。如果一般的嵌入式開發(fā)可選用uClibc。uClibc原本是uCLinux開發(fā)過程中的一個(gè)C語(yǔ)言庫(kù),現(xiàn)已經(jīng)獨(dú)立于uCLinux項(xiàng)目并且進(jìn)一步完善。它對(duì)glibc的大部分函數(shù)進(jìn)行了重寫,并且目標(biāo)就定位于嵌入式,所以其相對(duì)glibc而言要小巧很多。此外由于它的函數(shù)與glibc保持一致,這樣很多原本基于glibc開發(fā)的軟件基本無(wú)需改動(dòng)便可改用uClibc編譯運(yùn)行,使得在嵌入式系統(tǒng)上占用的內(nèi)存和磁盤空間更少。但由于畢竟不是標(biāo)準(zhǔn)的C運(yùn)行庫(kù),因此uClibc擁有著一定的兼容性問題。
本系統(tǒng)選用了Fedora Core 5作為宿主機(jī)(PC機(jī))的操作系統(tǒng)以及分別使用buildroot和crosstool建立兩條采用不同的C運(yùn)行庫(kù)的交叉編譯器工具鏈。由于我們系統(tǒng)開發(fā)需要使用U-Boot的TFTP功能下載Linux內(nèi)核以及Linux的NFS網(wǎng)絡(luò)文件系統(tǒng),所以首先需要對(duì)Fedora Core 5設(shè)置TFTP以及NFS,而后需要設(shè)置一個(gè)串口通信軟件與開發(fā)板互動(dòng),本系統(tǒng)選擇了Kermit。
使用兩條采用不同C運(yùn)行庫(kù)的交叉編譯器工具鏈的主要原因在于,我們的導(dǎo)航應(yīng)用程序使用uClibc有兼容性問題,所以不得不采用glibc。而為了減少占用資源,我們U-Boot、Linux內(nèi)核和Busybox仍然采用的是uClibc。
本課題主要環(huán)境設(shè)置如下:
file:///C:\Users\liangkai\AppData\Local\Temp\ksohtml\wps_clip_image-28457.png
課題主目錄
/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
三、應(yīng)用軟件的開發(fā)
在系統(tǒng)平臺(tái)建立之后,Linux操作系統(tǒng)提供了底層的操作,包括文件系統(tǒng)的管理、內(nèi)存分配以及基本flash的燒錄讀取,但并沒有提供友好的顯示界面。同時(shí)也為了實(shí)現(xiàn)地理數(shù)據(jù)的顯示和導(dǎo)航,就需要在操作系統(tǒng)上放入圖形用戶界面支持系統(tǒng)和地理信息開發(fā)平臺(tái)。為此我們分別選擇了MiniGUI和mGIS。
file:///C:\Users\liangkai\AppData\Local\Temp\ksohtml\wps_clip_image-13313.png
file:///C:\Users\liangkai\AppData\Local\Temp\ksohtml\wps_clip_image-9514.png
圖3是應(yīng)用軟件的流程圖
整個(gè)軟件系統(tǒng)依靠響應(yīng)不同窗口或者控件發(fā)出的事件,來實(shí)現(xiàn)各種功能。通過主窗口建立后注冊(cè)mGIS控件,可以較為方便的實(shí)現(xiàn)一些常用的地圖操作。主窗口建立后,將會(huì)創(chuàng)建許多用于子窗口,
包括用于顯示經(jīng)緯度信息,時(shí)間。速度的靜態(tài)框,用于實(shí)現(xiàn)快速便捷操作的工具欄,用于實(shí)現(xiàn)GPS功能關(guān)閉和地圖數(shù)據(jù)加載的菜單欄。
file:///C:\Users\liangkai\AppData\Local\Temp\ksohtml\wps_clip_image-25168.png
圖4 GPS接收模塊流程圖
四、總結(jié)
嵌入式移動(dòng)地圖導(dǎo)航系統(tǒng)經(jīng)過最初設(shè)計(jì)、實(shí)現(xiàn)及應(yīng)用檢驗(yàn),已經(jīng)具備基本的功能,可初步滿足個(gè)人移動(dòng)導(dǎo)航信息系統(tǒng)的需求。能完成數(shù)字地圖的加載、縮放、拖動(dòng)、搜索、簡(jiǎn)易導(dǎo)航、測(cè)距、GPS功能開閉等功能。同時(shí)我們也摸索出了一整套較為可行的矢量地圖的制作方法,能依據(jù)使用的場(chǎng)合不同,較快速的完成地圖數(shù)據(jù)源的制作及相關(guān)信息的添加,有一定的擴(kuò)展能力.
親,我們?yōu)槟闾峁?font face="Times New Roman">PCBA樣板貼片焊接、BGA焊接、BGA返修一站式服務(wù)。
樣板貼片5片起,不限器件,不限地域,可接散料,交期快且準(zhǔn)時(shí),只需3天,加急1天。
我們承諾焊接直通率為99%以上,并為客戶提供免費(fèi)返修保證!
沒有工程費(fèi),價(jià)格只有其他廠的三分之一,親,你還在等什么。
聯(lián)系地址:深圳市南山區(qū)科技園科智西路5號(hào)25棟2樓206
file:///C:\Users\liangkai\AppData\Local\Temp\ksohtml\wps_clip_image-18926.png
圖5硬件平臺(tái)
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |