1 嵌入式公交自動(dòng)報(bào)站系統(tǒng)的原理及特點(diǎn)
1.1 基于GPS公交自動(dòng)報(bào)站系統(tǒng)的原理概述
本文提出的新型公交車自動(dòng)報(bào)站系統(tǒng)的基本原理如圖1所示。通過(guò)GPS接收機(jī)接收GPS工作衛(wèi)星的導(dǎo)航信息,從而解算出車輛目前的經(jīng)、緯度等信息;根據(jù)GPS定位數(shù)據(jù)計(jì)算出公交車的實(shí)時(shí)坐標(biāo),將其與站點(diǎn)坐標(biāo)相比較,當(dāng)公交車駛?cè)胝军c(diǎn)一定距離范圍內(nèi)時(shí),不用人工干預(yù),系統(tǒng)自動(dòng)報(bào)站。將位置信息與數(shù)據(jù)庫(kù)中電子矢量地圖進(jìn)行匹配,根據(jù)公交車位置的不同,LCD顯示屏上顯示不同的公益信息、廣告信息和景點(diǎn)信息等。在離站、到站和拐彎點(diǎn)閾值范圍內(nèi)語(yǔ)音提示的同時(shí),在顯示屏上顯示同類信息,給乘客一種全方位的提示與服務(wù)。
本裝置的定位系統(tǒng)使用GPS接收機(jī)進(jìn)行自主定位,GPS接收模塊接收GPS衛(wèi)星發(fā)送的定位數(shù)據(jù),將GPS信號(hào)的數(shù)據(jù)流提取出來(lái),經(jīng)過(guò)簡(jiǎn)單的字符串操作就可以分別找出GPS信號(hào)中的經(jīng)度、緯度以及相應(yīng)的格林威治時(shí)間(該時(shí)間加上8小時(shí)即為我國(guó)標(biāo)準(zhǔn)時(shí))等定位信息。在實(shí)際開(kāi)發(fā)中,GPS接收機(jī)根據(jù)從三顆以上衛(wèi)星發(fā)來(lái)的數(shù)據(jù)計(jì)算出自身所處的位置,完成定位。
GPS定位的基本原理是根據(jù)高速運(yùn)動(dòng)的衛(wèi)星瞬間位置作為已知的起算數(shù)據(jù),采用空間距離后方交匯的方法,確定待測(cè)點(diǎn)的位置。如圖2所示,假設(shè)t時(shí)刻在地面待測(cè)點(diǎn)上安置GPS接收機(jī),可以測(cè)定GPS信號(hào)到達(dá)接收機(jī)的時(shí)間△t,再加上接收機(jī)所接收到的衛(wèi)星星歷等其他數(shù)據(jù)可以確定以下四個(gè)方程式:
1.3 GPS信息格式
通常GPS模塊支持兩種格式:二進(jìn)制消息格式和NMEA-0183 ASCII消息格式。前者的通信協(xié)議為 9600b/s、無(wú)校驗(yàn)、8位數(shù)據(jù)位、1位停止位;后者的通信協(xié)議為4800b/s、無(wú)校驗(yàn)、8位數(shù)據(jù)位、1位停止位。由于NMEA-0183 ASCII格式直觀、易于識(shí)別及應(yīng)用,因此本設(shè)備采用ASCII格式。
系統(tǒng)接收到的GPS數(shù)據(jù)主要由幀頭、幀尾和幀內(nèi)數(shù)據(jù)組成。根據(jù)數(shù)據(jù)幀的不同,幀頭也不相同,主要有$GPGGA、$GPGSA、$GPGSV以及$GPRMC等。這里選用推薦的$GPRMC。各類數(shù)據(jù)幀分別包含了不同的信息,在此列舉出$GPRMC的各項(xiàng)含義:
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,*hh
<1>當(dāng)前位置的格林威治時(shí)間,格式為hhmmss。
<2>狀態(tài),A為有效位置,V為非有效接收警告,即當(dāng)前天線視野上方的衛(wèi)星個(gè)數(shù)少于3顆。
<3>緯度,格式為ddmm.mmmm。
<4>標(biāo)明南北半球,N為北半球、S為南半球。
<5>徑度,格式為dddmm.mmmm。
<6>標(biāo)明東西半球,E為東半球、W為西半球。
<7>地面上的速度,范圍為000.0節(jié)~999.9節(jié)(1節(jié)=1.852km/h)。
<8>方位角,范圍為000.0度~359.9度。
<9>日期,格式為ddmmyy。
<10>地磁變化,從000.0度~180.0度。
<11>地磁變化方向,為E或W。
由于幀內(nèi)各數(shù)據(jù)段由逗號(hào)分割,因此在處理緩存數(shù)據(jù)時(shí)一般通過(guò)搜尋ASCII碼“$”來(lái)判斷是否是幀頭。在對(duì)幀頭的類別進(jìn)行識(shí)別后,再通過(guò)對(duì)所經(jīng)歷逗號(hào)個(gè)數(shù)的計(jì)數(shù)判斷出當(dāng)前正在處理的是哪一種定位導(dǎo)航參數(shù),并做出相應(yīng)處理。
2 嵌入式智能公交系統(tǒng)設(shè)計(jì)
車載設(shè)備安裝于公交車上,其工作環(huán)境比較惡劣,對(duì)設(shè)備的結(jié)構(gòu)也有一定的要求,本系統(tǒng)采用工作穩(wěn)定可靠、抗干擾能力強(qiáng)的嵌入式系統(tǒng)。嵌入式系統(tǒng)固化于存儲(chǔ)器中,其可靠性高、成本低、體積小、功耗低。嵌入式系統(tǒng)有著廣泛的應(yīng)用領(lǐng)域,在車輛與交通工程中的應(yīng)用是其中一個(gè)重要的方面。將嵌入式設(shè)備作為車載終端應(yīng)用于智能公交系統(tǒng),使車載終端設(shè)備具有更高的智能性、穩(wěn)定性和擴(kuò)展性,從而建立起全方位、實(shí)時(shí)準(zhǔn)確、高效的智能交通系統(tǒng)。
本系統(tǒng)采用先進(jìn)的衛(wèi)星定位技術(shù)與語(yǔ)音合成技術(shù)相結(jié)合的方式,改變了傳統(tǒng)公交車語(yǔ)音報(bào)站器必須有司機(jī)操控才能工作的落后方式,進(jìn)站、出站自動(dòng)播報(bào)站名及服務(wù)用語(yǔ),準(zhǔn)確、及時(shí)、不需要人工介入,實(shí)現(xiàn)了公交車報(bào)站器的完全智能化。本裝置主要特點(diǎn)為:
(1)采用GPS衛(wèi)星定位技術(shù),自動(dòng)、準(zhǔn)確地播報(bào)站名、服務(wù)用語(yǔ)、廣告等。
(2)站名及有關(guān)事項(xiàng)可以在計(jì)算機(jī)上形成電子文件,通過(guò)串口下載到報(bào)站器中,方便快捷。
(3)與顯示屏直接連接,同步顯示報(bào)站信息、廣告等。
(4)可存儲(chǔ)多條線路,方便公交車臨時(shí)更換運(yùn)營(yíng)線路。
GPS公交自動(dòng)報(bào)站系統(tǒng)包含硬件和軟件兩部分。硬件以ARM9S3c2410x處理器為核心,配置存儲(chǔ)器、I/O設(shè)備、通信模塊等必要的外設(shè);軟件以嵌入式Linux操作系統(tǒng)為核心,向上提供應(yīng)用編程接口API,向下屏蔽具體硬件特性的板級(jí)支持包BSP。嵌入式系統(tǒng)中,軟件和硬件緊密配合,協(xié)調(diào)工作,共同完成系統(tǒng)預(yù)定的功能。
2.1 系統(tǒng)硬件設(shè)計(jì)
嵌入式GPS公交自動(dòng)報(bào)站系統(tǒng)按功能模塊可分為:GPS模塊、Flash/RAM、JTAG口/串行接口/USB口、音頻設(shè)備/揚(yáng)聲器、LCD觸摸屏及核心處理器S3c2410x。系統(tǒng)硬件框圖如圖3所示。
GPS模塊采用美國(guó)Garmin公司的GPS 15模塊。GPS 15系列是Garmin公司新推出的產(chǎn)品,具備12個(gè)平行接收頻道,最多能同時(shí)解算12顆衛(wèi)星訊息,以供快速定位與導(dǎo)航。使用者不需初始化設(shè)定,可自動(dòng)搜尋衛(wèi)星信號(hào),進(jìn)行定位功能,并輸出NMEA 0183標(biāo)準(zhǔn)資訊。所有GPS 15系列產(chǎn)品皆具有低耗電設(shè)計(jì)。使用讀寫式記憶體設(shè)計(jì),內(nèi)部使用記憶體電池,斷電后儲(chǔ)存資料不流失。3.3V~40V的大范圍輸入電壓承載設(shè)計(jì)及輸出界面選擇,針對(duì)不同領(lǐng)域提供全方位更靈活的運(yùn)用,即便是在公交車上電壓不穩(wěn)定的環(huán)境下也不會(huì)受到影響。表1為GPS模塊接口定義,與ARM處理器相應(yīng)管腳連接即可。
[page]
2.2 系統(tǒng)軟件設(shè)計(jì)
目前主流的嵌入式實(shí)時(shí)操作系統(tǒng)有:Windows CE系列(含Pocket PC)、VxWorks和嵌入式Linux。相對(duì)于Windows CE、VxWorks,Linux用作嵌入式操作系統(tǒng)具有如下優(yōu)勢(shì):用戶可以依照需要自行對(duì)Linux系統(tǒng)進(jìn)行裁剪,這對(duì)于在功能、可靠性、體積、成本和功耗方面有嚴(yán)格要求的專用終端系統(tǒng)來(lái)說(shuō)是一個(gè)非常重要的特點(diǎn);可以用于多種硬件平臺(tái);Linux為開(kāi)源軟件,使用靈活,開(kāi)發(fā)成本低。
本方案采用的Linux版本為韓國(guó)MIZI公司為S3C2410X處理器開(kāi)發(fā)的開(kāi)源版本板級(jí)BSP包Linux 2.4.18-rmk7-pxa1。該版本也是三星公司的S3C2410X demo板上的Linux演示版本,已根據(jù)S3C2410X處理器的配置作了片級(jí)開(kāi)發(fā),但由于是開(kāi)源版本,外圍驅(qū)動(dòng)做的并不完整,需要加入一些驅(qū)動(dòng)程序(LCD驅(qū)動(dòng)、USB驅(qū)動(dòng))。同時(shí),由于使用的硬件芯片和三星的demo板并不相同,需要在配置Linux時(shí)進(jìn)行一些調(diào)整,并修改部分源代碼。最主要的工作是對(duì)存儲(chǔ)單元的配置以及文件系統(tǒng)的建立,并在Linux內(nèi)核的基礎(chǔ)上開(kāi)發(fā)應(yīng)用程序(MPlayer播放器、Qt圖形應(yīng)用程序、GPS定位應(yīng)用程序),如圖4。
QT/Embedded是一個(gè)專門為小型設(shè)備提供圖形用戶界面的應(yīng)用框架和窗口系統(tǒng)。它提供了豐富的窗口小部件(Widgets),并支持窗口部件的定制,因此可以為用戶提供漂亮的圖形界面。Qt是KDE等項(xiàng)目使用的GUI支持庫(kù),有許多基于Qt的X Window程序可以方便地移植到Qt/Embedded上。Qt/Embedded以原始Qt為基礎(chǔ),并做了許多出色的調(diào)整以適用于嵌入式環(huán)境。在Qt中加入觸摸屏驅(qū)動(dòng)的接口函數(shù),便可支持觸摸功能。
移植Qt時(shí),在裝有Linux的PC機(jī)上安裝交叉編譯環(huán)境,編譯器版本為arm-linux-gcc-3.4.1,在/root/.bash_profile中修改編譯器搜索路徑;編譯庫(kù)文件(libjpeg-iwmmxxt.tar.bz2);編譯工具包(tslib.tar.gz、tmake-1.13.tar.gz);編譯Qtopia桌面環(huán)境(qtopia-free-source-2.1.1.tar.bz2);最后將交叉編譯后得到的Qtopia桌面環(huán)境、Qtopia.sh文件及相應(yīng)的庫(kù)文件下載到自動(dòng)報(bào)站系統(tǒng)。
在公交車未到站時(shí),如果有乘客通過(guò)觸摸屏查詢信息,則觸發(fā)人機(jī)交互中斷,調(diào)用Qt圖形應(yīng)用程序。該程序可以通過(guò)觸摸屏顯示當(dāng)前時(shí)間、本公交運(yùn)行路線圖、首末班車發(fā)車時(shí)間及本線路沿途各站點(diǎn)所經(jīng)過(guò)的其他公交車。
2.2.2 多媒體播放器
用于播放景點(diǎn)介紹、廣告等信息的播放器選用MPlayer播放器,它基于0.2.0版本的Libmpeg2函數(shù)庫(kù)編寫,因此支持多種流行的圖像壓縮格式,例如:MPG、DAT、BIN、VOB、ASF、WMF、AVI等。MPlayer播放器本身編譯自帶了多種類型的編碼器,不需要再安裝xvid、ffdshow、ac3、filter、ogg、vobsub等解碼器。本系統(tǒng)移植采用較新版本的MPlayer-1.0pre7try2.tar.bz2。
2.2.3 GPS定位應(yīng)用程序
GPS模塊工作流程如圖5所示。任務(wù)啟動(dòng)后,模塊接收GPS信息,然后解析出GPS信息,根據(jù)解析出來(lái)的經(jīng)緯度信息與數(shù)據(jù)庫(kù)中存儲(chǔ)的站點(diǎn)信息比較,計(jì)算出實(shí)際距離。如果距離到達(dá)閥值時(shí),啟動(dòng)GPS報(bào)站中斷。
2.2.4 系統(tǒng)軟件總流程
相關(guān)閱讀:
步步精講:電子巡查中GPS智能移動(dòng)終端電路設(shè)計(jì)
教你DIY價(jià)格昂貴的GPS模塊,只需50元
【DIY】工科牛人自制GPS接收機(jī)