1 引言 隨著網絡帶寬、計算機處理能力和存儲容量的快速提高,以及如MPEG-4、H.264等各種視頻編碼技術的涌現,從而使嵌入式DVR網絡監控系統得以迅速發展與普及。 MPEG-4標準采用基于對象的編碼理念,支持內容的可分級性,并具有基于內容的交互性、高效的壓縮性和通用的訪問性等特點。MPEG-4提供了易出錯環境的魯棒性,來保證其在許多無線和有線網絡及存儲介質中的應用。因此,在嵌入式多媒體網絡監控系統中采用MPEG-4視頻壓縮技術不僅能夠獲得其在視頻處理方面的諸多優勢,而且有利于網絡的實時傳輸及硬盤存儲,實現真正意義上的網絡遠程實時監控。 文章針對實際需求,提出了采用VW2010編解碼芯片為核心的嵌入式MPEG-4 DVR監控系統的設計方案,詳盡介紹了系統的設計原理和VW2010芯片的應用。此次設計結合了高效的音視頻處理技術、大容量的信息存儲技術、網絡傳輸技術以及低功耗高穩定性的嵌入式技術于一身,是當代安防領域的新應用,在高端視頻監控領域具有較廣闊的應用前景。 2 DVR系統硬件設計原理 2.1 系統組成 由圖1系統實現框圖所示,系統框圖中藍色虛線為I2C總線,黑色粗線為地址數據和控制總線。系統硬件核心由:VW2010編解碼芯片[2]、AT91RM9200嵌入式CPU[3],以及EP1C6 FPGA處理芯片[4]構成。整個系統共分5大功能模塊,分別為:視頻前端解碼A/D轉換模塊、視頻預處理及后處理FPGA模塊、MPEG-4編碼和解碼模塊、主控制芯片AT91RM9200模塊、視頻后端編碼D/A轉換模塊。 視頻前端解碼A/D轉換模塊: 視頻前端解碼A/D轉換模塊選用SAA7115(一路實時或兩路分時)或者TW2824(四路實時)視頻解碼芯片來實現視頻信號采集,并對采集獲得的視頻信號進行模數轉換。然后向視頻預處理及后處理FPGA模塊輸出ITU-R.BT.656標準的8bitYUV數字視頻信號,以及所需的8bit的VBI信號。SAA7115和TW2824可分別由主控制CPU或VW2010芯片通過I2C總線進行控制。當在視頻預處理及后處理FPGA模塊中進行特殊圖像處理時,由主控制CPU采用I2C總線模式進行控制;當無需特殊處理時,可把視頻預處理及后處理FPGA模塊視為直通數據傳輸通道,此時可由VW2010芯片自帶的ICI總線模式直接對其進行控制。 圖1 MPEG-4 DVR系統實現框圖 視頻預處理及后處理FPGA模塊: 視頻預處理及后處理FPGA模塊采用Cyclone-EP1C6芯片進行視頻圖像的特殊處理以及系統所需的時序生成。由主控制CPU通過I2C總線和系統控制總線對其實現的功能邏輯進行直接控制。該模塊主要實現三個功能——前端預處理、后端后處理和時序生成。 前端預處理是為了滿足某些監控領域的特殊需求,對未壓縮的視頻圖像數據進行預處理,如添加水印和特殊信息插入等。同時,當前端有多路(4路)視頻數據輸入時,可通過多路視頻數據的整合來實現4路圖像的實時處理。后端后處理,也是為了滿足某些特殊需求,而對由VW2010解碼后的圖像數據進行特殊處理。 MPEG-4編碼和解碼模塊: MPEG-4編碼和解碼模塊選用VW2010芯片實現MPEG-4的編解碼處理。由主控制CPU 采用Motorola主機通信模式通過VW2010的HIU接口單元實現對VW2010芯片內部寄存器設置和工作狀態控制,以及對壓縮視頻數據的讀寫操作。 功能描述:該模塊主要實現對視頻數據的MPEG-4編碼和解碼,以及對音頻數據的編解碼功能。VW2010內部集成DSP芯片能夠實現對音頻信號編解碼以及對視頻信號、音頻信號、用戶數據和VBI數據實現復用、解復用功能。VW2010通過VPI接口和VBI接口接收視頻預處理及后處理FPGA模塊輸出的8bit視頻信號以及VBI信號進行MPEG-4編碼處理,復用處理后轉入HIU接口單元等待主控制芯片接收。同時,VW2010可通過HIU接口單元接收主控制芯片發送的MPEG-4編碼后的視頻數據,經過解復用處理后進入MPEG-4解碼單元,然后把解碼后的視頻數據通過VPO接口向視頻預處理及后處理FPGA模塊發送8bit解碼后的視頻數據。 系統中由主控制芯片對VW2010芯片的11個GPIO口進行控制,實現某些特殊功能。其中,GPIO[10:11]作為VW2010的第二個I2C總線接口,GPIO[8:9]用于SAA7120中的TTX功能,而GPIO[0:7]可用于輸出多路報警信號。 主控制芯片AT91RM9200模塊: 主控制CPU芯片選用AT91RM9200芯片為主控制處理器,通過I2C總線、控制總線、主機地址總線和數據總線參與外圍設備控制。系統通過AT91RM9200芯片實現對前端視頻解碼控制、視頻預處理控制和MPEG-4編碼和解碼控制,后端視頻編碼控制,以及多入報警信號的輸入控制。同時,主控制芯片的數據總線和地址總線通過復用方式與外圍的VW2010、8M Flash和32M SDRAM芯片進行數據通信。 系統設計中,應用其實現2路IDE硬盤存儲功能、網絡傳輸功能、USB功能、2路串口功能和6鍵鍵盤控制功能。AT91RM9200芯片控制MPEG-4碼流的接收和發送,并對碼流進行IDE硬盤存儲控制和數據讀寫處理。主控制芯片通過其網絡芯片進行視頻流的網絡傳輸,也可以通過USB芯片進行數據交換傳輸。PC主機可通過USB、串口和JTAG口對其進行控制。 視頻后端編碼D/A轉換模塊: 視頻編碼模塊采用SAA7120為其核心芯片,可由主控制CPU、VW2010芯片通過I2C總線對其進行控制。SAA7120接收視頻預處理及后處理FPGA模塊發送的ITU-R.BT.656標準的8bitYUV數字視頻信號,并進行視頻信號的數模轉換,實現對視頻信號的分時編碼與顯示,并輸出YC或CVBS等視頻信號。 2.2 系統硬件特點及硬件電路設計 系統硬件具有系統結構設計簡單、穩定性高、交互性能強、數據壓縮可選格式多,以及應用性強和應用范圍廣等特點。該系統具有三片核心芯片,通過摩托羅拉主機通信模式完成交互控制。由于在系統設計中采用了具有高性價比的FPGA芯片使其能夠根據某些特殊需求做出相應調整,因此極大的增強了其應用的靈活性。同時,利用嵌入式CPU的豐富接口不但節省了傳統的IDE控制接口芯片、以太網MAC及USB接口芯片,還減少了電路尺寸及布線工作量。VW2010外圍的A/D、D/A等芯片可以通過AT91RM9200的串行I2C總線,方便地完成相應的初始化和制式轉換。整個系統對電源種類要求很低,減少了對電源部分的設計壓力和成本。AT91RM9200通過CPLD芯片擴展出的兩個IDE接口相比在一個IDE接口上掛接多個IDE設備來說提高了速度。壓縮完成的文件不但可以通過以太網接口進行網絡傳輸,還可以通過目前流行的USB移動硬盤完成數據的傳遞。 由于電路的復雜性,且采用了高速數字電路,加上對電磁兼容(EMC)的設計要求,設計硬件電路時需考慮以下幾點:1.VW2010編解碼器的SDRAM必須盡可能的靠近VW2010芯片;2.對于處理VW2010、SDRAM、SAA7115和SAA7120等控制接口的時鐘線時,要盡量使各線的長度及阻抗匹配,并要求對電路中的高速時鐘線進行覆銅屏蔽;3.采用六層電路板,可以降低回路噪聲,提高電路的穩定性;4.應做到模擬地與數字地隔離。避免數字電路對模擬電路產生干擾,提高采樣的精度;5.對于高速的數據總線應盡量添加排阻,以達到阻抗匹配的目的。并應盡量減少走線長度,減小電路中電流的環路面積;6.對于USB等接口電路需添加相應的保護電路,以免外部噪聲干擾。 2.3 VW2010應用 VW2010是實時MPEG-1、-2和-4音視頻系統編解碼芯片,支持同時壓縮、解壓或編碼、解碼處理,兼容多種視頻標準。視頻編碼部分接收未壓縮的ITU-R.BT.656數字視頻信號。其為網絡應用提供TS傳輸流或為存儲應用提供PS節目流。視頻解碼部分接收MPEG碼流,并輸出ITU-R.BT.656數字視頻。VW2010是該DVR系統中完成音視頻編解碼的主芯片。 主機接口結構、功能與應用: VW2010的主機接口由HIU和PCI這兩個內部模塊構成。HIU模塊具有16bit帶寬內核,能夠連接16bit帶寬的主機總線(摩托羅拉、Intel等主機),并能連接標準PCI總線。 通過主機接口能夠訪問VW2010芯片內部硬件寄存器和編解碼器SDRAM。主機接口內部擁有中斷控制器用于管理來自芯片內部各個獨立工作模塊的中斷信號,片內A/V緩存器和各個FIFO,以及允許外部主機來確定中斷源。主機接口還允許外部主機重置芯片內部編解碼器和主RISC處理器等各個獨立模塊。主機接口能夠靈活響應DMA請求,而且主機接口內部包含了一系列內部寄存器,這些內部寄存器保存著用于A/V捕獲和編碼處理的相關參數,可用于啟動和停止編解碼器操作等。 在DVR系統設計中,VW2010通過HIU與外部主機通信。此時置芯片rom_data[6:0]引腳為0x1x001,即rom_data[1]引腳接下拉電阻置低位,rom_data[0]引腳懸空置高位。 寄存器讀寫: HIU模塊具有讀寫芯片內部硬件寄存器的I/O通道。HIU模塊通過發送寄存器讀寫命令來獲得訪問權限。HIU訪問寄存器命令由兩部份構成,HIU命令碼和寄存器地址碼。 微碼下載: HIU提供了往芯片內編解碼器的CPU和主RISC處理器下載微碼的通道。微碼的下載類似于寄存器訪問和SDRAM訪問,它需要HIU的命令,而且HIU提供的帶寬必須能區分出寫入帶寬(16bits)和內部寄存器帶寬(16bits)間指令長度存在的差異。 啟動碼導入: VW2010支持三種啟動碼導入模式:ROM導入,ICI導入和主機導入。所有三種模式向主RISC處理器、編解碼器CPU導入的微碼都是先置于解碼器的SDRAM中。 在系統設計中采用主機導入模式,此時,所有的微代碼都通過HIU模塊下載。且系統中無需外部ROM或SEEPROM協助。在此模式下,外部主機負責所有的下載程序。一旦所有的微碼被下載,且所有模塊都被初始化后,外部主機可啟動編解碼器和主RISC處理器。 主機接口信號: 由圖2所示,圖中host_hiu_data[15:0]為VW2010與外部主機通信的數據總線;host_hiu_addr[15:0]為VW2010與外部主機連接的地址總線,被用于傳輸訪問內部寄存器的HIU命令或芯片內存地址信號;int_為主機中斷信號,當產生中斷信號時,主機通過讀取INTS中斷源寄存器來檢測中斷信號源;host_hiu_as_、host_hiu_cs_和host_hiu_rw_為VW2010地址選通信號,片選信號和主機讀/寫選擇信號; hiu_host_cdo_req_壓縮數據輸出請求,請求主機的DMA控制;host_hiu_cdo_ack_壓縮數據輸出確認信號,由主機DMA控制;hiu_host_cdi_req_壓縮數據接收請求信號;host_hiu_cdi_ack_ 壓縮數據接收確認信號;hiu_host_dtack_主機壓縮數據輸出的傳輸確認信號。在系統設計中,由于摩托羅拉接口總是16bit模式的,因此,傳統的摩托羅拉接口的UDS和LDS信號未被使用。 小結: 文章較為詳細的論述了系統設計思想和設計原理。并通過分析VW2010的主機接口模式,深入淺出的描述了VW2010芯片的具體應用方法。系統設計的嵌入式MPEG-4 DVR監控系統通過采用VW2010、FPGA和嵌入式ARM9三款核心芯片來構造,融合三者各自應用特點,具有高效的圖像處理能力、交互性能強、靈活的應用性和穩定性高等特點。 |