智能網(wǎng)絡(luò)圖像監(jiān)測系統(tǒng)的研究
圖像監(jiān)測在許多領(lǐng)域有著廣泛的應(yīng)用,目前已經(jīng)安裝上的圖像監(jiān)測系統(tǒng)大約60%沿用早期的攝像頭加電視和錄像帶,并采用有線模擬視頻傳輸技術(shù)構(gòu)成。這種方案存在圖像質(zhì)量低、錄像帶不易保管、資源容易刪改、錄像機磁鼓壽命短、需專人看管換帶、數(shù)據(jù)的存儲量大、查詢?nèi)∽C檢索和圖像壓縮后期處理困難等難點。另一方面,有線模擬視頻監(jiān)測存在無線聯(lián)網(wǎng)、只能以點對點的方式監(jiān)視現(xiàn)場、布線工程量極大、對距離十分敏感、不能為遠(yuǎn)程實時監(jiān)測和中心聯(lián)網(wǎng)監(jiān)測提供可擴展性等技術(shù)性缺陷。本文提出一種采用FPGA和CMOS數(shù)字傳感器實現(xiàn)前端數(shù)據(jù)采集、利用單片機進行圖像鑒別和壓縮、通過以太網(wǎng)控制器實現(xiàn)圖像數(shù)據(jù)傳輸?shù)膱D像監(jiān)測系統(tǒng)。該系統(tǒng)不僅實現(xiàn)了圖像信號數(shù)據(jù)采集,而且數(shù)據(jù)傳輸速度和穩(wěn)定性高;不僅靈活性好、成本低,而且具有網(wǎng)絡(luò)化、智能化等優(yōu)點。
1 系統(tǒng)組成和工作原理
整個圖象監(jiān)測系統(tǒng)采用C/S架構(gòu),由本地服務(wù)器和多臺智能圖像采集前端組成分布式網(wǎng)絡(luò)監(jiān)測系統(tǒng)。本地服務(wù)器和圖像采集前端在實現(xiàn)時使用的是自成局域網(wǎng)的方案,采用UDP傳輸協(xié)議和分時輪循管理模式??蛻舳瞬杉瘮?shù)據(jù),本地服務(wù)器處理數(shù)據(jù)和發(fā)送數(shù)據(jù)。本地服務(wù)器之間通過廣域網(wǎng)連接,采用FTP傳輸協(xié)議。系統(tǒng)網(wǎng)絡(luò)連接如圖1所示。
嵌入式CPU對采集來的數(shù)據(jù)進行識別處理,并將有效的圖像數(shù)據(jù)通過以太網(wǎng)卡控制器發(fā)送到本地服務(wù)器,本地服務(wù)器進行圖像處理或顯示,并向各個終端發(fā)送控制信息。同時,本地服務(wù)器還決定是否處理過的數(shù)據(jù)發(fā)送到廣域網(wǎng)上。
2 圖像采集傳輸系統(tǒng)
圖像采集傳輸系統(tǒng)前端采集圖像信號,并將它轉(zhuǎn)化為數(shù)字信號,由CPU將這些圖像數(shù)據(jù)通過網(wǎng)絡(luò)上傳到服務(wù)器,以供服務(wù)器進行圖像處理或顯示等。同時,服務(wù)器也通過網(wǎng)絡(luò)同圖像采集前端發(fā)送控制信號、顯示信息,向終端查詢設(shè)備狀態(tài)、設(shè)備信息以及發(fā)布網(wǎng)絡(luò)的輔助協(xié)議數(shù)據(jù)包等。圖像采集傳輸系統(tǒng)包括圖像采集存儲模塊、輸入輸出模塊、電源設(shè)計模塊、通信模塊、紅外檢測和有效圖像識別模塊以及其它的附屬單元。
2.1 圖像采集存儲模塊
系統(tǒng)的圖像傳感器選擇的是CMOS型高分辨率、高速率彩色圖像傳感器OV7620。如果用CPU直接從CMOS芯片中采集數(shù)據(jù),CPU的速度跟不上,存在著高速外設(shè)與低速CPU之間不匹配的問題,因此用FPGA實現(xiàn)圖像傳感器和CPU之間的速度匹配,如圖2所示。FPGA內(nèi)部可以分為內(nèi)存分配、產(chǎn)生SRAM的讀寫時序和地址、為網(wǎng)卡和CMOS提供主頻、鍵盤擴展、產(chǎn)生LCD的控制時序等幾部分以及其它附屬模塊。
FPGA根據(jù)CPU的讀寫信號和CMOS的輸出信號產(chǎn)生緩存的讀寫時序和地址信號。當(dāng)一幀圖像采集完成時,F(xiàn)PGA向CPU發(fā)出一個申請信號,表示緩存里面有一幀數(shù)據(jù)可以進行讀取。如果CPU不應(yīng)答,表示這幀數(shù)據(jù)可以丟棄。這時FPGA重新根據(jù)CMOS圖像傳感器的輸出信號向緩存輸送一幀數(shù)據(jù),如此循環(huán)。如果CPU給出應(yīng)答信號,F(xiàn)PGA停止向緩存輸送數(shù)據(jù),等待CPU發(fā)送讀信號。當(dāng)CPU發(fā)出讀信號時,F(xiàn)PGA把CPU的讀信號轉(zhuǎn)化為內(nèi)存的讀信號。即FPGA首先根據(jù)CMOS的輸出數(shù)據(jù)轉(zhuǎn)化為內(nèi)存的讀信號。
2.2 人機界面設(shè)計
鍵盤采用4.
bsp; 圖3人機界面接口
2.3 紅外檢測和圖像識別模塊
紅外檢測和有效圖像識別模塊的作用是減輕網(wǎng)絡(luò)的負(fù)載,使在實際網(wǎng)絡(luò)中傳輸?shù)娜魏芜B續(xù)兩幀圖像數(shù)據(jù)不會重復(fù)。采用嵌入式CPU進行圖像的模式識別,判斷連續(xù)兩幀圖像是否有變化。其電路如圖4所示。
2.4 RS422通信模塊
為了使圖像采集前端和其它設(shè)備能夠進行網(wǎng)際互聯(lián),系統(tǒng)掛接了一套全雙工總線式RS422串口通訊模式接口電路,滿足了傳輸速率不太高、傳輸距離遠(yuǎn)的要求。在實際傳輸中系統(tǒng)選用的波特率為19200,多機通訊模式,一幀數(shù)據(jù)長度為11位。
3 嵌入式系統(tǒng)
以太網(wǎng)控制器DM9008F的數(shù)據(jù)總線是與系統(tǒng)CPU的數(shù)據(jù)總線直接相連的,通過紅外檢測的
方式判斷圖像是否有效。為了提高圖像數(shù)據(jù)的導(dǎo)入速度,系統(tǒng)使用的圖像數(shù)據(jù)由高速緩存直接導(dǎo)入DM9008F的環(huán)行緩沖區(qū)。圖像數(shù)據(jù)不經(jīng)過CPU,CPU只產(chǎn)生UDP數(shù)據(jù)報的報文格式信息:報頭、目的地址、本機地址等。這種模式的優(yōu)點是節(jié)省了CPU的時間,同時使數(shù)據(jù)流向顯得簡單明了。如果通過算法判斷圖像是否有效,CPU必須實時計算當(dāng)前幀的圖像并判斷其是否和前幾幀圖像的變化程度一致,這時CPU應(yīng)產(chǎn)生UDP數(shù)據(jù)報的所有數(shù)據(jù)。這樣雖然提高了判斷圖像是否有變化的準(zhǔn)確率,但浪費了CPU的時間。采用FPGA來產(chǎn)生地址總線的低五位是為了選擇網(wǎng)卡內(nèi)部的工作寄存器。其框圖如圖5所示。
4 系統(tǒng)軟件設(shè)計
系統(tǒng)軟件包括單片機應(yīng)用軟件、服務(wù)器管理軟件以及它們之間的通訊協(xié)議。單片機軟件采用C51和匯編語言聯(lián)合編寫的方式,由主程序、鍵盤掃描程序、配置CMOS參數(shù)子程序、網(wǎng)卡讀取數(shù)據(jù)模塊、數(shù)據(jù)包處理模塊、數(shù)據(jù)包發(fā)送模塊等組成。單片機主程序流程圖如圖6所示。單片機的嵌入式軟件主要包括網(wǎng)卡控制器TCP/IP軟件的實現(xiàn)、鍵盤識別、液晶驅(qū)動的編寫、對圖像的讀寫和計算處理、配置CMOS參數(shù)、RS422串行通訊軟件的編寫以及與服務(wù)器之間協(xié)議的實現(xiàn)等部分。
服務(wù)器軟件主要讀取圖像數(shù)據(jù)和下發(fā)掃描指令及控制信息。為了調(diào)試方便,服務(wù)器管理軟件采用Delphi編寫。Delphi 4.0以上的版本都支持兩種組件,即ClientSocket和ServerSocket,這是對Winsocket進行細(xì)分的結(jié)果。它們分別作為客戶端和服務(wù)器端的組件。通過這兩種組件之間的通信。再加上輔助的應(yīng)用程序代碼,就可以實現(xiàn)通信。
智能化、網(wǎng)絡(luò)化、數(shù)字化圖像監(jiān)測系統(tǒng)已經(jīng)是國內(nèi)外發(fā)展的趨勢。實驗證明:該系統(tǒng)不僅實現(xiàn)了圖像數(shù)據(jù)等大容量信息的網(wǎng)絡(luò)傳統(tǒng)遞。而且也完成了上位機對終端的控制、信息獲取及圖像采集前端對上位機的數(shù)據(jù)上傳、信息回復(fù)等一套完整靈活的雙向通訊協(xié)議的實現(xiàn)。在圖像采集的設(shè)計中,利用FPGA技術(shù)較好地解決了高速外設(shè)與低速CPU之間不匹配的問題,使圖像采集可以在8位嵌入式系統(tǒng)中實現(xiàn)。圖像采集傳輸系統(tǒng)采用了一種高速數(shù)據(jù)傳輸方式以太網(wǎng),使系統(tǒng)的傳輸速率高且穩(wěn)定可靠。紅外檢測和有效圖像識別模式優(yōu)先圖像,減輕了網(wǎng)絡(luò)傳輸?shù)呢?fù)荷,使整套系統(tǒng)傳輸效率更高。