DVB-C廣播電視系統(tǒng)視頻傳輸接口ASI的實(shí)現(xiàn)
在目前的DVB-C廣播電視系統(tǒng)的傳輸接口中,有兩種MPEG-2視頻傳輸接口標(biāo)準(zhǔn):異步串行接口標(biāo)準(zhǔn) ASI和同步并行接口SPI。SPI一共有11位有用信號(hào),每位信號(hào)差分成兩個(gè)信號(hào)用來(lái)提高傳輸抗干擾性,在物理鏈接上用DB25傳輸,因此連線多且復(fù)雜,傳輸距離短,容易出現(xiàn)故障。但SPI是并行11位信號(hào),處理簡(jiǎn)單且擴(kuò)展性強(qiáng),因此目前一般的MPEG-2視頻編碼器的輸出和視頻解碼器的輸入都是標(biāo)準(zhǔn)的并行11位信號(hào)。ASI用串行傳輸,只需一根同軸電纜線傳輸,連線簡(jiǎn)單,傳輸距離長(zhǎng)。根據(jù)SPI和ASI的優(yōu)缺點(diǎn),需要傳輸信號(hào)的SPI和ASI的互相轉(zhuǎn)換。
本文引用地址:http://www.ex-cimer.com/article/155738.htm1 SPI信號(hào)結(jié)構(gòu)
并行傳輸系統(tǒng)SPI包括一位時(shí)鐘信號(hào)、8位數(shù)據(jù)信號(hào)、一位幀同步信號(hào)PSYNC和一位數(shù)據(jù)有效信號(hào)DVALID。幀同步信號(hào)對(duì)應(yīng)TS包的同步字節(jié)047H,DVALID信號(hào)用來(lái)區(qū)分TS包的長(zhǎng)度為188個(gè)字節(jié)或204個(gè)字節(jié)。當(dāng)TS包長(zhǎng)為188字節(jié)時(shí),DVALID信號(hào)一直為高,同時(shí)所有信號(hào)都與時(shí)鐘信號(hào)保持同步。SPI數(shù)據(jù)格式如圖所示。
2 ASI接口
ASI傳輸流可以有不同數(shù)據(jù)速率,但傳輸速率恒定,為270Mbps,因此ASI可以發(fā)送和接收不同速率的MPEG-2數(shù)據(jù)。ASI傳輸系統(tǒng)為分層結(jié)構(gòu)。最高層、第2層使用MPEG-2標(biāo)準(zhǔn)ISO/IEC 13818-1(Systems),第0層和第1層是基于ISO/IEO CD 14165-1的FC纖維信道。FC支持多種物理傳輸媒介,本方案選用同軸電纜傳輸,圖2是基于同軸電纜的ASI傳輸系統(tǒng)框圖。
首先將包同步的MPEG-2傳送包的8-bit碼字轉(zhuǎn)換成10-bit碼字;接著在并/串轉(zhuǎn)換時(shí),當(dāng)要求輸入一個(gè)新字、而數(shù)據(jù)源還沒(méi)有準(zhǔn)備好時(shí),應(yīng)插入一個(gè)K28.5的同步字,以達(dá)到ASI的固定270Mbps傳輸速率。所形成的串行比特流將通過(guò)緩沖/驅(qū)動(dòng)電路和耦合網(wǎng)絡(luò),送到同軸電纜連接器上。插入同步碼字可以有三種方法:傳輸碼流的單個(gè)字節(jié)前后不能都是同步字;傳輸碼流的單個(gè)字節(jié)前后必須都是同步字;或者是兩者的組合。
到達(dá)同軸電纜的接收數(shù)據(jù),首先要經(jīng)過(guò)連接器和耦合網(wǎng)絡(luò)耦合到恢復(fù)時(shí)鐘和數(shù)據(jù)的電路上,然后進(jìn)行串/并變換;為了恢復(fù)字節(jié)同步,ASI解碼器必須先搜尋到K28.5同步字,一旦搜索到該同步字,即為隨后接收的數(shù)據(jù)標(biāo)定了邊界,從而建立了解碼器輸出字節(jié)的正確字節(jié)排列;最后進(jìn)行10/8-bit變換,恢復(fù)出包同步的MPEG-2 TS碼流數(shù)據(jù)。但是K28.5同步字不是有效數(shù)據(jù),因此解碼時(shí)必須刪除。
3 ASI接口實(shí)現(xiàn)方案
在本方案中,MPEG-2 TS碼流由單片MPEG-2編碼器MB86390提供,它輸出符合SPI標(biāo)準(zhǔn)的并行11位信號(hào),TS包長(zhǎng)度為188個(gè)字節(jié)。在SPI/ASI轉(zhuǎn)換方案中,主要選用CYPRESS公司cyb923/cyb933芯片、異步FIFO和邏輯編程器CPLD實(shí)現(xiàn)。
cyb923主要實(shí)現(xiàn)碼字的8/10bit轉(zhuǎn)換、插入同步字K28.5和并/串變換。ASI的傳輸速率恒定為270MHz,而輸入MPEG-2 TS碼率是不同的,所以要用FIFO實(shí)現(xiàn)速率匹配,需要對(duì)輸入的SPI數(shù)據(jù)、FIFO和cyb923之間的通信進(jìn)行邏輯控制。綜合性能、價(jià)格和程序復(fù)雜度的考慮,本方案采用xilinx公司的CPLD邏輯編程器XC95108;用VHDL編程實(shí)現(xiàn)對(duì)它們的邏輯控制。ASI的解碼也是相似的過(guò)程,cyb933主要實(shí)現(xiàn)10/8bit轉(zhuǎn)換、去除同步字K28.5和串并變換。
3.1 ASI編碼
在ASI的編碼過(guò)程中,只需將MPEG-2 TS的八位數(shù)據(jù)和一位TS碼率傳輸時(shí)鐘輸入到CPLD。因?yàn)樵诒痉桨钢?,TS格式為188個(gè)字節(jié),因此數(shù)據(jù)有效信號(hào)DVALID一直為高,CPLD忽略這個(gè)信號(hào),只管接收TS碼流數(shù)據(jù),而不用關(guān)心TS碼流的同步頭。PSYNC幀同步信號(hào)也一樣忽略。CPLD將接收到的數(shù)據(jù)以TS碼率時(shí)鐘寫入FIFO。當(dāng)FIFO半滿時(shí),CPLD接收到FIFO的半滿信號(hào),然后CPLD給cyb923發(fā)FIFO可讀信號(hào),cyb923以27Mbps讀取FIFO中的數(shù)據(jù);當(dāng)CPLD計(jì)數(shù)到cyb923讀取了一定數(shù)量的FIFO數(shù)據(jù),CPLD則向cyb923發(fā)送FIFO不可讀信號(hào),防止FIFO讀空。MPEG-2傳輸碼率的并行最大速度為27/8=3.375Mbps,而讀FIFO速率為27Mbps,因此FIFO不會(huì)有溢出??紤]到延時(shí),本方案選用較小容量的FIFO7202。cyb923在FIFO不可讀時(shí),向ASI碼流中填充K28.5以維持270Mbps的固定傳輸速率。最后串行數(shù)據(jù)經(jīng)過(guò)驅(qū)動(dòng)就可用同軸電纜傳送出去。本方案中,同步字K28.5的插入采用傳輸碼流的單個(gè)字節(jié)前后不能都是K28.5同步字的方式。這種方案相對(duì)其它兩種方案來(lái)說(shuō),判斷和處理都相對(duì)簡(jiǎn)單。
評(píng)論