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