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