
本文相關DataSheet:
隨著科技化的角度持續加快,迫使有越來越多的人必須在緊湊的時間及地點進行工作,而當城市化的速度不斷地膨脹後,不僅導致交通網絡日益複雜,人們必要的移動性也有越來越頻繁的趨勢。
使得每個人對空間信息有了更多的依賴,使得人們對於「我身處在何方?」、「前往的目的地?」、「如何前往?」等問題,存在著前所未有的需求性。因此,以係統為主要平台的數碼地理整合性應用與其因應方案,也就是手持式、車載全球衛星,便可解決對此人們急迫的需求性。
點擊看原圖
圖說:附加功能仍持續呈現高度擴張,過去車用導航係統中不需要AM/FM收音機、DVD/VCD影音係統、CD/MP3播放器,又或者兼具語音導航的音效係統、擁有存放地圖的存儲器等諸多功能性。
嵌入式GPS導航係統 體現最佳化導航係統
今日GPS衛星導航定位的應用已愈來愈普及,但大多數人對它的認識仍限定在行車導航的用途之上,不過針對廣泛的應用市場,車載式GPS的應用隻是開端而已,其實它在國防、地理信息和建築工程等領域已是不可或缺的重要技術,而下一步,GPS將走入每個人的生活,成為人手一支的GPS手機或手持導航設備(PND)。
這可以由嵌入式GPS導航係統的核心技術來看,以三星ARM9係列中的16/32位RISC處理器S3C2410A芯片為例,該芯片強大的實時處理能力和豐富的外圍界麵非常適合嵌入式係統的開發,而該係統就是基於該芯片的這些特點而設計的。該係統以S3C2410A微處理器為核心,與2片32M的SDRAM(HY57V561620CT)和64M的NAND Flash(K9F1208U0B)整合為最小的一套係統;另外,就是在係統外部加裝可用於收GPS信號的GPS模塊,用於顯示的液晶麵板,以及UDA1341TS的語音芯片係統。
建立係統平台完善架構 兼容性是主要目標
主要來說,其係統平台架構的建立,可細分為2個主要部分,也就是主控的計算機主機的操作係統的選擇和交叉編輯設備與工具鏈的建立。在計算機的主機上,其操作係統可以有多種選擇,包括:安裝Linux發行版、在Windows下使用虛擬機或者使用Cygwin。由於現今Microsoft Windows統領著全球超過半數的計算機係統,而許多開發者開始使用虛擬機等手段來實現在Windows平台下進行嵌入式Linux的開發,但這些方法都會或多或少地帶來些兼容性問題。開發嵌入式Linux最好的選擇便是在計算機主機上安裝Linux發行版,因為這樣與Windows毫無關聯,可占有係統全部資源,擁有係統最高性能和最佳的兼容性。
其次,就是在建立交叉式編輯設備的工具鏈方麵,必須注意一點就是在計算機運行係統的選擇。現在可供選擇的運行係統有glibc、uClibc以及newlib等。glibc是由GNU項目提供的標準係統,因為主要是針對計算機而應用設計,主體架構較為巨大,不過卻能供應最佳的兼容性。如果一般的嵌入式開發可選用uClibc,而uClibc原本就是uCLinux開發過程中的一個C語言庫,現已經獨立於uCLinux項目並且進一步完善。它對glibc的大部分函數進行了重寫,並且目標就定位於嵌入式,所以其相對glibc而言要小巧很多。此外由於它的函數與glibc保持一致,這樣很多原本基於glibc開發的軟件基本不需要更改,便能使uClibc在編輯的過程中獲得最佳化,使得在嵌入式係統上占用的存儲器和磁盤空間更少,不過由於不是標準的運行係統,因此uClibc擁有著一定的兼容性問題。

圖說:使用在不同設備上的GPS導航設備,比方說,手持式導航設備或者是汽車上所嵌入式的GPS導航架構,這都是要選擇適當的硬件架構之前,必須要先行確認的使用範疇及定位方向。()
GPS導航應用軟件 關乎導航係統優劣
基本上,軟件功能也是決定導航係統好壞的重要關鍵之一;首先是操作係統的選擇,由於是車載嵌入式係統,車廠對內裝設備的可靠性要求遠高於消費性或家用等設備係統,而作為導航係統的計算機主要機體的操作係統,以及分別使用buildroot和crosstool建立兩條采用不同的運行係統的交叉編輯設備工具鏈。由於係統開發需要使用U-Boot的TFTP功能下載Linux內核,以及Linux的NFS網絡文件係統,所以首先需要對Fedora Core 5設置TFTP,以及NFS,而後需要設置一個接口通信軟件與開發平台上進行互動之用,因此,在選擇上可采用Kermit通訊協定,進行資料的傳輸。使用2不同運行係統的交叉編輯器工具鏈的主要原因在於,導航應用程序使用uClibc有兼容性問題,所以不得不采用glibc,而為了減少占用資源,而U-Boot、Linux內核和Busybox仍然采用的是uClibc。

本文相關DataSheet:
在係統平台建立之後,Linux操作係統提供了底層的操作,包括:文件係統的管理、存儲器分配以及基本快閃存儲器的燒錄讀取,但並沒有提供最佳的的顯示界麵,而再同一時間為了體現出地理數據的顯示與導航功能,就需要在操作係統上放入圖形用戶界麵支持係統和地理信息開發平台。
整個軟件係統依靠響應不同窗口或者控製元件所發出的訊息,進行一部體現出各式各樣的功能,再透主窗口建立後注冊mGIS控件,可以較為方便的實現一些常用的地圖操作。主窗口建立後,將會創建許多用於子窗口,包括:用於顯示地圖經緯度信息、時間。最後,在速度的靜態功能上,則可用於實現快速便捷操作的工具欄,用於實現功能關閉和地圖數據加載的菜單欄。

圖說:手持式GPS係統電路結構圖。GPS的應用範圍十分廣泛,也必然有其市場的賣點,但要將GPS做到手機當中,仍有不少瓶頸需要突破。手機的GPS應用與車載導航差異甚大,前者要求在行走的環境中能獲得精準的定位信息,而手機用戶又經常會處於收訊不良的室內或巷弄當中。()
「Find My Way」是GPS衛星導航的終極目標
Find My Way移動地圖導航係統經過最初設計、實現及應用檢驗,已經具備基本的功能,可初步滿足個人移動導航信息係統的需求。能完成數碼地圖的加載、縮放、拖動、搜索、簡易導航、測距、GPS功能開閉等功能。同時必須要針對較為可行的矢量地圖的製作方法,能依據使用的場合不同,較快速的完成地圖數據源的製作及相關信息的添加,有一定的擴展能力。
當然由於時間和能力的有限,這款產品也有其一定的不足,值得進一步的深入研究,例如:在打開GPS接收模塊之後,係統的響應速度將有顯著的下降,雖然已經對Linux核心和編輯器經過適當的優化過程,但情況並沒有顯著的改善。問題可能在硬件平台的處理速度和可調用的資源有限,也有可能在軟件接收上的程序結構不合理,嵌套過多。
GPS接收信號有時會發生信號接收的不穩定,出現信號的偏移,超過標稱的誤差值。問題可能在開發平台的設計電路中對於數據信號線的照排上,沒有使信號線等距,也沒有設置合理的信號隔離和保護帶,導致最終出現了不應有的誤差。但從軟件上著手,如何糾正這樣的誤差也是值得研究的一個方向,不過,在本文中隻說明了固定點導航,並不能完成從任意點至任意點的導航,導航功能可以從軟件方麵繼續深入的研究,包括對地圖格式的選擇等,這些都是未來必須要麵對到的問題與挑戰。