一、 概况
本章节根据显示器时序标准来生成1024 x 768 @ 60Hz的三色彩条。
二、标准时序参数
水平方向参数:
parameter H_SYNC_TIME = 136; // 行同步脉冲宽度:136 个像素时钟
H_SYNC_TIME 是行同步脉冲的宽度。HSYNC 每行拉低 136 个像素时钟,通知显示器"一行开始"。
parameter H_BACK_PORCH = 160; // 行后肩:160 个像素
H_BACK_PORCH(后肩):同步脉冲结束后、有效像素开始前的一段"消隐"时间。显示器需要这段时间从同步恢复。
parameter H_LEFT_BORDER = 0; // 左边框:0 个像素
左边框(可选),这里设 0,即没有额外边框。
parameter H_ACT_START = H_SYNC_TIME + H_BACK_PORCH + H_LEFT_BORDER;
// = 136 + 160 + 0 = 296
H_ACT_START 是有效像素的起始位置(第 296 个像素起是有效图像)。它是前面三者的累加。
parameter H_ACTIVE_TIME = 1024; // 有效像素数:1024 个像素
一行的有效图像宽度 = 1024 像素(XGA 标准宽度)。
parameter H_ACT_END = H_ACT_START + H_ACTIVE_TIME;
// = 296 + 1024 = 1320
H_ACT_END 是有效像素的结束位置(第 1320 个像素处结束)。
parameter H_TOTAL_TIME = 1344; // 一行总像素:1344
一行的总像素数(同步 + 后肩 + 有效 + 前肩)。1024 有效 + 320 消隐 = 1344。
垂直方向参数:
parameter V_TOTAL_TIME = 806; // 一帧总行数:806
一帧的总行数。
parameter V_SYNC_TIME = 6; // 场同步脉冲宽度:6 行
V_SYNC_TIME:VSYNC 每帧拉低 6 行,通知显示器"一帧开始"。
parameter V_BACK_PORCH = 29; // 场后肩:29 行
场后肩(同步结束后到有效行开始前的消隐行数)。
parameter V_TOP_BORDER = 0; // 上边框:0 行
上边框(可选),设 0。
parameter V_ACT_START = V_SYNC_TIME + V_BACK_PORCH + V_TOP_BORDER;
// = 6 + 29 + 0 = 35
V_ACT_START:有效图像的起始行(第 35 行起是有效图像)。
parameter V_ACTIVE_TIME = 768; // 有效行数:768
一帧的有效图像高度 = 768 行(XGA 标准高度)。
parameter V_ACT_END = V_ACT_START + V_ACTIVE_TIME;
// = 35 + 768 = 803
V_ACT_END:有效图像的结束行(第 803 行处结束)。
三、 VGA模块接口
行同步信号:
场同步信号:
数据有效标志:
彩条输出:
四、总结
本章完成了 1024×768@60Hz(XGA)标准显示时序的生成,并通过 VGA 接口输出红、青、白三色彩条,作为 HDMI 数据收发的显示验证基础。
本文章由威三学社威三学院出品
对课程感兴趣可以私信联系