色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA的VGA可移植模塊終極設(shè)計(jì)

          基于FPGA的VGA可移植模塊終極設(shè)計(jì)

          作者: 時(shí)間:2012-03-13 來源:網(wǎng)絡(luò) 收藏

          b) 專用視頻轉(zhuǎn)換芯片

          利用專用視頻轉(zhuǎn)換芯片,ADV7120等,將數(shù)字信號(hào)轉(zhuǎn)換為 RGB的模擬信號(hào)。ADV7120為高速D/A芯片,將數(shù)字信號(hào)轉(zhuǎn)換為模擬信號(hào)輸給,電路如下:

          24.jpg

          三、可設(shè)計(jì)

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

          本設(shè)計(jì)已經(jīng)封裝成模塊,只要修改時(shí)序參數(shù)、掃描時(shí)鐘參數(shù)以及在vga_display.v中添加顯示電路,即可。方便,希望對(duì)大家有用。

          25.jpg

          1、模塊劃分

          (1)vga_design.v

          工程頂層文件,例化各個(gè)模塊。

          (2)sys_ctrl.v

          PLL時(shí)鐘分配電路。

          (3)vga_display.v

          顯示電路,根據(jù)時(shí)序,用于描述VGA的顯示電路。

          (4)vga_driver.v

          VGA驅(qū)動(dòng)電路,對(duì)時(shí)序,狀態(tài)的約束。

          RTL圖如下所示:

          26.jpg

          2、代碼設(shè)計(jì)

          Bingo例程以16bit RGB VGA驅(qū)動(dòng)為例,不同位數(shù)的顯示只要改一下vga_data即可。

          前文以及代碼講述了那么多,此處不再貼完整代碼,而是對(duì)代碼中部分結(jié)構(gòu)進(jìn)行解析。

          代碼下載地址:http://blog.chinaaet.com/detail/21606.html

          (1)vga_driver.v代碼分析

          a) 參數(shù)例化列表

          #(

          // 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

          )

          這樣寫的目的是為了軟件封裝性,能夠在例化的時(shí)候修改法分辨率,同時(shí)電路結(jié)構(gòu)保持不變。

          DISP,F(xiàn)RONT ,SYNC,BACK,TOTAL分別為顯示期,消隱前肩,消音期,消隱后肩,總時(shí)間,各自對(duì)應(yīng)各自的行場(chǎng)信號(hào)。

          b) 行同步信號(hào)設(shè)計(jì)

          //------------------------------------------

          // 行同步信號(hào)發(fā)生器

          reg [10:0] hcnt;

          always @ (posedge clk_vga or negedge rst_n)

          begin

          if (!rst_n)

          hcnt = 0;

          else

          begin

          if (hcnt H_TOTAL-1'b1)

          hcnt = hcnt + 1'b1;

          else

          hcnt = 0;

          end

          end

          //------------------------------------------

          always@(posedge clk_vga or negedge rst_n)

          begin

          if(!rst_n)

          vga_hs = 1;

          else

          begin

          if( (hcnt >= H_DISP+H_FRONT-1'b1) (hcnt H_DISP+H_FRONT+H_SYNC-1'b1) )

          vga_hs = 0;

          else

          vga_hs = 1;

          end

          end

          如上所示,分析代碼可以知道,行同步信號(hào)的計(jì)數(shù)狀態(tài)機(jī)按照時(shí)序的劃分,是以下過程:H_DISP,H_FRONT,H_SYNC,H_BACK,這似乎和上述分析的VGA時(shí)序不是完全吻合。但是VGA時(shí)序是一個(gè)循環(huán),順推H_BACK個(gè)時(shí)終域便可以得到以上時(shí)期劃分,但是這樣更方便后續(xù)坐標(biāo)計(jì)數(shù),因?yàn)锽ingo此處這樣設(shè)計(jì),當(dāng)然實(shí)際證明是完全可行的。

          注意:(hcnt >= H_DISP+H_FRONT-1'b1) (hcnt H_DISP+H_FRONT+H_SYNC-1'b1) 只是因?yàn)楹罄m(xù)坐標(biāo)計(jì)算,就把時(shí)序提前了1個(gè)時(shí)鐘已達(dá)到同步。



          關(guān)鍵詞: FPGA VGA 移植 模塊

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉