fpga控制vga显示黑白图片
1
在前几次的实验中,我们了解了VGA的时序,VGA的时序感觉是非常有意思的,摄像头、LCD和VGA的时序和VGA的实现都差不多,大体的时序都是相同的。VGA接口的显示器原理其实就相当于点阵,通过控制器的控制,点亮所在的行和列。所以水平同步信号是针对列像素而言的,而垂直同步信号是针对行像素而言的。知道了VGA的时序,此刻我们会很迫不及待的想要让VGA显示屏上显示一张我们想要的一张图片,今天,我们就来显示一张简单的图片,黑白图片。
像素是指在由一个数字序列表示的图像中的一个最小单位,例如300x300PPI分辨率,即表示水平方向与垂直方向上每英寸长度上的像素数都是300,水平方向上和垂直方向上都有300个像素点,而每一个像素点都16位或者24位的数据来进行显示,色彩使用RGB三种颜色来进行表示,这也是我们所说的RGB565和RGB888,RGB565代表红色5位、绿色6位、蓝色5位来进行表示,RGB888则代表着红、绿、蓝分别为8位数据。
在RGB16位的表示过程中,黑色则为0XFF,白色为OX00。在VGA显示黑白图片的过程中,首先我们需要一张黑白图片,我们选取了一张分辨率为240*240的图片,由于图像信息用的是黑白的BMP,也就是说1bit代表1个像素点的色彩信息。
2
FPGA显示图片的原理:将图片内容存在FPGA的内部block rom里面。然后写一个VGA控制模块,将rom的值依次发送,这样显示器就可以显示图片了。Rom模块只能识别.mif问爱你,所以我们需要将我们需要展示的图片首先存储在rom中。
(1) 将bmp黑边图片转化为.mif文件。转换软件是BMF2Mif。将黑白图片转化为.MIF文件,不过转化的位为1bit,因为黑白图片要么为1要么为0,这样节约存储空间。
(2) quartus建立工程,在项目中添加rom模块,将rom模块的深度和位深度设置。Rom的大小可以随便设置,只要大于240*240就可以,因为图片的分辨率为240*240。
(3)添加VGA显示驱动,读取rom中数据,用于在VGA显示屏显示黑白图片。
3
结果演示:
fpga控制vga显示黑白图片相关推荐
- FPGA实现VGA显示(三)——————单个字符显示
这里笔者首先记录一个问题,给自己提个醒,所有的模块都有一点点的问题,在行数列数都可能有一行像素的误差,有可能是在驱动和显示模块的问题,等后面修改,这里第一次做,只要不影响显示,实现功能. 字符显示只修 ...
- 基于FPGA的VGA显示对贪吃蛇游戏的设计
基于FPGA的VGA显示对贪吃蛇游戏的设计 摘要 目前,电子数码产品已经进入了人生活的方方面面,而大多数电子产品都依靠显示屏来传递信息,由此可见用电路对显示屏进行控制的研究有很大的实用价值和市场需求. ...
- FPGA学习——VGA显示
FPGA学习--VGA显示 一.VGA原理 (一)VGA协议 (二)VGA端口结构 (三)⾊彩原理 (四)扫描原理 1.扫描方式 2.逐行扫描 3.隔行扫描 (五)⾏场信号 二.显示姓名学号 (一)实 ...
- ddr传输 pl ps_Vitis ZYNQ开发秘籍 PS 端任意控制 VGA 显示画面最终实现
上一篇文章,<Vitis ZYNQ开发秘籍>- PS 端任意控制 VGA 显示画面的硬件架构,已经介绍了在 Vivado 中需要调用的 IP 已经各 IP 间的连线.而在实现显示的功能,咱 ...
- 基于FPGA的VGA显示彩条、字符、图片
目录 一.VGA介绍 (一) VGA协议 (二) VGA端口介绍 (三) 色彩原理 (四)VGA显示原理 VGA通信协议: VGA时序解析 时钟分频 二.实现 1.彩条显示 2.字符显示 3.图片显 ...
- 【FPGA】VGA显示文字、彩条、图片——基于DE2-115
录 一.VGA概述 1.1 简述 1.2 管脚定义 1.3 行.场时序及分辨率 二.VGA显示文字 2.1 点阵汉字生成 2.2 工程建立 2.3 引入ip核-实现特定时钟频率+不同分辨率显示 2.3 ...
- 基于FPGA的VGA显示图片
一.显示一张彩色图片 设计需求: 在VGA接口的显示屏上显示一张180*120彩色图片. 需求分析 (1)对图片裁剪及取数据 a.使用画图软件/美图秀秀将图片像素裁剪成180*120大小. b.取数据 ...
- FPGA实现VGA显示(五)——————配置ROM测试及图片显示(b)
如何使用ISE生成ROMip显示彩色图片 这里设置宽度,这里深度设置设置的是9200,设置的时候进行简单计算. 例化可以直接得到,修改内部连线即可 ROM简单测试总结 前面显示代码其实是有问题的,因为 ...
- FPGA实现VGA显示(二)——————color_bar显示及方框移动(参考开拓者FPGA开发指南)
首先感谢所有开源分享资源的博主或者机构个人,这篇主要参考开拓者FPGA开发指南.通过分析代码,理清思路. 主要分为四个模块,顶层模块,时钟分频模块,VGA显示模块,VGA驱动模块.前三个模块在任何时候 ...
最新文章
- ThinkPHP的标签制作
- var_export-输出或返回一个变量的字符串表示
- 一个项目的开发流程是怎样的? 原名:「只差程序员」离优秀的产品还有多远?...
- 【代码段】UITableView Section圆角
- O(N) 求 1~N 逆元 模板及证明
- Mac下cocos2dx-3.2+Xcode环境配置和项目创建
- 大数据与Hadoop
- 自制hdmi线一头改vga图_东莞VGA数据线厂商价格
- 荣耀x10max能不能升级为鸿蒙,荣耀X10 Max即将亮相:容量很“放肆” 身材却很“克制”...
- 下载所有需要的rpm文件路径
- 一个奇怪的发现:html与body,body的margin对html不起作用,html的padding对body却起作用
- Windows下Vim设置
- 甲骨文超 IBM 成全球第二大软件公司
- CCS6.2.0 安装步骤详解
- 解决超星网课问题之不能查询后台观看数据和不能观看超时被锁的课程
- java wms erp自动化立体仓库管理系统 进出库 源码 源代码 程序
- 【二级等保】二级等保安全物理环境要求有哪些?
- 高斯模糊磨皮——ps
- Java语言,什么是Java语言?Java的版本。
- linux命令之一 diff(2) 命令用法