2024年5月19日发(作者:良明凝)
电子线路测试与实验报告
基于FPGA的VGA显示实验
姓名:
专业班级:光电1208
学号:U2012
一、实验要求
功能要求:利用Basys2实验板实现图片在VGA接口显示器上的显示。
基本要求:
1)实现240*160以上像素的图片在VGA接口显示器上的显示;
2)利用算法实现特定图片在VGA接口显示器上的放大、缩小旋转及其他动作的自动
变换。
二、实验具体目标
1.首先实现特定图片在显示器上的显示;
2.图片自动旋转90度;
3.实现图片的放大与缩小,同样通过一个按键实现;
4.添加复位键,按下复位键后图片返回最初的状态。
三、实验原理
的显示原理
在基于FPGA的VGA控制中,只需考虑行同步信号(HS),场同步信号(VS),以
及红绿蓝三基色(R、G、B)这五个信号,即可实现对VGA显示的控制。
2.对图片的旋转与缩放操作
对图片的旋转操作在本质上是对IP核ROM的输入地址addr进行变换的过程。在这
里,假定显示的坐标分别为x_vdn以及y_vdn,由于图片是160*40的,在正常的显示时,
addr与x_vdn以及y_vdn的对应关系应该为:
addr=x_vdn+y_vdn*160
即依次取像素点,图片正常显示。要把图片顺时针旋转90度,那么相当于显示的图片
是40*160的,重新考虑addr与两个坐标之间映射关系。容易得到,此时:
addr=(39-x_vdn)*160+y_vd
对图片的缩放操作
对图片的缩放操作则只考虑以下两种变化,即放大一倍,此时图片的大小为320*80;
缩小一倍,此时图片的大小为80*20。
对于图片的放大一倍,则要考虑不同的像素点对显示信号的共用(在这里即为m信号)。
由通常的规则,按照顺序,构成一个正方形的每四个相邻的像素点共用一个m信号。同时,
在这里对x_vdn以及y_vdn的最后一位判断,并且形成不同的映射规则。具体的映射规则在
源代码中给出。
对于图片的缩小,则相对简单的多。此时的映射关系为:
addr=y_vdn*320+x_vdn*2;
3.工程结构与解读
如图,下图为系统的结构框图。
2024年5月19日发(作者:良明凝)
电子线路测试与实验报告
基于FPGA的VGA显示实验
姓名:
专业班级:光电1208
学号:U2012
一、实验要求
功能要求:利用Basys2实验板实现图片在VGA接口显示器上的显示。
基本要求:
1)实现240*160以上像素的图片在VGA接口显示器上的显示;
2)利用算法实现特定图片在VGA接口显示器上的放大、缩小旋转及其他动作的自动
变换。
二、实验具体目标
1.首先实现特定图片在显示器上的显示;
2.图片自动旋转90度;
3.实现图片的放大与缩小,同样通过一个按键实现;
4.添加复位键,按下复位键后图片返回最初的状态。
三、实验原理
的显示原理
在基于FPGA的VGA控制中,只需考虑行同步信号(HS),场同步信号(VS),以
及红绿蓝三基色(R、G、B)这五个信号,即可实现对VGA显示的控制。
2.对图片的旋转与缩放操作
对图片的旋转操作在本质上是对IP核ROM的输入地址addr进行变换的过程。在这
里,假定显示的坐标分别为x_vdn以及y_vdn,由于图片是160*40的,在正常的显示时,
addr与x_vdn以及y_vdn的对应关系应该为:
addr=x_vdn+y_vdn*160
即依次取像素点,图片正常显示。要把图片顺时针旋转90度,那么相当于显示的图片
是40*160的,重新考虑addr与两个坐标之间映射关系。容易得到,此时:
addr=(39-x_vdn)*160+y_vd
对图片的缩放操作
对图片的缩放操作则只考虑以下两种变化,即放大一倍,此时图片的大小为320*80;
缩小一倍,此时图片的大小为80*20。
对于图片的放大一倍,则要考虑不同的像素点对显示信号的共用(在这里即为m信号)。
由通常的规则,按照顺序,构成一个正方形的每四个相邻的像素点共用一个m信号。同时,
在这里对x_vdn以及y_vdn的最后一位判断,并且形成不同的映射规则。具体的映射规则在
源代码中给出。
对于图片的缩小,则相对简单的多。此时的映射关系为:
addr=y_vdn*320+x_vdn*2;
3.工程结构与解读
如图,下图为系统的结构框图。