FPGA--VGA显示驱动实验

        学习图像处理的第一步,我想从VGA显示开始。本篇文章基于野火FPGA教程,分享自己在实验过程中的感悟。

        何为VGA?

    

        VGA是一种接口,也是一种协议,它共有 3x5 共15个引脚,其中每个引脚的定义如下:

 

图片来源:野火FPGA 

                VGA接口看似繁杂,实际上我们只需要重点关注这几个引脚:

  • 引脚1、2、3 :红基色,绿基色,蓝基色,输入为三路模拟信号的电压范围为 0V ~ 0.714V0V 代表无色,0.714V 代表满色。
  • 引脚13:行同步信号
  • 引脚14:场同步信号

 VGA显示的原理

        

         简单概括就是:从左到右,从上到下,逐行扫描,逐帧显示。

 VGA的时序标准

        VGA的时序主要由两部分组成:显示每一行像素的行同步时序与选定显示行数的场同步时序。 

        行同步时序:

        

        行同步时序由六部分组成,分别为:Sync(同步)、Back Porch(后沿)、Left

Border(左边框)、“Addressable” Video(有效图像)、Right Border(右边框)、Front

Porch(前沿)组成,这 6 部分的基本单位 pixel (像素),即一个像素时钟周期。

        与行同步时序相同,场同步时序也是由类似的六个部分组成,但不同的是 :场扫描周期单位不是像素时钟周期,而是完整的行扫描周期

        刚开始理解可能会有些迷糊,所以咱们来缕一缕这个关系:以640 X 480 的图像为例(一行640个像素,共480行):

        一副图像为一帧,对应一个场扫描周期,场扫描周期的最小组成单位为行扫描周期,行扫描周期的最小组成单位为像素时钟周期

        也就是说,场扫描周期的有效周期有480个,对应480行,每个有效周期包含了一个行扫描周期,每个行扫描周期的有效周期包含了640个像素周期,代表一行有640个像素点。

(波形图中,cnt_h为行扫描周期计数,可以看出,一个行扫描周期包含800个像素时钟周期,cnt_v为场扫描周期计数,可以看出,场扫描的最小单位是行扫描周期) 

        由这个关系我们可以推出像素时钟周期的计算公式:

 (注意:扫描周期数是总的周期数,不要只计算有效周期数)

实验接口设计

 实验目标

        利用FPGA在显示屏上显示彩条。

 

实验整体框架

 (图片来源:野火电子FPGA)

下一篇将结合Verilog代码介绍各个模组的实现,特别鸣谢野火电子提供的参考资料。

 

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值