杭州浙江大學(xué)通信與網(wǎng)絡(luò)教研室(310027)包莉娜 周立豐 王 匡 張 明
數(shù)字衛(wèi)星接收芯片(DVB_s)是準(zhǔn)基帶采樣變換到MPEG-2碼流的完全解決方案的集成芯片。主要用于衛(wèi)星傳輸?shù)臄?shù)字電視、數(shù)字語音的壓縮編碼的數(shù)字解調(diào)與信道解碼。此傳輸系統(tǒng)基于前向糾錯編碼(FEC)技術(shù)和QPSK調(diào)制技術(shù),可保證傳輸業(yè)務(wù)的可靠性。
DVB-S系統(tǒng)功能模塊如圖1所示。包括物理接口、QPSK解調(diào)、Viterbi譯碼、同步頭尋找、去交織、RS解碼、解擾以及幀格式轉(zhuǎn)換。經(jīng)過幀格式轉(zhuǎn)換后的數(shù)據(jù)稱為TS流,輸出的時鐘為占空比近似為1:1的均勻時鐘。TS數(shù)據(jù)和時鐘送給解碼芯片進(jìn)行信源解碼。
。 幀格式轉(zhuǎn)換
幀格式轉(zhuǎn)換位于信道傳輸?shù)淖钋岸耍ɑ蜃钅┒耍,完成信道傳輸與信源MPEG-2編(解)碼的相應(yīng)數(shù)據(jù)格式的轉(zhuǎn)換以及產(chǎn)生相應(yīng)的時鐘。在發(fā)送端,該部分將信源MPEG-2的數(shù)據(jù)包格式轉(zhuǎn)換成信道傳輸?shù)臄?shù)據(jù)包格式,并產(chǎn)生信道傳輸編碼部分的時鐘。相應(yīng)地,接收端部分將信道傳輸?shù)臄?shù)據(jù)包格式轉(zhuǎn)換成信源MPEG-2的包格式,同時也產(chǎn)生信源MPEG-2的時鐘。
1.1 進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換的原因
進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換是由于DVB-S信道幀格式與MPEG-2的信源幀格式不同。信源MPEG-2編(解)碼數(shù)據(jù)包格式是按段組織的,每一個數(shù)據(jù)段包括1個字節(jié)的段同步和187個字節(jié)的數(shù)據(jù),這種幀結(jié)構(gòu)稱為信源數(shù)據(jù)包格式。而本方案信道傳輸?shù)模遥泳帲ń猓┐a是按每個段進(jìn)行的,即(204,188,16)碼,也就是每段187個字節(jié)信息數(shù)據(jù)外又增加16個糾錯校驗位。 MPEG-2數(shù)據(jù)包格式和DVB信道數(shù)據(jù)包格式及時序如圖2所示。
這里主要討論接收端的格式轉(zhuǎn)換,即將DVB_S信道格式轉(zhuǎn)換為MPEG-2信源格式。接收端數(shù)據(jù)格式轉(zhuǎn)換主要包括兩部分:(1)去掉校驗字節(jié);(2)將時鐘變?yōu)檎伎毡龋宝煟。去除校驗字?jié)子部分將由RS編譯碼引入的冗余校驗字節(jié)去掉,使每包的數(shù)據(jù)恢復(fù)為188字節(jié)。為防止信號畸變,保證數(shù)據(jù)正確地采樣,時鐘占空比應(yīng)展寬為1:1。目前市場上的解碼芯片支持并行和串行兩種模式。以上討論的并行模式輸出(以字節(jié)形式輸出)、串行模式輸出以比特形式輸出。
。保 幀格式轉(zhuǎn)換設(shè)計
。保玻 并行模式
該部分將去除由DVB-S的RS編碼引入的冗余校驗字節(jié),使每包的數(shù)據(jù)恢復(fù)為MPEG-2格式的188字節(jié)其結(jié)構(gòu)框圖如圖3所示。其核心部分為數(shù)據(jù)緩沖區(qū)的設(shè)計和讀時鐘的產(chǎn)生。
。ǎ保⿺(shù)據(jù)緩沖區(qū)
從信道數(shù)據(jù)包格式和信源包格式可以看出,相對信源包而言,信道包每包多出了16個RS碼校驗字節(jié)。信道數(shù)據(jù)按如下規(guī)則寫入緩沖區(qū),讀端也按照一定規(guī)則讀出數(shù)據(jù):16個字節(jié)的RS校驗碼不寫入緩沖區(qū),其他數(shù)據(jù)按地址順序?qū)懭刖彌_區(qū);在讀出時,按照順序讀出緩沖區(qū)的內(nèi)容,每幀為188字節(jié)的數(shù)據(jù)。其中數(shù)據(jù)寫入緩沖區(qū)時,使用信道的時鐘,而從緩沖區(qū)讀出數(shù)據(jù)時,使用信源時鐘。 為了保證讀出數(shù)據(jù)的正確性,只能讀已經(jīng)寫入的數(shù)據(jù),也就是讀操作滯后于寫操作這里一個存儲單元為1個字節(jié)。設(shè)計時采用SRAM作為數(shù)據(jù)緩沖區(qū)。
(2)讀時鐘以及信源時鐘的產(chǎn)生
·參考時鐘的產(chǎn)生
為了減少整個系統(tǒng)的復(fù)雜度(主要為減少芯片外圍電路),前級時鐘恢復(fù)(Clock Recovery)模塊采用了內(nèi)插算法,引起了符號時鐘周期的不確定性,進(jìn)一步導(dǎo)致了字節(jié)時鐘周期的不確定性,即傳輸給幀格式轉(zhuǎn)換模塊的字節(jié)時鐘是很不均勻的。
為了得到近似均勻的字節(jié)時鐘,幀格式轉(zhuǎn)換模塊采用數(shù)字鎖相法產(chǎn)生一個近似均勻的參考時鐘,如圖4所示。
圖4中,本地產(chǎn)生的近似均勻的字節(jié)時鐘頻率與輸入的不均勻字節(jié)時鐘的頻率保持一致,而輸出的參考時鐘頻率是輸入字節(jié)時鐘的8倍,且近似均勻。之所以要8分頻而不是2分頻或是4分頻,主要考慮到在DVB_S系統(tǒng)中符號頻率是2MHz-45MHz,折算到字節(jié)頻率為0.25MHz-5.5125MHz(如果Viterbi譯碼的刪節(jié)模式是1/2,字節(jié)頻率=符號頻率×1/4×Viterbi譯碼的刪節(jié)模式),當(dāng)符號頻率很低時,如采用2分頻或4分頻數(shù)字鎖相器穩(wěn)定較慢,而8分頻符合設(shè)計要求。
·讀時鐘產(chǎn)生以及信源時鐘的生成
由于信源格式的每個包只有188字節(jié),因此首先把信道格式的每包204字節(jié)使能去掉16個,采用丟時鐘的方法,在204中丟掉16次使能,即51中丟掉4次。故采用一個51計數(shù)器。當(dāng)計數(shù)到11、24、37、49時丟掉輸入的字節(jié)時鐘,得到丟掉后的每包只有188個字節(jié)時鐘(如圖5)。把丟掉后的字節(jié)時鐘傳輸給上面的參考時鐘產(chǎn)生模塊,得到較均勻的參考時鐘。 由新的較均勻的參考時鐘8分頻即可得到較均勻的讀時鐘(每包188個),以及信源時鐘(占空比約為1:1)。在設(shè)計時用一個模8計數(shù)器即可。如圖6,讀時鐘和信源時鐘是對齊的。
。保玻 串行模式
根據(jù)解碼芯片的要求,串行模式的輸出工作在60MHz系統(tǒng)時鐘上,而本設(shè)計中的數(shù)字衛(wèi)星信道接收芯片工作在90MHz系統(tǒng)時鐘上。因此首先需要系統(tǒng)時鐘的變換,然后進(jìn)行并行模式的處理,最后再并/串變換。
系統(tǒng)時鐘的變換是關(guān)鍵,其設(shè)計可分為三步,如圖7所示。
(1)把工作在90MHz上的字節(jié)時鐘展寬,這時可用一個3bit的計數(shù)器實現(xiàn),Verilog代碼如下:
。幔欤鳎幔 @ (posedge sys_clk)
begin
。椋妫ǎ颍螅 | byt_clk)
。螅螅撸悖睿 <= 3'd0;
。澹欤螅 if(~sys_cnt[2])
。螅螅撸悖睿 <= sys_cnt + 3'd1;
。澹睿
。幔螅螅椋纾 展寬的字節(jié)時鐘 = sys_cnt[2]
。ǎ玻┯茫叮埃停龋南到y(tǒng)時鐘采樣展寬的字節(jié)時鐘的上跳沿,產(chǎn)生工作在60MHz上的字節(jié)時鐘。 (3)以60MHz的系統(tǒng)時鐘為采樣時鐘,工作在60MHz上的字節(jié)時鐘為使能信號,采樣輸入的數(shù)據(jù),得到工作在60MHz上的數(shù)據(jù)。這樣,就不會出現(xiàn)多采或者漏采現(xiàn)象。
然后把60MHz的系統(tǒng)時鐘、工作在60MHz上的字節(jié)時鐘及數(shù)據(jù)送給并行模塊。從并行模塊出來的是信源的字節(jié)時鐘,其每一個字節(jié)時鐘周期中均有8個參考時鐘,因此可以把這8個參考時鐘作為串行輸出的比特時鐘,每一個字節(jié)數(shù)據(jù)在一個字節(jié)時鐘周期內(nèi)變?yōu)椋競比特的數(shù)據(jù),按照比特時鐘輸出。
2 ASIC實現(xiàn)
筆者選擇的硬件描述語言是Verilog HDL。綜合庫synthesis library選用UMC 0.18μm工藝。綜合之后此模塊的總面積為6000門左右。此方案已經(jīng)應(yīng)用到DVB-S芯片的設(shè)計中,并且在FPGA上已經(jīng)調(diào)試成功。
本文所講述的幀格式轉(zhuǎn)換處于DVB-S芯片中的最后一個模塊,其主要功能是將數(shù)據(jù)和時鐘從信道格式轉(zhuǎn)變?yōu)樾旁锤袷。其輸出連到解碼芯片,解碼芯片能否正常工作此模塊起著非常關(guān)鍵的作用。
本文摘自《電子技術(shù)應(yīng)用》