MPEG-2編碼復(fù)用器主要由DSP(數(shù)字信號處理器)和FPGA兩大部分組成。其中,DSP作為整個系統(tǒng)的主控單元,而FPGA則完成相應(yīng)的輔助邏輯功能。用FPGA實現(xiàn)的編碼復(fù)用器,具有設(shè)計,升級都非常方便,快速的特點,提高了工作效率。
FPGA芯片簡介
編碼復(fù)用器中所使用的FPGA芯片是美國Altera公司生產(chǎn)的FLEX10K50V。 Flex10K系列是Altera公司在FLEX8000系列基礎(chǔ)上發(fā)展起來的一種新型器件。它的結(jié)構(gòu)的主要特點除了主要的邏輯陣列塊(LAB)之外,首次采用了嵌入陣列塊(EAB)。 FLEX10K50V的主要特性指標為:
●邏輯門數(shù)目為50,000門;
●最大I/O引腳數(shù)為274個;
●提供-1,-2,-3,-4四種速度級別;

●觸發(fā)器數(shù)目為3,184個;
●LE(Logic Element,邏輯單元)數(shù)目為2,880個;
●總的RAM為20,480bits。
MAX+ PLUS II開發(fā)工具
MAX+ PLUS II是開發(fā)Altera公司FPGA產(chǎn)品(包括MAX系列和FLEX系列)的軟件工具包。利用MAX+ PLUS II提供的設(shè)計環(huán)境和設(shè)計工具,可以靈活高效地完成各種數(shù)字電路設(shè)計。在MAX+ PLUS II的設(shè)計環(huán)境下, FPGA的整個設(shè)計流程如圖1所示:
1. MAX+ PLUS II的設(shè)計輸入可以有三種方式,即圖形輸入,文本輸入和波形輸入。此外,符號編輯器用于編輯用戶自己的模塊符號。需要說明的是: 在本系統(tǒng)中,我們使用AHDL(Altera,HDL) 語言作為文本輸入方式。
2. 設(shè)計實現(xiàn)即在FPGA器件內(nèi)物理地實現(xiàn)所需地邏輯.這個過程由MAX+ PLUS II中的核心部分編譯器完成。它依據(jù)設(shè)計輸入文件自動生成用于器件編程、波形仿真、延時分析等所需的數(shù)據(jù)文件。
3. 設(shè)計仿真是由仿真器和時延分析器利用編譯器產(chǎn)生的數(shù)據(jù)文件,自動完成邏輯功能仿真和延時特性仿真。通過仿真,發(fā)現(xiàn)設(shè)計中的錯誤與不足,對設(shè)計輸入進行修改和完善,最終達到設(shè)計要求。
4. 在仿真結(jié)果正確以后,就可以進行器件編程,即通過編程器(Programmer)將設(shè)計文件下載到FPGA芯片中,在實際芯片中進行實際信號的時序驗證,就芯片的實際運行性能進行系統(tǒng)測試。
復(fù)用器中的FPGA邏輯設(shè)計
在MPEG-2編碼復(fù)用器中,FPGA所實現(xiàn)的邏輯功能主要是:
(1)系統(tǒng)上電后,完成對其他器件(如DSP、、FIFO)的復(fù)位;

(2)響應(yīng)系統(tǒng)主控單元DSP的指令,從相應(yīng)的輸入FIFO中讀取TS流數(shù)據(jù),做并串變換后傳輸至DSP的串行輸入口;
(3)由于復(fù)用器必須對進入該系統(tǒng)的數(shù)據(jù)傳送流(TS流)中的程 序參考時鐘域(PCR域)中的數(shù)值進行補償計數(shù).因此,FPGA還需要完成:
a.在復(fù)用器的數(shù)據(jù)傳送流輸入端檢測PCR域并紀錄PCR域初值;
b.在復(fù)用器的數(shù)據(jù)傳送流輸出端檢測PCR域并將經(jīng)過補償計數(shù)后的PCR的新值 裝載進PCR域;
(4)其他一些邏輯。
1、輸入輸出FIFO的復(fù)位模塊
輸入輸出FIFO復(fù)位模塊較為簡單.它由文本輸入方式實現(xiàn),內(nèi)部主要由計數(shù)器和D觸發(fā)器組成。它對電路的控制主要包括:整個系統(tǒng)上電后,主控單元DSP通過I/O端口向FPGA發(fā)出FIFO復(fù)位的指令, FPGA通過地址譯碼,產(chǎn)生RSFIFO信號.RSFIFO作為計數(shù)器內(nèi)部的清0端信號,CLK38(全局時鐘信號)作為計數(shù)器的時鐘信號,并引導(dǎo)計數(shù)器開始計數(shù)。計數(shù)器計數(shù)到一定數(shù)值時,再連通D觸發(fā)器先后產(chǎn)生RESET(輸入輸出FIFO復(fù)位信號)以及FO_ENA(輸出FIFO讀允許信號),完成了FIFO復(fù)位模塊的邏輯時序.
2、并/串轉(zhuǎn)換模塊
圖3是并串模塊的上層圖。其I/O引腳情況見表1:
表1 并/串轉(zhuǎn)換模塊I/O引管腳說明
| 管腳名稱 | 管腳功能 | 
| CLK38 | 并串模塊工作時鐘 | 
| HF | 輸入FIFO半滿信號 | 
| Q[8..0] | TS流并行數(shù)據(jù)信號 | 
| P_CLK | TS流串行數(shù)據(jù)包同步信號 | 
| S_DATA | TS流串行數(shù)據(jù)信號 | 
| S_CLK | TS流串行數(shù)據(jù)時鐘信號 | 
| FIFO_R_CLK | 輸入FIFO讀時鐘信號 | 
| CLK_CONTROL | 輸入FIFO讀時鐘控制信號 | 
    由于MAX+PLUSII的老式宏函數(shù)中只提供了作4、5、8位和16位并串變換的移位寄存器 ,而此處系統(tǒng)完成的是9位并串變換(8位數(shù)據(jù)位加1位包同步位),因此必須自己編寫tdf文件,而不能直接調(diào)用宏函數(shù)。具體的功能實現(xiàn)為:
    選擇使用9個D觸發(fā)器,將它們相互連通組成9位的移位寄存器。一旦產(chǎn)生輸入FIFO的半滿信號(HF),模塊開始工作,將輸入FIFO中的9位并行數(shù)據(jù)讀入移位寄存器中,在CLK38的工作時鐘控制下,將9位數(shù)據(jù)順序串行移出產(chǎn)生S_DATA(TS流串行數(shù)據(jù))。并且,在模塊中還設(shè)置了一個4位計數(shù)器A。計數(shù)器A同樣在CLK38的工作時鐘控制下,整體模塊開始工作時開始同步計數(shù)。每計數(shù)到9時計數(shù)器清0,并輸出一個高電平信號。而在其他計數(shù)值時,該信號輸出為低電平。那么,產(chǎn)生的這個信號就是TS流的串行數(shù)據(jù)包同步信號(P_CLK)。而TS流串行數(shù)據(jù)的時鐘信號(S_CLK),很顯然就是CLK38。
    此外,將CLK38時鐘進行8分頻作為輸入FIFO的讀時鐘信號(FIFO_R_CLK)。而輸入FIFO讀時鐘的控制信號(CLK_CONTROL),則由模塊中設(shè)置的另外一個計數(shù)器B來產(chǎn)生,確保輸入FIFO一次半滿后,F(xiàn)PGA只從其中讀取該FIFO最大容量之一半的數(shù)據(jù)。例如:在本系統(tǒng)中,輸入FIFO的最大容量為512個字節(jié)。那么,設(shè)置的計數(shù)器B就必須是一個9位計數(shù)器。計數(shù)器的計數(shù)時鐘為FIFO_R_CLK,從輸入FIFO半滿,F(xiàn)PGA啟動讀數(shù)時開始計數(shù)。每計數(shù)到256(輸入FIFO容量的一半)時計數(shù)器清0,并將輸入FIFO讀時鐘的控制信號(CLK_CONTROL)置為低電平,從而禁止再產(chǎn)生輸入FIFO讀時鐘信號。
    3、PCR補償計數(shù)模塊
    根據(jù)MPEGII標準,TS流中的PCR域共有42位有效碼字,由兩部分組成:一部分以系統(tǒng)參考時鐘的1/300(90KHZ)為單位,稱為program_clock_reference_base,33字段;另一部分稱為program_clock_reference_extension, 以系統(tǒng)參考時鐘(27MHz)為單位的9位字段。
    因此,整個PCR補償計數(shù)模塊分為兩大部分:一部分是9位字段(E0~E8)的PCR域補償計數(shù)模塊,由一個8位計數(shù)器(調(diào)用宏函數(shù)8COUNT)和一個4位計數(shù)器(調(diào)用宏函數(shù)74161)組成。其中,8COUNT的計數(shù)時鐘為27MHz時鐘(由硬件電路中的27MHz晶振提供);而74161的計數(shù)時鐘則為8COUNT提供的最高位進位時鐘(由8COUNT中的最高位E7取反后得到);另一部分為33位字段(Q32~Q0)的PCR域補償計數(shù)模塊,由4個8位計數(shù)器(調(diào)用宏函數(shù)8COUNT)和一個4位計數(shù)器(調(diào)用宏函數(shù)74161)組成。其中,74161的計數(shù)時鐘為27MHz時鐘300分頻后得到的90KHZ時鐘,它只對33位字段中的最低位Q0進行補償計數(shù)。第一個8COUNT的計數(shù)時鐘為74161的Q0位的進位時鐘(由Q0取反后得到);而其他3個8COUNT的計數(shù)時鐘則分別為前一個8COUNT的進位時鐘(即分別由Q8,Q16,Q24取反后得到)。
    4、復(fù)用系統(tǒng)FPGA邏輯設(shè)計中一些技巧 
    在該系統(tǒng)FPGA邏輯設(shè)計過程中,由于系統(tǒng)結(jié)構(gòu)比較復(fù)雜,整個FPGA邏輯設(shè)計也比較大,所以在作邏輯設(shè)計時,一般應(yīng)有一個整體的考慮。具體作設(shè)計時,應(yīng)該采用層次化的結(jié)構(gòu)設(shè)計。另外,還必須結(jié)合整個系統(tǒng)的特點,有意識的對FPGA中邏輯設(shè)計進行優(yōu)化和精簡。例如:檢測TS數(shù)據(jù)流的包同步字0X47,由于該同步頭字節(jié)并不是唯一的,中間可能有碼字也恰為其值。因此,一般情況下,F(xiàn)PGA搜索同步碼字的邏輯如下:首先找到第一個0X47,然后進行計數(shù),計到187字節(jié)后,再檢測是否為0X47,如果是,輸出包同步信號;接著每隔187檢測一次,如是0X47,則繼續(xù)輸出包同步信號,如不是,則從事開始搜索0X47。
    而在該系統(tǒng)的設(shè)計中,并沒有采用這種方法,而是利用了I/O FIFO的9比特特性,F(xiàn)PGA直接搜索9位包同步字節(jié)0X147。另外,在PCR域補償計數(shù)的模塊中,也存在一個PCR域確認的問題。PCR域的長度為6個字節(jié)48位碼字(42位有效碼字加6位保留位),在FPGA已經(jīng)裝載PCR域的初值后,完全可以將PCR域中的6個字節(jié)改為預(yù)先設(shè)定好的協(xié)議碼字(當(dāng)然,它們必須對于碼流而言是唯一的)。這樣,在TS碼流輸出端進行將補償計數(shù)后的PCR數(shù)值重新裝載進PCR域的工作時,F(xiàn)PGA不僅能夠很方便的識別出PCR域的具體位置,而且還可以從這些協(xié)議碼字中讀出較多的復(fù)用信息。
    簡潔而有效的FPGA邏輯設(shè)計,可以使系統(tǒng)運行的穩(wěn)定性得到很大的改善。
- MPEG(33752)
- 邏輯設(shè)計(11495)
相關(guān)推薦
MPEG-2壓縮編碼技術(shù)原理應(yīng)用
MPEG-2系列編碼器
復(fù)用器重構(gòu)怎么降低FPGA成本?
AD8185緩沖模擬多路復(fù)用器
DPAA是否有類似于DPAA2的dpdmux的復(fù)用器/解復(fù)用器?
MAX4885VGA復(fù)用器相關(guān)資料下載
PSoC 4 模擬復(fù)用器 (AMux)
一文了解波分復(fù)用器
什么是OADM光分插復(fù)用器
你對粗波分復(fù)用器(CCWDM)了解多少?
你真的了解的模擬多路復(fù)用器和開關(guān)的原理和應(yīng)用嗎?
關(guān)于傳輸流以及傳輸流中幾個重要概念
具有8:1多路復(fù)用器的通用輸入/輸出(GPIO)擴展功能
分析一款不錯的基于SAA6752的MPEG-2的編碼系統(tǒng)
如何利用0.18μm CMOS工藝去設(shè)計16:1復(fù)用器?
怎么利用復(fù)用器重構(gòu)降低FPGA成本?
模擬開關(guān)和多路復(fù)用器的基礎(chǔ)參數(shù)
波分復(fù)用/解復(fù)用器知多少?
電源多路復(fù)用器是什么
組合邏輯基礎(chǔ)之多路復(fù)用器設(shè)計
請教大神如何去設(shè)計復(fù)用器輸入部分?
MPEG-2系列編碼器
 19
195300系列MPEG-2高清模塊MediaPort
 41
41光復(fù)用器和光解復(fù)用器
 42
42復(fù)用器重構(gòu)降低FPGA成本
 568
568
MPEG-2編碼復(fù)用器中的FPGA邏輯設(shè)計
 580
580
收發(fā)器的復(fù)用器電路
 835
835MPEG-2復(fù)用器PSI信息分析部分的FPGA實現(xiàn)
 885
885
16通道模擬多路復(fù)用器/解復(fù)用器(Mux /多路分配器)
 25
25基于GTI的1x3波長復(fù)用/解復(fù)用器的系統(tǒng)級性能分析
 1074
1074
基于FPGA器件EPXA10實現(xiàn)MPEG-2傳輸流解復(fù)用器的設(shè)計
 1872
1872
基于ARM微處理器的MPEG-2解復(fù)用器設(shè)計方案
 1274
1274
復(fù)用器的原理及MPEG-2傳輸流的簡要介紹資料說明
 4
4基于FPGA器件實現(xiàn)復(fù)用器輸入部分的設(shè)計方案
 1120
1120
基于MPEG-2編碼芯片SAA6752實現(xiàn)應(yīng)用系統(tǒng)的設(shè)計
 1983
1983
AD8158:X-STREAM?6.5 Gbps四緩沖器復(fù)用器/解復(fù)用器數(shù)據(jù)表
 5
5AD8155:XSTREAM?6.5Gbps雙緩沖器復(fù)用器/解復(fù)用器數(shù)據(jù)表
 8
8ADG3257:高速,3.3 V/5 V四路2:1復(fù)用器/解復(fù)用器(4位,1/2)總線開關(guān)數(shù)據(jù)表
 3
3解復(fù)用器的類型及功能原理
 4785
4785
多用復(fù)用器資料分享
 0
0四路 1-of-2 多路復(fù)用器/解復(fù)用器-74CBTLV3257_Q100
 0
0帶鎖存器的8通道模擬多路復(fù)用器/解復(fù)用器-74HC_HCT4351
 0
0帶電荷泵的雙路4選 1 FET 多路復(fù)用器/解復(fù)用器-74CB3Q3253
 0
0雙 1-of-4 FET 多路復(fù)用器/解復(fù)用器-CBT3253A
 0
0雙 1-of-4 多路復(fù)用器/解復(fù)用器-74CBTLV3253_Q100
 0
016通道模擬多路復(fù)用器/解復(fù)用器-74HC_HCT4067_Q100
 1
1三重2通道模擬多路復(fù)用器/解復(fù)用器-74HC_HCT4053_Q100
 0
0雙4通道模擬多路復(fù)用器/解復(fù)用器-74HC_HCT4052_Q100
 2
28 通道模擬復(fù)用器/解復(fù)用器-74HC_HCT4051_Q100
 4
4四路 1-of-2多路復(fù)用器/解復(fù)用器-CBT3257A_Q100
 1
1具有電荷泵的4位2選 1 FET 多路復(fù)用器/解復(fù)用器-74CB3Q3257_Q100
 0
0具有電荷泵的4位2選 1 FET 多路復(fù)用器/解復(fù)用器-74CB3Q3257
 0
0WDM波分復(fù)用器的優(yōu)勢 WDM波分復(fù)用器的分類
 276
276 電子發(fā)燒友App
                        電子發(fā)燒友App
                     
                 
                 
           
        
 
        




 
            
             
             
                 
             工商網(wǎng)監(jiān)
工商網(wǎng)監(jiān)
        
評論