logo资料库

基于FPGA的VGA时序彩条信号设计实现.pdf

第1页 / 共2页
第2页 / 共2页
资料共2页,全文预览结束
基于基于FPGA的的VGA时序彩条信号设计实现 时序彩条信号设计实现 视频图形阵列(VGA)作为一种标准的显示接口已得到广泛应用。依据VGA的显示原理,"抛弃"VGA的显示专用芯 片,采用现场可编程门阵列(FPGA)产生VGA时序信号和彩条图像信号,并在Altera公司的QuartusⅡ软件环境下完成 VGA时序彩条信号模块的仿真,最后下载到FPGA开发板中进行硬件验证,并在CRT显示器上得到正确的条纹图 像。利用该原理,可以设计更多的彩色图像,且可以对采集图像进行实时显示。 0 引 言 利用现场可编程逻辑器件产生VGA时序信号和彩条图像信号,并将其作为信号源,应用于电视机或计算机等彩色显示器的电 路开发,方便彩色显示器驱动控制电路的调试。计算机显示器的显示有很多标准,常见的有VGA,SVGA等。在这里尝试用 FPGA实现 VGA图像显示控制器,这一过程通过编程实现,之后通过软件的测试和仿真,当软件验证无误后完成硬件的下载 验证,终极在CRT显示器上实现输出,基本原理就是利用FPGA的可编程原理和VGA的时序控制原理,这在产品开发设计中有 很多实际应用。 1 VGA显示原理 VGA(Video Graphics Array)作为一种标准的显示接口得到了广泛的应用。VGA在任何时刻都必须工作在某一显示模式下,其 显示模式分为字符显示模式和图形显示模式,而在应用中讨论的都是图形显示模式。 VGA的图形模式分为三类:CGA,EGA兼容的图形模式;标准VGA图形模式;VGA扩展图形模式,后两种图形模式统称为 VGA图形模式。文中基于标准VGA模式来实现。产业标准的VGA显示模式为:640×480×16×60。 常见的彩色显示器一般由阴极射线管(CRT)构成,彩色由GRB(Green Red Blue)基色组成。显示采用逐行扫描的方式解决,阴 极射线枪发出电子束打在涂有荧光粉的荧光屏上,产生GRB基色,合成一个彩色像素。扫描从屏幕的左上方开始,从左到 右,从上到下,逐行扫描,每扫完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT、对电子束进行消隐, 每行结束时,用行同步信号进行行同步;扫描完所有行,用场同步信号进行场同步,并使扫描回到屏幕的左上方,同时进行场 消隐,并预备进行下一次的扫描。VGA显示控制器控制 CRT显示图象的过程如图1所示。 2 VGA信号时序 图2所示是计算机VGA(640×480,60 Hz)图像格式的信号时序图。图2中,V_sync为场同步信号,场周期TVSYNC=16.683 ms,每场有525行,其中480行为有效显示行,45行为场消隐期。场同步信号Vs中每场有1个脉冲,该脉冲的低电平宽度 tWV=63μs(2行)。场消隐期包括场同步时间tWH、场消隐前肩tHV(13行)、场消隐后肩tVH(30行),共45行。行周期 THSYNC=31.78μs,每显示行包括 800点。其中,640点为有效显示区,160点为行消隐期(非显示区)。行同步信号Hs中每 行有一个脉冲,该脉冲的低电平宽度tWV=3.81 μs(即96个DCK);行消隐期包括行同步时间tWH,行消隐前肩tHC(19个 DCLK)和行消隐后肩tCH(45个DCLK),共160个点时钟。复合消隐信号是行消隐信号和场消隐信号的逻辑与,在有效显示期复 合消隐信号为高电平,在非显示区域它是低电平。 3 VGA时序信号及彩条信号产生模块设计 3.1 VGA时序信号产生模块 VGA时序信号产生模块包括行点数计数器h_cnt、场行数计数器v_cnt、行同步产生状态机h_state和场同步产生状态机v_state 等。其中,行点数计数器是800进制计数器,场行数计数器是525进制计数器。行同步状态机h_state有 h_video,h_front,h_sync, h_back四种状态,它根据行点数计数器的计数值来进行状态转换;场同步状态机v_state有 v_video,v_Front,v_sync, v_Back四种状态,它根据场行数计数器的计数值来进行状态翻转。这两个状态机的状态转移图 分别如图3和图4所示。 当行状态机h_state复位时,即进进h_video状态,它对应每行的有效显示区域。行计数器h_cnt对25 MHz的点时钟进行计数, 当行计数器h_cnt的计数值到达639时,行同步状态机即进进行消隐前肩h_front状态;当h_cnt的计数值为663 时,行同步状态 机进进行同步状态h_sync,此时,行同步信号Hs输出低电平。当h_cnt的计数值为759时,状态机即进进行消隐后肩h_back状 态;当行状态机为h_front,h_sync,h_back状态时,行消隐信号输出低电平。当h_cnt的计数值为799时,行同步状态机进人 h_video状态,同时,行计数器的同步复位信号为高电平,使行计数器复位。 场状态机v_state开始时进进v_video状态,对应每场的有效显示行,场计数器v_cnt的计数值每行加1。当场计数器的计数值到 达479时,场状态机翻转,进进场消隐前肩v_ront状态;当v_cnt的值为497时,状态机v_state进进场同步状态v_sync,场同步 信号Vs此时输出低电平;当v_cnt的值为499时,状态机v_state进进场消隐后肩v_back状态;当v_cnt的值为524时,状态机 v_state又翻转进进 v_video状态,同时输出高电平到场计数器v_cnt的同步清零端使其清零。当场状态机v_state的状态为 v_Front,v_sync, v_Back三种状态时,场消隐信号输出低电平,其余时刻为高电平。行、场消隐信号的逻辑与即为复合消 隐信号。 3.2 VGA彩条信号产生模块 彩条信号产生模块包括了彩条模式控制、竖彩条发生和横彩条发生等三个模块。竖彩条发生模块根据行点数器h_cnt的计数值
来产生彩条,其流程图如图5所示。它对行点数计数器的数值进行判定,每80条竖线天生一种竖彩条,共8种竖彩条横彩条发 生模块与竖彩条发生模块相似。它根据场行数计数器v_cnt的计数值来产生横彩条,流程图如图6所示。每60条扫描线为一个 彩条宽度,共8种横彩条模式。计数器mode的值又决定着输出彩条信号的类型,当mode为0 时,输出的彩条为竖彩条;当 mode为1时,输出的彩条横彩条。 3.3 用FPGA下载验证结果 对上述分析的两个模块,已经用QuartusⅡ软件进行仿真验证,并得到正确的仿真图形。通过了软件的测试,设计进进了终极 阶段——硬件的调试与通过,本设计采取的是FPGA开发板,图7就是FPGA开发板的实物图,将程序写进PC机经过FPGA芯 片在VGA接口处输出数据,并显示在CRT显示器中。图 8,图9就是设计出的8种彩色条纹输出显示控制器设计的终极输出结 果。 由实验结果可以看出,该设计可以正确地输出8种彩色的横条纹和竖条纹。从而验证VGA模块的时序及彩条信号模块的正确 性。 4 结 语 在调试电路时,使用FPGA中多余的逻辑产生VGA信号和彩条信号,所产生的信号稳定可靠,为电路调试带来了很多方便。 在实际应用中,还可以方便地修改彩条信号产生模块。比如,可以修转业、场计数器的判定值,以调整彩条的大小,增加延时 跳变的功能,使输出的彩条信号产生各种变化。此外,与VGA信号类似,改变行、场状态机的转换值和行、场计数器的设 置,还可以产生其他各种模式的图像信号,以适应不同分辨率图像显示的需要。假如在该设计的基础上加上采集模块,就可以 显示希看显示的图片。
分享到:
收藏