0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA的顯示器的掃描規(guī)律是什么?

電子工程師 ? 來源:未知 ? 作者:王淳 ? 2018-09-18 09:36 ? 次閱讀

設(shè)計背景:

VGA(Video Graphics Array) 即視頻圖形陣列,是IBM于1987年隨PS/2機(jī)(PersonalSystem 2)一起推出的使用模擬信號的一種視頻傳輸標(biāo)準(zhǔn)。這個標(biāo)準(zhǔn)對于現(xiàn)今的個人電腦市場已經(jīng)十分過時。但在當(dāng)時具有分辨率高、顯示速率快顏色豐富等優(yōu)點(diǎn)在彩色顯示器領(lǐng)域取得了廣泛的應(yīng)用,是眾多制造商所共同支持的一個低標(biāo)準(zhǔn)。

設(shè)計原理:

VGA的實(shí)體圖與接口示意圖,如下圖所示,它有15個針孔:

在開發(fā)板(ZX_1)中,VGA電路原理圖如下圖所示:

通過原理圖,我們不難發(fā)現(xiàn),VGA需要我們控制的接口只有5個:

顯示器的掃描規(guī)律是什么?本設(shè)計采用逐行掃描,逐行掃描是掃描從屏幕左上角一點(diǎn)開始,從左向右逐點(diǎn)掃描,每掃描完一行,電子束回到屏幕的左邊下一行的起始位置,在這期間,CRT對電子束進(jìn)行消隱,每行結(jié)束時,用行同步信號進(jìn)行行同步;當(dāng)掃描完所有的行,形成一幀,用場同步信號進(jìn)行場同步,并使掃描回到屏幕左上方,同時進(jìn)行場消隱,開始下一幀。通過這種掃描規(guī)律,很容易看出,在設(shè)計兩個有效范圍計數(shù)器時,場同步信號計數(shù)器是以行同步信號計數(shù)器為周期的。

VGA的顯示標(biāo)準(zhǔn)如下表所示:

對于普通的VGA顯示器都要嚴(yán)格遵循“VGA工業(yè)標(biāo)準(zhǔn)”,否則可能會損害VGA顯示器,因此我們在設(shè)計時VGA控制器時,都需要參考顯示器的顯示標(biāo)準(zhǔn),下面是VGA的行掃描時序與場掃描時序:

行掃描時序:

場掃描時序:

根據(jù)上述顯示器的掃描參數(shù)以及掃描時序,例如800*600@60的顯示模式,60指得是顯示器圖像的刷新頻率,時鐘40MHz指得是一個像素輸出的頻率。800*600VGA的分辨率,指有效顯示區(qū)域?yàn)闀r序中的c段只有800*600,也就是行計數(shù)在[216,1016],列計數(shù)在[27,627],在這個范圍內(nèi),給RGB色值才會有效。

VGA 工業(yè)標(biāo)準(zhǔn)顯示模式要求:行同步、場同步都為負(fù)極性,即同步脈沖要求是負(fù)脈沖。行同步信號上電拉高,在行同步計數(shù)為0時拉低a個時鐘周期,即128,之后拉高,在行同步計數(shù)到1055時,行同步計數(shù)器清零,場同步計數(shù)器加1。在行掃描時序中,掃描計數(shù)時,周期就是一個像素點(diǎn)的時間。

場同步信號上電拉高,在場同步計數(shù)為0時拉低場同步a個時鐘周期,即4,之后拉高,在場同步計數(shù)到627時,場同步計數(shù)器清零。

在VGA控制器中,還需要控制三個接口,即三種基色(R、G、B),它們共專用8位,分別是Red3位,Green3位,Blue3位,所以可以顯示256種顏色,RGB數(shù)據(jù)的格式如下表所示:

設(shè)計架構(gòu)圖:

本設(shè)計選擇的VGA顯示標(biāo)準(zhǔn)為800*600@60,實(shí)現(xiàn)點(diǎn)亮整個屏幕,并顯示為全紅。通過分析設(shè)計的功能,可以得到如下的頂層架構(gòu):

頂層模塊端口列表如下:

vga_pll模塊是為了滿足分辨率800*600@60的時鐘為40MHz,而ZX_1開發(fā)板的系統(tǒng)時鐘為50MHz,通過鎖相環(huán),將50MHz轉(zhuǎn)化為40MHzvga_control模塊是為了設(shè)定行場同步信號,并標(biāo)定出有效顯示區(qū)域,并輸出控制顏色的po_rgb信號。為了便于移植,根據(jù)800*600@60分辨率下的參數(shù),對其進(jìn)行參數(shù)化定義。

設(shè)計代碼:

VGA控制器代碼:

0modulevga_control (pi_clk,pi_rst_n,po_hs,po_vs,po_rgb);

1

2inputpi_clk,pi_rst_n;//系統(tǒng)時鐘復(fù)位

3outputregpo_vs;//VGA場同步信號

4outputregpo_hs;//VGA行同步信號

5output[7:0]po_rgb;//VGA場紅綠藍(lán)三基色

6

7//----------------VGA時序-----------------------------------

8// 顯示模式 時鐘

9// 800*600@60 40MHz

10//行/場 同步(a) 消隱后沿(b) 有效顯示(c) 消隱前沿(d) 掃描時間(e)

11//hs 128 88 800 40 1056

12//vs 4 23 600 1 628

13

14// 行(Horizontal)掃描 Parameter (像素)

15parameterH_A =128;

16parameterH_B =80;

17parameterH_C =800;

18parameterH_D =40;

19parameterH_E =1056;

20

21

22// 場(Vertical)掃描 Parameter (行數(shù))

23parameterV_A =4;

24parameterV_B =23;

25parameterV_C =600;

26parameterV_D =1;

27parameterV_E =628;

28

29//行掃描計數(shù)器,

30reg[10:0]hcnt;

31

32always@(posedgepi_clk ornegedgepi_rst_n)

33begin

34if(!pi_rst_n)

35hcnt <=11'd0;

36else

37begin

38if(hcnt ==(H_E -1'b1))//掃描完一行像素

39hcnt <=11'd0;

40else

41hcnt <=hcnt +1'b1;

42end

43end

44

45//場掃描計數(shù)器

46reg[10:0]vcnt;

47

48always@(posedgepi_clk ornegedgepi_rst_n)

49begin

50if(!pi_rst_n)

51vcnt <=11'd0;

52elseif(vcnt ==(V_E -1'b1))

53vcnt <=11'd0;

54elseif(hcnt ==(H_E -1'b1))

55vcnt <=vcnt +1;

56end

57

58//行同步輸出

59always@(posedgepi_clk ornegedgepi_rst_n)

60begin

61if(!pi_rst_n)

62po_hs <=1'b1;

63elseif(hcnt <H_A)

64po_hs <=1'b0;

65else

66po_hs <=1'b1;

67end

68

69//assign po_hs = (hcnt <= H_A - 1'b1) ? 1'b0 : 1'b1;

70

71//場同步輸出

72always@(posedgepi_clk ornegedgepi_rst_n)

73begin

74if(!pi_rst_n)

75po_vs <=1'b1;

76elseif(vcnt <V_A)

77po_vs <=1'b0;

78else

79po_vs <=1'b1;

80end

81

82//assign po_vs = (vcnt <= V_A - 1'b1) ? 1'b0 : 1'b1;

83

84wirergb_en;

85

86assignrgb_en =(hcnt >=H_A +H_B &&hcnt <H_A +H_B +H_C)&&

87(vcnt >=V_A +V_B &&vcnt <V_A +V_B +V_C)?1'b1:1'b0;

88

89assignpo_rgb =rgb_en ?8'b111_000_00:8'b0000_0000;

90

91endmodule

頂層文件如下所示:

0modulevga_display_pure (pi_clk,pi_rst_n,po_hs,po_vs,po_rgb);

1

2inputpi_clk,pi_rst_n;//系統(tǒng)時鐘復(fù)位

3outputpo_vs;//VGA場同步信號

4outputpo_hs;//VGA行同步信號

5output[7:0]po_rgb;//VGA場紅綠藍(lán)三基色

6

7//----------------VGA時序-----------------------------------

8// 顯示模式 時鐘

9// 800*600@60 40MHz

10//行/場 同步(a) 消隱后沿(b) 有效顯示(c) 消隱前沿(d) 掃描時間(e)

11//hs 128 88 800 40 1056

12//vs 4 23 600 1 628

13

14wirevga_clk;

15

16vga_pll vga_pll_dut(

17.areset(~pi_rst_n),

18.inclk0(pi_clk),

19.c0(vga_clk)

20);

21

22vga_control vga_control_dut(

23.pi_clk(vga_clk),

24.pi_rst_n(pi_rst_n),

25.po_hs(po_hs),

26.po_vs(po_vs),

27.po_rgb(po_rgb)

28);

29

30endmodule

通過編譯后生成的RTL視圖如下:

為了驗(yàn)證本設(shè)計的邏輯正確性,我們先對其進(jìn)行了仿真,在仿真時,為了減少仿真的時間,先將行、場掃描的對應(yīng)參數(shù),進(jìn)行了縮放,這樣不僅節(jié)約了仿真時間,同時由于掃描數(shù)據(jù)量變少,更加便于分析觀察。其仿真代碼所示;

0`timescale1ns/1ps//仿真時間精度時間單位

1

2modulevga_display_pure_tb;

3

4regpi_clk,pi_rst_n;//系統(tǒng)時鐘復(fù)位

5wirepo_vs;//VGA場同步信號

6wirepo_hs;//VGA行同步信號

7wire[7:0]po_rgb;//VGA場紅綠藍(lán)三基色

8

9//初始化數(shù)據(jù),并附相應(yīng)初值

10initialbegin

11pi_clk =0;

12pi_rst_n =0;

13#200.1pi_rst_n =1;

14

15end

16

17vga_display_pure vga_display_pure_inst (

18.pi_clk(pi_clk),

19.pi_rst_n(pi_rst_n),

20.po_hs(po_hs),

21.po_vs(po_vs),

22.po_rgb(po_rgb)

23);

24

25always#10pi_clk =~pi_clk;//50MHz時鐘描述

26

27endmodule

仿真圖:

rgb_en信號,只有當(dāng)po_vspo_hs同時為高電平時,才有效,并且有po_rgb Red基色信號輸出,時序仿真細(xì)節(jié)圖如下所示:


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • crt
    crt
    +關(guān)注

    關(guān)注

    2

    文章

    81

    瀏覽量

    35932
  • VGA
    VGA
    +關(guān)注

    關(guān)注

    5

    文章

    536

    瀏覽量

    63059
  • Green
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    8299

原文標(biāo)題:FPGA學(xué)習(xí)系列:30. VGA驅(qū)動設(shè)計

文章出處:【微信號:FPGAer_Club,微信公眾號:FPGAer俱樂部】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    FPGA的LCD液晶顯示器設(shè)計

    由于LCD 液晶顯示器體積小、重量輕、功耗低,應(yīng)用非常廣泛,如作為飛機(jī)、坦克和船上的顯示面板,可縮小原CRT顯示器的所占空間,減輕設(shè)備重量,增強(qiáng)機(jī)動性。
    發(fā)表于 02-23 16:32 ?8804次閱讀

    [求助] 顯示器故障

    本人的飛利浦107F6型顯示器規(guī)律黑屏,半年前也是這種情況更換6130二極管正常工作半年,現(xiàn)在又發(fā)生此故障,有時工作正常,有時不正常。有時半小時之內(nèi)出現(xiàn)幾次黑屏現(xiàn)象,重新開關(guān)顯示器開關(guān)后顯示
    發(fā)表于 01-02 20:39

    為什么要在顯示器應(yīng)用中使用FPGA?

    為什么要在顯示器應(yīng)用中使用FPGA?一種Spartan-3E顯示器解決方案板
    發(fā)表于 06-04 06:47

    LG CB773F顯示器行場掃描電路圖

    LG CB773F顯示器行場掃描電路圖
    發(fā)表于 11-24 08:21 ?35次下載
    LG CB773F<b class='flag-5'>顯示器</b>行場<b class='flag-5'>掃描</b>電路圖

    LG CB775C顯示器行場掃描電路圖

    LG CB775C顯示器行場掃描電路圖
    發(fā)表于 11-24 08:24 ?30次下載
    LG CB775C<b class='flag-5'>顯示器</b>行場<b class='flag-5'>掃描</b>電路圖

    LG CB775顯示器行場掃描電路圖

    LG CB775顯示器行場掃描電路圖
    發(fā)表于 11-24 08:26 ?65次下載
    LG CB775<b class='flag-5'>顯示器</b>行場<b class='flag-5'>掃描</b>電路圖

    LG CB777F顯示器行場掃描電路圖

    LG CB777F顯示器行場掃描電路圖
    發(fā)表于 11-24 08:28 ?53次下載
    LG CB777F<b class='flag-5'>顯示器</b>行場<b class='flag-5'>掃描</b>電路圖

    FPGA顯示掃描框圖

    FPGA顯示掃描框圖 掃描控制模塊我們采用Altera公司的FPGA ACEX1K50中,主要完成掃描
    發(fā)表于 11-26 13:55 ?856次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>顯示</b><b class='flag-5'>掃描</b>框圖

    液晶顯示器的可視角度/水平掃描頻率

    液晶顯示器的可視角度/水平掃描頻率 可視角度     
    發(fā)表于 12-26 16:55 ?1129次閱讀

    什么是液晶顯示器的垂直掃描頻率/帶寬

    什么是液晶顯示器的垂直掃描頻率/帶寬 垂直掃描頻率         
    發(fā)表于 12-26 17:01 ?2398次閱讀

    什么是CRT顯示器掃描頻率

    什么是CRT顯示器掃描頻率
    發(fā)表于 12-28 10:25 ?1271次閱讀

    FPGA在平板顯示器中的應(yīng)用

      憑借較低的價格和完備的特性,賽靈思Spartan-3系列獨(dú)特的定位使其適用于各種數(shù)字消費(fèi)類系統(tǒng)。其中正被廣泛采用的市場之一就是平板顯示器 (FPD)市場。讓我們來看看FPGA在FPD系統(tǒng)
    發(fā)表于 10-28 16:40 ?1180次閱讀
    <b class='flag-5'>FPGA</b>在平板<b class='flag-5'>顯示器</b>中的應(yīng)用

    眼鏡顯示器_眼鏡顯示器是什么

    本內(nèi)容介紹了眼鏡式顯示器_眼鏡顯示器是什么,眼鏡顯示器原理
    發(fā)表于 03-09 16:15 ?1583次閱讀

    基于CPLD/FPGA的動態(tài)掃描LED顯示電路的設(shè)計

    ,對動態(tài)掃描顯示下數(shù)碼管的亮度降低的原因進(jìn)行分析,認(rèn)為采用降低掃描頻率,增大脈沖光對人眼的作用時間和增大驅(qū)動電流來提高LED 顯示器亮度 。
    發(fā)表于 11-30 14:41 ?16次下載
    基于CPLD/<b class='flag-5'>FPGA</b>的動態(tài)<b class='flag-5'>掃描</b>LED<b class='flag-5'>顯示</b>電路的設(shè)計

    影響液晶顯示器壽命的因素

    液晶顯示器亮度減低到一定時候,會出現(xiàn)不太明顯的掃描線,這是因?yàn)?b class='flag-5'>顯示器自動降低了燈管的頻率的緣故。
    發(fā)表于 05-28 14:28 ?4008次閱讀