基于TMS320DM642的多路視頻采集處理板卡的硬件設計與實現(xiàn)
1 引言
視頻監(jiān)控系統(tǒng)是安全防范系統(tǒng)的重要組成部分,也是一種防范能力較強的綜合系統(tǒng),視頻監(jiān)控系統(tǒng)以其直觀、方便、信號內(nèi)容豐富而廣泛應用于許多領(lǐng)域,近年來,隨著計算機、網(wǎng)絡及圖像處理,傳輸技術(shù)的飛速發(fā)展,視頻監(jiān)控技術(shù)也得到長足的進步,集多媒體技術(shù),數(shù)字圖像處理和遠程網(wǎng)絡傳輸?shù)茸钚录夹g(shù)為一體的多媒體數(shù)字監(jiān)控系統(tǒng)正在逐步取代傳統(tǒng)的模擬視頻監(jiān)控系統(tǒng),目前,市場上專用的視頻壓縮電路只能實現(xiàn)一種壓縮算法,靈活性和可擴展性較差,基本不具備在此基礎上進行二次開發(fā)的能力,各種基于isa、pci等總線的圖形采集卡也能在市場上買到,但價格較貴,且處理功能簡單,二次開發(fā)效率低,不能很好地滿足用戶的特殊需要。
為了適應多媒體通信技術(shù)的發(fā)展,美國德州儀器公司推出一款針對視頻和圖像解決方案的tms320dm642型高性能數(shù)字媒體處理器,他是ti公司c6000系列dsp總最新的頂點dsp,其核心是c6416型高性能數(shù)字信號處理器,具有極強的處理性能,高度的靈活性和可編程性,同時外圍集成了非常完整的音頻、視頻和網(wǎng)絡通信等設備及接口,特別適用于機器視覺、醫(yī)學成像、網(wǎng)絡視頻監(jiān)控、數(shù)字廣播以及基于數(shù)字視頻/圖像處理的消費類電子產(chǎn)品等高速dsp應用領(lǐng)域。筆者針對市場客戶的需求,設計并實現(xiàn)了一款以tvp5150為視頻輸入解碼器,以pcm1801為音頻輸入采集電路,以tms320dm642型dsp為核心處理器的多路視頻采集兼壓縮處理pci板卡,并將其應用于構(gòu)建高穩(wěn)定性、高魯棒性和多媒體數(shù)字監(jiān)控系統(tǒng),取得了較好的社會效益和經(jīng)濟效益。
2 tms320dm642的硬件架構(gòu)
tms320dm642采用第二代高性能、先進的超長指令字veloci t1.2結(jié)構(gòu)的dsp核及增強的并行機制,在720m赫茲的時鐘頻率下,其處理性能為5760mi/s,使得該款dsp成為數(shù)字媒體解決方案的首選產(chǎn)品,它不僅擁有高速控制器的操作靈活性,而且具有陣列處理器的數(shù)字處理能力,tms320dm642的外圍集成了非常完整的音頻、視頻和網(wǎng)絡通信接口,主要包括:
3個可配置的視頻端口(vport0-2)能夠與通用的視頻編、解碼器實現(xiàn)無縫連接,支持多種視頻分辨率及視頻標準,支持raw視頻輸入/輸出,傳輸流模式;
1個10/100mb/s以太網(wǎng)接口(emac),符合ieee 802.3標準;
1個多通道帶緩沖音頻串行端口(mcasp),支持i2s,dit,s/pdif,iec60958-1,aes-3、cp-430等音頻格式;
2個多通道帶緩沖串行端口(mcbsp),采用rs232電平驅(qū)動;
1個vcxo內(nèi)插控制單元(vic),支持音/視頻同步;
1個32位、66m赫茲、3.3v主/從pci接口,遵循pci2.2規(guī)范;
1個用戶可配置的16/32主機接口(hpi);
1個16位通用輸入/輸出端口(gpio);
1個64位外部存儲器接口(emif),能夠與大多數(shù)異步存儲器(sram、eprom)及同步存儲器(sdram,sbsram,zbt
sram,fifo)無縫連接,最大可尋址外部存儲器空間為1024mb;
1個具有64路獨立通道的增強型直接內(nèi)存訪問控制器(edma);
1個數(shù)據(jù)管理輸入/輸出模塊(mdio);
1個i2c總線模塊;
3個32位通用定時器;
1個符合ieee 1149.1標準的jtag接口及子板接口等。
有關(guān)tms320dm642的詳細性能介紹請參照其數(shù)據(jù)手冊[1]。
3 多路視頻采集處理板卡硬件設計
基于tms320dm642的多路視頻采集處理板卡的主要硬件功能模塊包括視頻輸入解碼模塊、音頻輸入采集模塊、核心dm642型dsp模塊、外部存儲模塊、pci總線驅(qū)動控制模塊及電源管理模塊等,基本工作原理是由ccd攝像頭采集輸入的模擬視頻信號,經(jīng)過視頻解碼器轉(zhuǎn)換成數(shù)字視頻信號,由拾音器采集輸入的模擬音頻信號經(jīng)過音頻采集電路轉(zhuǎn)換成數(shù)字音頻數(shù)據(jù),送到dm642,dm642再將采集的音、視頻數(shù)據(jù)用mpeg-4標準編碼壓縮后通過pci接口傳送到pc上位機,構(gòu)成數(shù)字監(jiān)控系統(tǒng),本板卡的總體設計功能框圖及接口信號示意圖如圖1所示,主要由1個tms320dm642gdk(dsp)、4個ti公司的tvp5150am1(視頻解碼器)、2個ti公司的pcm1801u(音頻采集電路),2個hynix公司的hy57v283220tp-6(sdram),1個sn74cbt16233dggr(pci總線橋接電路)以及ams1085cm和ams1086cd(電源管理電路)等組成。
3.1 視頻輸入解碼模塊
視頻輸入解碼模塊由4個tvp5150型視頻解碼器及外圍電路組成,主要功能是將每一路ccd攝像頭采集輸入的標準pal制電視模擬信號發(fā)送到視頻解碼器,完成視頻圖像的箝位及抗混疊濾波等預處理,模擬數(shù)字化轉(zhuǎn)及亮度/色度、水平/垂直同步等信號的分離,實現(xiàn)模擬視頻信號轉(zhuǎn)換為數(shù)字并行信號bt.656碼流格式,tvp5150可將基帶模擬ntsc、pal及secam視頻信號轉(zhuǎn)換成數(shù)字分量視頻信號,正常工作時的功耗僅為115mw,售價比同系列ti產(chǎn)品更低,并且具有業(yè)界最小尺寸的32引腳超薄方型扁平封裝(tqfp)。tvp5151支持2個復合端子或1個s端子輸入,可輸出itu-rbt.656,并支持macrovision復制保護及高級vbi功能。
dm642視頻口0、1中的一部分(vp0/a、vp1/a)及視頻口2(vp2/a、vp2/b)分別掛接1個tvp5150,視頻采集的數(shù)據(jù)格式為yuv4:2:2,分辨率為cif(352×288)大小,視頻輸入解碼模塊接口電路原理功能框圖如圖2所示。系統(tǒng)將2個電路的i2c總線接口scl和sda分別互連,tvp5150的視頻輸出口yout[0-7]和dm642
vport口的vpod[9-2]相連,tvp5150的系統(tǒng)時鐘sclk和dm642 vport口的vpoclk0相連。由于采用itu-r
bt.656碼流格式,圖像的水平同步、垂直同步、場同步等同步信號已內(nèi)嵌在視頻數(shù)據(jù)流中,并且考慮到dm642每個vport口預留的3個用以接收同步信號的vp0ctl[0-2]控制引腳,只能滿足一路視頻同步信號的要求,所以在設計過程中省略同步信號線的連接。
tvp5150雖然不支持縮放(scaling)功能,但是可以截取屏幕的一部分再傳輸給dm642作后續(xù)的壓縮處理,具體操作是對應的寄存器中選擇視頻流的起始行和結(jié)束行,控制圖像的縱向長度,選擇單行的起始位置和結(jié)束位置并利用圖像的avid功能控制圖像的水平寬度。
dm642對tvp5150內(nèi)部寄存器的訪問通過i2c總線實現(xiàn),在與tvp5150應答過程中需要從器件tvp5150的地址0x101110x1,其中x代表0或者1,并可以在系統(tǒng)上電時配置,tvp5150在上電時會根據(jù)yout[7]上的電位高低決定x代表0,還是1。這樣,tvp5150作為從器件的地址只有2個:0x10111001和0x10111011。dm642要與4個tvp5150通信,一路i2c總線是不夠的,需要通過gpio接口利用軟件模擬i2c總線時序,配置另外兩個tvp5150。
采集輸出的數(shù)字視頻數(shù)據(jù)送入dm642 vport端口的5120 bytes大小的緩沖區(qū),tvp5150本地時鐘的控制下通過edma通道自動向dm642
vport端口緩沖區(qū)單元發(fā)送數(shù)據(jù),當采集完一場數(shù)據(jù)時產(chǎn)生dma中斷,并在dma中斷服務程序中根據(jù)實際需要完成相應的視頻處理,經(jīng)過實時編碼壓縮后的視頻數(shù)據(jù)存儲到外部sdram中,硬件電路需要提供tvp5150所需要的14.31818
m赫茲時鐘頻率,dm642可通過i2c總線對tvp5150的參數(shù)進行設置。
3.2 音頻輸入采集模塊
音頻輸入采集模塊由2個pcm1801u型音頻采集電路及其外圍電路組成,主要功能是對由拾音器采集輸入的模擬音頻信號進行采樣,然后將其轉(zhuǎn)換為dsp可以處理的數(shù)字音頻數(shù)據(jù)格式,pcm1801u是采用5v工作電壓的雙聲道16位音頻模/數(shù)(a/d轉(zhuǎn)換器,包括1個單端-差分模擬前端,1個5階δ-σ調(diào)制器(64倍重復取樣),1個內(nèi)部高通數(shù)字均分濾波器。
dm642視頻口0、1中的剩余部分(vp0/b、vp1/b)配置為mcasp,與1個pcm1801u連接,實現(xiàn)音頻的輸入采集功能。用pcm1801u的左、右2個16位音頻聲道獲取4路音頻通道的數(shù)字化數(shù)據(jù),音頻采集的數(shù)據(jù)格式為每路單聲道,44.1k赫茲采樣率,每個采樣數(shù)據(jù)用8位量化,采集輸出的數(shù)字音頻數(shù)據(jù)通過mcasp傳給dsp的輸入緩沖區(qū)單元,當設定用于存放音頻采樣數(shù)據(jù)的緩存器滿時產(chǎn)生dma中斷,并在dma中斷服務程序中根據(jù)實際設定情況處理音頻數(shù)據(jù),經(jīng)過實時編碼壓縮后的音頻數(shù)據(jù)存儲到外部sdram中,dsp通過i2c總線實現(xiàn)對音頻采集電路的編碼,以控制采樣速率、音頻源、音量等具體參數(shù),硬件電路需要提供音頻采集電路需要的工作時鐘,筆者使用的時鐘是11.2896m赫茲,音頻輸入采集模塊接口電路原理功能框圖如圖3所示。
3.3 核心dm642 dsp模塊
核心dm642 dsp模塊由1個tms320dm642型數(shù)字媒體處理器及其外圍電路組成,主要對采集到內(nèi)部輸入緩存的數(shù)字音、視頻數(shù)據(jù)流進行處理及壓縮,視頻圖像信號的壓縮一般屬于有損壓縮,同時系統(tǒng)又必須滿足編碼的實時性,所以采用定點dsp可較好地滿足整個壓縮系統(tǒng)對精度和速度的要求,該板卡設計采用的dm642是專門為圖像視頻領(lǐng)域的應用而設計的,有完備的片外接口,能夠比較方便地擴展片外存儲器等外設。
c64xx系列dsp有大量的字節(jié)可設定的地址空間,程序代碼和數(shù)據(jù)可被存儲在統(tǒng)一標準的32位地址空間的任何位置。表1碩所示的內(nèi)存映射顯示了本板卡采用的dm642處理器的地址空間,在默認狀態(tài)下,內(nèi)部的寄存器從0x00000000地址空間開始存儲。一部分存儲器由軟件重新映射為l2高速緩存。
dm642的emif有4個獨立的可設定地址的區(qū)域,稱為電路使能空間(ce0-3)本板卡合并形成了64位長的外部存儲器端口,將地址空間分割成4個電路使能區(qū),允許對地址空間進行8位、16位、32位和64位的同步或不同步存取。目前,板卡使用電路使能區(qū)ce0,并將其分配給64位的sdram總線。ce1-3的電路使能區(qū)暫不使用,可以作為今后的擴展,以便分配給8位flash、uart、fpga和子板接口等使用。
本板卡在ce0空間連接了64位的sdram總線,與2個hy57v283220tp-6相連以構(gòu)成sdram。每個hi57v283220tp-6均為32位數(shù)據(jù)總線的sdram,其中,高32位存儲在1個sdram中,低32位存儲在另1個sdram中,從而滿足dm642
64位數(shù)據(jù)總線的要求,32mb的sdram空間用來存儲程序、數(shù)據(jù)和視頻信息??偩€由外部pll驅(qū)動設備控制,運行在133m赫茲的最佳狀態(tài)。sdram的刷新由dm642自動控制。
dm642可配置emif時鐘的原始值。本板卡的eclkin引腳選用默認值。也可通過分頻cpu時鐘控制emif的時鐘頻率。在初始化時通過對eclknsel0和eclkinsel1引腳的操作進行設置,它們與ea19引腳和ea20引腳共同分享emif的地址空間。
3.4 pci總線驅(qū)動控制模塊
pci總線驅(qū)動控制模塊由1個sn74cbt16233型pci總線橋接電路及其外部電路組成,本模塊中的信號按照功能可以分為系統(tǒng)信號、地址數(shù)據(jù)復用信號和接口控制信號等,系統(tǒng)信號包括clk和rst,為系統(tǒng)提供時鐘和復位,對地址數(shù)據(jù)復用信號來說,在總線傳輸操作周期中,1個pci總線周期由1個地址段和緊隨其后的1個或多個數(shù)據(jù)段組成,其中ad[0-31]是地址數(shù)據(jù)復用總線,可為pci接口電路提供地址和數(shù)據(jù)信號,復用引腳pcbe[0-3]為pci接口電路提供總線命令信號和字節(jié)允許信號。接口控制信號主要由frame,trdy、irdy和devsel等信號組成,其中frame信號是總線周期構(gòu)成信號,由當前總線中主設備驅(qū)動,表明1個總線周期的開始和延續(xù);trdy是目標設備就緒信號,寫操作中,trdy有效表明從設備已準備好接收數(shù)據(jù),而在讀操作中,trdy有效則表明ad[0-31]上已有有效數(shù)據(jù),irdy表明驅(qū)動設備已準備好數(shù)據(jù),devsel為設備選擇信號,當其有效時,說明驅(qū)動它的主設備已將其地址譯碼作為當前操作的目標設備,該信號作為輸入信號時,devsel用來表示總線上已有目標設備被選中,其他pci總線所需但本系統(tǒng)不用的信號則可用高阻態(tài)代替,pci總線驅(qū)動控制模塊接口電路原理功能框圖如圖4所示。
本板卡使用dm642型dsp片內(nèi)集成的1個主/從模式的pci接口與pci總線相連,該接口支持pci 2.2 規(guī)范,通過pci總線能夠?qū)崿F(xiàn)dsp與pci主機的互連,主機可以通過dm642的pci接口訪問整個片內(nèi)ram及外部存儲器,dsp的emif通過edma將數(shù)據(jù)傳輸?shù)絛sp的內(nèi)存中,emif支持同步fifo,為了能夠使pci總線實時讀出視頻壓縮數(shù)據(jù)流,并及時地傳送給主機,本系統(tǒng)采用了中斷機制,當fifo滿時,dsp產(chǎn)生一個中斷信號,通知pci接口模塊啟動dma,需傳輸?shù)臄?shù)據(jù)經(jīng)fifo由dsp利用dma傳輸方式在計算機和板卡間實現(xiàn)視頻壓縮碼流的高速傳輸,提供高速傳輸接口的同時不影響其他dma操作。
3.5 電源管理模塊
本板卡通過pci插槽供電,選用ams1085和ams1086提供板卡正常工作時的穩(wěn)壓電源,ams1085、ams1086均為3端可調(diào)節(jié)穩(wěn)壓集成電路,ams1085輸出電流為3a、輸出電壓為1.5v/3.3v/5.0v,ams1086的輸出電流為1.5a,輸出電壓為1.5v/1.8v/3.3v/5.0v。它們比較容易使用,而且都有短路電流保護以及過熱保護等防護措施,具有高精度的輸出電壓及工作穩(wěn)定性。設計時,內(nèi)部+5v輸入電源被整流為+1.4v、+1.8v和+3.3v,其中,+1.4v電壓提供給dsp處理器,+1.8v電壓提供給tvp5150,+3.3v電壓提供給dsp內(nèi)的i/o和板卡上其他電路。3.3v和1.4v電源之間應連接肖特基二極管,保證給dm642內(nèi)核和外部端口同時供電。
4 板卡設計的難點及關(guān)鍵技術(shù)
本設計方案中,處理器的主頻高達720m赫茲,sdram的最高頻率為133m赫茲,這對信號完整性及電磁兼容性都是極大的挑戰(zhàn),在多路視頻采集處理板卡的pcb設計中突出體現(xiàn)以下難點:
一是時序問題,工作頻率的提高和信號上升/下降時間的縮短,首先會使設計系統(tǒng)的時序余量縮小甚至出現(xiàn)時序方面的問題。
二是傳輸線效應導致的信號振蕩,過沖和下沖都會對設計系統(tǒng)的故障容限、噪聲容限及單調(diào)性造成很大的威脅。
三是信號沿的時間下降到1ns后,信號之間的串擾成為很重要的問題。
四是當信號沿的時間接近0.5ns時,電源系統(tǒng)的穩(wěn)定性和電磁干擾(emi)也十分關(guān)鍵。
多路視頻采集處理板卡pcb的設計策略如下所述:
(1)高速數(shù)字電路設計
為了更快地推出更高性能的產(chǎn)品,電路板設計按6層板考慮,在元器件布局及布線過程中嚴格遵守高速電路設計原則,為確保系統(tǒng)功能的實現(xiàn)及整機性能指標達到檢測標準,在pcb布線時需要特別注意串接電阻降低高速電信號反射的影響及保證同一組數(shù)據(jù)同步到達。由于信號在頂層、底層與中間層的傳輸阻抗和傳輸速率不一樣,因此應盡量將接到同一器件的信號線分布在同一層上,并使導線長度相等。
(2)電源設計
電源是系統(tǒng)正常工作的基礎,一般來說,只要電源工作正常都可以通過jtag口將程序下載到dm642中,進而調(diào)試其他的模塊,在設計中,應使用足夠多的電源層和地層,對avdd、dvdd、agnd、dgnd分層設計,并將模擬地與數(shù)字地單點接地,這樣可以避免模擬電路與數(shù)字電路相互影響。
5 結(jié)束語
筆者在引進和消化tms320dm642的多媒體數(shù)字處理技術(shù)的基礎之上,成功研發(fā)了這款多路視頻采集處理板卡,本板卡結(jié)構(gòu)緊湊、功能完善、性能可靠、音/視頻效果優(yōu)異、系統(tǒng)升級方便。目前,業(yè)內(nèi)的主流還是基于cif分辨率的監(jiān)控記錄,今后高分辨率(d1)的監(jiān)控記錄以及采用h.264技術(shù)的編碼壓縮產(chǎn)品的市場需求將逐漸增加,給算法優(yōu)化及處理器能力的提升提出了新的課題,這將是下一步關(guān)注的重點。
評論