基于Nios II DTMB單頻網(wǎng)適配器設(shè)計
3 關(guān)鍵技術(shù)實現(xiàn)
適配器的設(shè)計難點在于自定義組件適配器模塊的實現(xiàn),具體包括硬件邏輯的實現(xiàn)以及驅(qū)動程序的編寫,下面主要討論難度較大的硬件邏輯實現(xiàn)。
1) 適配器模塊的實現(xiàn)
實現(xiàn)框圖見圖3,輸入的MPEG-2 TS流先要同步,找到TS流的包頭,去掉空包后輸入FIFO。包復(fù)用模塊按照時鐘產(chǎn)生模塊輸出數(shù)據(jù),同時插入MIP包。當FIFO中數(shù)據(jù)不足時,則插入空包模塊產(chǎn)生的空包。由于碼流重組和速率適配,導(dǎo)致各包在適配器中停留時間不一致,因此要進行PCR校正。本文PCR校正采用置入法,即在輸入碼流中檢測到 PCR包后,將包中的PCR值減去系統(tǒng)27MHz時鐘當前的計數(shù)值;當輸出緩存中檢測到PCR包后,將包中已改過的PCR值加上系統(tǒng)27 MHz時鐘當前的計數(shù)值,這樣,用一套計數(shù)器就可完成PCR校正和更新。
2) MIP包的計算和插入
如圖4所示,根據(jù)GPS接收機收到的10 MHz和1 pulse/s信號算出STS值,同時根據(jù)Nios II的控制信息產(chǎn)生TPS和最大延時參數(shù),再生成32位的CRC校驗值并復(fù)合成MIP包。其中,CRC32用的校驗多項式為D32+D26+D23+ D22+D16+D12+D11+D10+D8+D7+D5+D4+D2+D+1。由于CRC32校驗碼的實時性要求較高,因而采用并行算法--查表法。 DTMB系統(tǒng)兆幀的持續(xù)時間正好為1 s,MIP中的STS值在理論上應(yīng)不變,因此第M個MIP包中的STS可表示為第M個兆幀實際開始的時刻與其前面最近的1 pulse/s信號的時間間隔。同時,由于STS的值用GPS的10 MHz時鐘計數(shù),精度為100 ns。
3) DS3成幀模塊
為使中轉(zhuǎn)站通過SDH網(wǎng)絡(luò)接收碼流,DTMB單頻網(wǎng)適配器增加了DS3輸出接口。DS3是由復(fù)幀構(gòu)成的,一個復(fù)幀分為7個子幀,1個子幀分成8塊具有85 bit的比特塊,每塊的第一個比特是開銷比特,其他84 bit用于傳送凈荷。所以一個復(fù)幀有56個開銷比特。包復(fù)用模塊產(chǎn)生的碼流是MPEG-2的TS流,因此需要一個DS3成幀模塊以實現(xiàn)到SDH網(wǎng)絡(luò)的適配。DS3成幀模塊的實現(xiàn)框圖如圖5所示。在一個復(fù)幀的開銷比特中,除奇偶校驗比特外,其他開銷比特在特定的網(wǎng)絡(luò)環(huán)境中一般都是固定的,所以單獨計算奇偶校驗比特。復(fù)幀內(nèi)的各比特塊以及各比特的確定主要靠2個計數(shù)器來實現(xiàn),一個用來指示比特塊,范圍是0~55,一個用來指示比特塊內(nèi)的每個比特,范圍是 0~84。通過這2個計數(shù)器可在適當位置插入開銷比特和凈荷數(shù)據(jù),從而完成到SDH網(wǎng)絡(luò)的適配。
評論