新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種新的嵌入式MPEG-4 DVR系統(tǒng)設(shè)計(jì)

一種新的嵌入式MPEG-4 DVR系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2007-09-13 來源:網(wǎng)絡(luò) 收藏

摘要:目前,視頻監(jiān)控已步入了全數(shù)字化的多媒體網(wǎng)絡(luò)時(shí)代,在這一開發(fā)背景下,文章詳細(xì)介紹了基于VW2010編解碼芯片、FPGA和CPU 監(jiān)控方式,并在此基礎(chǔ)上進(jìn)一步介紹了VW2010芯片的應(yīng)用。
關(guān)鍵詞:CPU;FPGA;;;

1引言

隨著網(wǎng)絡(luò)帶寬、計(jì)算機(jī)處理能力和存儲容量的快速提高,以及如、H.264等各種視頻編碼技術(shù)的涌現(xiàn),從而使嵌入式網(wǎng)絡(luò)監(jiān)控得以迅速發(fā)展與普及。

MPEG-4標(biāo)準(zhǔn)[1]采用基于對象的編碼理念,支持內(nèi)容的可分級性,并具有基于內(nèi)容的交互性、高效的壓縮性和通用的訪問性等特點(diǎn)。MPEG-4提供了易出錯(cuò)環(huán)境的魯棒性,來保證其在許多無線和有線網(wǎng)絡(luò)及存儲介質(zhì)中的應(yīng)用。因此,在嵌入式多媒體網(wǎng)絡(luò)監(jiān)控中采用MPEG-4視頻壓縮技術(shù)不僅能夠獲得其在視頻處理方面的諸多優(yōu)勢,而且有利于網(wǎng)絡(luò)的實(shí)時(shí)傳輸及硬盤存儲,實(shí)現(xiàn)真正意義上的網(wǎng)絡(luò)遠(yuǎn)程實(shí)時(shí)監(jiān)控。

文章針對實(shí)際需求,提出了采用VW2010編解碼芯片為核心的嵌入式MPEG-4 DVR監(jiān)控系統(tǒng)的方案,詳盡介紹了系統(tǒng)的設(shè)計(jì)原理和VW2010芯片的應(yīng)用。此次設(shè)計(jì)結(jié)合了高效的音視頻處理技術(shù)、大容量的信息存儲技術(shù)、網(wǎng)絡(luò)傳輸技術(shù)以及低功耗高穩(wěn)定性的嵌入式技術(shù)于一身,是當(dāng)代安防領(lǐng)域的新應(yīng)用,在高端視頻監(jiān)控領(lǐng)域具有較廣闊的應(yīng)用前景。

2 DVR系統(tǒng)硬件設(shè)計(jì)原理

2.1 系統(tǒng)組成

由圖1系統(tǒng)實(shí)現(xiàn)框圖所示,系統(tǒng)框圖中藍(lán)色虛線為I2C總線,黑色粗線為地址數(shù)據(jù)和控制總線。系統(tǒng)硬件核心由:VW2010編解碼芯片[2]、AT91RM9200嵌入式CPU[3],以及EP1C6 FPGA處理芯片[4]構(gòu)成。整個(gè)系統(tǒng)共分5大功能模塊,分別為:視頻前端解碼A/D轉(zhuǎn)換模塊、視頻預(yù)處理及后處理FPGA模塊、MPEG-4編碼和解碼模塊、主控制芯片AT91RM9200模塊、視頻后端編碼D/A轉(zhuǎn)換模塊。

視頻前端解碼A/D轉(zhuǎn)換模塊:

視頻前端解碼A/D轉(zhuǎn)換模塊選用SAA7115(一路實(shí)時(shí)或兩路分時(shí))或者TW2824(四路實(shí)時(shí))視頻解碼芯片來實(shí)現(xiàn)視頻信號采集,并對采集獲得的視頻信號進(jìn)行模數(shù)轉(zhuǎn)換。然后向視頻預(yù)處理及后處理FPGA模塊輸出ITU-R.BT.656標(biāo)準(zhǔn)的8bitYUV數(shù)字視頻信號,以及所需的8bit的VBI信號。SAA7115和TW2824可分別由主控制CPU或VW2010芯片通過I2C總線進(jìn)行控制。當(dāng)在視頻預(yù)處理及后處理FPGA模塊中進(jìn)行特殊圖像處理時(shí),由主控制CPU采用I2C總線模式進(jìn)行控制;當(dāng)無需特殊處理時(shí),可把視頻預(yù)處理及后處理FPGA模塊視為直通數(shù)據(jù)傳輸通道,此時(shí)可由VW2010芯片自帶的ICI總線模式直接對其進(jìn)行控制。

圖1 MPEG-4 DVR系統(tǒng)實(shí)現(xiàn)框圖

視頻預(yù)處理及后處理FPGA模塊:

視頻預(yù)處理及后處理FPGA模塊采用Cyclone-EP1C6芯片進(jìn)行視頻圖像的特殊處理以及系統(tǒng)所需的時(shí)序生成。由主控制CPU通過I2C總線和系統(tǒng)控制總線對其實(shí)現(xiàn)的功能邏輯進(jìn)行直接控制。該模塊主要實(shí)現(xiàn)三個(gè)功能――前端預(yù)處理、后端后處理和時(shí)序生成。

前端預(yù)處理是為了滿足某些監(jiān)控領(lǐng)域的特殊需求,對未壓縮的視頻圖像數(shù)據(jù)進(jìn)行預(yù)處理,如添加水印和特殊信息插入等。同時(shí),當(dāng)前端有多路(4路)視頻數(shù)據(jù)輸入時(shí),可通過多路視頻數(shù)據(jù)的整合來實(shí)現(xiàn)4路圖像的實(shí)時(shí)處理。后端后處理,也是為了滿足某些特殊需求,而對由VW2010解碼后的圖像數(shù)據(jù)進(jìn)行特殊處理。

MPEG-4編碼和解碼模塊:

MPEG-4編碼和解碼模塊選用VW2010芯片實(shí)現(xiàn)MPEG-4的編解碼處理。由主控制CPU 采用Motorola主機(jī)通信模式通過VW2010的HIU接口單元實(shí)現(xiàn)對VW2010芯片內(nèi)部寄存器設(shè)置和工作狀態(tài)控制,以及對壓縮視頻數(shù)據(jù)的讀寫操作。

功能描述:該模塊主要實(shí)現(xiàn)對視頻數(shù)據(jù)的MPEG-4編碼和解碼,以及對音頻數(shù)據(jù)的編解碼功能。VW2010內(nèi)部集成DSP芯片能夠?qū)崿F(xiàn)對音頻信號編解碼以及對視頻信號、音頻信號、用戶數(shù)據(jù)和VBI數(shù)據(jù)實(shí)現(xiàn)復(fù)用、解復(fù)用功能。VW2010通過VPI接口和VBI接口接收視頻預(yù)處理及后處理FPGA模塊輸出的8bit視頻信號以及VBI信號進(jìn)行MPEG-4編碼處理,復(fù)用處理后轉(zhuǎn)入HIU接口單元等待主控制芯片接收。同時(shí),VW2010可通過HIU接口單元接收主控制芯片發(fā)送的MPEG-4編碼后的視頻數(shù)據(jù),經(jīng)過解復(fù)用處理后進(jìn)入MPEG-4解碼單元,然后把解碼后的視頻數(shù)據(jù)通過VPO接口向視頻預(yù)處理及后處理FPGA模塊發(fā)送8bit解碼后的視頻數(shù)據(jù)。

系統(tǒng)中由主控制芯片對VW2010芯片的11個(gè)GPIO口進(jìn)行控制,實(shí)現(xiàn)某些特殊功能。其中,GPIO[10:11]作為VW2010的第二個(gè)I2C總線接口,GPIO[8:9]用于SAA7120中的TTX功能,而GPIO[0:7]可用于輸出多路報(bào)警信號。

主控制芯片AT91RM9200模塊:

主控制CPU芯片選用AT91RM9200芯片為主控制處理器,通過I2C總線、控制總線、主機(jī)地址總線和數(shù)據(jù)總線參與外圍設(shè)備控制。系統(tǒng)通過AT91RM9200芯片實(shí)現(xiàn)對前端視頻解碼控制、視頻預(yù)處理控制和MPEG-4編碼和解碼控制,后端視頻編碼控制,以及多入報(bào)警信號的輸入控制。同時(shí),主控制芯片的數(shù)據(jù)總線和地址總線通過復(fù)用方式與外圍的VW2010、8M Flash和32M SDRAM芯片進(jìn)行數(shù)據(jù)通信。

系統(tǒng)設(shè)計(jì)中,應(yīng)用其實(shí)現(xiàn)2路IDE硬盤存儲功能、網(wǎng)絡(luò)傳輸功能、USB功能、2路串口功能和6鍵鍵盤控制功能。AT91RM9200芯片控制MPEG-4碼流的接收和發(fā)送,并對碼流進(jìn)行IDE硬盤存儲控制和數(shù)據(jù)讀寫處理。主控制芯片通過其網(wǎng)絡(luò)芯片進(jìn)行視頻流的網(wǎng)絡(luò)傳輸,也可以通過USB芯片進(jìn)行數(shù)據(jù)交換傳輸。PC主機(jī)可通過USB、串口和JTAG口對其進(jìn)行控制。

視頻后端編碼D/A轉(zhuǎn)換模塊:

視頻編碼模塊采用SAA7120為其核心芯片,可由主控制CPU、VW2010芯片通過I2C總線對其進(jìn)行控制。SAA7120接收視頻預(yù)處理及后處理FPGA模塊發(fā)送的ITU-R.BT.656標(biāo)準(zhǔn)的8bitYUV數(shù)字視頻信號,并進(jìn)行視頻信號的數(shù)模轉(zhuǎn)換,實(shí)現(xiàn)對視頻信號的分時(shí)編碼與顯示,并輸出YC或CVBS等視頻信號。

2.2 系統(tǒng)硬件特點(diǎn)及硬件電路設(shè)計(jì)

系統(tǒng)硬件具有系統(tǒng)結(jié)構(gòu)設(shè)計(jì)簡單、穩(wěn)定性高、交互性能強(qiáng)、數(shù)據(jù)壓縮可選格式多,以及應(yīng)用性強(qiáng)和應(yīng)用范圍廣等特點(diǎn)。該系統(tǒng)具有三片核心芯片,通過摩托羅拉主機(jī)通信模式完成交互控制。由于在系統(tǒng)設(shè)計(jì)中采用了具有高性價(jià)比的FPGA芯片使其能夠根據(jù)某些特殊需求做出相應(yīng)調(diào)整,因此極大的增強(qiáng)了其應(yīng)用的靈活性。同時(shí),利用嵌入式CPU的豐富接口不但節(jié)省了傳統(tǒng)的IDE控制接口芯片、以太網(wǎng)MAC及USB接口芯片,還減少了電路尺寸及布線工作量。VW2010外圍的A/D、D/A等芯片可以通過AT91RM9200的串行I2C總線,方便地完成相應(yīng)的初始化和制式轉(zhuǎn)換。整個(gè)系統(tǒng)對電源種類要求很低,減少了對電源部分的設(shè)計(jì)壓力和成本。AT91RM9200通過CPLD芯片擴(kuò)展出的兩個(gè)IDE接口相比在一個(gè)IDE接口上掛接多個(gè)IDE設(shè)備來說提高了速度。壓縮完成的文件不但可以通過以太網(wǎng)接口進(jìn)行網(wǎng)絡(luò)傳輸,還可以通過目前流行的USB移動硬盤完成數(shù)據(jù)的傳遞。

由于電路的復(fù)雜性,且采用了高速數(shù)字電路,加上對電磁兼容(EMC)的設(shè)計(jì)要求,設(shè)計(jì)硬件電路時(shí)需考慮以下幾點(diǎn):1.VW2010編解碼器的SDRAM必須盡可能的靠近VW2010芯片;2.對于處理VW2010、SDRAM、SAA7115和SAA7120等控制接口的時(shí)鐘線時(shí),要盡量使各線的長度及阻抗匹配,并要求對電路中的高速時(shí)鐘線進(jìn)行覆銅屏蔽;3.采用六層電路板,可以降低回路噪聲,提高電路的穩(wěn)定性;4.應(yīng)做到模擬地與數(shù)字地隔離。避免數(shù)字電路對模擬電路產(chǎn)生干擾,提高采樣的精度;5.對于高速的數(shù)據(jù)總線應(yīng)盡量添加排阻,以達(dá)到阻抗匹配的目的。并應(yīng)盡量減少走線長度,減小電路中電流的環(huán)路面積;6.對于USB等接口電路需添加相應(yīng)的保護(hù)電路,以免外部噪聲干擾。

2.3 VW2010應(yīng)用

VW2010是實(shí)時(shí)MPEG-1、-2和-4音視頻系統(tǒng)編解碼芯片,支持同時(shí)壓縮、解壓或編碼、解碼處理,兼容多種視頻標(biāo)準(zhǔn)。視頻編碼部分接收未壓縮的ITU-R.BT.656數(shù)字視頻信號。其為網(wǎng)絡(luò)應(yīng)用提供TS傳輸流或?yàn)榇鎯?yīng)用提供PS節(jié)目流。視頻解碼部分接收MPEG碼流,并輸出ITU-R.BT.656數(shù)字視頻。VW2010是該DVR系統(tǒng)中完成音視頻編解碼的主芯片。

主機(jī)接口結(jié)構(gòu)、功能與應(yīng)用:

VW2010的主機(jī)接口由HIU和PCI這兩個(gè)內(nèi)部模塊構(gòu)成。HIU模塊具有16bit帶寬內(nèi)核,能夠連接16bit帶寬的主機(jī)總線(摩托羅拉、Intel等主機(jī)),并能連接標(biāo)準(zhǔn)PCI總線。

通過主機(jī)接口能夠訪問VW2010芯片內(nèi)部硬件寄存器和編解碼器SDRAM。主機(jī)接口內(nèi)部擁有中斷控制器用于管理來自芯片內(nèi)部各個(gè)獨(dú)立工作模塊的中斷信號,片內(nèi)A/V緩存器和各個(gè)FIFO,以及允許外部主機(jī)來確定中斷源。主機(jī)接口還允許外部主機(jī)重置芯片內(nèi)部編解碼器和主RISC處理器等各個(gè)獨(dú)立模塊。主機(jī)接口能夠靈活響應(yīng)DMA請求,而且主機(jī)接口內(nèi)部包含了一系列內(nèi)部寄存器,這些內(nèi)部寄存器保存著用于A/V捕獲和編碼處理的相關(guān)參數(shù),可用于啟動和停止編解碼器操作等。

在DVR系統(tǒng)設(shè)計(jì)中,VW2010通過HIU與外部主機(jī)通信。此時(shí)置芯片rom_data[6:0]引腳為0x1x001,即rom_data[1]引腳接下拉電阻置低位,rom_data[0]引腳懸空置高位。

寄存器讀寫:

HIU模塊具有讀寫芯片內(nèi)部硬件寄存器的I/O通道。HIU模塊通過發(fā)送寄存器讀寫命令來獲得訪問權(quán)限。HIU訪問寄存器命令由兩部份構(gòu)成,HIU命令碼和寄存器地址碼。

微碼下載:

HIU提供了往芯片內(nèi)編解碼器的CPU和主RISC處理器下載微碼的通道。微碼的下載類似于寄存器訪問和SDRAM訪問,它需要HIU的命令,而且HIU提供的帶寬必須能區(qū)分出寫入帶寬(16bits)和內(nèi)部寄存器帶寬(16bits)間指令長度存在的差異。

啟動碼導(dǎo)入:

VW2010支持三種啟動碼導(dǎo)入模式:ROM導(dǎo)入,ICI導(dǎo)入和主機(jī)導(dǎo)入。所有三種模式向主RISC處理器、編解碼器CPU導(dǎo)入的微碼都是先置于解碼器的SDRAM中。

在系統(tǒng)設(shè)計(jì)中采用主機(jī)導(dǎo)入模式,此時(shí),所有的微代碼都通過HIU模塊下載。且系統(tǒng)中無需外部ROM或SEEPROM協(xié)助。在此模式下,外部主機(jī)負(fù)責(zé)所有的下載程序。一旦所有的微碼被下載,且所有模塊都被初始化后,外部主機(jī)可啟動編解碼器和主RISC處理器。

主機(jī)接口信號:

由圖2所示,圖中host_hiu_data[15:0]為VW2010與外部主機(jī)通信的數(shù)據(jù)總線;host_hiu_addr[15:0]為VW2010與外部主機(jī)連接的地址總線,被用于傳輸訪問內(nèi)部寄存器的HIU命令或芯片內(nèi)存地址信號;int_為主機(jī)中斷信號,當(dāng)產(chǎn)生中斷信號時(shí),主機(jī)通過讀取INTS中斷源寄存器來檢測中斷信號源;host_hiu_as_、host_hiu_cs_和host_hiu_rw_為VW2010地址選通信號,片選信號和主機(jī)讀/寫選擇信號; hiu_host_cdo_req_壓縮數(shù)據(jù)輸出請求,請

求主機(jī)的DMA控制;host_hiu_cdo_ack_壓縮數(shù)據(jù)輸出確認(rèn)信號,由主機(jī)DMA控制;hiu_host_cdi_req_壓縮數(shù)據(jù)接收請求信號;host_hiu_cdi_ack_ 壓縮數(shù)據(jù)接收確認(rèn)信號;hiu_host_dtack_主機(jī)壓縮數(shù)據(jù)輸出的傳輸確認(rèn)信號。在系統(tǒng)設(shè)計(jì)中,由于摩托羅拉接口總是16bit模式的,因此,傳統(tǒng)的摩托羅拉接口的UDS和LDS信號未被使用。

小結(jié):

文章較為詳細(xì)的論述了系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)原理。并通過分析VW2010的主機(jī)接口模式,深入淺出的描述了VW2010芯片的具體應(yīng)用方法。系統(tǒng)設(shè)計(jì)的嵌入式MPEG-4 DVR監(jiān)控系統(tǒng)通過采用VW2010、FPGA和嵌入式ARM9三款核心芯片來構(gòu)造,融合三者各自應(yīng)用特點(diǎn),具有高效的圖像處理能力、交互性能強(qiáng)、靈活的應(yīng)用性和穩(wěn)定性高等特點(diǎn)。

參考文獻(xià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é)構(gòu)與編程,[M],清華大學(xué)出版社,2003年

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉