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