具有遠(yuǎn)程監(jiān)控功能的視頻服務(wù)器設(shè)計(jì)
硬件部分以三星公司的ARM9芯片S3C2410和韓國(guó)的專用視頻芯片AT2042為核心。S3C2410主要實(shí)現(xiàn)系統(tǒng)控制功能,例如對(duì)AT2042的配置,接收視頻流數(shù)據(jù)并利用USB存儲(chǔ)設(shè)備進(jìn)行存儲(chǔ);配置網(wǎng)絡(luò)接口建立起完善的網(wǎng)絡(luò)功能,以方便用戶通過(guò)Internet對(duì)其進(jìn)行遠(yuǎn)程訪問(wèn)與控制;同時(shí),掛載U盤(pán)或硬盤(pán),預(yù)留U口或IDE的接口,可供用戶選擇,實(shí)現(xiàn)本地的海量存儲(chǔ)功能。
整個(gè)系統(tǒng)軟件部分主要分為兩部分:服務(wù)器端和客戶端(C/S模式)。服務(wù)器端包括Bootloader的編寫(xiě),Linux操作系統(tǒng)內(nèi)核的生成,系統(tǒng)文件的配置以及用戶應(yīng)用軟件(實(shí)時(shí)視頻傳輸、錄像、遠(yuǎn)程回放、抓拍);客戶端是通過(guò)輸入IP地址訪問(wèn)指定的服務(wù)器,這時(shí)客戶端會(huì)通過(guò)網(wǎng)絡(luò)從服務(wù)器端下載并安裝預(yù)先設(shè)計(jì)的ActiveX控件,用戶可以通過(guò)這個(gè)控件實(shí)現(xiàn)實(shí)時(shí)監(jiān)控、視頻回放、圖像抓拍等功能。系統(tǒng)總體框圖如圖1所示。本文引用地址:http://m.butianyuan.cn/article/188563.htm
2 系統(tǒng)硬件設(shè)計(jì)
硬件系統(tǒng)主要由視頻編解碼部分、網(wǎng)絡(luò)傳輸部分、本地存儲(chǔ)部分、其他外設(shè)和接口部分組成,如圖2所示。包括S3C2410和AT2042、NAND Flash和SDRAM、數(shù)/模轉(zhuǎn)換芯片TVP5150和模/數(shù)轉(zhuǎn)換芯片SAA7112以及網(wǎng)卡芯片LAN91C11。接口包括USB接口、IDE接口、網(wǎng)卡接口、電源接口等。
2.1 視頻編解碼部分
視頻編解碼電路主要包括模/數(shù)轉(zhuǎn)換電路和視頻壓縮/解壓芯片AT2042。其中,AT2042主要負(fù)責(zé)對(duì)經(jīng)模/數(shù)轉(zhuǎn)換芯片TVP5150轉(zhuǎn)換來(lái)的數(shù)字視頻數(shù)據(jù)進(jìn)行硬件壓縮。壓縮編碼過(guò)程中,攝像頭采集的模擬視頻信號(hào)先經(jīng)過(guò)TVP5150進(jìn)行前端處理,產(chǎn)生符合AT2042視頻接口標(biāo)準(zhǔn)的數(shù)字視頻信號(hào)。在S3C2410的控制下,該數(shù)字視頻數(shù)據(jù)由壓縮/解壓芯片AT2042進(jìn)行硬件壓縮編碼,產(chǎn)生的編碼數(shù)據(jù)流通過(guò)芯片內(nèi)部集成的Mux FIFO接口輸出。網(wǎng)絡(luò)視頻服務(wù)器的解壓縮編碼是壓縮編碼的逆過(guò)程,需要解壓的數(shù)據(jù)流通過(guò)AT2042內(nèi)部集成的Demux FIFO接口輸入,解壓縮編碼電路基本原理類似于壓縮編碼,這里不再贅述。視頻編碼電路框圖如圖3所示。TVP5150是TI公司生產(chǎn)的一款電視信號(hào)解碼專用芯片。它對(duì)輸入的模擬信號(hào)進(jìn)行A/D轉(zhuǎn)換,TVP5105支持NTSC/PAL/SECAM三種制式,實(shí)現(xiàn)模擬視頻信號(hào)轉(zhuǎn)換為數(shù)字并行信號(hào)ITU-R BT.601或ITU-RBT.656碼流格式。由于AT2042視頻接口滿足ITU.RBT656標(biāo)準(zhǔn),故TVP5150輸出配置為8位的YUV422格式。
解碼芯片TVP5150的AIPIA模擬信號(hào)輸入口與攝像頭的信號(hào)輸出端相連,并向壓縮編碼芯片AT2042傳送視頻信號(hào)。由于TVP5150分場(chǎng)同步脈沖和行同步脈沖,分別對(duì)應(yīng)的輸出端為VSYNC和HSYNC,AT2042根據(jù)與之相連的VSYNCIN和HSYNCIN信號(hào)線來(lái)實(shí)現(xiàn)圖像的場(chǎng)同步和行同步操作;AT2042的視頻信號(hào)輸入數(shù)據(jù)線VIN[7:0]與TVP5150的輸出端YOUT[7:0]相連。AT2042將接收到的數(shù)據(jù)流傳送到壓縮編碼單元,壓縮編碼后的視頻數(shù)據(jù)存儲(chǔ)到外部SDRAM中,同時(shí)通過(guò)片內(nèi)的SDRAM控制器來(lái)實(shí)現(xiàn)對(duì)SDRAM的訪問(wèn),并將數(shù)據(jù)流通過(guò)HPI總線發(fā)送到S3C2410以便通過(guò)網(wǎng)絡(luò)傳輸?shù)絇C監(jiān)控端,用于實(shí)現(xiàn)遠(yuǎn)程的實(shí)時(shí)監(jiān)控。
2.2 網(wǎng)絡(luò)傳輸部分
主控制芯片S3C2410通過(guò)地址、數(shù)據(jù)、控制線以及片選信號(hào)線對(duì)網(wǎng)絡(luò)芯片LAN91C11進(jìn)行控制和通信。主芯片發(fā)送信號(hào)時(shí)首先置發(fā)送使能信號(hào),數(shù)據(jù)發(fā)送信號(hào)端TXD0~TXD1與LAN91C11的TXD0~TXD1引腳連接,作為數(shù)據(jù)的發(fā)送通道以S3C2410的時(shí)鐘信號(hào)TCK發(fā)送數(shù)據(jù)。數(shù)據(jù)接收端RXD0~RXD1與LAN91C11的RXD0~RXD1引腳對(duì)應(yīng)連接,為數(shù)據(jù)接收通道。
LAN91C11由S3C2410選通信號(hào)線AEN來(lái)選通,通過(guò)對(duì)LAN91C11一系列寄存器的設(shè)置,可以實(shí)現(xiàn)視頻流的網(wǎng)絡(luò)傳輸。LAN91C11的INTRQ0端用來(lái)產(chǎn)生中斷信號(hào)。以太網(wǎng)控制芯片通過(guò)DMA通道進(jìn)行數(shù)據(jù)的傳輸。首先設(shè)置好傳輸控制和傳輸?shù)刂芳拇嫫鞯膮?shù),依次從指定的數(shù)據(jù)存儲(chǔ)區(qū)域讀取數(shù)據(jù),送入內(nèi)部發(fā)送緩沖器中,用MAC對(duì)數(shù)據(jù)進(jìn)行封裝發(fā)送,并同時(shí)記錄已發(fā)送完的字節(jié)數(shù),等到整個(gè)數(shù)據(jù)塊發(fā)送完畢。一組數(shù)據(jù)發(fā)送完后請(qǐng)求DMA中斷,由S3C2410進(jìn)行處理。網(wǎng)絡(luò)接口框圖如圖4所示。
2.3 本地存儲(chǔ)部分
存儲(chǔ)接口選用S3C2410自身的LJSB接口功能,該接口可以實(shí)現(xiàn)USB1.1協(xié)議。隨著大容量、小體積U盤(pán)的問(wèn)世,更多的用戶都選擇使用該存儲(chǔ)介質(zhì)。
當(dāng)今的USB技術(shù)使得各種能夠自行識(shí)別的外部設(shè)備與設(shè)備終端連接,并自行裝載驅(qū)動(dòng)程序以運(yùn)行新的裝置。而一般即插即用裝置,需要有電源的USB接口進(jìn)行數(shù)據(jù)傳輸并提供電源。當(dāng)發(fā)生短路或連接了受損設(shè)備時(shí),如受損的電纜或連接頭插入U(xiǎn)SB接口時(shí),必須對(duì)USB集線器及主機(jī)裝置提供有效保護(hù)。USB接口的設(shè)計(jì)電路如圖5所示。
評(píng)論