频率显示

2024-05-22

频率显示(精选三篇)

频率显示 篇1

视频采集卡不仅能用于影像处理,还可以用一台显示器同时显示、监控多台主机的内容,达到实时控制多台主机的目的。随着数字影像技术的不断发展,使得视频采集卡的需求不断增加,在电子通信与信息处理领域得到广泛应用。而传统的视频采集卡硬件实现复杂,难于向便携、嵌入的方向发展。因此,设计一种硬件简单、使用方便、便于嵌入到系统中的视频信号采集电路具有重要的意义。

随着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.1 分频模块

程序中的分频模块输入是系统时钟,输出下一模块的基准时钟。频率计的设计中,需要一个基准时钟,这里依据外部输入50 MHz的时钟频率来产生0.5 Hz的频率,误差范围为±1/50 MHz。在表1中可以看到,最大的行频是68.7 kHz,即在误差范围内可以满足设计要求。

2.2 HS和VS信号计数模块

HS和VS信号都是低电平有效、占空比小的方波信号。

本模块采用频率计的思想,使用直接测量法。直接将HS和VS信号作为计数时钟,在输入到HS和VS信号计数模块的基准时钟的高电平时开始对HS和VS信号的计数,在基准时钟的低电平时停止保持计数,并保存计数值。

下面分析本文中的直接测量误差。

如图3所示,被测信号有一个脉冲的上升沿比基准时钟的上升沿早出现很短的时间,那么在Fiducial Clock=1时所测的被测信号的脉冲数就少了1个;同理,被测信号有一个脉冲的上升沿比基准时钟的下降沿早出现很短的时间,那么在Fiducial Clock=1时所测的被测信号的脉冲数就多了1个。计数时钟的周期记为n ,实际输出的计数值记为N,那么,N=n±1,即计数时钟误差范围为±1/(n±1)。

VGA的HS和VS信号的周期很小,如表1所示。n 的最大值为1/43.4。所以上述误差很小。并且,在VGA显示模式选择模块中采用的是范围选择,故这种测量方法的误差在可以容忍的范围内。

2.3 VGA显示模式选择模块

本文主要对VGA显示模式(表1中的分辨率)进行识别,在确定显示模式之后,可以用查表直接输出对应模式的像素频率。

根据VGA的显示原理可以看出:在同一计数时间内场同步信号的脉冲数和行同步信号的脉冲数成比率关系。实际应用中将HS和VS的计数模块的输出数相比后再查找表1内的分辨率值就能确定显示模式了,在确定显示模式的同时输出像频。因为,每种显示模式和像频之间有确定的对应关系,并将测到的模式用7段数码管显示见表1。

3 仿真结果

3.1 实验1

3.1.1 PC机上设置

依次点击“开始”、“控制面板”、“显示”、“设置”。调节屏幕分辨率为1 024×768。 再点击“高级”、“监视器”。调节屏幕刷新频率为85 Hz。

3.1.2 QuartusⅡ6.1的设计工程

在QuartusⅡ6.1中建立项目后,输入各模块的Verilog HDL程序代码,逻辑综合,布局布线,时序分析后生成编程文件。将编程文件下载到FPGA中进行验证。

图4是利用软件QuartusⅡ6.1中的SignalTapⅡLogic Analyzer工具实时监测到的reg_th和reg_tv的值,它们分别是:1s内HS信号的脉冲数和VS信号的脉冲数。

实验验证: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=0B901h,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嵌入式系统的视频采集卡。

摘要:描述了一种基于FPGA(现场可编程门阵列)识别VGA(视频图形阵列)显示模式和像素频率值的方案。主要基于频率计的设计方法实现,并通过硬件电路的验证。利用Verilog HDL语言和FPGA的灵活性,应用FPGA设计嵌入式系统视频采集卡,提高了数据处理速度,节省了硬件成本。

关键词:FPGA,VGA,像素频率,频率计,显示模式

参考文献

[1]张亚平,贺占庄.基于FPGA的VGA显示模式设计[J].计算机技术与发展,2007,17(6):242-245.

[2]陈尚志,胡荣强,胡合松.基于FPGA自适应数字频率计的设计[J].中国测试技术,2007,33(2):141-144.

[3]李杨,孙玉国,金鑫.基于嵌入式逻辑分析仪的FPGA测试[J].仪器仪表学报,2006,27(Z3):2373.

[4]纪斌,丁庆生.基于AD9888的高分辨率图像采集卡[J].有线电视技术,2007,14(2):92-95.

液晶显示器・什么是垂直扫描频率 篇2

液晶显示器・什么是垂直扫描频率

也称刷新率,是显示器每秒刷新屏幕的次数,单位为Hz。场频越低,图像的闪烁、抖动越厉害,但LCD显示器画面扫描频率的意义有别于CRT,指显示器单位时间内接收信号并对画面进行更新的次数。由于LCD显示器像素的.亮灭状态只有在画面内容改变时才有变化,因此即使扫描频率很低,也能保证稳定的显示,一般有60Hz就足够了,但在部分行业应用如医疗、监控中,要求液晶的刷新率能够达到70Hz甚至85Hz,主要是要求能够以较快的频率读取数据进行显示。

频率显示 篇3

奥运运行指挥系统包括视频监控系统、电视电话会议系统、事件跟踪处理系统。其中事件跟踪处理系统采用B/S技术开发,用于指挥中心及各场馆和机构处理及记录事件使用。事件跟踪处理系统的大屏主要在奥运指挥运行中心显示奥运运行过程中各场馆以及各机构亟待解决的事件,这些事件根据其重要等级及涉及的相关部门的不同分为三类,并以红黄绿三色分栏显示三类事件的处理状态以及目前各类事件的具体数量。

此大屏除打开操作外不需要操作人员进行操作,并且要长时间准确无误的运行。屏上显示的信息自动更新,即事件被上报后自动显示在大屏上,并随时更新其处理状态,在事件处理完毕后自动从大屏信息中去掉相应事件。在事件较多时三栏分别连续滚动显示各类事件。为保证信息及时准确更新到大屏上就需要信息在10秒以内进行一次更新,如果采用POSTBACK来更新信息就会导致大屏信息一直在闪动,无法对大屏信息进行阅读;尤其在信息较多时需要信息滚动显示,而在10秒内信息根本无法全部显示。但如果等信息全部显示完毕再进行POSTBACKG更新就会导致信息更新时间间隔超过10秒,为了解决信息显示和信息更新之间的矛盾,决定采用ASP.NET2.0中的CALLBACK技术来实现信息的异步无闪动刷新,即把信息的更新工作与信息显示分割开,将信息更新采用CALLBACK技术进行异步更新,这种更新方式不会引起页面的闪动,并在获得服务器更新的信息时通过使用Java Script将信息更新到页面上,这样即可以保证信息更新的时间间隔,又可以保证信息显示的可读性及完整性。

通过使用CALLBACK技术虽然解决了信息更新与显示之间的矛盾,但由于信息更新时间间隔很短,以及指挥中心及各机构会有多个大屏会在同一时间内多次提出更新数据请求导致服务器运算、查询及数据传输压力巨大。另外大屏长时间运行时,需要对系统可能出现的各种错误进行容错处理,保证系统的稳定也是一个需要解决的关键问题。针对以上问题,笔者给出了相应的解决办法。即在服务器建立查询缓存,统一定时更新数据,统一处理多用户请求,降低数据库查询压力;快速处理用户请求分散网络流量压力;建立长时间运行的容错手段,保证系统稳定。通过以上解决办法保证了事件跟踪系统的大屏显示信息的及时准确。

1 CALLBACK技术特点分析

CALLBACK技术是ASP.NET2.0种新增的功能,其主要应用于ASP.NET的一些控件的数据更新功能。如GRIDVIEW、TREEVIEW等控件,这些控件需要更具用户的具体操作来更新数据。使用CALLBACK技术可以将数据传输与页面显示分开,可以开发出操作界面更友好,用户操作更方便的网页程序。

1.1 运用Java Script实现数据交换

CALLBACK技术通过在页面中使用Java Script来发出数据交换请求,服务器中相应的CALLBACK处理程序可以接收到Java Script的请求,并根据具体的请求进行相应的数据处理,并将处理结果发送到页面中的另外一个Java Script函数,此函数接收到数据后动态地将数据直接显示或更新到页面上去。通过这样的方式可以给用户带来全新的网络操作体验,更加适合用户的操作习惯。

1.2 适用范围

CALLBACK技术的使用基于浏览器对客户端CALLBACK的支持,并不是所有的浏览器都支持CALLBACK技术,目前Internet Explorer 5.0及以上、Netscape 6、Safari 1.2和FireFox都支持CALLBACK技术。但其中Internet Explorer通过使用ActiveX控件来支持CALLBACK技术,如果用户将浏览器的安全级别设置的很高,从而禁用了ActiveX控件,则CALLBACK技术就不能使用。如果想查看所使用的浏览器是否支持CALLBACK,可以通过查看Request.Browser.Supports Callback属性。

1.3 技术局限

CALLBACK在进行数据交换时只能传递字符串值,这样当传递相对比较复杂的数据时就需要将要传递的数据先转换为字符串,客户端接收到数据后再进行解析。这样在传递较复杂数据就增加了实现的难度。

2 使用CALLBACK技术实现无刷新更新信息

ASP.NET2.0提供了CALLBACK技术来实现无闪动更新页面信息。其工作原理是在页面前端通过Java Script向服务器提出更新请求,服务器收到请求进行数据查询并将查询的数据发送给客户端的接收函数,客户端的接收函数用Java Script编写,在其接收到服务器端返回的数据后,对数据进行解析并将信息更新到页面上。要实现以上功能需要页面实现ICallbackEventHandler接口,具体实现方法如下。

2.1 该接口需要服务器端实现两个方法

(1)public void Raise Callback Event(string event Argument)用来处理从客户端传来的数据更新请求,根据客户端的请求进行数据库查询并组织数据。

(2)public string Get Callback Result()处理要返回给客户端的数据,这里将服务器处理完成的数据返回给客户端。

另外需要定义一个字符串变量s Callback Function Invocation用于存储客户端向服务器发送请求的Java Script脚本。并且在Page_Load函数中对其进行赋值,代码为sCall BackFunctionInvocation = Page.Client Script.Get Callback Event Reference(this, “message”, “process My Result”, “context”, “post My Error”, true),其中message从客户端脚本传递给服务器端的一个参数,process My Result为客户端事件处理程序的名称,该处理程序接收服务器端运行成功返回的数据,post My Error为客户端事件处理程序的名称,该处理程序在服务器端事件处理程序出现错误时接收结果。

下面为服务器端实现代码:

2.2 该接口还需要在客户端实现三个方法

(1)function refreshdata()用来向服务器端发送数据刷新请求,在这个函数中为message变量赋值,其赋值内容可根据需要进行自定义,在此方法中message变量赋值为“getnewdata”表示要求获得新数据。并将变量sCallback Function Invocation的值写在此方法最后一行即<%=sCallback Function Invocation%>这样在页面打开时变量中的发送请求代码会自动被写在页面中。当运行此函数时就可以自动向服务器发送数据更新请求。为了能够定时向服务器发送刷新数据请求,需要定时执行此函数,则需要在页面内加入脚本setInterval(“refreshdata()”,10000),这样页面就会每十秒向服务器端发送一次数据更新请求。

(2)function process My Result(Returnmessage, context)用来接收和处理服务器返回给客户端的数据信息。Returnmessage变量中的值就是服务器端返回给客户端的数据。然后在此函数中编写将数据更新到页面显示的代码。

(3)function post My Error(Returnmessage, context)用来在用户请求出现错误时,接收服务器端返回的错误信息,并对错误信息进行处理的函数。

通过以上两个方面方法的编写就实现了页面的无闪动更新信息,并且每十秒更新一次信息。其简单工作流程如图1所示。

客户端代码如下:

3 降低服务器访问压力及其他问题的解决

3.1 减轻服务器数据请求计算压力

由于系统是一个多用户系统,大屏显示功能可能在多个地方都开启,这样每个使用大屏的地方都会每隔十秒向服务器发送一次数据更新请求。这样服务器在十秒内可能接收到多个请求,按照前面描述的工作方式,服务器就会一直忙于查询客户端的数据请求,导致服务器CPU占用率不断增高,造成系统的负荷能力下降。这样在系统高负荷运转时很有可能导致服务器无法响应,造成系统瘫痪。为了降低服务器的运算负荷,需要考虑并不需要对客户端的每次请求都进行数据库查询及数据整理计算,而是建立一个变量来存储在数据库中查询及整理计算出来的信息,并记录查询时间,当接收到客户端请求计算请求时间与查询时间之差,如果小于十秒,则不进行数据查询及整理计算而是直接将上次查询的结果直接返回给客户端;如果时间差大于十秒则进行数据查询及整理计算,并更新变量中存储的数据及查询时间,再将查询结果返回给客户端。通过这种方式,大大降低了服务器的负荷,无论客户端提出的请求多密集,服务器总是每隔十秒查询整理一次数据,这样即保证了数据的及时准确,又降低了服务器的负荷,保证了系统的稳定。降低服务器压力的流程如图2所示。

降低服务器压力主要更改了RaiseCallbackEvent函数实现代码如下:

3.2 保证系统长时间的稳定运行的容错处理

由于大屏经常是整日整周甚至整月连续运行,并且要求在无干预情况下及时准确的更新信息。需要考虑以下几种情况。

当客户端提出请求后,系统由于负荷较重未能在十秒内将数据返回给客户端,这时客户端又到了发送信息更新请求的时间,这时服务器已经负荷严重,此时继续向服务器发送请求,只能使服务器负荷增大。为了避免这种情况的发生,需要设置一个标志位来标志出客户端前一次的请求是否已经回复。当客户端在发送请求时读取这个标志,如果前一次请求已经回复,则可以进行这次数据请求,如果未回复则不发送这次数据请求。

但回复标志的建立又引起了新的问题,如果客户端发出的请求由于网络或其他原因未送达到服务器端,从而客户端永远得不到回复。这样客户端就一直不会发送数据更新请求,这样会导致显示信息得不到更新。解决这一问题的方法就是设置一个等待服务器前一次回复的时间上限(一分钟),当客户端在这个时间内未收到回复则不发送请求,如果超过这个时间,则强制发送数据更新请求。

上面两种情况都是假设网络基本正常的情况下的容错处理。当网络中断或者服务器当机时,系统只能不断的强制发送更新数据请求,而用户却无法知道目前系统是否运行正常。为保证用户及时了解到大屏信息由于网络或其他原因无法更新数据,需要对每次数据的更新记录更新时间,并规定一个得不到服务器响应的可忍耐时间上限(五分钟),当客户端在可忍耐时间上限内得到了服务器的回复,则说明系统正常,反之则弹出提醒告知用户信息目前无法进行数据更新请检查网络。

容错处理主要更改了refreshdata函数,代码如下:

3.3 实现信息的连续滚动

在信息较多时在一屏内无法显示所有信息,这时需要滚动显示信息。通过使用Html代码可以实现信息的滚动,但信息滚动总是在滚动完一遍信息后再重新滚动,会有一段时间的屏幕空白,需要实现信息的连续滚动。通过使用Java Script可以实现连续滚动。具体做法如图4所示。图4中的图P1图P2和图P3三幅图解释了连续滚动的实现原理。在三幅图中都可以看到A和B两个数据部分,其中A为要显示的所有信息,而B是A部分的一个副本,其内容与A一致。图中除A和B以外的黑色框线为实际可显示区域的大小,显示区域以外的信息是不被显示的。信息从图P1所在位置开始向上滚动,当信息滚动到图P2的位置时,通过Java Script程序将A和B两部分拉回到图P3的位置继续向上滚动,由于B部分的信息与A部分完全一样,经过这样处理以后,从视觉上感觉不到信息被拉回,而是第一条信息紧跟在最后一条信息后面,这样图P3和图P1实际上是在同一位置,再等信息滚动到图P2位置时再进行拉回操作,这样就实现了信息的连续滚动。

4 结束语

本文分析了大屏显示的基本需求,并通过使用ASP.NET2.0提供的新技术CALLBACK实现了页面的高频率信息更新。并讲述如何通过建立查询结果的缓存来解决定时访问以及多用户造成的服务器压力过大问题,以及将系统应用于实践中可能遇到的各种问题的解决。这种技术可以应用在对信息实时性要求较高的系统中,可以保证信息的实时性。但由于开发本功能部分时的时间紧迫,主要开发精力都放在了如何实现需求以及降低系统压力方面,另外系统运行在专网中,所以并未过多考虑系统安全方面的问题。如果要将本模块应用于互联网上,应该考虑系统信息安全方面的相应问题。

摘要:根据指挥大屏的具体实现要求以及应用范围出发,探讨如何通过使用ASP.NET中的CALLBACK技术实现无闪烁即时更新信息的滚动信息显示大屏。并就开发及应用中遇到的无闪动信息更新低服务器运算压力、长时间运行容错处理等一系列进行了分析和探讨,并给出了解决办法。

本文来自 360文秘网(www.360wenmi.com),转载请保留网址和出处

【频率显示】相关文章:

频率响应04-12

频率融合05-06

最高频率05-12

结构频率05-24

频率设计06-09

黑洞频率影评04-25

动态频率选择05-27

音乐频率06-08

动态频率特性06-12

频率示值误差06-14

上一篇:处理解释一体化下一篇:中国如何保持快速增长