linux怎么查看本机内存大小
249
2022-11-21
通过FPGA对VGA进行控制实现任一彩色图像显示
引言
1 VGA显示
常见的VGA接口的彩色显示器,一般由cRT(阴极射线管)构成,色彩由R.G.B(红:Red,绿:Green,蓝:Blue)三基色组成.显示采用逐行扫描的方式进行,即当扫描完一行时,再进行下一行的扫描,直到最后一行扫描完为止.VGA接口为显示器提供两类信号,一类是数据信号,一类是控制信号.
数据信号包括红.绿.蓝信号,简称RGB信号.控制信号包括水平同步信号(HSYNC)和垂直同步信号(VsYNc).向显示器输出不同的分辨率时,水平同步信号和垂直同步信号的频率也不同.但是水平同步信号和垂直同步信号时序分析相同,在扫描时均需要经过同步信号.同步后信号.行同步信号.同步后信号四个时段.仅以水平同步信号为例,其结构如图1所示.
VGA接口的显示器原理其实就相当于点阵,通过控制器的控制,点亮所在的行和列.所以水平同步信号是针对列像素而言的,而垂直同步信号是针对行像素而言的.
以显示800×600的图片大小为例,根据VGA的时序标准,选择6hz的刷新频率.水平同步信号的同步信号包含128个列像素,同步后沿信号为88个列像素,同步前沿信号为40个列像素,而屏幕显示部分为800个列像素,所以一共需要1 28+88+40+800=1 056个列像素.场同步信号的同步信号包含4个行像素,同步后沿信号包含23个行像素,同步前沿信号包含1个行像素,而屏幕显示部分为600个行像素,所以一共需要4+23+l+600=628个行像素,由此,液晶显示器显示一幅800×600的图像,需要的行列像素分别为1056和628.
2系统总体框架设计
本系统以FPGA EP2C8Q208C8为核心芯片,通过对VGA接口的控制,实现彩色图像的显示,系统结构框图如图2所示.
2.1锁相环PLL
2.3 MATLAB的数据提取
由于MATLAB软件中默认的图片格式为。JPc和。BNP,因此在使用MATLAB前需将原始图片通过Photo sh叩软件进行格式转换,转换后保存图片为。BMP格式,在弹出的位宽选择对话框选择24位,然后再通过MATLAB提取红基色数据,程序如下所示,结果被保存在Red.mif文件里:
由于本设计所使用的VGA是三位的数据接口,因此蓝基色和绿基色数据也按照此方法提取.Red.mif中的数据是24位的,所以还需要对提取到的红基色数据进行转换.在MATLAB中做如下判断将24位数据转换为3位数据.
3结果分析
图像的显示如图3所示,显示结果表明,由于原图像是24位,即224种颜色,而FPGA控制的VGA只有3位即23种颜色,相比之下,以24位的图像作为标准,VGA显示的3位图像有明显失真的现象.
如果希望显示的图像更加清晰,那么需要将vGA的显示接口重新作出电路修改,这样才能达到清晰显示的效果.
4结束语
通过FPGA对VGA接口的控制,不仅实现了FPGA对任一图像的显示,而且其内部时钟可调性为设计带来了很大的方便,节约了硬件成本.此方案可以广泛应用于数字视频系统.高分辨率的彩色图片图像处理.视频信号再现等各种领域.
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~