623|1

4908

帖子

19

TA的资源

版主

楼主
 

FPGA实现VGA接口驱动设计验证 [复制链接]

 
vga接口驱动设计验证Verilog代码设计
一, 设计要求
根据vga接口协议以及开发板电路原理图,我们编写vga驱动逻辑电路,使其能够正常显示数据。
二, vga接口协议
扫描方式:从左到右,从上到下扫描;那么我们开始扫描的位置就在显示器左上角开始。
VGA(Video Graphics Array,视频图形阵列),是 IBM 于 1987 年提出的一个使 用类比讯号的电脑显示标准。VGA 是最多制造商所共同支持的一个低标准,个 人电脑在加载自己的独特驱动程式之前,都必须支持 VGA 的标准。 今天我们就来学习一下这个接口的驱动时序,让我们的设计从此色彩纷呈。 首先我们看一下 VGA 接口的电路原理图
电路视图
屏幕显示都是通过像素点集合起来形成的。
行脉冲信号:表示扫描完一行都会产生一个脉冲信号表示一行扫描完。
场脉冲信号:表示扫描完所有行(扫描完所有像素点)产生一个脉冲信号。
行脉冲信号产生的次数在扫描完所有像素点时:需要根据我们屏幕里包含多少行来决定。
场脉冲信号扫描完所有像素点只会产生一次。
行脉冲信号时序关系为:
行脉冲信号时序关系
我们扫描完一行所有像素点其包含a,b,c,d这四个区域。a,b,d区域我们称为消隐区域,不显示像素点数据。消隐区域像素点数据信号为低电平。
场脉冲信号时序和行脉冲信号时序一致。
蓝色区域为显示区域,白色区域为消隐区。
不同显示标准对应的行列数据表:
对应行列数据表
显示模式:640*480*60表示显示区域列包含640列,480行,60表示扫描完所有像素点的频率60hz,扫描完一帧的时钟频率。其后面表示的时钟都是以mhz为单位,其表示扫描一个像素点的时钟频率。表示扫描一个像素点时间1/(60*800*525),扫描像素点的频率为:60*800*525=25.2mhz。
设计系统架构
1:如何产生行脉冲信号?
我们如何确定扫描完一行,每一行包含了800个像素点,那么其对应的就是扫描时钟经过800个时钟周期,产生一个列计数器cnt_hs,列计数器的变化范围在0到799,可以根据列计数器产生行脉冲信号,cnt_hs 小于96时行脉冲信号为低电平,其他值时为高电平。
2:如何产生场脉冲信号?
扫描完所有像素点只会产生一次,扫描完所有行就可以表示将所有像素点扫描完,可以产生一个行计数器cnt_vs,行计数器变化一次的条件为:列计数器计数到最大值。表示所有的像素点扫描完:列计数器cnt_hs等于最大值且行计数器cnt_vs等于最大值。可以根据行计数器产生场脉冲信号,cnt_vs 小于2时场脉冲信号为低电平,其他值时为高电平。
3: 我们如何划分显示区域?
划分显示区域
当列计数器cnt_hs < 784且cnt_hs > 143时,同时行计数器cnt_vs>34且cnt_vs< 515时,就表示显示区域。
时序设计
驱动电路的端口信息:
行列脉冲信号以及像素点数据信号都是我们驱动电路产生给到vga接口的,那么就说明vga_hs,vga_vs,vga_rgb[7:0]是我们驱动电路的输出。
输入信号:系统时钟,系统复位。
下午练习:
以显示标准800*600*60为标准,将显示屏幕的范围划分为多个部分,每一个部分显示不同的颜色。
行代码
控制模块
仿真波形
 

最新回复

fpga需要代码量较大,感觉较难学习,自己diy的还是有难度   详情 回复 发表于 2024-10-23 10:51
点赞 关注
 

回复
举报

28

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

fpga需要代码量较大,感觉较难学习,自己diy的还是有难度

 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
推荐帖子
【Altera SoC体验之旅】+ DE1上跑完整的卷积神经网络

本帖最后由 zhaoyongke 于 2015-5-30 17:53 编辑 距离上次发帖有点久了,这段时间都在调试另一块Stratix V的板子。 闲话少 ...

【FPGA代码学习】之FFT(3) - IPcore的进一步仿真

本帖最后由 chenzhufly 于 2015-9-3 16:51 编辑 在上一篇《【FPGA代码学习】之FFT(3) - IPcore》中我们利用FFT IPcore自 ...

基于IPM05F 3Sh板:FOC电机控制400V无感有感编码器所有设计资料汇总(原理图/BOM表...

基于IPM05F3Sh板:FOC电机控制400V无感有感编码器所有设计资料汇总(原理图/BOM表/参考程序/调试说明等) IPM05F三电阻FOC电 ...

树莓派蓝牙基础——bluezero库的使用

本帖最后由 lb8820265 于 2021-8-8 22:50 编辑 linux系统中有很多操作蓝牙的库,这里介绍一个我认为最好的,bluezero库。 ...

关于MOS管并联温度降低的原因讨论

原先设计了个电路,测试交流电流大小,设计值是5A最大,有多个量程。量程切换是通过MOS管IRF540进行,这个管子Ids为33A,Vgs ...

25“万里”树莓派小车——纳姆轮控制

前面实现了使用手机对小车4个电机的控制,但是要让小车运动起来还是比较复杂。 纳姆轮特点 纳姆轮小车可以平向移动、旋 ...

便携式ESP32-S2网络服务器

595868 如果互联网突然消失了怎么办? 想成为凯文·科斯特纳(Kevin Costner)那样的英雄,并将《时代之前的文字》 ...

为什么一个seg引脚(用于液晶屏),将其ADS寄存器设置为数字时比设置为ADS功耗大40uA

本帖最后由 一沙一世 于 2022-5-30 13:18 编辑 为什么一个seg引脚(用于液晶屏,非COM引脚),将其ADS寄存器设置为数字时比设 ...

最后一天!TI 有奖直播 | 精密 ADC 在变送器中的应用

628132 直播主题:TI 精密 ADC 在变送器中的应用 直播时间:2022年08月19日 (星期五)上午10:00-11:00 内容简介 本 ...

惊!汽车领域必备DeviceNet转modbustcp网关应用

稳联技术ModbusTCP转DeviceNet网关在汽车领域的应用,不仅是一项技术创新,更是推动汽车制造业向智能化、自动化迈进的重要驱动力 ...

关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表