<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 消費電子 > 設計應用 > 基于A(yíng)ltera ASI IP核的ASI發(fā)送卡實(shí)現

基于A(yíng)ltera ASI IP核的ASI發(fā)送卡實(shí)現

作者: 時(shí)間:2011-02-16 來(lái)源:網(wǎng)絡(luò ) 收藏

在A(yíng)SI 的編碼過(guò)程中,只需將MPEG-2 編碼的TS 碼流的8 位數據和一位TS 碼率傳輸時(shí) 鐘輸入到FPGA 中,本方案是PCI 33M 的時(shí)鐘信號。因為在本方案中,TS 格式為188 個(gè)字節 的突發(fā)模式發(fā)送數據,根據數據有效信號DVALID,FPGA 檢測這個(gè)信號來(lái)判斷什么時(shí)間內是 有效數據,來(lái)接收TS 碼流數據,而不用關(guān)心TS 碼流的同步頭。FPGA 將接收到的數據以TS 碼率時(shí)鐘寫(xiě)入FIFO。當FIFO 半滿(mǎn)時(shí),FPGA 接收到FIFO 的半滿(mǎn)信號,然后FPGA 給ASI 核發(fā)出FIFO 可讀信號,ASI 核以27Mbps 讀取FIFO 中的數據;當FPGA 計數到ASI 核讀取了一定數量的FIFO 數據,FPGA 則向ASI IP 核發(fā)送FIFO 不可讀信號,防止FIFO 讀空。MPEG-2 傳 輸碼率的并行最大速度為132Mbps,而讀FIFO 速率為27Mbps,因此FIFO 會(huì )有溢出。因此在發(fā)送MPEG-2 傳輸流時(shí),有驅動(dòng)程序控制一次發(fā)送數據的多少??紤]到延時(shí),本方案在FPGA 內部燒制了一個(gè)2K 大小的異步FIFO。ASI IP 核在FIFO 中數據不可讀時(shí),向ASI 碼流中填 充K28.5 以維持270Mbps 的固定傳輸速率。最后串行數據經(jīng)過(guò)驅動(dòng)就可用同軸電纜傳送出去。 本方案中,同步字K28.5 的插入采用傳輸碼流的單個(gè)字節前后不能都是K28.5 同步字的方式。

ASI 發(fā)送卡的硬件實(shí)現框圖如下:

該系統是基于 ALTERA 公司的FPGA 芯片,Cyclone Ⅱ EP2C8Q208 設計的。經(jīng)過(guò)編碼的并行數據流經(jīng)過(guò)PCI 總線(xiàn)送入異步FIFO。異步FIFO 主要實(shí)現數據緩存和時(shí)鐘匹配的作用。 系統進(jìn)行DMA 操作,把數據送入板卡。FIFO 將這些數據緩存,以避免數據丟失。又由于時(shí) 鐘有PCI 33M 的時(shí)鐘信號和27M 的ASI 輸入時(shí)鐘信號。這就要求把這兩個(gè)不同頻率的時(shí)鐘同 步。FIFO 在兩個(gè)不同的時(shí)鐘下工作,數據的輸入和輸出分別使用不同的時(shí)鐘。這就實(shí)現了 時(shí)鐘的隔離和無(wú)縫連接。FIFO 采用32 位輸入、8 位輸出,分別與PCI 的數據寬度和ASI IP 核的輸入數據寬度相一致。ASI IP 核實(shí)現8 位數據到10 位的編碼。其中ASI IP 核的參考 時(shí)鐘為27M,輸出時(shí)鐘是270M。采用外部鎖相環(huán),27MHz 時(shí)鐘頻率有晶振產(chǎn)生,通過(guò)鎖相環(huán) 產(chǎn)生270M 的時(shí)鐘,用于A(yíng)SI 接口的數據輸出。PE65508 實(shí)現耦合和阻抗匹配,最終經(jīng)BNC 插頭發(fā)送出去。

3.2 ASI IP 核的生成

ASI 編碼的實(shí)現采用Quartus 6.1 直接生成,進(jìn)行仿真驗證。

ASI 接口的生成。IP 核首先需要安裝,可以從Altera 網(wǎng)站上下載。安裝之后,打開(kāi) Quartus 6.1 新建工程之后,點(diǎn)擊tools 菜單里面的Megawizard plug-in Maneger,選擇 創(chuàng )建一個(gè)新的宏函數變量,按步驟一步步生成asi 文件??梢赃x擇器件和生成文件語(yǔ)言,分 別選擇Cyclone Ⅱ和verilog 語(yǔ)言。需要注意的是生成的文件名要與工程的頂層文件名相 一致。選擇Transmitter,這里作為發(fā)送接口。在A(yíng)SI 中根據所選器件速度的快慢,可以選 擇是否生成鎖相環(huán)。這里采用外部鎖相環(huán),用于產(chǎn)生270MHz 的輸出頻率。

生成的ASI 接口verilog 部分代碼如下:

module asi ( rst, tx_refclk, tx_data, tx_en, tx_clk270, asi_tx);

input rst,tx_refclk,tx_en,tx_clk270,asi_tx;

input [7:0] tx_data;

asi_megacore_top asi_megacore_top_inst( .rst(rst), .tx_refclk(tx_refclk), .tx_data(tx_data),

.tx_en(tx_en), .tx_clk270(tx_clk270), .asi_tx(asi_tx));

……

endmodule

該接口實(shí)現8 位數據到10 位數據的編碼。在8 位的MPEG-2 數據從輸入端輸入,流入內 部FIFO 中。tx_data 8 位并行數據輸入接口,實(shí)現數據編碼,即把每個(gè)8 位的數據變?yōu)?0 位的數據;然后串行器把10 位并行數據轉換為串行數據。asi_tx 經(jīng)編碼后的串行數據輸入 接口。若MPEG-2 的TS 流的傳輸率小于270Mbps 時(shí),則需要插入同步字符以保障輸出端穩定 的270Mbps。tx_refclk 為輸入的27M 參考時(shí)鐘,tx_clk270 為270M 的數據輸出時(shí)鐘。它們是通過(guò)外部鎖相環(huán)得到的。rst 是復位信號,高電平是有效電平,使整個(gè)設計停止工作。tx_en 數據輸入使能信號,控制FIFO 中待編碼的數據進(jìn)入ASI IP 核實(shí)現數據編碼和并串轉換。

3.3 ASI 工程及仿真波形

把生成的ASI 核添加的自己的工程中,頂層部分代碼如下:

module FIFO_ASI(clk27,data,t_out);

input clk27;

output data,t_out

wire clk13,clk270;

wire[31:0] data32;

wire[7:0] data8;

……

endmodule

對其進(jìn)行仿真,波形如下:

外部接 27M 的時(shí)鐘,連接到clk27,做為ASI IP 核27M 的輸入參考時(shí)鐘。t_out 為一個(gè) 時(shí)鐘輸出信號,對27M 分頻,作為指示燈信號,來(lái)監測程序是否下載到FPAG 中。在指示燈正常閃爍情況下,表明程序已經(jīng)下到芯片中,并且能夠工作。經(jīng)過(guò)ASI IP 核編碼的ASI 數 據由data 輸入。在本工程中,通過(guò)一電腦不斷地發(fā)送TS 流給板卡,經(jīng)過(guò)ASI 編碼后通過(guò) ASI 接口輸出。在接收端,通過(guò)一個(gè)ASI 接收卡,讀出接收的數據,可以看出ASI 工作正常。 在發(fā)送TS 流時(shí)采突發(fā)模式,其讀出的數據如下:

在調試階段,PC 機連續發(fā)送相同的MPEG-2 編碼的TS 包。在接收到的數據中,可以看到連 續的MPEG-2 編碼的TS 包,且與發(fā)送的數據相同。其中TS 包的接收采用一塊ASI 接收卡作 為接收端,通過(guò)USB 接口輸入到電腦里,用相應的軟件讀取數據后顯示。

4.應用意義

本文設計的基于A(yíng)ltera 公司的ASI IP 核實(shí)現的DVB-ASI 卡,實(shí)現了ASI 數據的正確編 碼和發(fā)送。用FPGA 實(shí)現邏輯控制和數據緩存,可以方便的實(shí)現系統升級,實(shí)現多個(gè)ASI 數 據的發(fā)送。與用Cypress 公司的CY7B923 實(shí)現的ASI 的發(fā)送卡相比,本卡更適合批量生產(chǎn),可以節約成本,提高了市場(chǎng)竟爭力,具有很好的市場(chǎng)前景。

本文作者創(chuàng )新觀(guān)點(diǎn)是用Altera 公司的ASI IP 核代替Cypress 公司的CY7B923 專(zhuān)用ASI 發(fā)送芯片,實(shí)現ASI 數據的穩定發(fā)送。本方案降低了成本,設計靈活,并且方便升級到多路ASI 數據發(fā)送。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 編解碼器

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>