【轉(zhuǎn)自互聯(lián)網(wǎng),如需引用請聯(lián)系原作者】
隨著計算機(jī)技術(shù)的快速發(fā)展和市場需要的逐步擴(kuò)大,各種視頻信息處理技術(shù)發(fā)揮了越來越重要的作用,廣泛應(yīng)用于網(wǎng)絡(luò)多媒體通信、實時監(jiān)控系統(tǒng)、高清晰度數(shù)字電視等方面。在視頻處理領(lǐng)域中,由于處理的數(shù)據(jù)量大,算法復(fù)雜度高,因此處理的實時性成為一大難題。在這種情況下,多媒體處理器TMS320DM642以其豐富的外設(shè)接口和高速的處理能力,使基于其設(shè)計出的產(chǎn)品在圖像質(zhì)量、硬件成本和靈活性等方面都優(yōu)于專門的視頻編解碼芯片。本系統(tǒng)主要研究基于TMS320DM642罔像采集和處理系統(tǒng)的設(shè)計及應(yīng)用。
1 系統(tǒng)基本原理 本系統(tǒng)主要由視頻解碼模塊、DSP(TMS320DM642)模塊、外部存儲器模塊(包括數(shù)據(jù)存儲器和程序存儲器)、PCI總線驅(qū)動模塊、電源管理模塊及JTAG接口等六大模塊組成。 由攝像機(jī)輸入的1路復(fù)合視頻信號(CVBS)進(jìn)入視頻解碼芯片SAA7115,在解碼芯片中完成模擬視頻的數(shù)字化、圖像信號與同步信號的分離;從解碼器中輸出的數(shù)字圖像數(shù)據(jù)進(jìn)入DSP視頻輸入口的FIFO緩存,通過EDMA送到DSP的外部數(shù)據(jù)存儲器中;處理后的圖像存人輸出緩存,再由DSP自帶的PCI接口將處理后的圖像送給外部主設(shè)備。系統(tǒng)的工作原理框圖見圖1。
圖1 系統(tǒng)工作原理框圖
2 圖像采集處理系統(tǒng)硬件設(shè)計 2.1 視頻解碼模塊 由于設(shè)計中采用模擬攝像機(jī)進(jìn)行視頻數(shù)據(jù)的采集,因此需要使用視頻解碼芯片將采集到的模擬數(shù)據(jù)進(jìn)行數(shù)字化,然后傳給DM642的視頻端口進(jìn)行處理。視頻解碼芯片采用SAA7115,省去時鐘同步電路的設(shè)計,簡化接口電路,提高系統(tǒng)的可靠性。由攝像機(jī)采集到的模擬信號經(jīng)過視頻端子進(jìn)入到解碼器SAA7115的模擬端AI11,經(jīng)模擬處理和A/D轉(zhuǎn)換后產(chǎn)生數(shù)字色度信號和亮度信號,分別對其進(jìn)行處理。亮度信號處理的結(jié)果一路送到信號處理器,進(jìn)行綜合處理,產(chǎn)生Y和uV信號,經(jīng)格式化后采用4:2:2 YUV格式從IPD[7..0]輸出直接連接到DM642視頻口的VP0[9..2]管腳;另一路經(jīng)過同步分離器,由數(shù)字PLL產(chǎn)生相應(yīng)的同步信號與DM642的VP0CTL0和VP0CTL1相連,同時PLL驅(qū)動時鐘發(fā)生器,產(chǎn)生27MHz的時鐘同步信號LLC,輸出到DM642的VP0CLK0管腳。解碼器SAA7115與DM642的視頻接口的原理見圖2。
圖2 SAA7115與DM642視頻口原理圖 所有這些功能均在I2C總線控制下完成。SCL作為I2C接口的時鐘線與DM642的SCL相連,SDA作為I2C接口的數(shù)據(jù)線與DM642的SDA相連。通過SCL和SDA的時序配合,可由DM642向SAA7115的寄存器寫入數(shù)據(jù)或讀出數(shù)據(jù)。 2.2 DSP圖像處理模塊 本系統(tǒng)中視頻口VP0作為輸入,與視頻解碼器SAA7115的IPD(image port)相連。從解碼器SAA7115出來的BT.656數(shù)據(jù)流進(jìn)入VP口后,經(jīng)由BT.656捕獲通道,進(jìn)入到視頻口緩沖區(qū)中,每個視頻口都有1個5120B的視頻輸入/輸出緩沖區(qū),視頻口輸入的數(shù)據(jù)分別進(jìn)入捕獲FIFO A和FIFO B,其中Y緩存2560B,Cb和Cr緩存分別為1280B。根據(jù)輸出的同步脈沖產(chǎn)生幀存儲器的地址信號、讀寫和片選等控制信號,將圖像逐幀存入SDRAM存儲器中,通過中斷通知DSP讀取。DM642通過EDMA事件實現(xiàn)視頻口緩沖區(qū)和片內(nèi)L2存儲器之間的數(shù)據(jù)傳遞。用戶編程設(shè)定1個緩沖區(qū)閾值用以產(chǎn)生EDMA事件。BT.656格式的數(shù)據(jù)流經(jīng)由捕獲通道分別進(jìn)入各自的緩沖區(qū),并打包成64b的雙字。當(dāng)雙字增至緩沖區(qū)閾值時觸發(fā)EDMA事件,存儲器映射寄存器即作為EDMA數(shù)據(jù)傳輸?shù)脑吹刂。為保證每一場的數(shù)據(jù)能夠全部傳完且沒有遺漏,每次EDMA傳輸?shù)臄?shù)據(jù)大小應(yīng)等于閾值。由于DM642的強(qiáng)大處理能力,用戶算法作為任務(wù)線程嵌入DSP軟件系統(tǒng)中。此時,DSP自動將Flash存儲器中的程序自舉到DSP的內(nèi)部程序存儲區(qū),并開始執(zhí)行程序,調(diào)用用戶算法對緩存中的視頻數(shù)據(jù)逐幀進(jìn)行處理。處理后的數(shù)據(jù)暫時存入SDRAM存儲器中,或通過DM642的PCI接口傳輸?shù)絇CI總線接口然后進(jìn)入計算機(jī)。DM642的PCI接口和PCI總線接口之間用3片總線驅(qū)動芯片連接,這樣既能增強(qiáng)PCI總線驅(qū)動能力,又能實現(xiàn)PCI總線接口與DM642的I/O口的電平轉(zhuǎn)換功能。 2.3 外圍存儲模塊 本系統(tǒng)主要用于視頻圖像的處理,因此在處理過程中會產(chǎn)生大量數(shù)據(jù);而DM642內(nèi)部最多僅有256kB的RAM,所以需要擴(kuò)展大容量的外部存儲器才能滿足數(shù)據(jù)處理的需要。系統(tǒng)通過DM642的EMIF接口外部擴(kuò)展存儲器,擴(kuò)展兩片SDRAM用于存儲程序、數(shù)據(jù)和緩存數(shù)字視頻信息,擴(kuò)展1片F(xiàn)lash存儲器用于固化程序和一些掉電后仍需保存的用戶數(shù)據(jù)。系統(tǒng)采用MT48LCAM32B2 SDRAM 存儲器,大小為1Meg×32bit×4banks,1片F(xiàn)lash AM29LV081B存儲器。EMIF提供了對SDRAM的無縫接口,在CEO空間提供了64bit寬的SDRAM接口總線,把2片32位的SDRAM并接,實現(xiàn)CEO空間的64bit存取,用于存放程序和緩存數(shù)字視頻。EMIFA提供了4個彼此獨立的外部存儲接口CE[3:0],為從Flash啟動,將Flash連接到CE1,將SDRAM連接到CE0。DM642的EMIF和64位SDRAM及Flash存儲器的接口原理圖見圖3。
圖3 DM642的EMIF和64位SDRAM 及Flash存儲器的接口原理圖 2.4 電源管理部分 本系統(tǒng)所需電源為+5V、+3.3V和+1.4V,其中+5V為電平轉(zhuǎn)換芯片電源,+3.3V為DM642的I/O口、解碼器及其他芯片的電源,+1.4V為DM642 CPU內(nèi)核電源。TMS320DM642采用低電壓供電方式,大大降低DSP芯片的功耗。CPU內(nèi)核電壓+1.4V,外設(shè)I/O電壓+3.3V,降低內(nèi)核電壓主要是降低功耗。 外部接口引腳采用+3.3V電壓,便于直接與外部器件接口。由于是兩種不同的電壓,所以要考慮供電系統(tǒng)的配合問題。在上電過程中,保證CPU內(nèi)核電源先上電,最晚也應(yīng)當(dāng)與外設(shè)I/O電源 同時上電。關(guān)閉電源時,先關(guān)閉I/O電源,再關(guān)閉內(nèi)核電源。如果內(nèi)核上電晚于I/O,則會發(fā)生內(nèi)部總線競爭,從而產(chǎn)生不可預(yù)定的結(jié)果;因此,在本系統(tǒng)中加入了電壓監(jiān)控電路。
3 系統(tǒng)軟件編程部分 為了搭建1個可以實現(xiàn)各種圖像算法的硬件平臺,本系統(tǒng)的程序主要包括以下幾個部分:系統(tǒng)引導(dǎo)部分,DM642的初始化程序(包括片內(nèi)外設(shè)的選擇、EMIFA初始化、IIC模塊的初始化、VP口初始化),解碼器的初始化,F(xiàn)lash的讀寫程序,EDMA進(jìn)行視頻數(shù)據(jù)傳輸?shù)脑O(shè)置等。 系統(tǒng)斷電時,程序、初始化數(shù)據(jù)等都存在片外的Flash里。上電后,DM642從外部Flash中將程序引導(dǎo)到片內(nèi)存儲器,開始運行程序。系統(tǒng)啟動時,系統(tǒng)上電復(fù)位,從Flash加載程序,并進(jìn)行系統(tǒng)初始化,主要完成芯片初始化、外圍硬件配置,為圖像輸入及處理做好準(zhǔn)備。DM642發(fā)啟動采集信號,送入圖像信號,產(chǎn)生SDRAM的地址、讀寫、選通等邏輯信號,將圖像寫入SDRAM中。寫完1幀圖像發(fā)中斷信號通知DM642讀取,DM642從SDRAM中將1幀圖像讀入,運用圖像處理算法進(jìn)行處理。 系統(tǒng)自動將0x9000 0000~0x9000 03FF地址的程序和數(shù)據(jù)搬移到0x0000~0x0000 03FF地址,對EMIFA中的CE0、CE1寄存器進(jìn)行配置;然后將片外0x9000 0400以后的Flash中的程序搬移到0x0000 0400以后的片內(nèi)RAM中或片外SDRAM中,程序指針跳轉(zhuǎn)到rts6400.Lib中的C入口點c_int00執(zhí)行C初始化函數(shù)。初始化工作完成后,便進(jìn)行圖像采集。由攝像機(jī)攝入的PAL制式圖像傳送到SAA7115解碼器,解碼器將信號轉(zhuǎn)變成并行的BT.656圖像碼流送到DM642的視頻口VP0口,DM642視頻口解碼BT.656,得到Y(jié)UV(4:2:2)格式的圖像,并通過EDMA傳輸?shù)絊DRAM中存儲。圖像每場為720×288(寬×高),每幀720×576(寬×高)。CPU通過訪問SDRAM中的圖像數(shù)據(jù),根據(jù)程序進(jìn)行圖像處理。系統(tǒng)的主程序結(jié)構(gòu)框圖見圖4。
圖4 系統(tǒng)的主程序結(jié)構(gòu)框圖
4 結(jié)束語 本系統(tǒng)研究并設(shè)計了1個通用的基于DM642的視頻采集處理系統(tǒng)。與其他視頻處理系統(tǒng)相比,它有著諸多優(yōu)勢:在處理器方面,為了實現(xiàn)較高的實時性,且能夠滿足對運動圖像進(jìn)行處理的要求,系統(tǒng)采用了專門用于多媒體處理的TMS320DM642芯片作為處理器,使得系統(tǒng)硬件設(shè)計相對容易,提高了系統(tǒng)整體的性價比;在視頻采集方面,采用了專門的解碼芯片來完成,這樣避免出現(xiàn)傳統(tǒng)視頻采集電路中存在的“DSP花費大量時間進(jìn)行圖像采集的控制”問題,從而將DSP解放出來,更高效地進(jìn)行圖像處理工作;具有很強(qiáng)的可編程性.可以利用外接的SDRAM編程實現(xiàn)MPEG2、MPEG4、H.263等多種視頻壓縮編解碼算法,在適用性上遠(yuǎn)優(yōu)于專用視頻編解碼系統(tǒng);由于DSP的運算速度快,所以實時性強(qiáng)也是本系統(tǒng)的一大優(yōu)勢。 因此,本系統(tǒng)可以作為許多視頻圖像處理算法開發(fā)、驗證的硬件平臺,也可以作為各種多媒體應(yīng)用系統(tǒng)的核心部件。 |