首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于FPGA的VGA波形显示方法研究

基于FPGA的VGA波形显示方法研究

随着微电子技术的发展,应用FPGA技术开发的信号处理系统在各种行业中得到了广泛的应用。VGA是IBM公司在1987年随PS/2机一起推出的一种视频传输标准,具有分辨率高、显示速度快、颜色丰富等优点,在彩色显示器领域得到了广泛的应用。采用FPGA设计VGA控制器也是近几年研究的一个热点,这种方式设计的显示系统,在不使用VGA显示卡的情况下,实现图像的显示和控制,具有成本低、结构简单、应用灵活的优点。目前关于这方面的研究论文主要集中在显示原理的介绍、FPGA设计VGA时序控制器[1-2]以及图像显示方法[3-4]上,至于波形的显示方法主要集中在计算机上通过显卡实现,利用FPGA而无需显卡的VGA显示波形的讨论比较少见。本文依据VGA显示原理,介绍两种VGA显示波形的方法,给出了两种波形显示方法的流程图,同时针对波形显示中出现的不稳定性提出了一种稳定显示波形的策略,并给出了VGA显示的结果波形。显示方法利用Verilog HDL 语言作为逻辑描述手段,在QuartusII软件环境下使用Stratix II系列的FPGA芯片完成。 1 VGA显示原理
 常见的彩色显示器一般由CRT构成,彩色由R、G、B三色组成。采用逐行扫描的显示方式,阴极射线枪发出的电子束打在涂有荧光粉的荧光屏上,产生R、G、B 三基色,最后合成一个彩色图像。
 对于图像的显示,可以利用行、场同步信号的计数器,在显示可视区间内按照图片的大小划定行和列的起始坐标和终止坐标,当扫描点在图像显示区域内时,根据扫描点在图像显示区中的相对坐标位置,计算得到当前要显示的图像像素点在图像存储器中的地址,然后读取显示。
    如图1所示,x表示行计数器的计数值(行坐标),y表示列计数器计数值(列坐标),显示的分辨率为H×V,(x,y)为显示区域内的任意一像素点。波形显示区域的大小为M×N,起始点为(m0,n0),(m,n)则为扫描点在波形显示区域中的相对坐标。当扫描点到达波形显示区域时, 即满足以下关系:
   
则有m=x-m0,n=y-n0;此时,可以将m作为波形存储器的地址,取出波形数据进行显示,波形存储器的大小可以设置为大于或等于M。
2 波形显示方法
 在这里讨论两种波形显示的方法。假设存储在波形RAM中的数据为x(k),(m,n)为扫描点在波形显示区域中的相对坐标。
    方法一:如图2(a)流程所示,当扫描点进入波形显示区域时,开始读取波形RAM中的数据,将读出的数据x(k)与当前扫描点在波形显示区域中的纵坐标n或者N-n作比较,如果相等则显示,否则不显示。图2(b)所示为方法一显示的效果图。

    方法二:如图3(a)流程所示,当扫描点进入波形显示区域时,开始读取波形RAM中的数据,将当前扫描点在波形显示区域中的纵坐标n或者N-n与读出的当前数据x(k)和上一个波形数据x(k-1)进行对比,如果扫描点刚好处于这两个值之间则显示,否则不予显示。图3(b)所示为方法二显示的效果图。
继承事业,薪火相传
返回列表