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