《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于USB 2.0集成芯片的H.264解碼器芯片設計
基于USB 2.0集成芯片的H.264解碼器芯片設計
摘要: 使用FPGA進行仿真和驗證基本已成為IC設計過程中必不可少的環節,尤其對于大規模的設計。本解碼器IC的設計使用Virtex II FPGA作為仿真環境。對于本設計,利用FF1517 BGA封裝的XC2V6000已經充分滿足設計要求。在考慮設計成本的前提下,該款FPGA是相對高性價比的選擇。
Abstract:
Key words :

        H.264/AVC標準具有一系列優于MPEG4" target="_blank">MPEG4和H.263的新特性,在相同的重建圖像質量下,H.264比H.263節約50%左右的碼率。但是節約碼率的代價是增加了算法復雜度。由于僅用軟件已經無法實現實時地解碼過程。所以必須利用硬件加速,這正是本解碼器設計的初衷。
        雖然H.264相較同質量的H.263圖像,碼率節約一半,但是由于本解碼器的目標是解決H.264的高清圖像(1080i)的解碼工作,同時也要適用于普遍的視頻外設,所以選用的接口既需要完成高速的碼流源文件的傳輸工作也要易于插拔。而USB接口恰好符合這兩個條件。高質量的源碼文件數據量較大,對傳輸接口要求較高。并且在FPGA的仿真環境下,USB接口還要擔負起向PC上位機回傳解碼結果的任務。這就要求傳輸速度至少要保證超越解碼速度。和USB 1.1接口相比,USB 2.0接口的傳輸更加符合本設計的要求。
        經過計算可知,傳輸接口需要至少30MB/s的傳輸速率,才能保證對1080i的圖像進行解碼。

器件選型
        使用FPGA進行仿真和驗證基本已成為IC設計過程中必不可少的環節,尤其對于大規模的設計。本解碼器IC的設計使用Virtex II FPGA作為仿真環境。對于本設計,利用FF1517 BGA封裝的XC2V6000已經充分滿足設計要求。在考慮設計成本的前提下,該款FPGA是相對高性價比的選擇。
        Cypress公司的EZ-USB FX2是一款集成了USB 2.0的微處理器,它集成了USB 2.0收發器、SIE(串行接口引擎)、增強的8051微控制器和可編程的外圍接口。FX2的這種優化設計,幾乎能達到56MB/s的數據傳輸率,而USB 2.0允許的最大帶寬是480Mb/s,即60MB/s。該芯片在對傳輸帶寬影響很小的前提下,增加了許多集成的控制功能。GPIF和Slave FIFO模式為外部的FPGA、DSP和ATA等提供了簡單和無縫的連接接口。

系統構架
        本設計的主體如圖1所示,在FPGA的仿真平臺中,Virtex II包括了解碼器主體和FPGA的接口模塊。USB 2.0芯片68013A作為獨立部分,負責FPGA和PC之間的USB數據傳輸。FPGA片外的SRAM與DRAM作為FPGA的擴展存儲設備,用于存放解碼器所需的源碼文件,解碼后的文件以及解碼器中用到的軟件程序文件。

圖1  FPGA仿真傳輸示意圖


        本設計中,解碼器端具備強大的功能,內嵌有一個CPU。可以進行主動識別命令的功能。所以PC端和解碼器處于對等的地位。PC端的工作包括發送命令頭,發送命令,發送碼流,接收回傳解碼結果等;FPGA端的工作包括接收并識別命令頭與PC命令,接收并向SRAM和DRAM中存儲碼流,讀取SRAM和DRAM中的解碼結果并且回傳給PC端。
USB 2.0芯片的工作方式及固件編寫
1 芯片工作方式的確定
        在設計中,存在兩個過程涉及到大批量的數據文件傳輸:PC向下傳輸源碼文件,FPGA向上位PC傳輸解碼結果文件。其對USB傳輸要求最高。如果當傳輸的源碼文件無法適應解碼速度時,會導致解碼器停頓;如果當回傳解碼結果滯后時,會造成未被傳輸的解碼結果被覆蓋。任何一種情況的出現,都將直接導致解碼器工作失敗。
        在傳輸要求甚高的情況下,選用EZ-USB FX2提供的Slave FIFO的BULK(批量傳輸)模式,能很好的滿足傳輸要求。在這種模式下,USB芯片內存單元中劃分出6個端點(endpoint),以下簡稱為EP。EP0和EP1被保留作為芯片配置FIFO。EP2、4、6、8可作為用戶傳輸,并且4個EP采用雙重FIFO(double FIFO)的方式組織構成。
        舉例來說,如圖2所示,USB執行OUT傳輸,將EP2端點設成512字節雙重FIFO。在外部器件看來,USB端只要有1個512字節的FIFO為“半滿”,就可以繼續發送數據。當操作的FIFO寫“滿”時,FX2自動將其轉換到外部接口端,排除等候讀取;并將USB接口隊列中下一個為“空”的FIFO轉移到USB接口上,供其繼續寫數據。外部接口端與此類似,只要有1個FIFO為“半滿”,就可以繼續讀取數據。當前操作的FIFO讀“空”時,FX2自動將其轉換到USB接口端,排除等候寫并將外部接口隊列中下一個為“滿”的FIFO轉移到接口上,供外部器件使用。

圖2  EndPoint示意圖
        圖3所示為雙重FIFO的工作過程。當一個512字節的FIFO滿時,FPGA可以取出里面的數據,同時PC可以向另一個FIFO寫入數據(一組實箭頭)。當一個512字節的FIFO空時,PC可以寫入數據。同時FPGA可以讀取另一個仍然有數據的FIFO(一組虛箭頭)。

圖3  雙重EP運作模式


2 固件程序設計
        在通過編寫固件程序初始化USB設備過程中,以下重要的配置寄存器需要設置。
        IFCONFIG;設置USB時鐘由外部提供,并且選用Slave FIFO模式。
        EPXCFG(X=2,4,6,8);配置4個EP(端點FIFO)的模式。
        EPXFIFOCFG(X=2,4,6,8);配置4個EP的自動傳輸模式以及傳輸位寬。
        其他一些寄存器,根據實際的需要可以單獨配置。本設計中配置EP2用于傳輸命令頭,EP4用于傳輸源碼文件,EP6用于傳輸命令,EP8用于傳輸解碼結果文件。
        在完成固件程序的設計之后,可以利用FX2自帶的Control Panel將固件程序的編譯結果下載到68013A的芯片中,或者存放在外部的I2C中,以便下次復位時,芯片自己讀取。
3 電路設計原理圖
        圖4為本設計的電路設計原理圖,原件按左起以及上起順序分別為:CY7C68013A芯片、電源耦合電容組、USB 2.0標準接口、標準RS232串行口、外部晶體振蕩器和HIN232串口芯片。本設計是按照這一電路原理圖制作電路板圖,完成USB 2.0的功能的。

圖4  電路設計原理圖

FPGA上解碼器與USB接口模塊的設計
        SLAVE FIFO的模式下,FPGA可以主動決定是否有必要讀取USB內部FIFO中的數據,而不僅僅是被動的接受PC發送的數據。如圖5所示,控制方式:SLOE、SLRD和SLWR作為EP的讀寫信號與使能控制信號。FIFOADR[1:0]作為4個EP的選擇信號,即選擇當前操作的目標EP。PKTEND是FPGA主動命令USB芯片向上位PC發送數據的控制端。FLAGX(X=A,B,C,D)表示當前選中的FIFO的空滿信息。FD(8位或者16位)為雙向的數據傳輸口。FPGA接口控制這些端口,達到對USB進行操作的目的。

圖5  解碼器與USB接口
        FPGA接口中,本設計還定義了一個深度為256,寬度為32位的FIFO(內部FIFO)。原因在于:本設計中SRAM和DRAM部分要不斷地被解碼器調用,這樣就導致存儲單元被占用。此時USB是無法對存儲單元操作的。所以在FPGA接口中,先將多個USB傳輸的數據FD(8位或者16位)拼接成32位數據存入內部FIFO,當SRAM和DRAM空閑時,再向其傳輸。這樣的處理,使得USB傳輸不依賴于存儲單元的工作狀態,進一步提高了USB傳輸的速度,以滿足傳輸的要求。
設計驗證及結果分析
        當開發完Windows操作系統下的USB驅動程序后,本設計成功的利用EZ-USB芯片與Virtex II FPGA完成了視頻數據的傳輸工作。并且在FPGA工作的66MHz以下的頻率時,完成了對H.264格式視頻的實時傳輸、解碼。傳輸速率的檢測中,USB對大批量數據的傳輸可以達到33MB/s以上的速度,完全適應解碼器的要求。
        設計分析:本設計利用了兩級的FIFO,充分的發揮了USB 2.0的速度優勢。設計方案解除了傳輸與解碼過程中的瓶頸,實現了無縫連接。不足之處是由于USB芯片的Slave FIFO模式限制,PC與解碼器直接必須使用命令交互的方式進行通信,占用了一定的帶寬。在命令過于頻繁的狀態下,效率不高,但對大批量數據傳輸影響很小。

結束語
        驗證平臺下成功,并且實際通過多種壓縮率的源碼文件測試,實現了平均33MB/s,最高40MB/s的速率。完成并且超過了設計要求。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲精品你懂的| 在线一区亚洲| 欧美日韩国产首页在线观看| 午夜综合激情| 亚洲人成网站在线播| 亚洲一区二区视频在线观看| 尤物精品在线| 国产精品亚洲综合| 欧美日韩一区免费| 欧美激情国产精品| 欧美亚洲日本网站| 99精品视频免费观看| 欧美一区二区三区视频免费| 日韩视频国产视频| 在线欧美日韩国产| 国产亚洲欧洲| 国产精品福利在线观看| 欧美二区在线看| 久久aⅴ国产欧美74aaa| 中国av一区| 亚洲另类在线视频| 亚洲国产成人久久综合一区| 亚洲欧美日韩精品久久久久| 夜夜嗨一区二区| 亚洲狠狠婷婷| 在线国产亚洲欧美| 国外成人免费视频| 国产日韩免费| 国产精品一区亚洲| 久久精品国产综合| 亚洲欧美一区二区精品久久久| 亚洲图片欧美一区| 亚洲视频久久| 99re6这里只有精品| 欧美在线观看视频在线| 亚洲女优在线| 亚洲一区二区在线免费观看视频| 亚洲美女免费精品视频在线观看| 在线看片欧美| 国产精品永久在线| 国产精品黄色在线观看| 欧美午夜片在线观看| 欧美日韩天天操| 欧美日韩精品一区二区| 美玉足脚交一区二区三区图片| 久久亚洲欧洲| 久久综合一区| 欧美高清在线观看| 欧美另类变人与禽xxxxx| 浪潮色综合久久天堂| 久久亚洲国产精品一区二区| 久久久噜噜噜久久| 久久久精品欧美丰满| 久久国产天堂福利天堂| 久久精品国产清自在天天线 | 亚洲国产日本| 亚洲国产高清自拍| 亚洲区一区二区三区| 在线播放一区| 在线免费不卡视频| 91久久在线播放| 亚洲理伦在线| 亚洲精品美女在线| 99精品久久| 亚洲影视中文字幕| 欧美亚洲日本一区| 亚洲高清视频在线观看| 亚洲国产欧美日韩精品| 日韩一级在线观看| 亚洲婷婷综合色高清在线 | 亚洲欧洲av一区二区| 久久精品30| 鲁大师影院一区二区三区| 欧美黑人多人双交| 欧美日韩在线三区| 国产精品亚洲网站| 狠狠色丁香久久婷婷综合丁香 | 香蕉久久夜色精品| 久久黄色级2电影| 亚洲第一视频网站| 99riav国产精品| 久久精品国产久精国产一老狼| 欧美黑人国产人伦爽爽爽| 国产精品视频观看| 亚洲第一精品夜夜躁人人躁| 亚洲制服欧美中文字幕中文字幕| 亚洲国产成人精品久久| 亚洲欧美日韩国产一区二区| 久热综合在线亚洲精品| 国产精品久久久久久超碰| 亚洲国产第一页| 香蕉成人伊视频在线观看 | 亚洲精品在线二区| 久久成人精品无人区| 欧美日韩午夜剧场| 精品成人国产| 亚洲欧美日韩精品久久久久| 中文亚洲视频在线| 欧美成人免费网| 狠狠入ady亚洲精品经典电影| 亚洲综合精品| 亚洲午夜国产一区99re久久| 欧美jjzz| 一区二区三区在线观看欧美| 午夜精品福利电影| 亚洲免费网址| 欧美三级在线| 亚洲免费久久| 99re6这里只有精品| 美女脱光内衣内裤视频久久影院| 国产精品一区二区久久久| 日韩一区二区精品视频| 99v久久综合狠狠综合久久| 欧美高清视频在线| 在线日韩视频| 亚洲高清视频一区| 久久躁狠狠躁夜夜爽| 国产一区二区三区丝袜| 欧美一区二区三区四区在线观看| 午夜精品久久久久久99热| 国产精品久久久久久久久借妻| 亚洲精选一区| 一个色综合av| 欧美日韩性生活视频| 亚洲精品中文字幕在线| 99精品热视频| 欧美日韩在线一二三| 99re8这里有精品热视频免费| 日韩视频在线播放| 欧美激情一区在线观看| 亚洲乱码国产乱码精品精98午夜| 日韩一级不卡| 欧美日韩在线第一页| 一区二区激情视频| 亚洲一区在线观看视频 | 欧美日韩精品福利| 亚洲精品一区在线观看香蕉| 一本色道久久综合狠狠躁篇怎么玩 | 欧美精品国产一区| 欧美一级成年大片在线观看| 亚洲自拍啪啪| 国产精品久久久久久久久久久久久久| 亚洲免费观看| 亚洲图片自拍偷拍| 国产精品日韩久久久| 亚洲女女做受ⅹxx高潮| 久久精品电影| 亚洲成人原创| 一区二区三区欧美激情| 欧美天天在线| 亚洲图色在线| 久久久欧美一区二区| 国产一区日韩一区| 亚洲日本成人| 欧美日韩精品不卡| 亚洲视频在线观看一区| 欧美在线欧美在线| 激情五月***国产精品| 亚洲伦理在线| 国产精品观看| 久久高清福利视频| 免费中文字幕日韩欧美| 日韩一级黄色片| 性色av一区二区三区| 韩国一区二区在线观看| 亚洲欧洲一区二区三区在线观看| 欧美日韩一区二区三区免费| 亚洲一区二区影院| 久热成人在线视频| 夜夜夜精品看看| 久久国产99| 亚洲国产一区二区三区在线播 | 欧美日韩在线精品一区二区三区| 亚洲视频图片小说| 久久精品中文字幕一区二区三区| 亚洲福利精品| 亚洲一区中文| 一区免费在线| 在线亚洲国产精品网站| 国产一区二区日韩精品| 日韩一级视频免费观看在线| 国产精品丝袜白浆摸在线| 亚洲国产一二三| 国产精品久久久一本精品| 亚洲福利在线看| 欧美小视频在线| 亚洲电影免费观看高清完整版在线| 欧美久色视频| 欧美一区二区三区久久精品| 欧美人在线视频| 在线精品福利| 午夜一区二区三视频在线观看| 影院欧美亚洲| 欧美在线视频观看免费网站| 亚洲人午夜精品| 久久久欧美精品| 亚洲一区二区三区视频| 欧美黄色小视频| 欧美一区二区三区男人的天堂| 欧美先锋影音|