系統總體設計
硬件部分以三星公司的ARM9芯片S3C2410和韓國的專用視頻芯片AT2042為核心。S3C2410主要實現系統控制功能,例如對AT2042的配置,接收視頻流數據并利用USB存儲設備進行存儲;配置網絡接口建立起完善的網絡功能,以方便用戶通過Internet 對其進行遠程訪問與控制;同時,掛載U盤或硬盤,預留U口或IDE的接口,可供用戶選擇,實現本地的海量存儲功能。
整個系統軟件部分主要分為兩部分:服務器端和客戶端(C/S模式)。服務器端包括Bootloader的編寫,Linux操作系統內核的生成,系統文件的配置以及用戶應用軟件 (實時視頻傳輸、錄像、遠程回放、抓拍);客戶端是通過輸入IP地址訪問指定的服務器,這時客戶端會通過網絡從服務器端下載并安裝預先設計的 ActiveX控件,用戶可以通過這個控件實現實時監控、視頻回放、圖像抓拍等功能。系統總體框圖如圖1所示。
2 系統硬件設計
硬件系統主要由視頻編解碼部分、網絡傳輸部分、本地存儲部分、其他外設和接口部分組成,如圖2所示。包括S3C2410和AT2042、NAND Flash和SDRAM、數/模轉換芯片TVP5150和模/數轉換芯片SAA7112以及網卡芯片LAN91C11。接口包括USB接口、IDE接口、網卡接口、電源接口等。
2.1 視頻編解碼部分
視頻編解碼電路主要包括模/數轉換電路和視頻壓縮/解壓芯片AT2042。其中,AT2042主要負責對經模/數轉換芯片TVP5150轉換來的數字視頻數據進行硬件壓縮。壓縮編碼過程中,攝像頭采集的模擬視頻信號先經過TVP5150進行前端處理,產生符合AT2042視頻接口標準的數字視頻信號。在 S3C2410的控制下,該數字視頻數據由壓縮/解壓芯片AT2042進行硬件壓縮編碼,產生的編碼數據流通過芯片內部集成的Mux FIFO接口輸出。網絡視頻服務器的解壓縮編碼是壓縮編碼的逆過程,需要解壓的數據流通過AT2042內部集成的Demux FIFO接口輸入,解壓縮編碼電路基本原理類似于壓縮編碼,這里不再贅述。視頻編碼電路框圖如圖3所示。TVP5150是TI公司生產的一款電視信號解碼專用芯片。它對輸入的模擬信號進行A/D轉換,TVP5105支持NTSC/PAL/SECAM三種制式,實現模擬視頻信號轉換為數字并行信號ITU-R BT.601或ITU-RBT.656碼流格式。由于AT2042視頻接口滿足ITU.RBT656標準,故TVP5150輸出配置為8位的YUV422 格式。
解碼芯片TVP5150的AIPIA模擬信號輸入口與攝像頭的信號輸出端相連,并向壓縮編碼芯片AT2042傳送視頻信號。由于TVP5150分場同步脈沖和行同步脈沖,分別對應的輸出端為VSYNC和HSYNC,AT2042根據與之相連的VSYNCIN和HSYNCIN信號線來實現圖像的場同步和行同步操作;AT2042的視頻信號輸入數據線VIN[7:0]與TVP5150的輸出端YOUT[7:0]相連。AT2042將接收到的數據流傳送到壓縮編碼單元,壓縮編碼后的視頻數據存儲到外部SDRAM中,同時通過片內的SDRAM控制器來實現對SDRAM的訪問,并將數據流通過HPI總線發送到 S3C2410以便通過網絡傳輸到PC監控端,用于實現遠程的實時監控。
2.2 網絡傳輸部分
主控制芯片S3C2410通過地址、數據、控制線以及片選信號線對網絡芯片LAN91C11進行控制和通信。主芯片發送信號時首先置發送使能信號,數據發送信號端TXD0~TXD1與 LAN91C11的TXD0~TXD1引腳連接,作為數據的發送通道以S3C2410的時鐘信號TCK發送數據。數據接收端RXD0~RXD1與 LAN91C11的RXD0~RXD1引腳對應連接,為數據接收通道。
LAN91C11由S3C2410選通信號線AEN來選通,通過對 LAN91C11一系列寄存器的設置,可以實現視頻流的網絡傳輸。LAN91C11的INTRQ0端用來產生中斷信號。以太網控制芯片通過DMA通道進行數據的傳輸。首先設置好傳輸控制和傳輸地址寄存器的參數,依次從指定的數據存儲區域讀取數據,送入內部發送緩沖器中,用MAC對數據進行封裝發送,并同時記錄已發送完的字節數,等到整個數據塊發送完畢。一組數據發送完后請求DMA中斷,由S3C2410進行處理。網絡接口框圖如圖4所示。
2.3 本地存儲部分
存儲接口選用S3C2410自身的LJSB接口功能,該接口可以實現USB1.1協議。隨著大容量、小體積U盤的問世,更多的用戶都選擇使用該存儲介質。
當今的USB技術使得各種能夠自行識別的外部設備與設備終端連接,并自行裝載驅動程序以運行新的裝置。而一般即插即用裝置,需要有電源的USB接口進行數據傳輸并提供電源。當發生短路或連接了受損設備時,如受損的電纜或連接頭插入USB接口時,必須對USB集線器及主機裝置提供有效保護。USB接口的設計電路如圖5所示。
2.4 其他外設和控制接口
其他外設包括Flash、SDRAM、以太網接口、串行通信接口RS232。其中,Flash用于存儲操作系統內核和系統軟件,待系統上電后加載到內存中;以太網接口將壓縮編碼后的音視頻數據傳輸到網絡;RS232接口主要用于基于控制臺的配置和管理。另外,在調試過程中,RS232和以太網接口用于連接宿主機和目標系統平臺,方便了網絡視頻服務器系統的開發和調試。
3 系統軟件設計
整個嵌入式系統的軟件部分由4部分組成:Boot-loader代碼、Linux操作系統的內核生成和Linux下驅動程序及應用程序的開發、文件系統的生成和配置以及用戶應用程序。設備驅動模塊向上層軟件提供一致的接口,主要包括硬件的初始化、總線內存地址映射、內存分配等,分別被存儲在NAND Flash的4個分區模塊中。本設計采用的是較節省空間的CRAMFS只讀文件系統。
3.1 MPEG-4壓縮編碼的實現
AT2042 支持MPEG-1、MPEG-2、MPEG-4、H.263和Motion-JPEG等多種視頻壓縮標準,以及ADPCM、MPEG-1 Layer-II和Lyer-III(MP3)等音頻壓縮標準。這些功能是通過配置相應的編碼寄存器實現的,例如編碼模式、編碼像素點、編碼幀率及設置編碼流格式(PES、PS、TS)等等。本系統中采用MPEG-4模式、720X576、每秒25幀及生成PES流來對視頻數據進行編碼。
MPEG- 4壓縮編碼部分完成對AT2042和TVP5150相關寄存器的配置,保證了MPEG-4數據流的正常輸出。系統啟動后,首先配置AT2042的寄存器,初始化完成后,通過I2C總線對TVP5150進行初始化配置。在壓縮編碼過程中,MPEG-4數據流接收存儲程序由AT2042的數據流緩沖器標志信號來進行控制。當緩沖器滿時,RISC_INT0置低,主控制器通過DMA通道把從AT2042的網卡接口接收過來的碼流通過網絡通道傳輸到PC端。其壓縮編碼模塊程序流程如圖6所示。
3.2 遠程網絡程序模塊
網絡控制模塊是外部擴展應用程序與視頻服務器交互的一個模塊。其工作過程是:在監控終端的IE瀏覽器中輸入網絡視頻服務器的IP地址,嵌入式網絡視頻服務器根據請求,將相應的控制頁面(即ActiveX控件)反饋給IE瀏覽器,用戶下載控件后,根據控件上的指令,進行相應的操作,然后提交。該模塊提取操作的信息,根據不同信息通過socket套接口與服務器進行通信來分別處理相應的事件,如調節MPEG-4相關屬性、攝像頭的相關操作等。該網絡控制模塊的設計主要包括3部分:本地嵌入式web服務器的配置、ActiveX控件的編寫、socket套接字實現服務器與監控端通信。遠程網絡程序模塊框圖如圖7所示。
3.3 本地存儲部分的實現
該部分主要實現的三大功能:U盤空間的監測,以系統時間來命名存儲文件并將文件保存到U盤上,實現MPEG-4編碼。視頻編碼存儲主要是利用Linux系統指令、AT2042芯片的視頻編碼功能和自動生成傳輸流功能。
(1)顯示U盤存儲空間
首先,利用Linux系統指令與C語言的接口函數sys-tem(const char*string),執行指令會把U盤空間的容量、可用空間等信息寫入設定目錄下,然后利用 display_string(char*string)函數將該信息顯示在顯示層面上。這樣可以使用戶很清楚地了解到可用存儲空間的大小。
(2)以系統時間命名文件名
調用系統函數time、localtime,這里需要定義相應的結構體tm來獲取系統時間,然后將這些信息與建立文件的路徑保存在同一個字符串,調用 fopen(const char*path,const char*mode)函數。這樣就實現了以系統時間來命名文件名,可以方便用戶按時間來查看文件。
3.4 運動圖像監測的實現
該視頻監控系統配置AT2042的相關寄存器,可實現運動檢測的功能。通過運動檢測來控制視頻數據的存儲和報警。運動檢測(報警)算法可以控制存儲動作,節省存儲空間。例如,開始無運動報警信號,存儲模塊處于等待狀態;運動報警信號到來,啟動存儲模塊,在一定時間內如果沒有繼續收到運動報警信號,存儲模塊自動停止工作。這樣存儲量比連續存盤少得多,大量無運動的視頻被剪截掉了,大大提高了存盤效率,有效地節省了存儲空間。工作過程是這樣的:預先進行檢測區域設定,從攝像機來的視頻信號一方面進行視頻壓縮,壓縮的碼流輸出到緩沖區中;另一方面進行運動檢測,當運動條件滿足時發出報警信號,存儲設備開始工作。存儲設備一接到啟動信號就將緩沖區的壓縮碼流全部保存下來,接著連續存儲視頻壓縮輸出的碼流,直到存儲控制指示停止存盤為止。運動方向的估計可以實現監控系統中的警戒線報警功能。在圖像畫面上設定警戒線以及方向,相應地產生一個預警區域。圍繞邊界線產生邊界區域或邊緣點集,監測是否有運動越過警戒線進入警戒區。
結語
本視頻服務器既有視頻遠程實時傳輸,又具有本地存儲的功能,再配置AT2042實現多種視頻格式的編碼和運動檢測、報警功能,使用起來方便易行,可以得到廣泛的應用。該視頻服務器集成普通攝像機和網絡轉換器,將圖像轉換為基于TCP/IP網絡標準的數據包,使攝像機所攝的畫面通過RJ-45以太網接口直接傳送到網絡上,通過網絡即可遠程監視畫面。該視頻服務器采用了最先進的攝像技術和網絡技術,具有強大的功能。內置的系統軟件能實現真正的即插即用,使用戶免去了復雜的網絡配置;內置的大容量內存能存儲警報觸發前的圖像;內置的I/O端口和通信口便于擴充外部周邊設備,如門禁系統、紅外線感應裝置、全方位云臺。
責任編輯:gt
-
芯片
+關注
關注
455文章
50714瀏覽量
423147 -
arm9
+關注
關注
2文章
290瀏覽量
55021 -
服務器
+關注
關注
12文章
9123瀏覽量
85324 -
監控系統
+關注
關注
21文章
3904瀏覽量
174419
發布評論請先 登錄
相關推薦
評論