廖 諍,張 攀,顏 悅
(國家知識產(chǎn)權(quán)局專利局 專利審查協(xié)作北京中心,北京 100190)
視頻信號的數(shù)字化應(yīng)用已擴展到多媒體、數(shù)字電視、圖像處理、視頻監(jiān)控、可視電話、視頻桌面系統(tǒng)等廣泛的領(lǐng)域,因此對小型化的視頻信號采集及處理系統(tǒng)的需求也日益增加,針對這種需求,本文介紹了一種以ADI公司的ADV7180視頻采集芯片、TI公司的TMSC6415 DSP[1-2]和Xilinx公司的XQV300 FPGA芯片組成的視頻采集處理系統(tǒng)。
該視頻采集處理系統(tǒng)的視頻采集功能主要由ADI公司的ADV7180視頻采集芯片來完成。由于視頻信號中除了包含圖像信號之外,還包括了行同步信號、行消隱信號、場同步信號、場消隱信號等,因此本系統(tǒng)中采用了ADI公司的ADV7180芯片,該芯片將一個10位ADC、3路具有抗混疊濾波器的視頻輸入通道、自適應(yīng)梳狀濾波器、CTI/DNR視頻增強器、自動增益控制(AGC)等非常復(fù)雜的視頻信號A/D轉(zhuǎn)換電路集成到一塊芯片中,支持NTSC/PAL/SECAM的解調(diào)及自動檢測,可輸入CVBS、Y/C和YPrPb等類型的視頻信號,輸出與8 bit ITU-R BT.656接口標(biāo)準(zhǔn)兼容的YCrCb 4∶2∶2的視頻信號以及水平、垂直、場同步信號。應(yīng)用ADV7180視頻采集芯片不但降低了整個視頻采集處理系統(tǒng)的設(shè)計復(fù)雜度,而且提高了該系統(tǒng)的可靠性。
該視頻采集處理系統(tǒng)的視頻處理功能主要由TI公司的TMSC6415 DSP芯片來完成。該DSP芯片為600MHz主頻的高性能定點數(shù)字處理器,采用了數(shù)據(jù)總線與程序總線分開的哈佛結(jié)構(gòu),配有獨立的乘加器,可通過EDMA方式大大提高數(shù)據(jù)塊的傳輸速度,并可采用流水線技術(shù)及單指令多數(shù)據(jù)流技術(shù),使指令執(zhí)行速度大大提高,且具有低功耗的特點,因此非常適合于本文介紹的小型視頻采集處理系統(tǒng)的需要。
在該視頻采集處理系統(tǒng)中,通過FIFO實現(xiàn)了ADV7180與DSP之間的連接,該FIFO功能是由Xilinx公司的XQV300 FPGA芯片來完成的。
視頻采集處理系統(tǒng)的硬件框圖如圖1所示。
首先,DSP芯片串口1的FSR1及FSX1管腳,分別與ADV7180芯片的I2C控制器中的SCL及SDA信號線相連,通過DSP對ADV7180進行配置和控制,使其可以自動檢測輸入的模擬視頻信號,并進行A/D變換;然后,ADV7180通過其P8到P15管腳,向FPGA芯片實現(xiàn)的FIFO,輸出8 bit寬度的A/D轉(zhuǎn)換后的數(shù)據(jù),當(dāng)數(shù)據(jù)采集到FIFO半滿時,向DSP的外中斷7發(fā)出中斷請求,通知DSP讀取FIFO中的數(shù)據(jù);最后,DSP以32 bit寬度由EMIFA讀取FIFO中的數(shù)據(jù),通過EDMA方式存入DSP內(nèi)存,進行視頻壓縮編碼,并將處理后的數(shù)據(jù)從串口0輸出,或以文件形式存入SDRAM中。
E2PROM及Flash可在整個系統(tǒng)上電時分別對FPGA和DSP加載程序。
下面對應(yīng)于上述的硬件系統(tǒng),介紹相應(yīng)的軟件系統(tǒng)組成。該軟件系統(tǒng)主要包括DSP程序和FPGA程序兩部分,其中DSP程序在TI公司的CCS開發(fā)環(huán)境中應(yīng)用C語言進行開發(fā),主要完成設(shè)置、啟動ADV7180,接收FIFO數(shù)據(jù)并處理的功能;FPGA程序在Xilinx的ISE開發(fā)環(huán)境中應(yīng)用VHDL語言進行開發(fā),主要完成數(shù)據(jù)拼組、亞抽樣的功能。其軟件系統(tǒng)框圖如圖2所示。
首先,DSP程序申請用于存放輸入視頻數(shù)據(jù)的乒乓緩沖區(qū),初始化相應(yīng)的EDMA通道,設(shè)置串口1的工作模式為通用I/O,設(shè)置串口0的工作模式為標(biāo)準(zhǔn)串口,并初始化定時器1和外中斷7。
然后,DSP通過串口1虛擬I2C總線時序[2-3],對ADV7180芯片進行工作參數(shù)設(shè)置,并通過定時器1的輸出管腳向ADV7180發(fā)送開始工作信號。
接著,F(xiàn)PGA程序主要實現(xiàn)FIFO的功能,接收經(jīng)過ADV7180模數(shù)變換的數(shù)據(jù),根據(jù)DSP的EMIFA位寬將4個8-bit作為一組,同時為了提高DSP程序中圖像的壓縮率,在FPGA程序中增加一個亞抽樣的過程,就是將ADV7180產(chǎn)生的、原為4∶2∶2的YCbCr格式的數(shù)據(jù)亞抽樣為4∶1∶1,這是因為人眼對亮度信號的敏感程度遠遠高于對色度信號的敏感程度,經(jīng)過這樣的處理,圖像的質(zhì)量變化并不很大,但數(shù)據(jù)量卻減少了1/4,既提高了壓縮率,又節(jié)省了DSP片內(nèi)的RAM。
當(dāng)FPGA中的數(shù)據(jù)達到半滿后,會向DSP的外中斷7發(fā)出中斷請求,DSP外中斷7的中斷服務(wù)子程序?qū)ζ溥M行響應(yīng),通過EDMA方式讀入從EMIFA傳入的FIFO數(shù)據(jù),并存入DSP的內(nèi)存中。
最后,DSP對內(nèi)存中的視頻數(shù)據(jù)進行壓縮編碼等處理,并將結(jié)果通過串口0輸出,該部分程序可以根據(jù)需要采用不同的圖像壓縮編碼算法,以適應(yīng)不同視頻源、壓縮比、傳輸介質(zhì)等的要求。
前面提到了虛擬I2C總線技術(shù),在通常的視頻采集系統(tǒng)中,需要諸如ADV7180之類的視頻采集芯片作為模擬視頻前端,而視頻采集芯片的初始化一般通過I2C總線接口來完成,然而,目前的單片機和DSP器件大多都不帶有I2C總線接口,因此,需要采用虛擬總線技術(shù)來模擬實現(xiàn)I2C總線功能。本節(jié)中就對虛擬I2C總線技術(shù)[3]進行一個簡要介紹。
I2C總線既可用于構(gòu)成多主系統(tǒng),又可工作在單主方式下。本系統(tǒng)采用單主方式,DSP作為主設(shè)備,ADV7180作為從設(shè)備,利用DSP多通道緩沖串口1(McBSP1)的通用I/O模式,根據(jù)圖1的硬件系統(tǒng)框圖和DSP串口通用輸入輸出管腳設(shè)置可以查出,通過控制其管腳控制寄存器(PCR)的FSXM,F(xiàn)SRM,F(xiàn)SXP和FSRP這4位,就可以模擬出I2C總線上SDA和SCL的時序,從而實現(xiàn)DSP對ADV7180 I2C控制寄存器的寫入和讀出。
在DSP程序中,I2C總線的開始與結(jié)束的時序如圖3所示,相應(yīng)的程序如圖4所示。
通過虛擬I2C向從設(shè)備寫入1byte的操作步驟如圖5所示,通過虛擬I2C由從設(shè)備讀出1 byte的操作步驟與之類似。
在實現(xiàn)了虛擬I2C的讀寫操作后,DSP就可以對ADV7180的I2C控制寄存器寫入控制字并回讀該控制寄存器中的值,其中寫序列和讀序列的時序如圖6所示。
當(dāng)DSP對ADV7180進行寫操作時從地址為0x40,對其進行讀操作時從地址為0x41。
通過本節(jié)所述的方法,可成功實現(xiàn)DSP對ADV7180的參數(shù)設(shè)置,使其可按需要對輸入視頻數(shù)據(jù)進行A/D轉(zhuǎn)換。
整個視頻采集處理系統(tǒng)在經(jīng)過軟硬件調(diào)試后,工作正常。首先,DSP程序通過虛擬I2C總線,回讀ADV7180 I2C控制寄存器中的狀態(tài)寄存器(0×10),可以看出視頻信號已經(jīng)鎖定(in lock),并且成功檢測出輸入視頻信號的格式為PAL B;然后,以文件形式保存?zhèn)魅隓SP內(nèi)存的原始數(shù)字視頻信號數(shù)據(jù),再利用通用的YUV播放器進行觀察,可看到清晰的彩色圖像;最后,將采用某種壓縮編碼算法處理后的視頻數(shù)據(jù)經(jīng)過串口0輸出,與另一臺計算機的串口相連,在該計算機上運行相應(yīng)的解壓解碼算法程序,看到輸出后的彩色圖像。
綜上所述,本文中介紹的基于ADV7180視頻采集芯片和TMSC6415 DSP的視頻采集處理系統(tǒng),工作穩(wěn)定可靠,具有體積小、功耗低、通用性強等特點,可通過DSP對ADV7180進行不同設(shè)置,來滿足不同輸入視頻源的需要,并可通過DSP中圖像處理算法的不同,來滿足不同圖像壓縮率和數(shù)字信號輸出碼率的需要。該系統(tǒng)可應(yīng)用于數(shù)字便攜照相機和PDA、視頻通信、個人多媒體錄放機、多媒體手持設(shè)備、汽車安全系統(tǒng)等廣泛領(lǐng)域。
[1]周霖.DSP通信工程技術(shù)應(yīng)用[M].北京:國防工業(yè)出版社,2004.
[2]李方慧,王飛,何佩琨.TMS320C6000系列DSPs原理與應(yīng)用[M].北京:電子工業(yè)出版社,2003.
[3]張克滿,何格夫.用虛擬I2C總線技術(shù)實現(xiàn)SAA7111的初始化[J].國外電子元器件,2005(1):26-29.