新聞中心

EEPW首頁 > 消費(fèi)電子 > 基于FPGA的MPEG-2復(fù)用器中FIFO的一種設(shè)計(jì)方案

基于FPGA的MPEG-2復(fù)用器中FIFO的一種設(shè)計(jì)方案

——
作者:連云港職業(yè)技術(shù)學(xué)院 李紅軍 徐祥兵 時(shí)間:2007-08-03 來源: 收藏
 近幾年基于MPEC-2的DVB普通數(shù)字電視在美國(guó)、南美、亞洲、大洋洲和非洲通過衛(wèi)星進(jìn)行廣播?;?a class="contentlabel" href="http://www.butianyuan.cn/news/listbylabel/label/MPEG-2">MPEG-2/DVB的多路節(jié)目復(fù)用器是數(shù)字電視傳輸系統(tǒng)的關(guān)鍵設(shè)備之一,因此,它的研發(fā)顯得尤為重要。

     目前,復(fù)用器的設(shè)計(jì)方案主要基于DSP(數(shù)字信號(hào)處理器)的實(shí)現(xiàn)技術(shù),這種設(shè)計(jì)方法在理論上也能實(shí)現(xiàn)對(duì)傳送流的復(fù)用,考慮到實(shí)現(xiàn)復(fù)用器諸多高速、復(fù)雜的邏輯功能,同時(shí),(現(xiàn)場(chǎng)可編程門陣列)理論上可以無限次地重新配置,這樣在一定程度上為系統(tǒng)的升級(jí)或局部功能的改進(jìn)留下了余地。所以,從今后專用芯片的設(shè)計(jì)和開發(fā)的角度來講,基于的設(shè)計(jì)無疑是最佳的選擇。本文提出了一套基于的復(fù)用器輸入部分的設(shè)計(jì)方案。

      1 復(fù)用器組成

      整個(gè)傳送流的復(fù)用器分為復(fù)用預(yù)處理、輸入和復(fù)用3部分。預(yù)處理部分是對(duì)多路傳送流的PSI(節(jié)目特殊信息)提取并修改,重新生成新的PSI表的過程;輸入部分是給各路經(jīng)預(yù)處理的不同速率的傳送流提供緩存,并將半滿信號(hào)發(fā)送給后續(xù)的復(fù)用模塊;復(fù)用部分是將n路傳送流復(fù)合成一路傳送流的過程,控制對(duì)各路傳送流進(jìn)行選擇性發(fā)送,適時(shí)插入空包和其他業(yè)務(wù)信息。復(fù)用器的數(shù)據(jù)緩存包括輸入FIFO和輸出FIFO,它為n路傳送流提供緩存,便于復(fù)用器隨時(shí)提取某一路傳送包進(jìn)行處理。因此,復(fù)用器FIFO是否具有高速性和可靠性將直接影響復(fù)用器的性能。

      2 FIFO設(shè)計(jì)方案

      2.1 異步FIFO結(jié)構(gòu)

      首先,由于輸入通道和輸出通道的時(shí)鐘頻率不同,所以用來實(shí)現(xiàn)輸入接口的FIFO必須支持異步讀寫功能,其結(jié)構(gòu)如圖1所示。

      其次,考慮到輸入通道和輸出通道的時(shí)鐘頻率相差很大,為了避免數(shù)據(jù)溢出,F(xiàn)IFO的大小設(shè)計(jì)也需要考慮。FIFO的大小一方面與輸入傳送流的碼率和路數(shù)有關(guān);另一方面,F(xiàn)PGA的處理能力也是影響緩沖器的一個(gè)因素。本設(shè)計(jì)中充分考慮了滿足產(chǎn)生半滿信號(hào)和節(jié)省系統(tǒng)資源的要求,F(xiàn)IFO的參考長(zhǎng)度設(shè)計(jì)為一幀傳送流長(zhǎng)度的2倍,即為376 B。n路傳送流以不相關(guān)的碼流速度寫入FIFO中,由于時(shí)鐘之間周期和相位完全獨(dú)立,因而數(shù)據(jù)的丟失概率不為O,如何設(shè)計(jì)一個(gè)高可靠性、高速的異步FIFO電路便成為一個(gè)難點(diǎn)。

      由圖1可以看出,F(xiàn)IFO的存儲(chǔ)介質(zhì)為一塊雙端口RAM,可以同時(shí)進(jìn)行讀寫操作。在寫時(shí)鐘域部分,由寫地址產(chǎn)生邏輯產(chǎn)生寫控制信號(hào)和寫地址;讀時(shí)鐘部分由讀地址產(chǎn)生邏輯產(chǎn)生讀控制信號(hào)和讀地址。在空/滿/半滿標(biāo)志產(chǎn)生部分,當(dāng)FIFO里的數(shù)據(jù)超過188個(gè)字節(jié)時(shí),產(chǎn)生一個(gè)半滿信號(hào),并將該信號(hào)送給復(fù)用控制模塊,由復(fù)用控制模塊產(chǎn)生一個(gè)讀使能,控制FIFO讀出數(shù)據(jù)。也就是說寫過程是連續(xù)的,而對(duì)于一個(gè)FIFO來說讀過程是間斷的。

      2.2 異步時(shí)鐘同步電路

      設(shè)計(jì)的過程中,首先要同步異步信號(hào),使觸發(fā)器不產(chǎn)生亞穩(wěn)態(tài)。采取的方法是以讀時(shí)鐘為基準(zhǔn)時(shí)鐘控制讀寫數(shù)據(jù),由讀時(shí)鐘觸發(fā),將寫時(shí)鐘變?yōu)閷懯鼓軄砜刂艶IFO寫入數(shù)據(jù)。如圖2所示的觸發(fā)器電路可以同步異步時(shí)鐘。

      由圖2可以看出clk-r和clk-w分別是讀時(shí)鐘和寫時(shí)鐘,兩者異步且頻率相差很大。通過兩級(jí)D觸發(fā)器對(duì)這兩個(gè)時(shí)鐘進(jìn)行同步,把寫時(shí)鐘clk-w轉(zhuǎn)變?yōu)橐粋€(gè)由讀時(shí)鐘clk-r上升沿觸發(fā)的寫使能w-en,由w-en控制寫入數(shù)據(jù)。

      2.3 信號(hào)控制電路

      同步了讀、寫時(shí)鐘后,下一個(gè)問題就是如何正確設(shè)計(jì)空/滿/半滿信號(hào)的控制電路。這些標(biāo)志的產(chǎn)生是FIFO的核心部分,如何正確設(shè)計(jì)此部分的邏輯,直接影響到FIFO的性能。/DVB的傳送流復(fù)用的特殊性,決定著空/滿/半滿標(biāo)志產(chǎn)生的原則。FIFO的標(biāo)志產(chǎn)生邏輯如圖3所示。

      系統(tǒng)定義了寫指針wp和讀指針rp,在FIFO寫入或者讀出數(shù)據(jù)時(shí)開始記數(shù)。通過比較wp與rp來產(chǎn)生標(biāo)志信號(hào)。具體實(shí)現(xiàn)方法是:定義一個(gè)計(jì)數(shù)器(count)對(duì)存人FIFO的數(shù)據(jù)字節(jié)數(shù)計(jì)數(shù),產(chǎn)生半滿信號(hào)hf-flag,當(dāng)FIFO寫入一個(gè)數(shù)據(jù)時(shí),計(jì)數(shù)器加"1",當(dāng)從FIFO中讀取一個(gè)數(shù)據(jù)時(shí),計(jì)數(shù)器減"1",當(dāng)計(jì)數(shù)器值大于187時(shí),該FIFO輸出一個(gè)半滿信號(hào)。另外,附加了一個(gè)并行的區(qū)間判斷邏輯來控制同步字節(jié)的寫入。

      當(dāng)同步字節(jié)syn到來時(shí),寫指針wp開始計(jì)數(shù),F(xiàn)IFO開始寫入數(shù)據(jù),這時(shí)需要同步判斷計(jì)數(shù)器的值,而這個(gè)值應(yīng)為0或187,從而給wp賦初值,這保證了FTFO中寫入的前4個(gè)字節(jié)即為傳送包的包頭。與此同時(shí),半滿計(jì)數(shù)器也在計(jì)數(shù),當(dāng)其值大于187時(shí),半滿信號(hào)HF跳變?yōu)?,表明FIFO接收到讀使能r-en時(shí),讀指針rp開始計(jì)數(shù),系統(tǒng)開始從FIFO中依次讀取數(shù)據(jù),讀取完1幀(188 B)數(shù)據(jù)后,讀使能關(guān)閉,系統(tǒng)不再讀取數(shù)據(jù),此時(shí)hf-flag也變?yōu)?,F(xiàn)IFO的狀態(tài)又回到了初始狀態(tài)。

      2.4 緩存功能模塊

      圖4給出了FIFO的引腳定義:syn為傳送流同步字節(jié);rst為復(fù)位信號(hào);clk-r為讀時(shí)鐘;r-en為讀使能信號(hào),當(dāng)系統(tǒng)執(zhí)行讀操作時(shí),該信號(hào)為"1",clk-w為寫時(shí)鐘;datain為并行8位數(shù)據(jù)輸人;hf-flag為半滿信號(hào),當(dāng)FIFO中數(shù)據(jù)個(gè)數(shù)大于187時(shí),該引腳輸出一個(gè)高電平;emp-flag為空標(biāo)志;full-flag為滿標(biāo)志;dataout為并行8位數(shù)據(jù)輸出。

      3 結(jié)束語

      本文基于FPGA的復(fù)用器輸入部分設(shè)計(jì)方案,程序調(diào)試簡(jiǎn)單,通過實(shí)踐驗(yàn)證,運(yùn)行效果良好,達(dá)到了設(shè)計(jì)的要求,具有較高的實(shí)用價(jià)值。



關(guān)鍵詞: FPGA MPEG-2

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉