0 引言
隨著汽車等各種車輛交通工具的普及,車輛導航設備的需求也變得日益旺盛。作為車載設備.不僅要有可靠的性能,而且需要具有便攜、低功耗和低價格等特點。而采用基于ARM微處理器的嵌入式系統(tǒng)與GPS模塊相配合的GPS導航終端機的設計方案,可以很好的滿足這一系統(tǒng)需求。為此,本文介紹了一種利用ARM9開發(fā)板和GPS模塊實現(xiàn)GPS導航功能的終端機的軟硬件結構和設計方法。
1 GPS導航系統(tǒng)結構
本文所介紹的GPS全球定位導航系統(tǒng)按功能可分為嵌入式主控模塊、GPS模塊、顯示模塊、擴展模塊及供電模塊等五大部分。
嵌入式主控模塊基于S3C2440處理器,主要負責對GPS導航模塊數(shù)據(jù)的響應、處理和控制。在硬件上,主控模塊就是一個嵌入式開發(fā)板,包括觸摸LCD接口電路、SD卡接口電路、FLASH、SDRAM等。而在軟件上,主控模塊上應當運行嵌入式Linux系統(tǒng)。而嵌入式Linux操作系統(tǒng)的主要作用是管理程序模塊進程并調度進程等。
GPS模塊主要用于接收導航衛(wèi)星數(shù)據(jù),并以特定的格式發(fā)送給主控模塊。顯示模塊可選用3.5寸TFT帶觸摸屏LCD,主要用于與用戶進行交互。擴展模塊主要指的是SD卡。供電模塊主要為系統(tǒng)正常工作提供電源。圖1所示是該系統(tǒng)的結構圖。
2 GPS數(shù)據(jù)的提取
GR-87型GPS模塊的輸出語句遵循NMEA-0183標準。該標準的語句都是以“$”開始,以<CR><LF>結束。 “$”之后是5字符地址,頭兩個字符為發(fā)送者識別碼(GPS為“GP”),后3位為語句名稱。定位信息中的數(shù)據(jù)由“,”來劃分。GPS模塊一般每秒可以輸出一次NMEA-0183格式語句。在導航系統(tǒng)中,一般只需要用到時間、日期、經(jīng)緯度、速度。而由于RMC語句完整包含了系統(tǒng)所需的上述信息,因此。只需要對RMC語句進行提取即可。圖2所示是對GPS數(shù)據(jù)進行提取的具體流程。
3 導航地圖的實現(xiàn)
在獲得了經(jīng)緯度等定位信息之后,還需要將它們直觀的顯示在電子地圖或其它顯示媒體上,這樣才能真正起到導航的作用。要想將其準確的顯示在電子地圖上,就需要用一定的算法進行轉化,即地圖匹配算法。
一般來說,地圖匹配的基本思路是通過車輛的GPS軌跡與地圖上矢量化的路段對象進行匹配,從而尋找當前所行進的道路,并將當前的GPS定位點投影到道路上。
地圖匹配的關鍵是確定匹配點,設計時可以用投影法來尋找匹配點。投影法的基本思路是依據(jù)點到直線的距離來確定最小的值為投影的匹配點,并用最鄰近法進行處理,然后通過設置閾值來濾掉錯誤匹配點,得到初步結果,從而完成點到線的匹配。
具體的實現(xiàn)方法是先預處理道路層,再將道路轉換為折線段,找到當前道路,然后把當前定位點投影到道路上,再找到離定位點最近的公路圖層中的一條線段,之后再計算得到點到線上距離最短的點,最后查找各層中在誤差范圍之內的道路。
其算法的基本流程代碼如下:
導航地圖的實現(xiàn)可以采用嵌入式圖形界面工具Qt embedded來實現(xiàn)。該圖形界面為人機交互界面,用戶可以通過屏幕來了解導航信息,也可以直接操作觸摸屏來操作系統(tǒng),如地圖的縮放、查看定位信息等。
4 結束語
由于ARM處理器具有低功耗、高性能等特點,因此可以廣泛用于各種便攜式電子產(chǎn)品中。本設計在現(xiàn)有的電子產(chǎn)品基礎上,通過外接GPS模塊來擴展GPS導航功能,可為用戶在節(jié)省費用的同時又不損失太多的便攜性。為此,作者希望使用ARM開發(fā)板和GPS模塊相結合來實現(xiàn)GPS導航功能的方法,可以為智能設備擴展GPS功能提供一個參考。