基于PCI的視頻編碼卡的設(shè)計(jì)與實(shí)現(xiàn)
摘要: 本文設(shè)計(jì)了一種面向工業(yè)控制場(chǎng)合的基于MPEG4的視頻壓縮編碼卡。支持4路模擬視頻圖像的采集與A/D轉(zhuǎn)換后,編碼卡與主機(jī)之間依據(jù)PCI2.2標(biāo)準(zhǔn),以PCI接口與主機(jī)實(shí)現(xiàn)通信。文中詳細(xì)介紹了該編碼卡的總體設(shè)計(jì)方案,系統(tǒng)采用最新的MPEG4壓縮方式進(jìn)行編碼,為整個(gè)數(shù)字監(jiān)控系統(tǒng)和視頻網(wǎng)絡(luò)傳輸系統(tǒng)提供了最優(yōu)化的硬件設(shè)計(jì)。
關(guān)鍵詞: PCI 采集 編碼 MPEG-4 工業(yè)控制
1 前言
隨著通信網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,人們的觀念也緊跟著時(shí)代的步伐,把自己融入了網(wǎng)絡(luò)時(shí)代。例如查看信息,監(jiān)控,交流等無(wú)不使用網(wǎng)絡(luò)。雖說(shuō)網(wǎng)絡(luò)給我們帶來(lái)了很大的信息流,但隨著人們生活節(jié)奏的加快,對(duì)傳輸率的要求越來(lái)越高,特別是實(shí)時(shí)傳輸?shù)臅r(shí)候。通過(guò)用MPEG4視音頻編解碼技術(shù),衛(wèi)星互聯(lián)網(wǎng)播送技術(shù)解決了這方面的問(wèn)題,使得數(shù)字視頻廣播圖像分辨率達(dá)192×144×25FPS(PAL)/384×288×25FPS(PAL),圖像和屏幕發(fā)送通過(guò)衛(wèi)星信道,平均碼流量小于384K;文字消息數(shù)據(jù)、外交互通過(guò)Web走公網(wǎng),平均碼流量小于56K,實(shí)現(xiàn)了點(diǎn)對(duì)點(diǎn)、多點(diǎn)即時(shí)播送和同步互動(dòng),深得廣大用戶的好評(píng)。為企業(yè)、政府機(jī)構(gòu)、組織、和網(wǎng)絡(luò)醫(yī)院、網(wǎng)絡(luò)學(xué)校提供一種高效、直觀、貼切、實(shí)用的工具,同時(shí)可實(shí)現(xiàn)個(gè)人可視化交流。
數(shù)字視頻信號(hào)同模擬視頻信號(hào)相比,有不可比擬的優(yōu)勢(shì)。視頻信號(hào)的數(shù)字編碼壓縮是有代價(jià)的,壓縮成本的高低,決定系統(tǒng)的成本。只有在單片視頻編碼芯片出現(xiàn)后,數(shù)字視頻監(jiān)控才進(jìn)入實(shí)用化階段。為了滿足數(shù)字視頻監(jiān)控應(yīng)用需求的多樣性要求,采用SOC技術(shù)的視頻處理器(VIDEO PROCESSOR,有的也叫DSP)將在數(shù)字視頻監(jiān)控產(chǎn)品中占據(jù)主流。在監(jiān)控應(yīng)用中,視頻圖象數(shù)字化是實(shí)時(shí)編碼壓縮的,這完全不同于VCD和DVD節(jié)目的制作(VCD和DVD節(jié)目的制作可以花費(fèi)數(shù)十倍、甚至數(shù)百倍的時(shí)間進(jìn)行編碼壓縮)。由于MPEG4的巨大優(yōu)點(diǎn)為利用圖像測(cè)控和圖像處理實(shí)施安全檢查和安全防范提供了新的技術(shù)途徑。數(shù)字視頻監(jiān)控錄像系統(tǒng)的特點(diǎn):重放圖像質(zhì)量好,永不失真;視頻文件檢索方便,便于檢查管理、遠(yuǎn)程傳輸或進(jìn)一步的圖像處理,提高了圖像資料的可用率;多畫面處理功能,錄像功能及控制功能集成一體,設(shè)備量少,可靠性強(qiáng),便于維護(hù)。
2 系統(tǒng)的總體框架
Vweb公司的Vweb2010支持PCI接口卡的形式,系統(tǒng)的程序保存在母板的硬盤或者內(nèi)存中,通過(guò)母板與系統(tǒng)的交互把程序加載到系統(tǒng)中運(yùn)行。這種方式有很大的靈活性,而且利于和其它系統(tǒng)配合使用。本文設(shè)計(jì)的編碼卡是在Windows系統(tǒng)下經(jīng)過(guò)WDM驅(qū)動(dòng),以 PCI接口卡形式存在的,其軟硬件的框圖如圖一所示。
圖 一 系統(tǒng)框圖
編碼卡是插在PCI插槽上,基于Windows系統(tǒng)下對(duì)視頻信號(hào)進(jìn)行處理的。整個(gè)系統(tǒng)通過(guò)PCI總線與母板相聯(lián)系,在應(yīng)用中母板為整個(gè)編碼卡提供程序存儲(chǔ)空間,負(fù)責(zé)程序的加載和一些初始化工作。當(dāng)初始化和程序的加載結(jié)束后,母板與編碼卡的關(guān)系也就是MPEG4數(shù)據(jù)的存儲(chǔ)和傳輸,與應(yīng)用程序的通信等等,編碼板卡能夠單獨(dú)的完成所要做的多媒體數(shù)據(jù)處理工作。而在更多的情況下,母板始終通過(guò)PCI總線與編碼卡保持聯(lián)系,這樣可以協(xié)調(diào)母板與編碼卡的工作,同時(shí)也利于母板與編碼卡交換數(shù)據(jù)。
Vweb2010芯片提供了多媒體接口模塊,在此設(shè)計(jì)中運(yùn)用到的有PCI接口、視頻輸入單元、音頻輸入單元。其中,PCI接口通過(guò)PCI橋與母板上的PCI相連接;其它單元與編碼板卡上的A/D模塊相連,圍繞這些接口單元,我們就可以設(shè)計(jì)出編碼卡各個(gè)模塊之間的構(gòu)成框架。
系統(tǒng)啟動(dòng)時(shí),MPEG4壓縮芯片讀取啟動(dòng)電路的啟動(dòng)碼,激活相應(yīng)的下載程序從相應(yīng)的端口下載運(yùn)行微碼,同時(shí)其他芯片通過(guò)I2C總線完成初始化,系統(tǒng)啟動(dòng)MPEG4編解碼進(jìn)程。模擬視頻通過(guò)SAA7114H的A/D轉(zhuǎn)換后,實(shí)時(shí)視頻流從VPO口送入MPEG4壓縮芯片的編碼部分的VPO口,同時(shí)模擬音頻通過(guò)PCM1801U的A/D轉(zhuǎn)換后,實(shí)時(shí)的音頻流從MPEG4壓縮芯片的I2S輸入。MPEG4壓縮芯片通過(guò)PCI接口與橋芯片相連接,編碼壓縮后的數(shù)據(jù)經(jīng)過(guò)橋芯片的橋接再傳輸?shù)絇CI總線上,提供給遠(yuǎn)程傳輸或本地存貯。
3 MPEG4編碼模塊在硬件中的設(shè)計(jì)
PCI編碼卡從功能上分為三大模塊。首先是前端A/D轉(zhuǎn)換模塊,由視音頻處理兩大塊組成,本文采用SAA7114H視頻A/D芯片提供模擬視頻到數(shù)字視頻(ITU-R.BT.656格式)的轉(zhuǎn)換,采用PCM1801U實(shí)現(xiàn)音頻的A/D采樣,通過(guò)I2C與MPEG4編解碼芯片相連。接著是MPEG4編碼壓縮模塊。由MPEG4編解碼芯片及其外圍電路組成,主要完成實(shí)時(shí)視音頻數(shù)據(jù)的壓縮功能。最后就是橋芯片驅(qū)動(dòng)模塊,采用零反應(yīng)時(shí)間PCI-PCI橋接產(chǎn)品HB1,它支持PCI2.2規(guī)范,支持32-bit 33MHz的PCI操作。通過(guò)該芯片,就可以實(shí)現(xiàn)橋接的功能,實(shí)現(xiàn)多芯片組支持。
3.1 視音頻處理模塊
在視頻A/D轉(zhuǎn)換模塊中,采用的是PHILIPS公司的SAA7114H,這是一塊視頻A/D采樣芯片,它主要有如下功能和特點(diǎn):
該芯片有六個(gè)輸入端,它可以同時(shí)支持六個(gè)CVBS(復(fù)合視頻信號(hào))、或者是兩個(gè)Y/C(亮度和色度分離信號(hào),一般是指S端子)信號(hào)和兩個(gè)CVBS信號(hào)、或者是一個(gè)Y/C信號(hào)和四個(gè)CVBS信號(hào)。用戶均可編程控制、選擇輸入通道以及每一路信號(hào)的靜態(tài)增益和自動(dòng)增益。它里面有內(nèi)嵌兩套模擬圖像抗混疊濾波器(anti-aliasing filter)和兩套A/D轉(zhuǎn)換電路; 對(duì)50Hz和60Hz場(chǎng)頻以及PAL制式和NTSC制式圖像自動(dòng)檢測(cè),支持所有制式的電視信號(hào)輸入; I2C總線接口速率最高可達(dá)400kb/s。
在此系統(tǒng)中,SAA7114H支持ITU-R.BT.656格式,用ITU-R.BT.656標(biāo)準(zhǔn)在數(shù)據(jù)中嵌入行、場(chǎng)同步信息來(lái)提供行、場(chǎng)信息。同時(shí)為了硬件實(shí)現(xiàn)方便,固定使用一個(gè)復(fù)合視頻(CVBS)輸入端口(AI24,Pin10管腿),當(dāng)然,這些都需要I2C總線來(lái)配置。I2C總線控制引腳的接法是由Vweb2010的U14和Y17相連,其中U14連接時(shí)鐘線,Y17連接數(shù)據(jù)線。SAA7114H支持節(jié)電方式,工作時(shí)功率小于0.5W,需要3.3V供電,I/O口耐壓為5V,這一電源由PCI總線上提供。防止輸入過(guò)壓過(guò)流采用的方法是在輸入端口上并上了一個(gè)復(fù)合肖特基二極管。模擬電源和數(shù)字電源、模擬地和數(shù)字的連接方法是用磁珠相連接。SAA7114H內(nèi)部有多個(gè)寄存器用于設(shè)定其工作狀態(tài),外部提供了兩根I2C總線引腳SDA(32腳)和SCL(31腳)用于訪問(wèn)內(nèi)部寄存器。所有的這些寄存器都是通過(guò)Vweb2010進(jìn)行讀寫,在操作時(shí),SAA7114H的引腳LLC,LLC2,XTOUT,RTS0,RTS1和RTCO要設(shè)置在三態(tài)狀態(tài),亮度和色度由梳狀濾波器自適應(yīng)調(diào)整。
3.2 MPEG-4編碼壓縮模塊
MPEG-4編碼模塊采用專用芯片Vweb2010,Vweb2010芯片是Vweb公司出品的專為多媒體信號(hào)處理而設(shè)計(jì)的專用視頻壓縮芯片(Video ASIC)。這一芯片的特點(diǎn)是將MPEG1、MPEG2、MPEG4和H.263這些標(biāo)準(zhǔn)的壓縮算法固化在其中,因此實(shí)現(xiàn)方案具有開發(fā)成本低、開發(fā)周期短、運(yùn)算速度快等優(yōu)點(diǎn)。它可以同時(shí)進(jìn)行一路編碼和一路解碼,它的音頻編碼器接收雙通道的I2C標(biāo)準(zhǔn)數(shù)字音頻信號(hào),并采用MPEG1,MPEG2,MP3,AAC和AC-3等標(biāo)準(zhǔn)進(jìn)行壓縮編碼。解碼器接收MPEG格式的BIT流,解碼輸出標(biāo)準(zhǔn)的ITU-R.BT.656標(biāo)準(zhǔn)的數(shù)字視頻。音頻解碼輸出I2S,S/P-DIF或IEC-61937標(biāo)準(zhǔn)音頻信號(hào)。它包括了一塊嵌入式RISC/DSP處理器、一塊編碼器模塊、一塊解碼器模塊、一塊系統(tǒng)模塊。其結(jié)構(gòu)圖如圖二。
通過(guò)芯片的視頻編碼輸入接口(VPO口)接收SAA7114H輸出的8位ITU-R.BT.656視頻流送,芯片的時(shí)鐘接口與外部時(shí)鐘信號(hào)(27MHz)相連接,其中內(nèi)部時(shí)鐘引腳(PLL_amclk_enc)和視頻時(shí)鐘管腳相連,保證了音頻和視頻同步。標(biāo)準(zhǔn)的I2S音頻信號(hào)從PCM1801輸入到Vweb2010的相應(yīng)音頻接口,經(jīng)過(guò)音頻編碼單元編碼,送到輸出單元模塊。SDRAM是Vweb2010程序的運(yùn)行空間,Vweb2010芯片最大可以支持128Mbytes的SDRAM。因?yàn)閂web2010提供SDRAM接口,直接接上SDRAM即可。在此系統(tǒng)中使用了一片2M*32的SDRAM芯片,共為64Mbytes。
3.3 PCI橋接模塊
MPEG4壓縮芯片的編碼數(shù)據(jù)通過(guò)橋芯片的驅(qū)動(dòng)與仲裁,完成橋接任務(wù),能讓四片帶有PCI接口的MPEG4壓縮芯片與PCI總線相互通信,支持PCI2.2規(guī)范,支持32-bit 33MHz的PCI操作。PCI接口板有符合PCI規(guī)范V2.2版33MHz 32bit PCI總線;包括地址、數(shù)據(jù)復(fù)用AD[0:31];控制信號(hào):PCICLK;REQ#; C/BE[0:3]; IRDY#; DEVSEL#; LOCK#; PERR#; SERR#; STOP#; TRDY#; FRAME#; IDSEL; GNT#; RST#。
圖 二 Vweb2010的結(jié)構(gòu)框圖
4 PCB設(shè)計(jì)注意事項(xiàng)
在PCB設(shè)計(jì)中,布線是完成產(chǎn)品設(shè)計(jì)的重要步驟,可以說(shuō)前面的準(zhǔn)備工作都是為它而做的,在整個(gè)PCB中,以布線的設(shè)計(jì)過(guò)程限定最高,技巧最細(xì)、工作量最大。PCB布線有單面布線、 雙面布線及多層布線。布線的方式也有兩種:自動(dòng)布線及交互式布線,在自動(dòng)布線之前, 可以用交互式預(yù)先對(duì)要求比較嚴(yán)格的線進(jìn)行布線,輸入與輸出端的邊線應(yīng)避免相鄰平行, 以免產(chǎn)生反射干擾。必要時(shí)應(yīng)加地線隔離,兩相鄰層的布線要互相垂直,平行容易產(chǎn)生寄生耦合。
自動(dòng)布線的布通率,依賴于良好的布局,布線規(guī)則可以預(yù)先設(shè)定, 包括走線的彎曲次數(shù)、導(dǎo)通孔的數(shù)目、步進(jìn)的數(shù)目等。一般先進(jìn)行探索式布線,快速地把短線連通, 然后進(jìn)行迷宮式布線,先把要布的連線進(jìn)行全局的布線路徑優(yōu)化,它可以根據(jù)需要斷開已布的線。 并試著重新再布線,以改進(jìn)總體效果。
此外,數(shù)字電路的頻率高,模擬電路的敏感度強(qiáng),對(duì)信號(hào)線來(lái)說(shuō),高頻的信號(hào)線盡可能遠(yuǎn)離敏感的模擬電路器件,對(duì)地線來(lái)說(shuō),整個(gè)PCB對(duì)外界只有一個(gè)結(jié)點(diǎn),所以必須在PCB內(nèi)部進(jìn)行處理數(shù)、模共地的問(wèn)題,而在板子內(nèi)部數(shù)字地和模擬地實(shí)際上是分開的,它們之間互不相連,只是在PCB與外界連接的接口處(如插頭等)。數(shù)字地與模擬地有一點(diǎn)短接,請(qǐng)注意,只有一個(gè)連接點(diǎn)。也有在PCB上不共地的,這由系統(tǒng)設(shè)計(jì)來(lái)決定。
5 總結(jié)
本文的創(chuàng)新點(diǎn)是在Windows的視頻采集處理系統(tǒng),采用MPEG4進(jìn)行圖像壓縮編碼,在本地進(jìn)行數(shù)字化處理并打包向網(wǎng)絡(luò)發(fā)送,使得數(shù)字視頻采集系統(tǒng)的所有功能都集成在這一塊小小的板卡上,使用非常方便。經(jīng)測(cè)試,板卡的各項(xiàng)性能都達(dá)到了預(yù)先設(shè)計(jì)的要求,工作穩(wěn)定,實(shí)用性高,基本上都能夠滿足客戶的要求,在商業(yè)上具有一定的競(jìng)爭(zhēng)能力。
參考文獻(xiàn):
1 R. Talluri, "Error-Resilient Video Coding in the ISO MPEG4 Standard", IEEE Communications Magazine, Vol. 36 No. 6, June 1998, pp. 112-119.
2 Y. Pourmohammadi, K. Asrar Haghighi, A. Kaheel, H.M. Alnuweiri, S.T. Vuong; On the Design of a QoS-aware MPEG4 Multimedia Server , IST2001
3 A. M. Mohamed, H. M. Alnuweiri, MPEG4 Broadcast: A Client/Server Framework for Multi-Service Streaming Using Push Channels, MMSP2001.
4 黃嵐 徐志龍等,基于PCI總線的數(shù)據(jù)采集接口設(shè)計(jì),北京,《微機(jī)算計(jì)信息》,2006.No.3-1,p144