集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 2699|回复: 5

雾盈FPGA笔记之(三十五)VGA显示彩色图片

[复制链接]
雾盈 发表于 2016-9-12 13:06:38 | 显示全部楼层 |阅读模式
本帖最后由 雾盈 于 2016-9-12 18:00 编辑

VGA显示8位彩色图片

                                               
雾盈 2016-9-12


雾盈FPGA笔记汇总目录


一、写在前面


这次讲VGA显示彩色图片,这篇写完,再写一篇怎么制作彩色图片mif文件的文章。



二、什么是VGA?

VGA(Video Graphics Array)是IBM在1987年随PS/2机一起推出的一种视频传输标准,具有分辨率高、显示速率快、颜色丰富等优点,在彩色显示器领域得到了广泛的应用。不支持热插拔,不支持音频传输。
现在,台式电脑显示器大多用的就是VGA显示,连接线就是VGA线,是下图这种。


       

三、VGA的扫描方式

        显示器扫描方式分为逐行扫描和隔行扫描:
        逐行扫描是扫描从屏幕左上角一点开始,从左向右逐点扫描,每扫描完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT 对电子束进行消隐,每行结束时,用行同步信号进行同步;
当扫描完所有的行,形成一帧,用场同步信号进行场同步,并使扫描回到屏幕左上方,同时进行场消隐,开始下一帧。

        隔行扫描是指电子束扫描时每隔一行扫一线,扫完一屏后再返回来扫描剩下的线。
        我们这里采用逐行扫描的方式。



  四、时序分析

由于列同步时序和行同步时序是一样的,我就只画了一个列同步时序图,如下图:

       

我们可以从示意图可以看到,列行时序都需要同步脉冲(a 段),显示后沿(b 段)、显示时序段(c 段)和显示前沿(d 段)四部分。
也可以这样说一个列行扫描周期 e=(a+b+c+d)
注意:同步脉冲(a段)要求是低电平脉冲信号。


a ,b ,c, d, e 代表多长时间呢,我们看一下VGA显示参数标准,如下图:



我们这个设计,采用的是800*600*60 的显示模式。Pll时钟为40mhz
到这里这样我们就很容易的将行列的时序用verilog语言描述出来了。

五、框图


       


六、代码思路及解释

1)首先,写出行列扫描

       

列信号没扫描完毕一行时,行信号开始扫描一列,循环往复。

2)输出行列同步信号vga_row,vga_col



3)显示有效区域使能信号



4)输出目的显示区域使能信号送给rgb显示模块



5)rgb显示模块



只是一个地址计数器,和rom数据进入,通过rgb引脚输出显示。
注意的是,{3{a}}等同于{a,a,a}

后面附上源代码:
下一篇写,彩色图片mif制作。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 雾盈 发表于 2016-9-12 14:38:52 | 显示全部楼层
TIANSHANGTUP
芙蓉王 发表于 2016-9-13 09:18:53 | 显示全部楼层
         
zxopenwgb 发表于 2016-9-20 11:32:11 | 显示全部楼层

               
武123456 发表于 2016-11-14 10:18:42 | 显示全部楼层
跟着大神学习  不错
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-6-29 16:28 , Processed in 0.082046 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表