FPGA內(nèi)部設(shè)計(jì)有功能配置信息緩存區(qū)、管道配置信息緩存區(qū)、廣播時(shí)間緩存區(qū)和壓縮數(shù)據(jù)雙級緩存區(qū),實(shí)現(xiàn)了對可變速率的音視頻數(shù)據(jù)緩存與傳輸。本發(fā)明針對不同的視頻制式、P/1幀比率、幀率,在上位機(jī)中輸入相應(yīng)的視頻制式、P/Ι幀比率、幀率,通過PCI總線將功能配置信息、管道配置信息和廣播時(shí)間信息傳入FPGA對應(yīng)的緩存器中,這些信息包括對數(shù)據(jù)壓縮單元的配置信息,對FPGA內(nèi)部的壓縮數(shù)據(jù)雙級緩存器的配置信息,和廣播時(shí)間信息。由數(shù)據(jù)壓縮單元的EMIF總線將TS流數(shù)據(jù),傳入FPGA的壓縮數(shù)據(jù)雙級緩存器中。本例中,視頻模數(shù)轉(zhuǎn)換芯片為TVP5146,數(shù)據(jù)壓縮單元為 TMS320DM365,音頻模數(shù)轉(zhuǎn)換芯片為 TLV320AIC3101,F(xiàn)PGA 芯片為 EP3C80F484。
[0029]本發(fā)明針對緊湊型的PCI總線傳輸要求,設(shè)計(jì)了緊湊型PCI總線專用的音視頻采集接口電路。在FPGA內(nèi)分別對功能配置信息緩存器、管道配置信息緩存器、壓縮數(shù)據(jù)雙級緩存器、廣播時(shí)間信息緩存器進(jìn)行設(shè)計(jì),同時(shí)也考慮了各個(gè)緩存器之間的配合。對壓縮數(shù)據(jù)緩存器設(shè)計(jì)和DM365的EMIF接口,對廣播時(shí)間信息緩存器設(shè)計(jì)與DM365的SPI接口,并且其中解決了一、二級緩存器存儲(chǔ)數(shù)據(jù)配置問題,SPI接口串-并-串轉(zhuǎn)換問題。設(shè)計(jì)了與上位機(jī)PCI接口電路,完成對配置信息,壓縮緩存數(shù)據(jù),時(shí)間信息等的緩存與傳輸工作。
[0030]本發(fā)明設(shè)計(jì)了一種適應(yīng)不同視頻制式、P/Ι幀比率、幀率的音視頻數(shù)據(jù)采集接口電路,可通過上位機(jī)設(shè)置視頻制式、P/Ι幀比率、幀率,并依此將配置信息寫入功能配置信息緩存區(qū)和管道配置緩存區(qū)中。
[0031]實(shí)施例2
[0032]音視頻數(shù)據(jù)采集接口電路設(shè)計(jì)方法及電路同實(shí)施例1,
[0033]在FPGA內(nèi)部設(shè)計(jì)的緩存與傳輸模塊中,功能配置信息緩存區(qū)主要包括管道數(shù)量,最高采樣率,最低采樣率,輸入上限,輸入下限,功能管理,還有其他跟音視頻壓縮有關(guān)的配置信息,主要包括視頻參數(shù)、音頻參數(shù)、字幕選項(xiàng)、字幕位置,通過EMIF接口傳輸?shù)紻M365數(shù)據(jù)壓縮單元中對其進(jìn)行配置;管道配置信息緩存區(qū)的內(nèi)容由上位機(jī)通過PCI總線寫入,主要由上位機(jī)根據(jù)此時(shí)音視頻的采樣率、視頻制式、幀率的信息,計(jì)算出每一次小周期需要讀取多少信息才不至于將FIFO中數(shù)據(jù)讀空,而使得壓縮數(shù)據(jù)緩存區(qū)中輸出大量的空包,造成資源的浪費(fèi);廣播時(shí)間緩存區(qū)存儲(chǔ)實(shí)時(shí)的時(shí)間信息,因?yàn)榻?jīng)過解壓縮后的視頻播放時(shí)要加入時(shí)間信息,因此在每一個(gè)小周期開始的時(shí)候都會(huì)由主設(shè)備發(fā)送時(shí)間信息,通過PCI總線存儲(chǔ)在時(shí)間信息緩存器中,再通過SPI總線供DSP進(jìn)行讀取,用來驗(yàn)證DSP記錄時(shí)間是否準(zhǔn)確;壓縮數(shù)據(jù)雙級緩存區(qū)主要是根據(jù)管道緩存區(qū)中的配置信息計(jì)算每一次從類FIFO存儲(chǔ)器中輸出的數(shù)據(jù)量大小,以及給下一級類RAM存儲(chǔ)器提供一個(gè)使能端,保證RAM接收到一個(gè)小周期內(nèi)需要傳輸?shù)臄?shù)據(jù),而不至于接收數(shù)據(jù)不完整,或是接收額外的空數(shù)據(jù)。
[0034]實(shí)施例3
[0035]音視頻數(shù)據(jù)采集接口電路設(shè)計(jì)方法同實(shí)施例1-2,功能配置信息緩存區(qū)用于存儲(chǔ)由上位機(jī)發(fā)送過來的功能配置信息,因此可以通過上位機(jī)設(shè)置視頻制式、P/Ι幀比率、幀率,因此本發(fā)明可以實(shí)現(xiàn)對視頻制式、P/Ι幀比率、幀率的調(diào)整和改變。參見圖2,這一緩存區(qū)中設(shè)計(jì)地址線Cfg_indeX_0Ut高四位進(jìn)行尋址,在前十二位管道索引都為O時(shí),通過后四位索引功能配置信息緩存器地址,當(dāng)功能配置信息管道配置信息被寫入板卡之后,在通過EMIF接口向DSP傳輸配置信息之前,還需要對配置信息進(jìn)行回讀驗(yàn)證,回讀驗(yàn)證是將配置信息完全通過數(shù)據(jù)線回讀,在上位機(jī)驗(yàn)證無誤后,會(huì)發(fā)出一個(gè)握手信號,將PCI總線dev_cmd_0Ut
[2]置高,從而提供驗(yàn)證無誤使能,使DSP讀取配置數(shù)據(jù),功能配置信息緩存器為雙口RAM,wbi_wenable_out和fun_hit_out為緩存區(qū)提供寫使能,wbi_data_out提供功能配置信息輸入數(shù)據(jù)線,cfg_index_out[15..12]提供功能配置信息地址線。關(guān)于雙口RAM的時(shí)鐘,寫時(shí)鐘為40MHz,因擔(dān)心讀數(shù)據(jù)輸出延遲的情況,故將回讀時(shí)鐘設(shè)置為寫時(shí)鐘的倍數(shù)頻率120MHz。wbi_renable_out和fun_cfg_hit_out為緩存器聯(lián)合提供回讀驗(yàn)證使能,將回讀的數(shù)據(jù)輸出連到PCI總線的fun_data_in[15..0]供回讀驗(yàn)證。DSP_rden為DSP從功能配置信息緩存器讀數(shù)據(jù)提供讀使能,DSP_fun_addr[3..0]提供地址線,輸出數(shù)據(jù)經(jīng)DSP_data[ 15..0]連接到DSP的EMIF接口的數(shù)據(jù)總線。
[0036]實(shí)施例4
[0037]音視頻數(shù)據(jù)采集接口電路設(shè)計(jì)方法同實(shí)施例1-3,參見圖3,本發(fā)明中處于FPGA內(nèi)部的管道配置信息緩存區(qū)主要就是對Cfg_index_0Ut低四位的數(shù)據(jù)進(jìn)行存儲(chǔ),此低四位數(shù)據(jù)由視頻制式、P/Ι幀比率、幀率決定,當(dāng)視頻制式、P/1幀比率、幀率變化時(shí),此低四位數(shù)據(jù)會(huì)隨每個(gè)小周期內(nèi)傳輸?shù)臄?shù)據(jù)量發(fā)生相應(yīng)變化,以便壓縮數(shù)據(jù)雙級緩存器中的FIFO將這一配置信息進(jìn)行讀取,確定FIFO每次傳輸數(shù)據(jù)量的大小,時(shí)鐘頻率為40MHz,pip_hi t_out提供片選使能,wbi_wenable_out提供寫使能,cfg_index_out[3..0]提供數(shù)據(jù)總線將管道配置信息存儲(chǔ)到緩存器中,由out [ 3..0 ]輸出到FIFO模塊。
[0038]實(shí)施例5
[0039]音視頻數(shù)據(jù)采集接口電路設(shè)計(jì)方法及電路同實(shí)施例1-4,附圖4為廣播時(shí)間緩存器設(shè)計(jì)邏輯圖,廣播時(shí)間存儲(chǔ)器RAM模塊的讀寫采用40MHz的寫入時(shí)鐘,使能端包括寫使能和廣播時(shí)間擊中使能,由地址線addr[3..0]來完成尋址工作,datain[ 15..0]提供16位數(shù)據(jù)線,將廣播時(shí)間寫入到RAM模塊中,DSP的SPI接口只能通過移位寄存器與RAM模塊進(jìn)行連接,故廣播時(shí)間緩存器的設(shè)計(jì)需要工作模式是:DSP通過add串行地址線向sipo移位寄存器模塊存儲(chǔ)地址信息,再將地址信息通過四位并行接口傳輸?shù)絉AM模塊中的讀地址rdaddr[3..0],根據(jù)此地址線讀出RAM模塊中的時(shí)間信息,然后通過dataout[15..0]數(shù)據(jù)線輸出到piso模塊中,Pi so模塊完成的功能是將16位數(shù)據(jù)輸入轉(zhuǎn)換為串行數(shù)據(jù)輸出,DSP再將Pi so模塊中的時(shí)間信息通過串行數(shù)據(jù)線讀出。
[0040]本發(fā)明中廣播時(shí)間信息的傳輸需和DSP的SPI接口連接,以適應(yīng)DM365的SPI接口工作方式。但SPI為串行接口,故設(shè)計(jì)串-并-串的傳輸接口,通過串行接口讀入地址,對多個(gè)地址內(nèi)數(shù)據(jù)進(jìn)行串行輸出。
[0041 ] 實(shí)施例6
[0042]音視頻數(shù)據(jù)采集接口電路設(shè)計(jì)方法同實(shí)施例1-5,壓縮數(shù)據(jù)雙級緩存區(qū)中類FIFO存儲(chǔ)器作為壓縮數(shù)據(jù)進(jìn)入緩存區(qū)的第一級緩存區(qū),直接從DSP端接收數(shù)據(jù),在每一次小周期信號到來之時(shí),類FIFO緩存區(qū)都會(huì)對其內(nèi)部數(shù)據(jù)進(jìn)行一次判斷,若此時(shí)的數(shù)據(jù)量滿足管道緩存區(qū)中配置信息要求的數(shù)據(jù)量,那么類FIFO緩存區(qū)就會(huì)將對應(yīng)的數(shù)據(jù)量寫入此時(shí)接收數(shù)據(jù)的RAM中,若此時(shí)數(shù)據(jù)量不滿足管道緩存區(qū)中配置信息要求的數(shù)據(jù)量,類FIFO緩存區(qū)就會(huì)輸出對應(yīng)數(shù)量的空數(shù)