FPGA驱动VGA彩条显示

背景:显示屏在我们日常生活中随处可见,常见的显示屏接口有四种,按照显示的高清度来分,性能是DP>HDMI>DVI>VGA,这里说一下基于FPGA驱动VGA显示的原理。

硬件设施:开发板是Intel的cyclone IVE系列EP4CE4F17C8 ,显示屏是三星的,最高支持1080P的分辨率。

基本概念:
帧率:一秒内画面刷新的次数,帧率高我们看起来画面更流畅,但是超过一定限度我们人眼就分辨不出来了,同时这还要看你显示屏硬件所能支持的帧率范围。即在自己实际硬件资源支持的前提下选择合适的帧率即可,而不是越大越好

场同步信号vs_sync:有的地方也叫帧同步信号,VGA扫描整个一帧数据时的同步信号

行同步信号hs_sync:VGA扫描每一行数据的同步信号

有效信号de:这个信号在我们驱动VGA显示的时候其实用不上,也就是说它并没有相对应的硬件接口。

VGA驱动时钟clk:这里特意将这个信号拿出来做一下说明,VGA协议中是有驱动时钟clk这个信号的,但是现在网上的VGA资料一般都省略了信号,再加上EP4CE4F17C8这块开发板对VGA信号做过了特殊处理,只用hs_sync和vs_sync和数据线三个信号就能驱动VGA,导致我习惯了不给VGA驱动时钟,直到用到另一块cyclone V系列的开发板调视频流驱动VGA显示的时候,显示屏一直不能出来正确数据,但是用signal_tap抓出来的hs、vs、以及RGB数据都是对的,最后调了好几天,发现就是因为时钟驱动clk没加。血的教训。
关于VGA的时序图我就不画了,网上一搜一大堆

最后效果:
在这里插入图片描述
附上代码:CSDN代码下载地址
(理解行列计数器什么时候将hs、vs拉高、拉低即可)
嫌麻烦的也可以直接私聊我发你

猜你喜欢

转载自blog.csdn.net/jiyishizhe/article/details/103254848
今日推荐