TS流的CRC譯碼器設(shè)計
摘要:TS流是數(shù)字電視信號傳輸?shù)闹饕绞?,由于其采用的是廣播方式且信道中存在著許多干擾,因此是不可靠傳輸。為了保證數(shù)據(jù)的正確性,一般需要進行信道編碼。在發(fā)送端,TS流中通常采用的信道編碼方式是CRC校驗;在接收端進行譯碼。由于TS流數(shù)據(jù)量非常大,通常的軟件譯碼方法不能滿足要求。設(shè)計了一個基于FPGA的CRC譯碼器,速度快,并且具有很強的實時性。
關(guān)鍵詞:FPGA;TS流;CRC校驗;譯碼器
0 引言
隨著我國數(shù)字電視發(fā)展的越來越快,集成度越來越高,數(shù)據(jù)傳輸?shù)恼_性也變得越來越重要。而TS流作為數(shù)字電視傳輸?shù)闹饕绞?,其信號的正確性將直接影響到電視畫面的質(zhì)量以及各種數(shù)字電視業(yè)務(wù)的發(fā)展,如互聯(lián)網(wǎng)等。為了保證傳輸?shù)目煽啃?,就要對?shù)據(jù)加上CRC校驗碼,接收的時候?qū)ζ溥M行譯碼。當(dāng)前的譯碼大多是在微處理器上用軟件來實現(xiàn)的,這樣的軟件譯碼方式速度比較慢,無法滿足高速大容量的的數(shù)字電視信道的要求。本文設(shè)計了一個基于FPGA的CRC譯碼器,通過查找表法進行譯碼,能夠達到很高的速度,具有很強的實時性。
1 TS流的結(jié)構(gòu)
傳送流(Transport Stream,TS流),它是根據(jù)ITU-T Rec.H.222.0 | ISO/IEC 13818-2和ISO/IEC13818-3協(xié)議而定義的一種數(shù)據(jù)流,其目的是為了在有可能發(fā)生嚴重錯誤的情況下進行一道或多道程序編碼數(shù)據(jù)的傳送和存儲。傳送流由一道或多道節(jié)目組成,每道節(jié)目由一個或多個原始流和一些其他流復(fù)合在一起,包括視頻流、音頻流、節(jié)目特殊信息流(PSI)和其他數(shù)據(jù)包。TS流是數(shù)字電視信號的主要傳輸形式,TS流由許多的TS包組成,每個TS包的長度為188 B,它由包頭、自適應(yīng)區(qū)、數(shù)據(jù)區(qū)三個部分組成,其中,每個TS包的有效信息占184 B,字節(jié)后面是4 B的CRC校驗碼。其結(jié)構(gòu)如圖1所示。
2 系統(tǒng)總體設(shè)計
本系統(tǒng)采用了Altera公司的低成本低功耗的CycloneⅣ系列的EP4CE6E22C8N芯片,此芯片具有6 272個LE,還有270 KB的內(nèi)部存儲器,非常適合用來做CRC校驗。本系統(tǒng)采用了Verilog語言在FPGA上實現(xiàn)了UART的收發(fā)和CRC校驗的功能。
TS包的數(shù)據(jù)由串口發(fā)送至FPGA,在FPGA內(nèi)進行CRC校驗,當(dāng)一個section的數(shù)據(jù)校驗完之后,又由UART發(fā)送出去??傮w框圖如圖2所示。
評論