日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

FPGA學習系列:27. VGA驅(qū)動設(shè)計

FPGA學習交流 ? 2018-08-13 13:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

設(shè)計背景:

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

設(shè)計原理:

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


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

image.png


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

image.png


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

VGA的顯示標準如下表所示:

image.png


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

行掃描時序:

image.png


場掃描時序:

image.png


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

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

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

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

image.png


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

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

image.png


頂層模塊端口列表如下:

image.png


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

設(shè)計代碼:

VGA控制器代碼:

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

1

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

3outputregpo_vs;//VGA場同步信號

4outputregpo_hs;//VGA行同步信號

5output[7:0]po_rgb;//VGA場紅綠藍三基色

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)時鐘復位

3outputpo_vs;//VGA場同步信號

4outputpo_hs;//VGA行同步信號

5output[7:0]po_rgb;//VGA場紅綠藍三基色

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視圖如下:

image.png

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

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

1

2modulevga_display_pure_tb;

3

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

5wirepo_vs;//VGA場同步信號

6wirepo_hs;//VGA行同步信號

7wire[7:0]po_rgb;//VGA場紅綠藍三基色

8

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

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


仿真圖:

image.png


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

image.png


通過觀察和分析時序圖,可以發(fā)現(xiàn)與設(shè)計吻合,接下來則可進行管腳分配,并下板驗證,驗證結(jié)果如下:


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

    關(guān)注

    1664

    文章

    22509

    瀏覽量

    639591
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    探索Arria V系列FPGA:高性能與低功耗的完美結(jié)合

    探索Arria V系列FPGA:高性能與低功耗的完美結(jié)合 在當今的電子設(shè)計領(lǐng)域,FPGA(現(xiàn)場可編程門陣列)憑借其靈活性和高性能,成為了眾多工程師的首選。而Intel的Arria V系列
    的頭像 發(fā)表于 03-29 13:05 ?223次閱讀

    VGA視頻接口保護

    The VGA Input Port VGA輸入端口 在大多數(shù)VGA輸入電路設(shè)計中,通常存在兩個電源:一個來自連接器的DSUB-5V引腳(其電位源自另一個VGA輸出端口),另一個來自
    的頭像 發(fā)表于 02-28 15:34 ?218次閱讀
    <b class='flag-5'>VGA</b>視頻接口保護

    Atmel AT17LV系列FPGA配置EEPROM的全面解析

    Atmel AT17LV系列FPGA配置EEPROM的全面解析 在FPGA設(shè)計領(lǐng)域,配置存儲器的選擇至關(guān)重要。Atmel的AT17LV系列FPGA
    的頭像 發(fā)表于 02-27 16:15 ?402次閱讀

    基于友晶DE10-Nano開發(fā)板的VGA顯示控制器模塊設(shè)計

    VGA顯示控制器模塊vga_generator.v(位于DemonstrationsFPGAHDMI_TXvpg_source路徑下)可生成符合DMT(Display Monitor Timing 顯示器時序)時序的視頻信號。
    的頭像 發(fā)表于 02-26 13:43 ?5630次閱讀
    基于友晶DE10-Nano開發(fā)板的<b class='flag-5'>VGA</b>顯示控制器模塊設(shè)計

    UCC2753x系列單通道高速柵極驅(qū)動器:特性、應用與設(shè)計要點詳解

    開關(guān)損耗起著關(guān)鍵作用。UCC2753x系列單通道高速柵極驅(qū)動器憑借其出色的性能和豐富的功能,成為眾多應用場景中的理想選擇。本文將詳細介紹UCC2753x系列驅(qū)動器的特性、應用以及設(shè)計要
    的頭像 發(fā)表于 01-09 16:05 ?954次閱讀

    TDK HVC27系列高壓接觸器:高壓直流切換的可靠之選

    TDK HVC27系列高壓接觸器:高壓直流切換的可靠之選 在高壓直流切換領(lǐng)域,一款性能可靠、設(shè)計合理的接觸器至關(guān)重要。今天,我們就來深入了解一下TDK的HVC27系列高壓接觸器,看看它
    的頭像 發(fā)表于 12-25 14:15 ?719次閱讀

    廣州易顯VGA驅(qū)動板設(shè)置動態(tài)圖片控件實驗流程

    目錄一、實驗目的二、實驗設(shè)備三、實驗步驟3.1新建工程3.2新建畫面3.3添加控件3.4模擬工程3.5硬件驗證一、實驗目的單片機或PLC的串口與VGA驅(qū)動板相連驅(qū)動大尺寸VGA顯示器或
    的頭像 發(fā)表于 12-01 14:06 ?1269次閱讀
    廣州易顯<b class='flag-5'>VGA</b><b class='flag-5'>驅(qū)動</b>板設(shè)置動態(tài)圖片控件實驗流程

    廣州易顯VGA卡設(shè)置進度條實驗教程

    目錄一、實驗目的二、實驗設(shè)備三、實驗步驟3.1新建工程3.2新建畫面3.3添加控件3.4模擬工程3.5硬件驗證一、實驗目的單片機或PLC的串口與VGA卡相連驅(qū)動大尺寸VGA卡顯示器或電視機進行
    的頭像 發(fā)表于 11-26 10:51 ?1795次閱讀
    廣州易顯<b class='flag-5'>VGA</b>卡設(shè)置進度條實驗教程

    開源RISC-V處理器(蜂鳥E203)學習(二)修改FPGA綜合環(huán)境(移植到自己的Xilinx FPGA板卡)

    1.簡述 首先感謝芯來開源了蜂鳥E203 risc-v處理器,提供了比較完整的工程環(huán)境、配套的軟硬件。但是配套的FPGA板卡實在太貴,對于自費學習的來說是不小的學習成本,而且我也認為完備環(huán)境
    發(fā)表于 10-31 08:46

    Pico2-ICE FPGA開發(fā)板的應用示例

    FPGA 和 MCU 結(jié)合的開發(fā)板不多,而 Pico2?ICE 則把小巧、靈活和易上手完美結(jié)合。搭載 RP2350 雙核 RISC-V MCU + Lattice iCE40UP5K FPGA,配合官方 SDK,你可以一步步跑通各種示例,從 LED 到
    的頭像 發(fā)表于 09-06 10:02 ?1343次閱讀
    Pico2-ICE <b class='flag-5'>FPGA</b>開發(fā)板的應用示例

    FPGA在機器學習中的具體應用

    隨著機器學習和人工智能技術(shù)的迅猛發(fā)展,傳統(tǒng)的中央處理單元(CPU)和圖形處理單元(GPU)已經(jīng)無法滿足高效處理大規(guī)模數(shù)據(jù)和復雜模型的需求。FPGA(現(xiàn)場可編程門陣列)作為一種靈活且高效的硬件加速平臺
    的頭像 發(fā)表于 07-16 15:34 ?3120次閱讀

    如何構(gòu)建帶有VGA輸出的低分辨率熱成像

    在本文中,我們將介紹如何構(gòu)建帶有VGA輸出的低分辨率熱成像。該解決方案基于Melexis MLX90640紅外陣列、FPGA S7 50開發(fā)板(AMD-Xilinx Spartan-7 FPGA,帶
    的頭像 發(fā)表于 07-15 11:06 ?4401次閱讀
    如何構(gòu)建帶有<b class='flag-5'>VGA</b>輸出的低分辨率熱成像

    開源電機驅(qū)動,免費直播學習!

    開源電機驅(qū)動,免費直播學習!
    的頭像 發(fā)表于 06-13 10:07 ?2057次閱讀
    開源電機<b class='flag-5'>驅(qū)動</b>,免費直播<b class='flag-5'>學習</b>!

    VGA接口靜電保護方案

    一、概述VGA(VideoGraphicsArray)接口在實際應用中容易受到靜電放電(ESD,ElectrostaticDischarge)的影響,特別是在插拔電纜或觸摸端口時。如果不加保護
    的頭像 發(fā)表于 06-09 13:38 ?1292次閱讀
    <b class='flag-5'>VGA</b>接口靜電保護方案

    VGA和DP的具體區(qū)別

    VGA和DP是兩種常見的顯示接口,它們在設(shè)計、性能和應用方面有顯著區(qū)別。
    的頭像 發(fā)表于 05-14 16:36 ?3743次閱讀
    铜梁县| 石林| 秀山| 富宁县| 滁州市| 上思县| 滨海县| 临颍县| 江城| 新绛县| 汉阴县| 海门市| 丹凤县| 灵璧县| 贵南县| 宁夏| 五家渠市| 馆陶县| 阿合奇县| 报价| 明星| 体育| 正安县| 大新县| 惠东县| 大城县| 珲春市| 凌源市| 玉树县| 沭阳县| 贡觉县| 葫芦岛市| 南澳县| 丘北县| 牙克石市| 镇远县| 商丘市| 松江区| 正镶白旗| 阳曲县| 怀集县|