基于PCI ExPress實(shí)時(shí)視頻采集系統(tǒng)的設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
視頻采集系統(tǒng)在工業(yè)領(lǐng)域應(yīng)用廣泛,隨著多媒體技術(shù)的快速發(fā)展,對(duì)視頻采集、處理和傳輸性能的要求也不斷提高,如高采集速度、低功耗、抗干擾性、實(shí)時(shí)性及擴(kuò)展性等。這里提出了以Virtex-5為核心,由ADV7188為視頻解碼器,PCIExpress為傳輸總線組成的集視頻采集、壓縮、傳輸于一體的多功能視頻處理系統(tǒng)。該系統(tǒng)能夠?qū)崿F(xiàn)實(shí)時(shí)海量傳輸多路數(shù)字視頻。Virtex-6支持的PCI Express的×1通道的傳輸率已達(dá)3.2Gb/s。
由于該系統(tǒng)設(shè)計(jì)體積小、功耗低且滿足工況要求,可應(yīng)用于公共場(chǎng)合、工廠和井下作業(yè)等需多點(diǎn)遠(yuǎn)距離監(jiān)控環(huán)境較惡劣場(chǎng)所。
1 PCI Express總線簡(jiǎn)介
PCI Express是一種主流的串行標(biāo)準(zhǔn),它是2002年問(wèn)世的第三代I/O互聯(lián)技術(shù),為從PCI到PCIX提供了一條升級(jí)路徑。PCI Express是PC產(chǎn)業(yè)的標(biāo)準(zhǔn)互聯(lián)技術(shù),具有可升級(jí)能力,可擴(kuò)展的功能集,很強(qiáng)的市場(chǎng)適應(yīng)能力和低成本等特性。其高速串行標(biāo)準(zhǔn)能以每條通道2.5 Gb/s的線速進(jìn)行雙向通信,分層數(shù)據(jù)包的架構(gòu)有助于模塊化設(shè)計(jì)。通過(guò)更簡(jiǎn)單的升級(jí)就能實(shí)現(xiàn)帶寬增強(qiáng)(高達(dá)80 GB)——1、2、4、8、16和32條通道。PCI Express的先進(jìn)功能,比如可靠性、電源管理和熱插拔,借助虛擬通道、業(yè)務(wù)等級(jí)和服務(wù)質(zhì)量(QoS)等特性支持下一代三維/多媒體業(yè)務(wù)。
2 系統(tǒng)硬件設(shè)計(jì)
該系統(tǒng)設(shè)計(jì)采用視頻解碼器+FPGA,其功能是接收PAL等制式模擬視頻信號(hào),轉(zhuǎn)換為滿足ITU-R BU.656格式的數(shù)字信號(hào),將多路視頻打包,經(jīng)PCI Express總線傳輸?shù)接?jì)算機(jī)。
這里采用ADV7188來(lái)采集PAL制式的視頻信號(hào),Videx-5的I2C總線控制器通過(guò)I2C總線來(lái)對(duì)其進(jìn)行配置和控制。選用Virtex-5系列中的XC5-VFX30T,此器件具有強(qiáng)大的處理能力和豐富的外部設(shè)備接口,能滿足各種不同應(yīng)用環(huán)境的控制與圖像輸出需要。Virtex-5器件具有視頻處理IP核,可以按照使用要求配置,同時(shí)具有PCI Express、PPC440等IP核,PPC440在667MHz的時(shí)鐘主頻下,數(shù)字處理能力可達(dá)到1600DMI/s,內(nèi)部具有256 KB的SRAM。Virtex-5具有2條I2C接口,多達(dá)8條(32 bit)具有主控器的外設(shè)總線接口,支持外部、內(nèi)部和內(nèi)存間的DMA方式,2條
10/100/100 Mb/s半或全雙工以太網(wǎng)接口,圖1為該系統(tǒng)設(shè)計(jì)硬件原理框圖。
3 主要組成部分的原理實(shí)現(xiàn)
3.1 視頻采集處理電路
3.1.1 視頻解碼器選型
在選擇視頻解碼器時(shí),主要考慮功能、性能、尺寸、性價(jià)比及低功耗等方面,故選擇了ADV7188型視頻解碼器件。該器件具有以下特性:
可以自動(dòng)檢測(cè)到NTSC-M/J/4.43,PAL-M/N/B/G/H/I/D和SECAM制式信號(hào)的輸入;單一時(shí)鐘28.636 36 MHz;4路模擬視頻12位AD采集;5線自適應(yīng)梳狀濾波;
降低數(shù)字噪聲;集成有自適應(yīng)白電平峰值的自動(dòng)增益控制器;具有鎖定較弱的、噪聲和不穩(wěn)定視頻源的設(shè)計(jì);12路模擬輸入通道;輸入視頻信號(hào)幅度,為0.5~1.5 V;在沒(méi)有輸入視頻信號(hào)情況下可以自行產(chǎn)生行場(chǎng)同步信號(hào);亮度帶寬邊緣增強(qiáng)是可編程的;色調(diào)、對(duì)比度、亮度、飽和度可編程;YCbCr以20/16/10/8位4:2:2形式輸出;支持工業(yè)標(biāo)準(zhǔn)的I2C接口;電源為+3.3 V,1.8 V;下電模式;采用80引腳,無(wú)鉛的LQFP封裝;工作溫度為-40~+85℃。
3.1.2 視頻采集電路工作原理
視頻采集電路是以為ADV7188為核心,采集多路的PAL、NTSC或SECAM制式模擬視頻信號(hào),具有增強(qiáng)較弱的模擬視頻信號(hào),可進(jìn)行降噪處理和提高數(shù)字視頻信號(hào)質(zhì)量的功能。AD7188的詳細(xì)電路可參見(jiàn)ADV7188的器件手冊(cè)。由于ADV7188對(duì)電源要求較高,該系統(tǒng)設(shè)計(jì)對(duì)電源進(jìn)行隔離、去耦、低頻濾波等處理。為了廣泛應(yīng)用,這里采用頻率為28.636 36 MHz的石英晶體諧振器,頻差為±20 ppm。圖2為視頻平裝的晶振電路。
根據(jù)PCB布線,Cstray通常為2~3pF,ADV7188器件管腳到電源地的電容值Cpg為4 pF,石英晶體諧振器的負(fù)載電容Cload為15 pF。由C1= C2=2(Cload-Cstray)-Cpg可計(jì)算出C1和C2的電容值為24 pF,按照E12系列的優(yōu)選值,選取電容值為22pF。
設(shè)計(jì)中利用ADV7188的下電模式,當(dāng)此片沒(méi)有模擬視頻輸入或不需工作時(shí),將其下電,其功耗將由工作時(shí)的0.6 W降到1 mW左右,能極大地減少系統(tǒng)待機(jī)功耗。[!--empirenews.page--]
3.1.3 視頻采集電路的配置
在FPGA內(nèi)設(shè)計(jì)I2C總線控制器,配置為和視頻解碼器I2C接口時(shí)鐘一致的接口總線。通過(guò)FPGA上電配置,達(dá)到對(duì)FPGA內(nèi)的FIFO初始化,初始化數(shù)據(jù)為視頻采集電路的配置數(shù)據(jù),配置數(shù)據(jù)見(jiàn)表1。
3.2 FPGA
3.2.1 FPGA器件選型
FPGA型號(hào)的選擇主要基于以下方面考慮:具有PCIExpress總線;通道不低于x8;具有嵌入式微處理器;合適的I/O管腳數(shù)和資源,支持所需的電平標(biāo)準(zhǔn);具有較低的功耗;合適的性價(jià)比。
因此,選擇Xilinx公司的Virtex-5系列的XC5VFX3-0T,封裝為FF665 PCI Express總線;具有PowerPC440嵌入微處理器。配置芯片選用容量為1 GB的CF卡。
3.2.2 FPGA的性能和資源
1)時(shí)鐘資源32條全局時(shí)鐘總線,對(duì)整個(gè)器件上的所有資源進(jìn)行時(shí)鐘控制,且可以驅(qū)動(dòng)邏輯信號(hào);
2)時(shí)鐘管理技術(shù) 時(shí)鐘去歪斜、頻率合成、相移和動(dòng)態(tài)重配置等功能;
3)鎖相環(huán)作為廣譜頻率的頻率合成器,并且與CMT的DCM配合作為外部或內(nèi)部時(shí)鐘的抖動(dòng)濾波器;
4)BLOCK RAM 2 448 Kb,可配置為RAM、雙口RAM和FIFO等,且其內(nèi)容能夠初始化;
5)可配置邏輯塊 實(shí)現(xiàn)組合邏輯和時(shí)序邏輯的主要資源;
6)SelectIO資源 可支持種類繁多的標(biāo)準(zhǔn)接口。包括輸出強(qiáng)度和斜率的可編程控制以及實(shí)現(xiàn)數(shù)控阻抗的片上終端;
7)SelectIO邏輯資源 包括組合輸入/輸出、三態(tài)輸出控制、寄存輸入/輸出、寄存三態(tài)輸出控制、DDR輸入/輸出和DDR輸出三態(tài)控制;
8)高級(jí)SelectIO邏輯資源 輸入串并轉(zhuǎn)換和輸出并串轉(zhuǎn)換;
9)DSP邏輯片 64個(gè)550 MHz DSP48E slice,每個(gè)DP48E包括1個(gè)28x18的乘法器、1個(gè)加法器和1個(gè)累加器。利用Xilinx ISE的FPGA Edit也可觀察FPGA的內(nèi)部結(jié)構(gòu)。
3.3 數(shù)據(jù)緩存
由于PCI Express的總線波特率為2.5 Gbps,遠(yuǎn)大于1路采集后的數(shù)字視頻信號(hào)。當(dāng)視頻數(shù)據(jù)經(jīng)并行總線傳入FPGA內(nèi),通過(guò)配置為異步輸入輸出的FIFO進(jìn)行數(shù)據(jù)緩存,提高總線使用效率。如果PCI Express總線為×1通道,PAL制式視頻轉(zhuǎn)換為常用的8位4:2:0的YUV格式數(shù)字視頻,按照PCIExpress總線傳輸有效數(shù)據(jù)1.62 Gb/s計(jì)算,理論上可以傳輸36路。
3.4 FCI Express接口實(shí)現(xiàn)
利用具有PCI Express的FPGA來(lái)設(shè)計(jì),選用Xilinx公司的Virtex-5 LXT系列的FPGA,利用其內(nèi)的PCI Express IP核進(jìn)行設(shè)計(jì),完成功能如下:用戶接口的本地鏈路成幀接口;64位數(shù)據(jù)總線寬度與3位提醒總線;包化接口,帶用于標(biāo)記包的幀起始(SOF)和幀結(jié)束(EOF);傳輸和接收方向用戶接口的包中斷特性;幀錯(cuò)誤檢測(cè)支持;多通道配置支持:×1、×2、×4和×8;這里通道配置為×1;每通道1.62 Gb/s或更高的吞吐量;利用集成端點(diǎn)模塊中的自動(dòng)協(xié)商功能,可以在某些通道不能工作時(shí)使設(shè)計(jì)使用較低的帶寬;物理層中使用的8B/10B解碼和解碼。此方案雖開(kāi)發(fā)難度大、周期長(zhǎng),但具有外電路圍簡(jiǎn)單,硬件成本低,設(shè)計(jì)靈活、集成度高且易升級(jí)等特點(diǎn)。其接口電路如圖3所示。
[!--empirenews.page--]
3.5 時(shí)鐘
本設(shè)計(jì)需要4個(gè)時(shí)鐘信號(hào),其中視頻解碼信號(hào)的時(shí)鐘要求最高,時(shí)鐘精度必須在±50 ppm以內(nèi),其次為PCI Express總線工作的時(shí)鐘頻率。在FPGA內(nèi)對(duì)時(shí)鐘信號(hào)進(jìn)行了DCM和PLL處理,完成了對(duì)時(shí)鐘信號(hào)的去歪斜、相移和頻率合成等功能。
3.6 Flash和DDRSDRAM
為使設(shè)計(jì)具有靈活性、擴(kuò)展性和升級(jí)性,預(yù)留了Flash和SDRAM來(lái)存儲(chǔ)程序和運(yùn)行程序,滿足智能性和易于以太網(wǎng)遠(yuǎn)程控制等要求。
3.7 以太網(wǎng)接口電路
通過(guò)FPGA+PHY+變壓器組成以太網(wǎng)接口電路,可以用此接口加載程序,也可用此接口和互聯(lián)網(wǎng)連接。利用XILINX公司的FPGA開(kāi)發(fā)軟件ISE,通過(guò)FPGA內(nèi)IP核按照TriMode Ethemet MAC進(jìn)行。
3.8 DMA傳輸
本設(shè)計(jì)采用DMA方式進(jìn)行數(shù)據(jù)內(nèi)部傳輸。數(shù)字視頻信號(hào)經(jīng)并行總線傳入FPGA內(nèi),通過(guò)FIFO進(jìn)行數(shù)據(jù)緩存,經(jīng)DMA方式,通過(guò)PCI Express傳給計(jì)算機(jī)。
3.9 FPGA配置方案
Virtex-5的配置方案采用System ACE(System Advandced Configuration Eviroment)中的System ACE CF(CompactFlash)。System ACE使用CF存儲(chǔ)卡保存數(shù)據(jù),通過(guò)System ACE控制器把數(shù)據(jù)配置到FPGA中。System ACE CF使用容量為1 GB的CompaetFlash卡,System ACE CF是預(yù)制的配置方案,不需編寫(xiě)任何程序,只需簡(jiǎn)單的調(diào)試即可。此方案把舊的、用于調(diào)試的版本和新版本都裝入到同一塊CF卡中,縮短了研發(fā)周期,便于維修排故,同時(shí)把應(yīng)用軟件、產(chǎn)品附帶的說(shuō)明書(shū)等保存到此CF卡中,系統(tǒng)升級(jí)可更換CF卡、在系統(tǒng)編程和通過(guò)Intemet進(jìn)行遠(yuǎn)程升級(jí)。
3.10 電源的設(shè)計(jì)
板上需要電源有+3.3、+2.5、+1.8和+1.2 V共5種。其中+3.3 V電源為外部輸入,約20 W;+1.8 V提供給FPGA和ADV7188的二次電源,其他為提供給FPGA的二次電源。+3.3V電源為電源層,提供給FPGA的+2.5V、+1.8 V和+1.2V為電源層分割。提供給ADV7188的+1.8V電源電流按照0.5A設(shè)計(jì),實(shí)際典型值為100 mA。去耦電容和對(duì)應(yīng)的元器件同層放置,減少過(guò)孔的影響。
3.11 PCB設(shè)計(jì)
PCB布線遵循信號(hào)完整性的設(shè)計(jì)要求。PCB共10層,首先設(shè)計(jì)電源層和地層,其中電源層2層,地平面4層,對(duì)稱分布。除以太網(wǎng)變壓器外其他所有工作電源的地為一個(gè)地,保證地平面的完整性。
由于PCI Express總線為2.5Gb/s,對(duì)Virtex-5引腳分配時(shí),使PCI Express的引腳在其內(nèi)的布線盡可能的短。在PCB的布局時(shí)使Virtex-5靠近PCI Express總線接口的電連接器,差分線對(duì)的實(shí)際長(zhǎng)度不大于30 mm。PCB布線時(shí)要嚴(yán)格控制差分線對(duì)的長(zhǎng)度差,為了避免信號(hào)往返的延遲不超過(guò)其上升時(shí)間,導(dǎo)致過(guò)沖和振鈴發(fā)生,PCB布線根據(jù)PCI Express信號(hào)的特性,定義差分對(duì)長(zhǎng)度差不超過(guò)1 mm,實(shí)際布線結(jié)果不超過(guò)0.2 mm。PCB上的差分阻抗為(100±10)Ω,符合PCIExpress規(guī)范單端阻抗為(50±10)Ω的要求。
3.12 操作系統(tǒng)
本設(shè)計(jì)中的FPGA具有PPC440核,采用實(shí)時(shí)多任務(wù)操作系統(tǒng)(Vxworks),根據(jù)實(shí)際使用要求,從Vxworks系統(tǒng)內(nèi)核(wind)的任務(wù)管理、通信機(jī)制、系統(tǒng)配置、系統(tǒng)接口幾個(gè)方面進(jìn)行設(shè)計(jì),保證系統(tǒng)的安全性和可靠性。本設(shè)計(jì)已具備成熟的Vxworks操作系統(tǒng)。
3.13 FPGA的調(diào)試
FPGA的開(kāi)發(fā)包括過(guò)程管理與設(shè)計(jì)輸入、仿真、綜合、約束、實(shí)現(xiàn)、布局布線與配置調(diào)試,其中FPGA的調(diào)試占用設(shè)計(jì)周期的80%左右。ISE附帶的高級(jí)組件,包括在線調(diào)試(ChipScope Pro)、平面布局規(guī)劃器(PlanAhead)、時(shí)序分析器(Timing Analyzer)、布局規(guī)劃器(FloorAhead)、底層編輯器(FPGA Editor)、和功耗分析器(Xpower),以及第三方軟件ModelSim,有效地使用相應(yīng)工具,加速了設(shè)計(jì)進(jìn)程,避免重新設(shè)計(jì),有效提高設(shè)計(jì)生產(chǎn)力,并顯著提高設(shè)計(jì)性能,降低功耗后將降低系統(tǒng)的整體成本。
4 采集、傳輸和驗(yàn)證
視頻信號(hào)發(fā)生器產(chǎn)生的一種模擬視頻信號(hào)如圖4所示。通過(guò)模擬視頻信號(hào)的采集、總線傳輸過(guò)程,計(jì)算機(jī)顯示器顯示的數(shù)字視頻如圖5所示,和監(jiān)視器顯示的模擬視頻圖像相同,肉眼無(wú)法區(qū)分其差別,滿足使用要求。采集模擬視頻的多種標(biāo)準(zhǔn)檢測(cè)畫(huà)面,顯示正常無(wú)畸變,證實(shí)本設(shè)計(jì)的視頻采集和數(shù)據(jù)傳輸達(dá)到了期望的結(jié)果。
5 結(jié)束語(yǔ)
隨著多媒體在工業(yè)和商業(yè)等方面的廣泛使用,對(duì)視頻信號(hào)的采集、數(shù)據(jù)傳輸速度、集成度和可靠性等方面提出了更高的要求。本文設(shè)計(jì)的基于PCI Express的視頻采集系統(tǒng),適用于采集較弱或受干擾的視頻信號(hào),集成度高,適合海量視頻數(shù)據(jù)傳輸,解決了傳輸?shù)钠款i問(wèn)題。