陳洪太, 周淵平, 鄧昌明
(四川大學(xué) 電子信息學(xué)院,四川 成都 610064)
近些年來,隨著中國經(jīng)濟(jì)的不斷發(fā)展,越來越多的人開始購買私人車、私家車,隨之帶來很多交通問題,交通阻塞、擁擠、汽車之間的碰撞刮擦在所難免。同時,汽車駕駛員的行車水平更是參差不齊,安全隱患很大。在人員擁擠或者道路角落狹窄的場所,比如車庫、街道、停車場、人行道附近,駕駛員既要前瞻,又要顧后,稍有不慎,便會發(fā)生刮擦碰撞事故,給人民的生命財產(chǎn)帶來很大損失[1]。
本文系統(tǒng)的提出,就是要嘗試解決這些問題。既要檢測行車時的視線盲區(qū),又要檢測周圍物體與汽車的距離等,及時提醒駕駛員可能存在的潛在危險,提前有意識躲避,給行車帶來很大的安全便利。
所謂的汽車盲區(qū),就是駕駛員在車內(nèi)無法用肉眼看到的區(qū)域,也是汽車最容易出現(xiàn)事故的區(qū)域?,F(xiàn)有的汽車,一般是在汽車前端兩側(cè)安裝2個后視鏡,以此觀察車體兩側(cè)及偏后方的物體。車內(nèi)安裝有后視鏡,駕駛員大致可以通過它觀測到車體后面的物體。僅靠3面鏡子,駕駛員很難觀測到汽車周圍的全部環(huán)境,由此就會產(chǎn)生很多盲區(qū),帶來潛在危險。
汽車盲區(qū)如圖1灰色部分所示。
圖1 汽車盲區(qū)示意
該系統(tǒng)主要采用在汽車盲區(qū)安裝攝像頭的方法消除盲區(qū),比如,在汽車左前方、右前方以及車尾后面分別安裝監(jiān)控攝像頭,配合距離測試模塊,及時檢測距離汽車最近物體的位置,系統(tǒng)將各路視頻信號及距離信息呈現(xiàn)在顯示器上,提醒司機潛在危險,進(jìn)行有意識規(guī)避[2]。駕駛員既可以手動選擇顯示哪一路視頻信號,也可以讓距離信號作為控制信號,進(jìn)行自動視頻切換,在這種情況下,顯示器顯示的是物體離汽車最近位置的攝像頭的圖像(也即最有價值的圖像)。整個系統(tǒng)的硬件框圖如圖2所示。
圖2 系統(tǒng)硬件框
該系統(tǒng)采用380線監(jiān)控攝像頭208C,有效測量距離可達(dá)10 m,電源為 DC 8 V,有效像素:PAL:512×582,NTSC:512×494,基本上可以滿足要求。
視頻采集卡采用同三維T301系列,它是一款專業(yè)的USB接口高清晰視頻采集設(shè)備,通過Video端子或S端子來接入視頻,四路視頻輸入可以在各路中切換瀏覽。
HY-SRF05超聲波測距模塊可以提供2~450 cm的非接觸式距離感測功能,測距精度可達(dá)3 mm;模塊包括超聲波發(fā)射器、接收器及控制電路[3]。
基本工作原理如下:①采用IO口的Trig端觸發(fā)測距需要至少10 us的高電平信號;②模塊自動發(fā)送8個40 kHz的方波,自動檢測是否有信號返回;③當(dāng)有信號返回時,通過IO口的Echo端輸出一個高電平,高電平持續(xù)的時間就是超聲波從發(fā)射到返回的時間。
測量的距離=(高電平時間×340)/2。
超聲波測距模塊的控制信號由51單片機的IO口提供,采用外部中斷、定時中斷方式對檢測到的返回信號進(jìn)行處理,計算出距離,在數(shù)碼管上顯示出來。同時,通過RS232串口,將各路距離信號發(fā)送給Atom主板。
Atom主板一方面讀視頻采集卡信號,通過VisualC++生成的界面顯示出攝像頭端的影像,同時處理各路距離信號,一并顯示在圖形界面上。
單片機對超聲波測距模塊的控制以及距離信號的處理如圖3所示。在對TCON、TMOD、SCON等串口、定時器寄存器初始化后,單片機從IO口輸出一高電平信號,觸發(fā)測距模塊的Trig端,使其開始工作。測距模塊在定時器溢出范圍內(nèi),如果檢測到Echo回響信號變?yōu)楦唠娖?,則定時器開始計時,同時開啟外部中斷。高電平的持續(xù)時間,就是超聲波從發(fā)射到接收的時間間隔。Echo信號變低后,觸發(fā)外部中斷,在中斷響應(yīng)程序中,對定時器進(jìn)行清零,計算超聲波測量的距離并進(jìn)行LED顯示。如果在一定時間范圍內(nèi),檢測不到Echo信號變高,則定時器溢出,在溢出中斷程序中,對定時器進(jìn)行清零,重新開始距離檢測[4]。
圖3 單片機測距流程
利用VisualC++的MFC類庫,創(chuàng)建基于對話框的工程,將攝像頭視頻信號顯示在圖像控件上。視頻信號的切換是個核心部分。從串口獲取距離信號,一般來說有3種方法:
1)利用Windows API函數(shù)實現(xiàn)串口編程。這種方法具有很強的靈活性,但需要用戶詳細(xì)了解串口程序開發(fā)過程和一些復(fù)雜的API函數(shù)。在Windows系統(tǒng)中,串口和其他通信設(shè)備是作為文件處理的。
2)多線程串口編程 CSerialPort類。其工作流程如下:首先設(shè)置好串口參數(shù),再打開串口監(jiān)測工作線程,檢測到串口事件后,以PostMessage(hWnd, Msg,wParam, lParam)消息通知主程序,激發(fā)消息處理函數(shù)RecvSCCMsg(wParam, lParam)來進(jìn)行數(shù)據(jù)處理[5]。
3)用MSComm控件進(jìn)行串口通信。它是微軟提供的Windows環(huán)境下實現(xiàn)串行通信的ActiveX控件,通過添加MSComm控件ID的控制變量以及串口事件的消息處理函數(shù)OnComm( )函數(shù),編寫處理代碼。
將硬件系統(tǒng)搭建好后,開啟VC生成的視頻監(jiān)控程序,測試結(jié)果如圖4所示。
圖4 距離信號控制視頻切換
該系統(tǒng)以兩路視頻信號輸入和兩路測距信號輸入為基礎(chǔ),當(dāng)手動選擇優(yōu)先時,距離信號不影響視頻源的選取。反之,取消手動選擇優(yōu)先,則窗口顯示的是最近的距離信號所在位置的攝像頭的信息。從結(jié)果可以看出,取消手動優(yōu)先選項,距離2小于距離1,視頻顯示的是線路2的攝像頭信息。
本文設(shè)計的車載視頻監(jiān)控系統(tǒng),能夠較好地完成從距離信號讀取到視頻自動切換的過程,具有一定的應(yīng)用前景。在后面的研究中,加上GPS模塊以及多個視頻窗的同時顯示,配合視頻圖像的手機傳輸,語音信號報警裝置,可以實現(xiàn)汽車的定位以及防盜,對行車安全等都有一定的現(xiàn)實意義。
[1]郭源源.視頻監(jiān)控技術(shù)的研究[J].科技資訊, 2009(34): 234-235.
[2]劉文怡, 楊慧.基于DSP和以太網(wǎng)的視頻監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J].通信技術(shù), 2009,42(07): 151-153.
[3]趙旭.超聲波測距儀硬件的研究設(shè)計[J].才智,2011(23):189-191.
[4]莊益強, 余輪.基于DM642的 X264視頻監(jiān)控系統(tǒng)的軟件實現(xiàn)[J].通信技術(shù), 2007,40(12): 394-395.
[5]龔建偉, 熊光明.VisualC++/Turbo C串口通信編程實踐[M].第2版,北京:電子工業(yè)出版社, 2007: 27-174.