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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 使用FPGA 控制VGA 顯示

          使用FPGA 控制VGA 顯示

          作者: 時間:2017-06-05 來源:網(wǎng)絡(luò) 收藏

          顯示器因為其輸出信息量大,輸出形式多樣等特點已經(jīng)成為現(xiàn)在大多數(shù)設(shè)計的常用輸出設(shè)備。在 的設(shè)計中可以使用很少的資源,就產(chǎn)生 各種控制信號。這個示例在 RHicSP2200B 開發(fā)板/學(xué)習(xí)板上使用 在顯示器上顯示了文字以及簡單的圖形,可以作為 顯示設(shè)計的參考,如果在使用這個例子的過程中有任何問題都可以通過郵件

          說明:有效時間包括 6 列過掃描邊界列,有些時序表將這幾列加在后沿和前沿中
          表 2 垂直時序

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


          說明:有效時間包括 4 行過掃描邊界行,有些時序表中將這幾行加在后沿和前沿中。

          *當(dāng)有效時間增加時,它超過了 vsync 信號的上升沿,因此前沿為-1

          在實際設(shè)計中如何通過不同的系統(tǒng)頻率確定適當(dāng)?shù)娘@示模式 ? 例如在 RhicSP2200 開發(fā)板中 的系統(tǒng)時鐘頻率為 50MHz。這個時鐘頻率可以用來設(shè)計 顯示 800X600 模式,為了顯示器顯示效果好,采用場頻(刷新頻率)75Hz,那么幀長可以確定為 666,而行總長設(shè)計為 1000 像素。

          根據(jù)以上所述,我們可以設(shè)計如Examples1類似HDL代碼,使用這段代碼在Valid 有效期間對RGB 中 Blue 兩位賦值1,得到一個藍(lán)色屏幕顯示邊界如圖1 所示。

          色彩原理

          RGB 色彩模式是工業(yè)界的一種顏色標(biāo)準(zhǔn),是通過對紅(R)、綠(G)、藍(lán)(B)三個顏色 通道的變化以及它們相互之間的疊加來得到各式各樣的顏色的,RGB 即是代表紅、 綠、藍(lán)三個通道的顏色,通過三種基本顏色亮度值從 0~255 不同產(chǎn)生出其他各種顏色,這種模式叫加色模式。為什么叫加色模式呢,舉個例子,通常使用的電視屏幕和電腦 屏幕上的顯示就是這樣的模式,在沒有圖象時,屏幕是黑的,若R,G,B 三色亮度都為255 時混合疊加打在屏幕上時則顯示成白色。就是加起來是白色的意思,叫加色模式。這個標(biāo)準(zhǔn)幾乎包括了人類視力所能感知的所有顏色,是目前運用最廣的顏色系統(tǒng)之 一。

          而與我們電腦相關(guān)的地方,就是目前的顯示器大都是采用了 RGB 顏色標(biāo)準(zhǔn),這就是為什么它對我們來說這么重要了。

          在顯示器上,是通過電子槍打在屏幕的紅、綠、藍(lán)三色發(fā)光極上來產(chǎn)生色彩的,目前的電腦一般都能顯示 32 位顏色,約有一百萬種以上的顏色。如果說它所顯示的顏色 還不能完全吻合自然界中的某種色彩的話,那已經(jīng)幾乎是我們?nèi)庋鬯荒芊洲q出來的了。

          而 RhicSP2200 開發(fā)板系統(tǒng)中每一個色 彩都是使 用 2bit 來 表示的,因 此可見 RhicSP2200 系統(tǒng)可以出現(xiàn)64 種不同的顏 色。其他色彩的使用請在實際工作中更多的加以體會。

          顯示

          通過以上的講述,已經(jīng)可以在計算機顯示器上顯示一個有顏色的區(qū)域了,在這個小節(jié)中我們再舉一個簡單的例子,在顯示器中顯示兩個鑲嵌的正方形,字符等顯示與其類似,可以參考瑞芯科技其他設(shè)計示例。 例如我們可以在 xpos 與 ypos 的某一區(qū)間給 RGB 信號賦不同的值將得到如圖2 所示的顯示效果。

          例子 1:使用 50MHz 時鐘頻率產(chǎn)生的 VGA 同步脈沖以及視頻有效信號

          module sync_gen_50m(
          rst_n,// synthesis attribute clock_buffer of rst_n is ibufg;
          clk,

          hsync,
          vsync,
          valid,
          x_cnt,
          y_cnt
          );
          input rst_n ;
          input clk ;

          output hsync ;
          output vsync ;
          output valid ;
          output [9:0] x_cnt ;
          output [9:0] y_cnt ;

          reg hsync ;
          reg vsync ;
          reg valid ;
          reg [9:0] x_cnt ;
          reg [9:0] y_cnt ;

          always @ ( posedge clk or negedge rst_n )
          if ( !rst_n )
          x_cnt = 10'd0;
          else if ( x_cnt == 10'd1000 )
          x_cnt = 10'd0;
          else
          x_cnt = x_cnt + 1'b1;

          always @ ( posedge clk or negedge rst_n )
          if ( !rst_n )
          y_cnt = 10'd0;
          else if ( y_cnt == 10'd665 )
          y_cnt = 10'd0;
          else if ( x_cnt == 10'd1000 )
          y_cnt = y_cnt + 1'b1;

          always @ ( posedge clk or negedge rst_n )
          if ( !rst_n )
          begin
          hsync = 1'b0;
          vsync = 1'b0;
          end
          else
          begin
          hsync = x_cnt = 10'd50;
          vsync = y_cnt = 10'd6;
          end

          always @ ( posedge clk or negedge rst_n )
          if ( !rst_n )
          valid = 1'b0;
          else
          valid = ( ( x_cnt > 10'd180 ) ( x_cnt 10'd980)
          ( y_cnt > 10'd35) ( y_cnt 10'd635) );

          endmodule



          關(guān)鍵詞: VGA 接口 FPGA

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁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); })();