<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > 【從零開始走進FPGA】 玩轉VGA

          【從零開始走進FPGA】 玩轉VGA

          作者: 時間:2015-06-11 來源:網絡 收藏

            一、的誘惑

          本文引用地址:http://www.ex-cimer.com/article/275552.htm

            首先,的驅動,這事,一般的單片機是辦不到的;由于的速度,以及并行的優(yōu)勢,加上可現場配置的優(yōu)勢,的配置,只有俺們可以勝任,也只有可以隨心所欲地配置(當然ARM也可以,應用比較高吧)。

            初學者就是喜歡看炫的效果,往往會忍不住想玩。尤其玩FPGA的,沒玩VGA就感到跟單片機沒啥提升,因此VGA的驅動也不得不講。Bingo當年也是如此。擋不住VGA的誘惑,初學者問Bingo VGA問題的人也是灰常的多,也許一般教科書理論太強,實際應用不是很身后,在此Bingo用淺顯易懂的語言來講述VGA的驅動原理,以及通過設計一個可移植模塊的應用來講述。

            二、VGA驅動原理

            此處Bingo不參考任何資料,用當年已學的知識,用淺顯易懂的語言講述。

            1、VGA接口

            

          wps_clip_image-18353

           

            最主要的幾根線:

            

          image

           

            更詳細的資料,請看 http://baike.baidu.com/view/10346.htm

            2、VGA時序

            VGA其實就是相當于一塊芯片,跟單片機驅動IC一樣,滿足一定的時序,便能驅動起來。

            (1)掃描軌跡

            VGA的掃描其實很簡單,大致軌跡如下所示:

            

          wps_clip_image-8553

           

            沒掃描完一行,從新開始下一行;每掃完一場,重新開始下一場。相信你應該看的懂。

            (2)行場掃描

            以下是行掃描,場掃描HS,VS時序圖

            

          wps_clip_image-27336

           

            如上如所示:VGA一直在掃描,沒一場的掃描包括了若干行掃描,如此循環(huán)。

            (3)VS時序深入分析

            VS時序如下所示:

            

          wps_clip_image-20360

           

            可見時序的循環(huán),可被劃分為a,b,c,d4個時期。這四個時期定義如下:

            A~B:場消隱期 即同步,相當于還原掃描坐標吧

            B~C:場消隱后肩 相當于準備開始掃描吧

            C~D:場顯示期 掃描中,數據有效區(qū)域

            D~E:場消隱前肩 完成掃描,相當于準備同步

            (4)HS時序深入分析

            可見時序的循環(huán),可被劃分為a,b,c,d4個時期。這四個時期定義如下:

            A~B:行消隱期 即同步,相當于還原掃描坐標吧

            B~C:行消隱后肩 相當于準備開始掃描吧

            C~D:行顯示期 掃描中,數據有效區(qū)域

            D~E:行消隱前肩 完成掃描,相當于準備同步

            

          wps_clip_image-20832

           

            綜上描述,我們只要知道每個時期的時間,便可以表示出VGA的時序。而FPGA的工作是由固定頻率的時鐘觸發(fā)的,因此某固定時間可以用n次觸發(fā)來表示。因此我們很容易就想到了FPGA常用的計數方法:比如說行掃描,我們計數0~H_total-1。用另一個進程將其劃分為4個時期,安標注分配。其實這相當于狀態(tài)機。

            以下是固定分辨率1024*768 60fps下HS,VS的標準:

            

          wps_clip_image-9084

           

            用代碼表示4個時期,如下:

            // VGA_1024_768_60fps_65MHz

            // Horizontal Parameter( Pixel )

            parameter H_DISP = 11'd1024,

            parameter H_FRONT = 11'd24,

            parameter H_SYNC = 11'd136,

            parameter H_BACK = 11'd160,

            parameter H_TOTAL = 11'd1344,

            // Virtical Parameter( Line )

            parameter V_DISP = 10'd768,

            parameter V_FRONT = 10'd3,

            parameter V_SYNC = 10'd6,

            parameter V_BACK = 10'd29,

            parameter V_TOTAL = 10'd806

            3、VGA電路

            (1)三原色

            VGA接口:R,G,B三通道,直接賦給數字信號,RGB,最多產生8種色彩。這是最基本的。電路如下所示:

            

          wps_clip_image-11884

           

            (2)真彩顯示

            a) 電阻網絡

            考慮到成本意識實現的簡易方案,用R-2R電阻網絡分流模擬DAC替換ADV7123視頻轉換芯片。見以下幾個方案:

            

          wps_clip_image-12612

           

            DE1 VGA模擬電路

            

          wps_clip_image-1911

           

            小馬哥電路圖

            具體設計參考Bingo當年總結:

            http://www.cnblogs.com/crazybingo/archive/2010/07/31/1789323.html

            或者參考小馬哥設計:

            http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3582675&bbs_page_no=1&search_mode=2&search_text=VGA&bbs_id=9999

            b) 專用視頻轉換芯片

            利用專用視頻轉換芯片,ADV7120等,將數字信號轉換為VGA RGB的模擬信號。ADV7120為高速D/A芯片,將數字信號轉換為模擬信號輸給VGA,電路如下:

            

          wps_clip_image-19353

           

            三、可移植VGA模塊設計

            Bingo玩VGA也算是比較早了,當年也是視覺的誘惑,以及唯FPGA獨尊的優(yōu)勢。于是之后一發(fā)而不可收拾。本章Bingo將自己這些年最終優(yōu)化的VGA驅動模塊,發(fā)布至此。本模塊所有代碼均Bingo獨家創(chuàng)造,請尊重版權哈。

            本設計已經封裝成模塊,只要修改時序參數、掃描時鐘參數以及在vga_display.v中添加顯示電路,即可。方便移植,希望對大家有用。

            1、模塊劃分

            

          wps_clip_image-16944

           

            (1)vga_design.v

            工程頂層文件,例化各個模塊。

            (2)sys_ctrl.v

            PLL時鐘分配電路。

            (3)vga_display.v

            顯示電路,根據時序,用于描述VGA的顯示電路。

            (4)vga_driver.v

            VGA驅動電路,對時序,狀態(tài)的約束。

            RTL圖如下所示:

            

          wps_clip_image-19643

           

          fpga相關文章:fpga是什么



          上一頁 1 2 下一頁

          關鍵詞: VGA FPGA

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();