關鍵字:ARM9-Linux平臺 車載導航系統
1. 前言
近年來,隨著國民經濟的迅速發展,人民生活水平的日益提高,各種機動車輛的數量急劇增加,同時對汽車導航系統的需求數量也急劇增加。本文采用了基于ARM9-Linux 平臺的嵌入式系統作為系統的控制平臺,提高系統的性能、集成度以及可擴展性;運用GPS 定位技術和先進的GPRS 無線通信技術相結合的方案,以實現車輛電子地圖導航和短消息報警;通過LCD 模塊的設計實現了車輛各種信息的靈活顯示,豐富了人機交互界面,使得系統更加智能化。本文所研究的車載GPS 導航系統是智能交通系統(ITS,Intelligent Transportation System)的一個重要分支,對解決城市交通問題具有重要意義。
2. GPS 全球定位系統(1)
GPS(Global Positioning System)系統包括三大部分:空間部分—衛星星座、地面控制部分—地面監控系統和用戶設備部分-信號接收機。GPS 全球定位系統是隨著現代科學技術的發展而建立起來的一種高精度、全天候和全球性的無線電導航定位、定時的多功能系統。它利用位于距地球2 萬多公里高、由24 顆人造衛星組成的衛星網,向地球源源不斷的發射定位信號。地球上的任何一臺GPS 接收機,只要接收到任意四顆以上的衛星信號,經過計算后,就可以得到GPS 接收機的位置(經度、緯度、高度)、時間和運動狀態等信息。GPS 系統具有高精度、全天候、高效率、多功能、操作簡便、應用廣泛等特點。
3.系統總體設計
系統主要實現汽車導航和基于手機的車輛防盜功能。整個系統包括兩大部分:一是車主手機,二是車載部分。手機部分只是一部手機,用來收發短消息。車載部分主要實現車量的定位導航功能。車載部分具有兩種工作模式:第一種為“駕駛模式”,這種模式下車主自己駕駛汽車,車主可以方便的利用車載導航系統的人機交互界面進行導航;當車主需要離開自己的汽車時,按下“安全模式”鍵,啟動第二種工作模式,啟動該模式后,系統不斷利用GPS定位技術,判斷車輛的當前位置是否發生變化。如果有人偷盜車輛,駕駛汽車后汽車位置發生變化,此時系統發現汽車位置的經緯度發生變化后,系統將通過GPRS 網絡實時地向車主發送短消息報告汽車當前所在位置。
4.系統硬件設計
本系統的硬件主要由主控模塊和擴展模塊兩大部分組成,其中擴展模塊主要包括GPS模塊、LCD 模塊和GPRS 模塊系統硬件的結構框圖如圖1 所示:
4.1 主控模塊設計(2)
主控模塊設計是硬件設計的核心,其主要包括電源電路、時鐘電路、復位電路、存儲模塊電路、JTAG 接口電路、串行口電路、LCD 接口、SPI 接口以及按鍵電路的設計。本文的處理器采用三星公司的S3C2410,主控模塊通過串行口、SPI 接口、LCD 接口與擴展模塊相連接構成整個硬件系統。
4.2 GPS 模塊選用
GPS 模塊主要完成GPS 定位信息的接收和處理。選用的就是GARMIN 公司的GPS25-LVC 接收機。GPS25 的OEM 接口信號如表1 所示:
4.3 GPRS 模塊選用
GPRS 模塊可以用來進行無線通信,包括語音通信、收發短信息以及無線上網等。本系統選用MC35,主要使用其來完成短消息的功能。其硬件連接如圖2 所示:
5.軟件設計
車載導航系統的硬件為基本功能和擴展功能的實現奠定了牢固的基礎,軟件系統的設計,就是要充分利用硬件平臺提供的資源,實現業務流程的有序運行,是整個系統設計的重要組成部分。軟件部分的設計主要有(3):
(1)建立交叉編譯環境;(2)BootLoader 的移植;(3)Linux 操作系統包括驅動的移植; (4)GPS 定位模塊程序設計; (5) GPRS 通信模塊程序設計;(6) 顯示界面設計,本文基于MiniGUI實現了上述界面的設計;
5.1 GPS 模塊軟件設計
GPS 模塊主要完成車輛位置信息的采集、處理與存儲。由于GPS 采用串行口通信,所以本文在串行口通信的基礎上實現了對GPS 數據的接收、處理和存儲。該模塊軟件設計的基本思想是這樣的:首先接收完整的NMEA0183 語句,然后提取相關的數據,如時間、經緯度、速度等,再將這些數據送去顯示或者發送出去,并且保存以便日后查看。
本文系統選用GPS25-LVC 串口1 輸出的NMEA0183 語句。格式如:$GPRMC,082 004,A,3990.347 2,N,11 953.099 0 E,000.0,000.0 130 807 002.5,W*71,表示目前的時間是07 年08 月13 日8 點20 分04 秒(這是UTC 時間,不是本地時間,兩者大約相差8 小時),位置是北緯39 度90.347 2 分、東經119 度53.099 0 分,速度為O。
5.2 GPRS 無線通信模塊的軟件設計
在對MC35模塊的軟件控制中,主要使用的是標準V.25 ter AT命令,為系統開發中所使用到的相關AT命令如表2所示(4)。
AT命令的具體的執行過程如下:
AT
OK
AT +CSCA = +8613800773500\ r
OK
AT +CMGF = 1 \ r
OK
AT +CMGS = + 861348137…\ r
> Your car is being stolen! \x1A
+CMGS: 206
OK
在運行報警功能時,待執行完以上步驟后,報警短消息即發出,車主手機將接收到一條短信,其內容為“Your car is being stolen!”。然后,MC35模塊在MCU的控制下去相應存儲區中實時讀取當前的地理位置,以短消息的形式不斷報告給車主,以幫助車主和警方追繳車輛。
5.3界面顯示的軟件設計(5)
嵌入式應用的開發是在宿主機(如PC機)上完成的,在宿主機上調試運行嵌入式應用,再將嵌入式應用編譯鏈接成可在目標平臺上運行的二進制目標代碼。由于用到了MiniGUI庫,所以要將MiniGUI庫編譯鏈接成可在目標平臺上運行的二進制目標代碼庫。當一個MiniGUI應用被部署到目標平臺上并可靠運行時,開發過程才結束。定位信息界面顯示通過GPS接收的車輛的位置等信息,再通過擴展電子地圖以便更直觀地顯示這些信息。圖3描述了基于
MiniGUI的軟件開發流程:
6.總結
本文作者創新點:1)在ARM-Linux平臺上設計實現了車載導航功能,該系統具有成本低、功耗低、處理性能高、穩定性好等特點。2)這種平臺便于系統的軟硬件升級。