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