基于GPS和3G技術(shù)的智能公交終端設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
隨著經(jīng)濟(jì)的發(fā)展,城市公交事業(yè)有了迅猛的發(fā)展,主要表現(xiàn)在:車(chē)輛變靚,站點(diǎn)增加,營(yíng)運(yùn)時(shí)間延長(zhǎng),線(xiàn)路增多,市民出行時(shí)已感到這種可喜的變化。但隨著生活節(jié)奏的加快,對(duì)生活品質(zhì)要求的提高,乘客們?cè)缫巡荒軡M(mǎn)足于現(xiàn)有的服務(wù)質(zhì)量。
乘客的服務(wù)要求不僅體現(xiàn)在乘車(chē)過(guò)程中,還體現(xiàn)在乘車(chē)前后;不僅需要有車(chē)乘,而且需要乘好車(chē)、好乘車(chē)。這些多層次、多元化的需求都是傳統(tǒng)運(yùn)營(yíng)模式、調(diào)度方式所無(wú)法做到的,只有智能公交系統(tǒng)的實(shí)施才能夠從根本上解決這些問(wèn)題。
智能公交系統(tǒng)的實(shí)施,不僅可以給乘客帶來(lái)巨大的利益,提升城市形象,還以為公交企業(yè)節(jié)約大量經(jīng)營(yíng)成本,提高科學(xué)管理水平。因此智能公交系統(tǒng)的建設(shè)著重大的社會(huì)效益和經(jīng)濟(jì)效益。
智能公交系統(tǒng)由以下幾部分組成:
1)車(chē)載設(shè)備子系統(tǒng),簡(jiǎn)稱(chēng)“車(chē)載終端”;
2)車(chē)站智能電子站牌子系統(tǒng);
3)公交管理系統(tǒng)。
文中主要以車(chē)載設(shè)備子系統(tǒng)——車(chē)載終端為研究對(duì)象展開(kāi)論述。
1 系統(tǒng)整體方案設(shè)計(jì)
文中研究的是一種基于GPS和3G的智能公交終端,簡(jiǎn)而言之就是研究車(chē)體部分車(chē)載終端設(shè)備。本文的研究主要分3大部分:視頻監(jiān)控部分;GPS定位部分;通過(guò)現(xiàn)有3G網(wǎng)絡(luò)傳輸部分。
視頻監(jiān)控部分,主要是在車(chē)廂外部設(shè)置2個(gè)攝像頭,車(chē)廂內(nèi)部設(shè)置4個(gè)攝像頭。車(chē)廂外部在車(chē)的前后各設(shè)置一個(gè)攝像頭,用來(lái)監(jiān)控車(chē)體的前后車(chē)況,為交通意外發(fā)生后的責(zé)任判定提供有力證據(jù)。
車(chē)廂內(nèi)部在司機(jī)處設(shè)置1個(gè)攝像頭,用來(lái)監(jiān)控司機(jī)是否有打電話(huà),閑聊等違規(guī)操作;在票箱處設(shè)置1個(gè)攝像頭,用來(lái)監(jiān)控偷票漏票現(xiàn)象;在車(chē)體中間設(shè)置1個(gè)攝像頭,用來(lái)防止乘客碰瓷索賠,車(chē)內(nèi)偷盜等,減少公交車(chē)上的犯罪率。下客門(mén)設(shè)置1個(gè)攝像頭,用來(lái)觀(guān)看乘客下車(chē)情況,乘客是否全都下車(chē),是否有乘客從后門(mén)上車(chē)等逃票現(xiàn)象。
GPS定位部分,實(shí)現(xiàn)完善的導(dǎo)航功能。通過(guò)GPS全球定位系統(tǒng)確定公交車(chē)所在位置信息,把公交車(chē)所在的位置,路況信息可以實(shí)時(shí)的傳送到PC機(jī)監(jiān)控端,這樣對(duì)車(chē)輛的調(diào)度起到關(guān)鍵的作用。
3G網(wǎng)絡(luò)傳輸部分,近年來(lái)我國(guó)的3G網(wǎng)絡(luò)已經(jīng)很成熟了,可以高效的傳輸視頻信息,本系統(tǒng)就是通過(guò)3C網(wǎng)絡(luò)將公交車(chē)上采集到的視頻信息和CPS信息傳輸?shù)娇刂贫耍瑢?shí)現(xiàn)公交車(chē)運(yùn)行時(shí)的全程監(jiān)控。系統(tǒng)整體設(shè)計(jì)方案如圖1所示。
2 系統(tǒng)硬件設(shè)計(jì)
硬件設(shè)計(jì)上,本系統(tǒng)采用ARM微處理器S3C2440芯片作為主控芯片,系統(tǒng)為存儲(chǔ)擴(kuò)展了128MB的NANDFLASH和64MB的SDBAM,這樣可以更好的儲(chǔ)存視頻信息。系統(tǒng)的外圍擴(kuò)展模塊包括通用USB攝像頭、GPS模塊、3G模塊和LCD顯示屏。系統(tǒng)的硬件框圖如圖2所示。
2.1 主控芯片的選擇
本系統(tǒng)設(shè)計(jì)的監(jiān)控終端要求多路傳輸,實(shí)時(shí)性強(qiáng),低功耗等特點(diǎn)。因此本系統(tǒng)的主控芯片選擇了內(nèi)核為ARM920T的ARM9處理器。由于S3C2440芯片應(yīng)用比較廣泛,片內(nèi)資源豐富,資料齊全,價(jià)格適中,所以選擇它作為系統(tǒng)的微處理器。
該處理器是一款基于RISC的32位微處理器,工作頻率為400 MHz,最高可達(dá)533 MHz,滿(mǎn)足了舉系統(tǒng)對(duì)處理速度的要求,同時(shí)該處理器還集成了豐富的通信接口和控制器,有效地降低了系統(tǒng)的復(fù)雜度,為系統(tǒng)開(kāi)發(fā)提供了良好的硬件平臺(tái)。
2.2 攝像頭模塊的選型與連接
文中采用的是動(dòng)態(tài)視頻形式的監(jiān)控方式。選用的是網(wǎng)眼V2000攝像頭,其圖像傳感器和數(shù)字信號(hào)處理芯片為Omnivision公司的OV7620和OV511它的成像速度快、圖片質(zhì)量高、成本低,具有良好的通用性。
其采用USB接口,不需要視頻卡,可即插即用,使用方使,圖像精晰連貫,馬賽克比率低。為視頻的良好錄制提供了可靠的硬件基礎(chǔ)。網(wǎng)眼V2000攝像頭通過(guò)其USB接口直接與CPU上集成的USBHost接口相連。
OV7620是一款高集成度、高分辨率的彩色圖像傳感器。其分辨率為640x480,傳輸速率可達(dá)30幀/秒。OV7620的控制采用SCCB(Serial Camera Control Bus)協(xié)議,可利用其SCCB(Serial Camera Control Bus)接口完成對(duì)它的有關(guān)設(shè)置和讀取圖像數(shù)據(jù)。
OV511是攝像頭的主控芯片,其片內(nèi)的高性能壓縮引擎可使圖像的壓縮比達(dá)到7:1,保證了從圖像傳感器到主控制器的快速圖像傳輸。
2.3 GPS模塊的選型與連接
本系統(tǒng)的GPS模塊采用的是HOLUX的GB-87模塊。該模塊支持NMEA0183協(xié)議,支持V3.3-V5.5電壓輸入,TTL接口電平,波特率可置。
在本系統(tǒng)中,GR-87模塊通過(guò)6PIN排線(xiàn)與主板相連,1腳為電源輸入腳,接5 V電源,2、3腳為GPS模塊的數(shù)據(jù)接收和發(fā)送,5腳接地。
工作時(shí),GPS模塊串口2與主控制器S3C2440進(jìn)行通信,通過(guò)設(shè)置模塊定時(shí)輸出GPS定位數(shù)據(jù),由主控制器對(duì)GPS數(shù)據(jù)進(jìn)行處理,提取出經(jīng)緯度,時(shí)間等有用信息,為自動(dòng)報(bào)站及正點(diǎn)考核提供可靠數(shù)據(jù),保證報(bào)站及正點(diǎn)考核功能的實(shí)現(xiàn)。
2.4 3G模塊的選型與連接
根據(jù)無(wú)線(xiàn)接口技術(shù)的不同,現(xiàn)有3G技術(shù)可以分為聯(lián)通的WCDMA技術(shù),電信的CDMA2000技術(shù)和移動(dòng)的TD-SCDMA技術(shù)。
考慮到傳輸帶寬、網(wǎng)絡(luò)穩(wěn)定性、實(shí)用性等因素,本系統(tǒng)采用電信CDMA2000作為無(wú)線(xiàn)網(wǎng)絡(luò)傳輸,采用中興公司的MC8630模塊作為視頻數(shù)據(jù)傳輸模塊。
MC8630模塊具有語(yǔ)音、短信、數(shù)據(jù)業(yè)務(wù)和GPS等功能,工作頻段為800MHz,通過(guò)雙天線(xiàn)接收分集技術(shù)和均衡技術(shù),上行速率最高可達(dá)3.1 Mbit/s下行速率最高可達(dá)3.1 Mbit/s??梢酝ㄟ^(guò)USB接口將MC8630模塊連接到MIN2440(S3C2440為主芯片的開(kāi)發(fā)板)處理器上,實(shí)現(xiàn)封裝后的視頻數(shù)據(jù)傳輸。
3 系統(tǒng)軟件設(shè)計(jì)
目前常見(jiàn)的嵌入式操作系統(tǒng)主要有WinCE、Linux、Vxworks等幾種。其中Linux操作系統(tǒng)的源碼完全開(kāi)放。由于其自身具有高效穩(wěn)定、網(wǎng)絡(luò)資源豐富、內(nèi)核小、執(zhí)行速度快,可移植性好等優(yōu)點(diǎn),被廣泛應(yīng)用于嵌入式系統(tǒng)領(lǐng)域。所以,選擇嵌入式Linux操作系統(tǒng)作為本系統(tǒng)的軟件開(kāi)發(fā)平臺(tái)。
在軟件設(shè)計(jì)方面,首先需要在單片機(jī)和PC機(jī)之間建立交叉編譯環(huán)境,用來(lái)編譯引導(dǎo)程序和Linux內(nèi)核。然后完成引導(dǎo)程序Bootloa der的移植;配置和編譯Linux內(nèi)核;制作根文件系統(tǒng)以及底層驅(qū)動(dòng)程序。[!--empirenews.page--]
最后,通過(guò)編寫(xiě)上層應(yīng)用程序完成圖像采集、GPS信息采集、3G傳輸?shù)裙δ堋O旅鎺坠?jié)詳細(xì)的介紹了幾個(gè)主要程序的設(shè)計(jì)思想。
3.1 圖像采集程序
在視頻采集方面,本文采用的攝像頭是網(wǎng)眼V2000,它是一款是以ov511為主控芯片的攝像頭。選用它的原因是由于Linux內(nèi)核自帶ov511驅(qū)動(dòng),所以不用再自己編寫(xiě)攝像頭的驅(qū)動(dòng)程序,只需在定制內(nèi)核的時(shí)候選中即可。為開(kāi)發(fā)節(jié)省了時(shí)間。
當(dāng)Linux系統(tǒng)正常啟動(dòng)后,插上V2000攝像頭,如果成功加載驅(qū)動(dòng),將為攝像頭在/dev/v41/目錄下創(chuàng)建設(shè)備文件device0,上層應(yīng)用程序即可通過(guò)此設(shè)備文件訪(fǎng)問(wèn)攝像頭,實(shí)現(xiàn)拍攝圖像的功能。嵌入式系統(tǒng)平臺(tái)已搭建成功,要實(shí)現(xiàn)實(shí)時(shí)地獲取圖像,就需要利用V4L(Vidio For Linux)編程接口實(shí)現(xiàn)圖像采集程序了。
考慮到攝像頭采集的640x480的RGB圖像數(shù)據(jù)量較大,這里用圖像壓縮函數(shù)put_image_jpeg將圖像轉(zhuǎn)化為JPEG格式,這樣存儲(chǔ)時(shí)就減少了占用的NandFlash空間,同時(shí)通過(guò)3G網(wǎng)絡(luò)回傳監(jiān)控中心時(shí),也減少了傳輸費(fèi)用和確保傳送成功。
3.2 GPS解析程序
GPS接收機(jī)HOLUX的GR-87模塊輸出數(shù)據(jù)格式符合NMEA.183標(biāo)準(zhǔn)。NMEA.0183協(xié)議是由美國(guó)國(guó)家海洋電子協(xié)會(huì)制定的一種串行通信的數(shù)據(jù)協(xié)議,所有輸入輸出信息均為一行ASCII字符。它的一條消息稱(chēng)為語(yǔ)句(Sentence),每條語(yǔ)句都以“$”開(kāi)始,以回車(chē)換行符()結(jié)束,中間是用逗號(hào)分隔的若干個(gè)域。
由于此GPS模塊設(shè)置信息掉電丟失,在每次系統(tǒng)啟動(dòng)時(shí)均要對(duì)該GPS模塊進(jìn)行初始化。將模塊設(shè)置成每秒鐘輸出一次GPS信息。系統(tǒng)啟動(dòng)后,模塊接收GPS信息,然后解析出GPS信息,根據(jù)解析出來(lái)的經(jīng)緯度信息與數(shù)據(jù)區(qū)中存儲(chǔ)的站點(diǎn)信息比較,計(jì)算出實(shí)際距離。如果距離到達(dá)閥值時(shí),啟動(dòng)GPS報(bào)站中斷。
該GPS模塊接收模塊遵循NMEA.0183協(xié)議,可以輸出多種格式的數(shù)據(jù)幀,均以“MYM”開(kāi)頭。輸出數(shù)據(jù)采用的是ASCII碼字符,內(nèi)容包含了緯度、經(jīng)度、速度、日期、航向及衛(wèi)星狀況等信息。該系統(tǒng)所使用的僅限于$GPRMC定位數(shù)據(jù)幀格式。
系統(tǒng)啟動(dòng)后,通過(guò)串口對(duì)GPS模塊進(jìn)行設(shè)置,由于系統(tǒng)對(duì)實(shí)時(shí)性要求不高,將GPS設(shè)置為每秒鐘輸出一次RMC數(shù)據(jù)。提取GPRMC語(yǔ)句的思路是設(shè)置一個(gè)數(shù)據(jù)緩沖區(qū),把接收到的GPS數(shù)據(jù)都放入這個(gè)緩沖區(qū),當(dāng)緩沖區(qū)滿(mǎn)了的時(shí)侯就在緩沖區(qū)中查找是否接受到GPRMC定位語(yǔ)句,如果沒(méi)有接收到則重新接GPS數(shù)據(jù)。
如果找到GPRMC定位語(yǔ)句則還要判斷該語(yǔ)句在緩沖區(qū)中的位置離緩沖區(qū)的最大字節(jié)數(shù)是否大于62個(gè)字節(jié)(因?yàn)楸境绦蛑行枰腉PRMC定位語(yǔ)句所包含的字節(jié)數(shù)為62),然后通過(guò)多程序提取相關(guān)經(jīng)緯度、時(shí)間和速度等信息并通過(guò)數(shù)據(jù)處理線(xiàn)程進(jìn)行相關(guān)處理。運(yùn)行過(guò)程如圖3所示。
3.3 3G模塊解析程序
MC8630模塊驅(qū)動(dòng)可以通過(guò)驅(qū)動(dòng)源碼交叉編譯生成。MC8630模塊的加載和撥號(hào)連接的過(guò)MC8630模塊驅(qū)動(dòng)可以通過(guò)驅(qū)動(dòng)源碼交叉編譯生成。MC8630模塊的加載和撥號(hào)連接的過(guò)程如下:
1)在編譯前首先要確認(rèn)編譯驅(qū)動(dòng)和編譯內(nèi)核的編譯環(huán)境相同,也就是需要相同版本號(hào)的交叉編譯工具(本系統(tǒng)Linux版本號(hào)為2.6);
2)修改驅(qū)動(dòng)源碼Makefde文件,包括添加內(nèi)核源碼目錄和編譯工具;
3)Make編譯之后,生成ztemt.ko;
4)insmod ztemt.ko,生成4個(gè)設(shè)備節(jié)點(diǎn)/dev/ttyUSB0-ttyUSB3;
5)mknod/dev/ttyUSB0 c 188 0,創(chuàng)建設(shè)備節(jié)點(diǎn);
6)編寫(xiě)Linux下?lián)芴?hào)腳本、chat配置文件和賬號(hào)密碼配置文件;
7)添加內(nèi)核選項(xiàng),編譯支持PPP協(xié)議的內(nèi)核;
8)pppd call evdo撥號(hào)連接,ifconfig查詢(xún)網(wǎng)絡(luò)是否連接;
9)ppp-off中斷連接。
4 結(jié)束語(yǔ)
本系統(tǒng)設(shè)計(jì)的智能公交終端采用先進(jìn)的3G/GPS技術(shù),通過(guò)對(duì)公交車(chē)輛運(yùn)行時(shí)的信息的采集、傳輸和處理,實(shí)現(xiàn)了對(duì)公交運(yùn)營(yíng)車(chē)輛的實(shí)時(shí)監(jiān)控和調(diào)度,迅速調(diào)整公交車(chē)輛的運(yùn)行狀況,提高車(chē)輛工作的效率,使公交資源實(shí)現(xiàn)最佳利用和分配,達(dá)到公交的智能化。