基于GPS的公交自動(dòng)報站系統的研究
2 嵌入式智能公交系統設計
車(chē)載設備安裝于公交車(chē)上,其工作環(huán)境比較惡劣,對設備的結構也有一定的要求,本系統采用工作穩定可靠、抗干擾能力強的嵌入式系統。嵌入式系統固化于存儲器中,其可靠性高、成本低、體積小、功耗低。嵌入式系統有著(zhù)廣泛的應用領(lǐng)域,在車(chē)輛與交通工程中的應用是其中一個(gè)重要的方面。將嵌入式設備作為車(chē)載終端應用于智能公交系統,使車(chē)載終端設備具有更高的智能性、穩定性和擴展性,從而建立起全方位、實(shí)時(shí)準確、高效的智能交通系統。
本系統采用先進(jìn)的衛星定位技術(shù)與語(yǔ)音合成技術(shù)相結合的方式,改變了傳統公交車(chē)語(yǔ)音報站器必須有司機操控才能工作的落后方式,進(jìn)站、出站自動(dòng)播報站名及服務(wù)用語(yǔ),準確、及時(shí)、不需要人工介入,實(shí)現了公交車(chē)報站器的完全智能化。本裝置主要特點(diǎn)為:
(1)采用GPS衛星定位技術(shù),自動(dòng)、準確地播報站名、服務(wù)用語(yǔ)、廣告等。
(2)站名及有關(guān)事項可以在計算機上形成電子文件,通過(guò)串口下載到報站器中,方便快捷。
(3)與顯示屏直接連接,同步顯示報站信息、廣告等。
(4)可存儲多條線(xiàn)路,方便公交車(chē)臨時(shí)更換運營(yíng)線(xiàn)路。
GPS公交自動(dòng)報站系統包含硬件和軟件兩部分。硬件以ARM9S3c2410x處理器為核心,配置存儲器、I/O設備、通信模塊等必要的外設;軟件以嵌入式Linux操作系統為核心,向上提供應用編程接口A(yíng)PI,向下屏蔽具體硬件特性的板級支持包BSP。嵌入式系統中,軟件和硬件緊密配合,協(xié)調工作,共同完成系統預定的功能。
2.1 系統硬件設計
嵌入式GPS公交自動(dòng)報站系統按功能模塊可分為:GPS模塊、Flash/RAM、JTAG口/串行接口/USB口、音頻設備/揚聲器、LCD觸摸屏及核心處理器S3c2410x。系統硬件框圖如圖3所示。
![]() |
核心處理器S3C2410X是一款由Samsung公司設計的低功耗、高度集成的16/32位RISC處理器,它采用272 腳FBGA 封裝,為手持設備和一般類(lèi)型應用提供了低價(jià)格、低功耗、高性能小型微控制器的解決方案。S3C2410X的顯著(zhù)特性是其CPU核心為一個(gè)16/32位的ARM920T RISC處理器。ARM920T實(shí)現了MMU、AMBA BUS和Harvard高速緩沖體系結構。這一結構具有獨立的16KB指令Cache和16KB數據Cache,每個(gè)都是由8字長(cháng)的行(line)構成。通過(guò)提供一系列完整的系統外圍設備,S3C2410X可大大減少整個(gè)系統的成本,不需要為系統配置額外器件。工作頻率最高達到203MHz,同時(shí)具有MMU(內存管理單元),使得處理器輕松運行于Windows CE、Linux等操作系統,可進(jìn)行較為復雜的信息處理。
GPS模塊采用美國Garmin公司的GPS 15模塊。GPS 15系列是Garmin公司新推出的產(chǎn)品,具備12個(gè)平行接收頻道,最多能同時(shí)解算12顆衛星訊息,以供快速定位與導航。使用者不需初始化設定,可自動(dòng)搜尋衛星信號,進(jìn)行定位功能,并輸出NMEA 0183標準資訊。所有GPS 15系列產(chǎn)品皆具有低耗電設計。使用讀寫(xiě)式記憶體設計,內部使用記憶體電池,斷電后儲存資料不流失。3.3V~40V的大范圍輸入電壓承載設計及輸出界面選擇,針對不同領(lǐng)域提供全方位更靈活的運用,即便是在公交車(chē)上電壓不穩定的環(huán)境下也不會(huì )受到影響。表1為GPS模塊接口定義,與ARM處理器相應管腳連接即可。
![]() |
系統外擴一個(gè)USB口,使用廉價(jià)的1GB或2GB的U盤(pán)作為海量存儲器來(lái)存放站點(diǎn)信息及廣告等多媒體文件。
2.2 系統軟件設計
目前主流的嵌入式實(shí)時(shí)操作系統有:Windows CE系列(含Pocket PC)、VxWorks和嵌入式Linux。相對于Windows CE、VxWorks,Linux用作嵌入式操作系統具有如下優(yōu)勢:用戶(hù)可以依照需要自行對Linux系統進(jìn)行裁剪,這對于在功能、可靠性、體積、成本和功耗方面有嚴格要求的專(zhuān)用終端系統來(lái)說(shuō)是一個(gè)非常重要的特點(diǎn);可以用于多種硬件平臺;Linux為開(kāi)源軟件,使用靈活,開(kāi)發(fā)成本低。
本方案采用的Linux版本為韓國MIZI公司為S3C2410X處理器開(kāi)發(fā)的開(kāi)源版本板級BSP包Linux 2.4.18-rmk7-pxa1。該版本也是三星公司的S3C2410X demo板上的Linux演示版本,已根據S3C2410X處理器的配置作了片級開(kāi)發(fā),但由于是開(kāi)源版本,外圍驅動(dòng)做的并不完整,需要加入一些驅動(dòng)程序(LCD驅動(dòng)、USB驅動(dòng))。同時(shí),由于使用的硬件芯片和三星的demo板并不相同,需要在配置Linux時(shí)進(jìn)行一些調整,并修改部分源代碼。最主要的工作是對存儲單元的配置以及文件系統的建立,并在Linux內核的基礎上開(kāi)發(fā)應用程序(MPlayer播放器、Qt圖形應用程序、GPS定位應用程序),如圖4。
![]() |
2.2.1 GUI設計
QT/Embedded是一個(gè)專(zhuān)門(mén)為小型設備提供圖形用戶(hù)界面的應用框架和窗口系統。它提供了豐富的窗口小部件(Widgets),并支持窗口部件的定制,因此可以為用戶(hù)提供漂亮的圖形界面。Qt是KDE等項目使用的GUI支持庫,有許多基于Qt的X Window程序可以方便地移植到Qt/Embedded上。Qt/Embedded以原始Qt為基礎,并做了許多出色的調整以適用于嵌入式環(huán)境。在Qt中加入觸摸屏驅動(dòng)的接口函數,便可支持觸摸功能。
評論