一、pin定义
VGA 接口引脚图和各引脚定义表格:
VGA 接口共有 15 个引脚,分为 3 排,每排各 5 个, 按照自上而下、从左向右的顺序排列。其中第一排的引脚 1 、 2 、 3 和第三排的引脚 13 、 14 最为重要。
引脚 1 红基色 (RED) 、引脚 2 绿基色 (GREEN) 、引脚 3 蓝基色 (BLUE) 就是 VGA 接口中负责传输三原色的传输通道。要注意的是,这 3 个引脚传输的是模拟信号。
引脚 13 行同步信号 (HSYNC) 、引脚 14 场同步信号 (VSYNC) ,这两个信号,是在 VGA显示图像时,负责同步图像色彩信息的同步信号
引脚6/7/8分别是R G B信号对应的GND;引脚10是VSYNC/HSYNC对应的GND
其他引脚在不同的实现下有不同的作用,其中引脚12/15比较重要,在支持DDC/CI功能的实现中,这两个引脚分别用作SDA/SCL,主要作用有读取EDID、 DDC/CI控制Monitor等
二、扫描方式
VGA显示器扫描方式分为逐行扫描和隔行扫描:逐行扫描是扫描从屏幕左上角一点开始,从左像右逐点扫描,每扫描完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT对电子束进行消隐,每行结束时,用行同步信号进行同步;当扫描完所有的行,形成一帧,用场同步信号进行场同步,并使扫描回到屏幕左上方,同时进行场消隐,开始下一帧。隔行扫描是指电子束扫描时每隔一行扫一线,完成一屏后在返回来扫描剩下的线
三 信号
行场信号共有 4 种模式,即 hsync 和 vsync 的高低状态不同:
Positive Hsync + Positive Vsync
Positive Hsync + Negative Vsync
Negative Hsync + Negative Vsync
Negative Hsync + Positive Vsync
这里以Positive Hsync + Positive Vsync为例:
一个完整的行扫描周期,包含 6 部分:
Sync (同步)、 Back Porch (后沿)、 Left Border(左边框)、 “Addressable” Video (有效图像)、 Right Border (右边框)、 Front Porch(前沿),这 6 部分的基本单位是 pixel (像素),即一个像素时钟周期。
Back proch和Left border常常加在一起称为“显示后沿”, Right porder和Front porch常常加在一起称为“显示前沿”
在一个完整的行扫描周期中,Video 图像信息在 HSync 行同步信号的同步下完成一行图像的扫描显示,Video 图像信息只有在 “Addressable” Video (有效图像)阶段,图像信息有效,其他阶段图像信息无效。
一个完整的场扫描周期,也包含 6 部分:
Sync (同步)、 Back Porch (后沿)、 Top Border(上边框)、 “Addressable” Video (有效图像)、 Bottom Border (底边框)、 Front Porch(前沿),与行同步信号不同的是,这 6 部分的基本单位是 line (行),即一个完整的行扫描周期。
四、信号同步
VGA接口的HSYNC/VSYNC信号线并不是必须的,根据是否存在HSYNC/VSYNC, VGA信号分为三线同步、4线同步、5线同步
1. 5线同步,不用多讲,HSYNC/VSYNC单独做两位两个信号线
2. 四线同步, HSYNC xor VSYNC,在HSYNC信号线上传输
3. 三线同步, HSYNC xor VSYNC, 在Green信号线上传输
显示器是否支持3线或者4线,可以从EDID的ox14h Video Input Definition判断
五、sink端解析
1. sink端如何解析时序
不同时序的Hsync/Vsync/hbp/hfp/vbp/vfp等时长都不相同,另外需要注意的是,虽然RGB信号是模拟信号,但是HSYNC/VSYNC仍然是数字信号,sink端计算出hsync/vsync等时长后,便可以从时序列表中找到对应的时序
2. sink端 rgb信号的采集
rgb信号是模拟信号,source端通过DAC将数据转换为模拟信号,sink端通过ADC采集信号
信号转换的量化有8bit/10bit等
注意这里要区别RGB888 RGB565这些格式是图像存储格式,和ADC/DAC的量化参数没有关系,sink端也不需要知道source的图像的存储格式是什么
至于是否存在source端DAC 8bit量化, sink端ADC 10bit量化 这种不一致的情况,这个应该是可能存在的,但这个应该只会导致画面质量有差别,并不会导致花屏等严重异常
时序信息一般从EDID获取,也可以直接获取相关时序信息,参考网站为:
Video Timings Calculator (tomverbeure.github.io)
VGA时序协议spec:
最新版VGA协议下载分享:最新版VGA协议下载 - GitCode
martin.hinner.info/vga/timing.html
参考网址:
VGA (Video Graphics Array) Interface and video signal documents (hinner.info)
多种接口hdmi/dp/dvi协议及cea标准文档路径: