DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 139|回复: 0
打印 上一主题 下一主题

基于FPGA的VGA显示模式和像素频率的识别

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-17 14:55:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
0 引言
视频采集卡不仅能用于影像处理,还可以用一台显示器同时显示、监控多台主机的内容,达到实时控制多台主机的目的。随着数字影像技术的不断发展,使得视频采集卡的需求不断增加,在电子通信与信息处理领域得到广泛应用。而传统的视频采集卡硬件实现复杂,难于向便携、嵌入的方向发展。因此,设计一种硬件简单、使用方便、便于嵌入到系统中的视频信号采集电路具有重要的意义。
随着FPGA(现场可编程门阵列)集成度的增加、功耗和价格的不断降低,现在的视频采集卡的实现可以由FPGA来实现。本文设计的VGA(视频图形阵列)显示模式和像素频率的识别方法,可以作为由FPGA实现的视频采集卡的一个模块,并且应用中具有可靠性高、性能稳定、调试简单、可扩展性好及设计成本低等特点。
1 VGA显示原理
随着显示技术的不断发展,在业界制定了多种显示协议标准。根据分辨率和刷新频率的不同,显示模式的发展可分为:VGA(640×480像素);SVGA(高级VGA,800×600像素);XGA(可扩展图形阵列,1 024×768像素)。本文可以识别各种刷新频率的上述显示模式,并得到像素频率值,进一步应用于A/D转换器采样模块处理中。
常见的彩色显示器一般由CRT(阴极射线管)构成,彩色是由R(红)、G(绿)、b(蓝)3色组成。显示是采用逐行扫描的方式,阴极射线枪发出的电子束打在涂有荧光粉的荧光屏上,产生RGb三色基,最后合成一个彩色图像。从荧幕的左上方开始向右扫描,每扫完一行图像电子束回到下一行的最左端,每行结束后电子枪回扫的过程中进行消隐。然后从新开始行扫描,消隐……,直到扫到荧幕的右下方,电子束回到荧幕的左上方从新开始新的图像扫描,并且在回到荧幕左上方的过程中进行消隐。在消隐过程中不发射电子束。每一行扫描结束时,用HS(行同步)信号进行同步;扫描完所有的行后用VS(场同步)信号进行同步。
VGA的行、场扫描时序见图1。图中行频和场频在数量上有很大差别,但时序上一样。因此,图1只是示例HS信号、VS信号的行(场)扫描时间、行(场)同步时间、前沿时间、后沿时间、激励视频时间等。




2 FPGA系统实现
本文是基于FPGA对VGA显示模式的识别并计算出像素频率,采用自顶而下的设计思想,将整个系统分为分频模块、HS信号和VS信号计数模块、VGA显示模式选择模块。如图2所示。




2.2 HS和VS信号计数模块
HS和VS信号都是低电平有效、占空比小的方波信号。
本模块采用频率计的思想,使用直接测量法。直接将HS和VS信号作为计数时钟,在输入到HS和Vs信号计数模块的基准时钟的高电平时开始对HS和VS信号的计数,在基准时钟的低电平时停止保持计数,并保存计数值。
下面分析本文中的直接测量误差。
如图3所示,被测信号有一个脉冲的上升沿比基准时钟的上升沿早出现很短的时间,那么在FiducialClock=1时所测的被测信号的脉冲数就少了1个;同理,被测信号有一个脉冲的上升沿比基准时钟的下降沿早出现很短的时间,那么在Fiducial Clock=1时所测的被测信号的脉冲数就多了1个。计数时钟的周期记为n,实际输出的计数值记为N,那么,N=n±1,即计数时钟误差范围为±1/(n±1)。




实验验证:reg_th=116CDh,reg_tv=57h(采用十六进制表示)。即为行频71 kHz,场频为87 Hz。由VGA显示原理可知:由reg_th和reg_tv就能确定VGA显示模式的行数。此值符合在模式1 024×768下一列总的像素点数(包括前沿像素点、后沿像素点、同步头像素点、视频像素点)。在程序部分,采用的是区域选择,避免了由各种误差带来的数值的不匹配。图4中显示数据验证了模式1 024×768,像频由内部寄存器保存,并且可以在数码管上直观地看到L的显示。
3.2 实验2
依次点击“开始”、“控制面板”、“显示”、“设置”。调节屏幕分辨率为800×600。再点击“高级”、“监视器”。调节屏幕刷新频率为75 Hz。
由图5可知:reg_th=0b901h,reg_tv=4bh(屏幕刷新频率75 Hz)。




实验验证:reg_th=08901h,reg_tv=4bh(采用十六进制表示)。即行频为47 kHz,场频是75 Hz。由VGA显示原理可知:由reg_th和reg_tv就能确定VGA显示模式的行数。此值符合在模式800 × 600下一列总的像素点数(包括前沿像素点、后沿像素点、同步头像素点、视频像素点)。在程序部分,采用的是区域选择,避免了由各种误差带来的数值的不匹配。图5中显示数据验证了模式800×600,像频由内部寄存器保存,并且可以在数码管上直观地看到A的显示。
4 结束语
以上实验结果证明,本方法可以正确输出各种VGA显示模式,即在每种模式中确定一个量后,可模拟基于SRAM工艺的FPGA的LUT(查找表)思想,以确定的量为人口来存储或输出VGA各种模式的其他相关量。本文中的分频模块和“频率计”思想的计数模块都可以在其他系统中构建特殊时钟和特殊计数器时作为参考。同时,将根据存储的像素频率值保存后可用来配置FPGA中的PLL(锁相环)输出像素的采样时钟,应用于像素点的采样,进而设计出高性能的基于FPGA嵌入式系统的视频采集卡。

                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-11-22 15:50 , 耗时 0.099046 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表