謝正銀
摘 要:本文提出了一種用帶有高速收發(fā)器的FPGA芯片來(lái)實(shí)現(xiàn)高清視頻收發(fā)的設(shè)計(jì)方案。它用一款帶有收發(fā)器的FPGA實(shí)現(xiàn)收發(fā)功能,用由Altera公司提供的高速收發(fā)器IP進(jìn)行軟件設(shè)計(jì)。實(shí)際測(cè)試表明,該設(shè)計(jì)達(dá)到了預(yù)期設(shè)計(jì)目標(biāo),可對(duì)高清視頻進(jìn)行收發(fā)。
關(guān)鍵詞:高清 高速收發(fā)器 FPGA IP
高清視頻串行收發(fā)系統(tǒng)的發(fā)送端和接收端的傳輸頻率一般需要達(dá)到1485MHz或以上,這就要求有專(zhuān)門(mén)的高清視頻收發(fā)器進(jìn)行收發(fā),從而進(jìn)行一些視頻的處理。筆者就是基于一款帶有高速收發(fā)器的FPGA芯片EP4CGX15C8來(lái)進(jìn)行高清視頻的收發(fā),不但設(shè)計(jì)簡(jiǎn)單方便,而且成本低廉。
一、高清視頻收發(fā)系統(tǒng)設(shè)計(jì)
1.硬件設(shè)計(jì)
高清視頻收發(fā)系統(tǒng)硬件電路主要由電纜驅(qū)動(dòng)模塊、時(shí)鐘修復(fù)模塊、收發(fā)模塊、輸出驅(qū)動(dòng)模塊和電源模塊組成。系統(tǒng)硬件圖見(jiàn)圖1。硬件方案的選擇需要考慮:PCB板布局布線(xiàn)的難易程度、PCB板的面積限制、硬件電路總成本、開(kāi)發(fā)周期以及產(chǎn)品的維護(hù)成本。
圖1 系統(tǒng)硬件框圖
其中,電纜均衡模塊使用GS2984芯片、時(shí)鐘修復(fù)模塊用芯片GS2965、輸出驅(qū)動(dòng)用芯片GS2988均是GENNUM公司推出的。收發(fā)模塊用Altera公司推出的帶有高速收發(fā)器的FPGA芯片EP4CGX15C8。
2.軟件設(shè)計(jì)
該設(shè)計(jì)的軟件部分用的是由Altera公司提供的高速收發(fā)器的IP軟核ALTGX,它可在QuartusII軟件平臺(tái)上調(diào)用,允許配置一個(gè)或多個(gè)收發(fā)器通道,可以根據(jù)收發(fā)器的配置選擇不同的物理編碼層(PCS)和物理介質(zhì)附加層(PMA)。
由于該系統(tǒng)選定的FPGA芯片是Cyclone IV GX系列FPGA中最經(jīng)濟(jì)的芯片,它并不支持ALTGX中的SDI模式,所以我們選擇的是BASIC模式,此種模式可通過(guò)選擇不同的子模塊實(shí)現(xiàn)高清視頻流的收發(fā)功能。
高速收發(fā)器Basic模式包含以下幾個(gè)子模塊:①CDR模塊,即時(shí)鐘恢復(fù)模塊。它通過(guò)接收到的HD-SDI視頻流提取出對(duì)應(yīng)的時(shí)鐘,為后面的字對(duì)齊及解串模塊提供時(shí)鐘。②解串模塊。解串模塊把接收到的串行的HD-SDI信號(hào)轉(zhuǎn)為并行8bit或10bit數(shù)據(jù),頻率相應(yīng)地變?yōu)?/8或1/10。③字對(duì)齊模塊。字對(duì)齊模塊把解串后的并行數(shù)據(jù)通過(guò)預(yù)先定義的對(duì)齊模式進(jìn)行數(shù)據(jù)字邊界對(duì)齊。④字節(jié)解串模塊。字節(jié)解串模塊把8bit或10bit的并行數(shù)據(jù)解串為16bit或20bit的數(shù)據(jù),時(shí)鐘頻率也相應(yīng)減半。⑤相位比較FIFO。它把收發(fā)器解串后的并行時(shí)鐘與FPGA內(nèi)部接口時(shí)鐘進(jìn)行比較和相位補(bǔ)償。⑥字節(jié)串化模塊。字節(jié)串化模塊把16bit或20bit并行數(shù)據(jù)串化為8bit或10bit并行數(shù)據(jù),使時(shí)鐘頻率加倍。⑦串化模塊。串化模塊把并行8bit或10bit數(shù)據(jù)轉(zhuǎn)為串行數(shù)據(jù)發(fā)送,同時(shí)頻率相應(yīng)的變?yōu)?倍或10倍。
該系統(tǒng)中的rx_clkout是接收端的時(shí)鐘,它是根據(jù)接收到的HD-SDI視頻流通過(guò)CDR模塊進(jìn)行提取得來(lái)的,是完全與視頻流同步的時(shí)鐘。tx_clkout是發(fā)送端的參考時(shí)鐘,這是外部晶振通過(guò)FPGA內(nèi)部鎖相環(huán)得到的一個(gè)時(shí)鐘,發(fā)送時(shí)會(huì)根據(jù)這個(gè)時(shí)鐘來(lái)發(fā)送數(shù)據(jù)。而rx_clkout與tx_clkout不會(huì)始終同步,所以我們?cè)贔PGA內(nèi)部又加了一個(gè)時(shí)鐘同步FIFO。首先將接收到的數(shù)據(jù)以rx_clkout時(shí)鐘寫(xiě)入FIFO,然后再以tx_clkout時(shí)鐘把數(shù)據(jù)讀出,最后再傳到發(fā)送端,這樣就使發(fā)送的數(shù)據(jù)與發(fā)送端參考時(shí)鐘同步,從而輸出正確的視頻信號(hào)。
二、系統(tǒng)測(cè)試
根據(jù)系統(tǒng)的結(jié)構(gòu)以及功能將測(cè)試平臺(tái)搭建為如圖2所示的系統(tǒng)。該系統(tǒng)先通過(guò)一個(gè)高清彩條信號(hào)發(fā)生器產(chǎn)生高清彩條信號(hào),然后把信號(hào)送到收發(fā)器的接收端,經(jīng)過(guò)收發(fā)器的處理之后再通過(guò)收發(fā)器發(fā)送端發(fā)出信號(hào),通過(guò)下變換板接到電視機(jī)來(lái)查看效果。電視機(jī)是數(shù)字電視,接口是HDMI接口。我們用HDMI線(xiàn)來(lái)對(duì)下變換板和電視機(jī)進(jìn)行連接。
圖2 高清視頻收發(fā)器測(cè)試平臺(tái)
測(cè)試結(jié)果顯示,在高清彩條發(fā)生器產(chǎn)生彩條后,經(jīng)過(guò)收發(fā)器的收發(fā),在數(shù)字電視上可以顯示出高清彩條,這就表明,在用FPGA實(shí)現(xiàn)的高清視頻收發(fā)器進(jìn)行數(shù)據(jù)接收與發(fā)送過(guò)程中沒(méi)有任何數(shù)據(jù)丟失,系統(tǒng)能夠?qū)崿F(xiàn)對(duì)高清視頻接收與發(fā)送的功能。