浅谈VGA显示器

1、VGA显示器视频时序

2、VGA时序参数的定义

//480x272 9Mhz
`ifdef  VIDEO_480_272
parameter H_ACTIVE = 16'd480;  //horizontal active time (行有效数据pixels)
parameter H_FP = 16'd2;        //horizontal front porch (行显示前沿pixels)
parameter H_SYNC = 16'd41;     //horizontal sync time   (行同步pixels)
parameter H_BP = 16'd2;        //horizontal back porch  (行显示后沿pixels)
parameter V_ACTIVE = 16'd272;  //vertical active Time   (场有效数据lines)
parameter V_FP  = 16'd2;       //vertical front porch   (场显示前沿lines)
parameter V_SYNC  = 16'd10;    //vertical sync time     (场同步lines)
parameter V_BP  = 16'd2;       //vertical back porch   (场显示后沿lines)
`endif
//640x480 25.175Mhz
`ifdef  VIDEO_640_480
parameter H_ACTIVE = 16'd640;
parameter H_FP = 16'd16;
parameter H_SYNC = 16'd96;
parameter H_BP = 16'd48;
parameter V_ACTIVE = 16'd480;
parameter V_FP  = 16'd10;
parameter V_SYNC  = 16'd2;
parameter V_BP  = 16'd33;
`endif
//800x480 33Mhz
`ifdef  VIDEO_800_480
parameter H_ACTIVE = 16'd800;
parameter H_FP = 16'd40;
parameter H_SYNC = 16'd128;
parameter H_BP = 16'd88;
parameter V_ACTIVE = 16'd480;
parameter V_FP  = 16'd1;
parameter V_SYNC  = 16'd3;
parameter V_BP  = 16'd21;
`endif
//800x600 40Mhz
`ifdef  VIDEO_800_600
parameter H_ACTIVE = 16'd800;
parameter H_FP = 16'd40;
parameter H_SYNC = 16'd128;
parameter H_BP = 16'd88;
parameter V_ACTIVE = 16'd600;
parameter V_FP  = 16'd1;
parameter V_SYNC  = 16'd4;
parameter V_BP  = 16'd23;
`endif
//1024x768 65Mhz
`ifdef  VIDEO_1024_768
parameter H_ACTIVE = 16'd1024;
parameter H_FP = 16'd24;
parameter H_SYNC = 16'd136;
parameter H_BP = 16'd160;
parameter V_ACTIVE = 16'd768;
parameter V_FP  = 16'd3;
parameter V_SYNC  = 16'd6;
parameter V_BP  = 16'd29;
`endif
//1280x720
`ifdef  VIDEO_1280_720
parameter H_ACTIVE = 16'd1280;
parameter H_FP = 16'd110;
parameter H_SYNC = 16'd40;
parameter H_BP = 16'd220;
parameter V_ACTIVE = 16'd720;
parameter V_FP  = 16'd5;
parameter V_SYNC  = 16'd5;
parameter V_BP  = 16'd20;
`endif
//1920x1080 148.5Mhz
`ifdef  VIDEO_1920_1080
parameter H_ACTIVE = 16'd1920;
parameter H_FP = 16'd88;
parameter H_SYNC = 16'd44;
parameter H_BP = 16'd148;
parameter V_ACTIVE = 16'd1080;
parameter V_FP  = 16'd4;
parameter V_SYNC  = 16'd5;
parameter V_BP  = 16'd36;
`endif
parameter H_TOTAL = H_ACTIVE + H_FP + H_SYNC + H_BP;//horizontal total time (pixels)
parameter V_TOTAL = V_ACTIVE + V_FP + V_SYNC + V_BP;//vertical total time (lines)

3、VGA驱动设计
VGA的驱动常见以下三种:

  1. 电阻分压式RGB332显示

  2. 电阻分压式RGB565显示
    RGB565转RGB888遵守原则:高位对齐;低位补0。

  3. ADV7123 芯片驱动RGB888显示
    VGA_BLANK_N表示效时间段。
    VGA_SYNC_N 灰电平控制端(TTL 兼容)为低时,使模拟输出 IOR、 IOB、IOG 为灰电平级 ,与 R0-R9、 G1-G9、 B0-B9的输入无关,它在时钟上升沿被锁存。SYNC 同步信号控制端(TTL 兼容)为低时,输出将关掉 40 IRE 的电流,此电流与内部的 IOG 输出相连。由于此端与其它控制端和输入数据信息无关,因此只需在灰电平间隔期间断定。它在时钟上升沿被锁存。SYNC是单独的视频同步控制输入 ,如果不需要把同步信号信息,则 SYNC 输入端应该与逻辑低相连。

4、驱动VGA信号的输出

always @(posedge clk or negedge rst_n)
beginif(!rst_n)vga_en   <= 1'b0;//使能信号else if(h_cnt >= (H_SYNC + H_BP) && h_cnt < (H_SYNC + H_BP + H_ACTIVE)&& v_cnt >= (V_SYNC + V_BP) && v_cnt < (V_SYNC + V_BP + V_ACTIVE))vga_en   <= 1'b1;elsevga_en <= 1'b0;
end
assign vga_hs = (h_cnt < H_SYNC- 1'b1) ? 1'b0 : 1'b1;//行同步信号
assign vga_vs = (v_cnt < V_SYNC- 1'b1) ? 1'b0 : 1'b1;//场同步信号
assign DE     = 1'b0;                             //同步信号低电平
assign BL     = ~((h_cnt<(H_SYNC+H_BP+H_FP))||(h_cnt<(V_SYNC+V_BP+V_FP)));  //当行计数器小于行空白总长或场计数器小于场空白总长时,空白信号低电平

浅谈HDMI显示器

HDMI 是新一代的多媒体接口标准,英文全称是 High-Definition Multimedia Interface,即高清多媒体接口。它能够同时传输视频和音频,简化了设备的接口和连线;同时提供了更高的数据传输带宽,可以传输无压缩的数字音频及高分辨率视频信号。
1.HDMI引脚
HDMI有A,B,C,D,E五种引脚类型,目前市面中比较常见的就是Type A:


2.传输原理
TMDS(Transition Minimized Differential signal),最小化传输差分信号
3. 采用技术

  1. 传输最小化
    并行8位数发送至TMDS发送端——并串转换——编码(添加第九位编码位)
  2. 直流平衡
    保证信道中直流偏移为零(添加第十位)
  3. 差分信号
    保证传输期间噪声不会影响最终数据的准确性

4. 传输流程
HDMI TMDS传输的数据类型有三种(加上Hsync与Vsync就算四种):
Preamble(控制信息):主要用于控制接下来传输的数据是Data Island或者Video Data。
Data Island(数据包):各种类型的包信息,包括音频数据包,图像信息包等。
Video Data(视频信息):视频像素数据,HDMI可以传输RGB与YUV两种格式的像素数据。

传输格式 功能描述
Hsync/VSync Hsync=Channel0[0];Vsync=Channel0[1]
Preamble {CTL0,CTL1,CTL2,CTL3}={Channel1[1:0],Channel2[1:0]}
Video Data RGB888格式数据会占用三个通道,B=Channel0[7:0];G=Channel1[7:0];R=Channel2[7:0]
Data Island Island Header(包头)=Channel0[3:2];Data Island Content(包内数据)={Channel1[0:3],Channel2[0:3]}

5. 传输周期

HDMI传输视频时序及时序参数与VGA显示器是相同的,具体可参考上文。
6. HDMI驱动设计(I nput-Video Data)

  1. FPGA直接驱动型
  2. Sil9134芯片驱动型

VGA/HDMI显示器驱动设计相关推荐

  1. FPGA—HDMI 显示器驱动设计与验证(附代码)

    目录 1.理论 2.实操 2.1 顶层模块 2.2 时钟生成模块 2.3 HDMI 驱动控制模块 2.3.1 编码模块 2.3.2 并行转串行模块 2.4 顶层仿真验证 3.总结 1.理论 HDMI简 ...

  2. HDMI显示器驱动设计与验证

    HDMI显示器驱动设计与验证 HDMI组成 HMDI数据传输图 TMDS信号连接图 HDMI彩条显示实验整体框图

  3. FPGA的学习:HDMI显示器驱动设计与验证

    HDMI的顶层模块设计如图所示: 其中包含了一个时钟产生电路,vga_pic模块,vga_ctrl模块,hdmi_ctrl模块. 各个模块的设计图如下: 其中还要用到一个encode模块: 还要用到p ...

  4. VGA显示器驱动设计与验证

    VGA显示器驱动设计与验证 1.VGA显示原理 VGA显示器显示图像,并不是直接让图像在显示器上显示出来,而是采用扫描的方式,将构成图像的像素点,在行同步信号和场同步信号的同步下,按照从上到下.由左到 ...

  5. HDMI显示驱动设计及验证

    项目场景: HDMI:High Definition Multimedia Interface(高清多媒体接口)2004 VGA:Video Graphics Array(视频图形阵列)1987 DV ...

  6. VGA系列之一:VGA显示器驱动篇

    在这周里边,学习的内容包括两个主要的部分:UART通信和VGA显示器.串口通信是这周的前半周讲的,下半周讲的是VGA.在我们的这篇文章中,先来讲下VGA.当然在VGA实验中,我们暂时只做了5个小实验: ...

  7. 【五一特刊】FPGA零基础学习:VGA协议驱动设计

    本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的"傻瓜式"讲解,让电子.信息.通信类专业学生.初入职场小白及打算进阶提升的职 ...

  8. 英伟达显示器停止服务器,NVIDIA 451.67版显卡驱动发布:修复23个Bug、拯救144Hz HDMI显示器...

    NVIDIA刚刚发布了GeForce 451.67正式版显卡驱动,照例又是一个Game Ready游戏优化驱动,特别针对<死亡搁浅>(Death Stranding).<地平线:零之 ...

  9. TFT显示屏驱动设计与验证

    TFT显示屏驱动设计与验证 RGB 接口的 TFT 屏扫描方式和 VGA (Video Graphics Array)标准类似,也是使用行列扫描的方式.在介绍 TFT 屏扫描原理之前,先来介绍下 VG ...

最新文章

  1. 2022-2028年中国ABS管行业市场全景调研及发展趋势分析报告
  2. 量子霸权是个模糊的里程碑
  3. python3 url 编码 解码
  4. PMP-【第6章 项目进度管理】-2021-2-11(136页-160页)
  5. 【C/C++】C语言复习笔记-17种小算法-解决实际问题
  6. 信息系统项目管理师复习第1小时
  7. JS——实现短信验证码的倒计时功能(没有验证码,只有倒计时)
  8. HDU 1233 还是畅通工程(最小生成树)
  9. 图片服务 - thumbor自定义检测
  10. webpack5学习与实战-(八)-配置打包后的文件名
  11. 用python爬虫抓站的一些技巧
  12. ST-Link驱动安装不正确,设备管理器黄色感叹号,win10安装stlink驱动
  13. 金融现金贷用户数据分析和用户画像(基于12万真实数据)
  14. 干货分享 | 4万字全面解读数据中台、数据仓库、数据湖(建议收藏)
  15. 路由实验7777777
  16. 二等水准测量记录数据_二等水准测量外业数据整理(往返测).doc
  17. 工业版树莓派 CM3
  18. 西瓜口袋拼团商城系统搭建相关问题
  19. linux检查邮件命令,linux下mail 邮件查看命令
  20. Vscode中搜索字符串失败,报错“Spawn ${path}\ressources\app\node_module.asar.unpacked\vs-code-ripgrep\bin\rg.exe“

热门文章

  1. PyQt5 menu菜单栏设置
  2. Linux删除大文件后磁盘空间未释放问题
  3. FTP文件乱码导致的无法删除
  4. OrangePIPC2---红外模块(一)
  5. 7068 Dota2 Pro Circuit 杭电多校(2021“MINIEYE杯”中国大学生算法设计超级联赛9) [贪心+双指针]
  6. java关键字abstract(抽象)详解
  7. bigpipe php,php 使用 bigpipe技术 简单笔记
  8. 用普通调光器即可实现变色温调光的LED灯驱动控制芯片NU403
  9. 256色,16,24,32位色的名词解释
  10. 2017年复合材料与高分子科学工程国际会议(CMPSE2017)