大家好,欢迎来到IT知识分享网。
以下内容来自正点原子的FPGA开发指南,觉得讲的不错,就搬了过来。
一、VGA简介
从上面两幅图中我们可以看到VGA传输过程中的行同步时序和场同步时序非常类似,一行 或一场(又称一帧)数据都分为四个部分:低电平同步脉冲、显示后沿、有效数据段以及显示前沿。
行同步信号HSYNC在一个行扫描周期中完成一行图像的显示,其中在a段维持一段时间的低电平用于数据同步,其余时间拉高;在有效数据期间(c段),红绿蓝三原色数据通道上输出一行图像信号,其余时间数据无效。
与之类似,场同步信号在在一个场扫描周期中完成一帧图像的显示,不同的是行扫描周期的基本单位是像素点时钟,即完成一个像素点显示所需要的时间;而场扫描周期的基本单位是完成一行图像显示所需要的时间。
早期的VGA特指分辨率为640X480的显示模式,后来根据分辨率的不同,VGA又分为VGA(640×480)、SVGA(800×600)、XGA(1024×768)、SXGA(1280×1024)等。不同分辨率的VGA显示时序是类似的,仅存在参数上的差异,如图 18.1.5所示。
需要注意的是,即便分辨率相同,刷新速率(每秒钟图像更新次数)不一样时,对应的VGA像素时钟及时序参数也存在差异。例如,显示模式 “640480@75”刷新速率为75hz,与相同分辨率下刷新速率为60hz的“640480@60”模式相比,像素时钟更快,其他时序参数也不尽相同。
二、FPGA上VGA接口部分的原理图
以正点原子的开拓者开发板为例
这部分的原理图很关键,因为我们并不是在代码中直接将图像数据转换成RGB三路模拟信号,而是由开发板上的转换电路实现的。我们在代码中要做的,就是获取正确的RGB565格式的数据,然后由转换电路转换成RGB三路模拟信号输出给显示器。
从上图中可以看到,FPGA管脚输出的颜色数据位宽为16bit,数据格式为RGB565,即数据高5位表示红色,中间6位表示绿色,低5位表示蓝色。RGB565格式的数据一共可表示65536种颜 色,此外常用的颜色数据格式还有RGB888,数据位宽越大,可以表示的颜色种类就越丰富。
由前面的简介我们知道,VGA传输的是模拟信号,因此需要对FPGA输出的RGB565颜色数据进行数模转换。此过程可以通过专用的视频转换芯片(如ADV7123)来实现,在这里我们采用另外一种更简单的方案——利用电阻匹配网络来实现数字信号到模拟信号的转换,如图18.3.1所示。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/138365.html