首页 / 专利分类库 / 教育;密码术;显示;广告;印鉴 / 使用静态方法显示可变信息的指示装置 / 一种基于FPGA的高效率低频VGA滚动显示控制系统及控制方法

一种基于FPGA的高效率低频VGA滚动显示控制系统及控制方法

申请号 CN202310411774.2 申请日 2023-04-17 公开(公告)号 CN117953806A 公开(公告)日 2024-04-30
申请人 西安邮电大学; 发明人 杨军华; 孙谢欣; 王媛; 吴进; 秦三团; 师亚莉; 杨海龙; 李亚鹏; 蒋杰伟;
摘要 本 发明 涉及一种数字 电路 设计,具体涉及一种基于FPGA的高效率低频VGA滚动显示控制系统及控制方法,解决现有FPGA实现VGA显示的研究大多数都是基于高频刷新图像显示,对于低频刷新图像显示的研究还相对较少,难以满足不同应用场景需求的问题。该基于FPGA的高效率低频VGA滚动显示控制系统,包括 数模转换 模 块 、VGA 接口 模块、RGB控制处理模块、复合消隐模块、行/场同步 信号 模块、时钟模块、行计数器、场计数器,以及 开关 控 制模 块、与开关 控制模块 连接的有效图像库模块;可以通过简单的编程实现复杂的控制功能,降低了成本和功耗,提高了系统的可靠性和 稳定性 。本发明方法可以利用FPGA对外部显示器低频信号进行控制。
权利要求

1.一种基于FPGA的高效率低频VGA滚动显示控制系统,包括数模转换和VGA接口模块;其特征在于:
还包括RGB控制处理模块、复合消隐模块、行/场同步信号模块、时钟模块、行计数器、场计数器,以及开关制模块、与开关控制模块连接的有效图像库模块;
所述时钟模块分别与RGB控制处理模块、复合消隐模块、行/场同步信号模块、行计数器、场计数器以及有效图像库模块连接;
所述行计数器的输出端分别与有效图像库模块的输入端、场计数器的输入端及复合消隐模块的输入端连接;所述有效图像库模块与RGB控制处理模块通讯连接;
所述场计数器的输出端分别与有效图像库模块的输入端、复合消隐模块的输入端连接;
所述行/场同步信号模块分别与行计数器与场计数器相互通讯连接;行/场同步信号模块的输出端与VGA接口模块输入端连接;
所述复合消隐模块的输出端、RGB控制处理模块的输出端均与数模转换模块输入端连接,用于控制图像的交替滚动;数模转换模块输出端与VGA接口模块输入端连接;VGA接口模块输出端与外部显示器连接,用于驱动外部显示器形成相应的图像;
所述时钟模块用于与外部时钟信号连接,将外部时钟信号转换为基准时钟信号,分并别为RGB控制处理模块、复合消隐模块、行/场同步信号模块、行计数器、场计数器、有效图像库模块提供基准时钟信号;行计数器用于计算每行已显示的像素点个数,并发出行数据;场计数器用于跟踪外部显示器扫描的场位置,并发出场数据;RGB控制处理模块利用R、G、B三个输出端口的二进制数值产生不同的色彩,并产生调用信号,用于调用有效图像库模块中的RGB初值;复合消隐模块用于产生复合消隐信号;行/场同步信号模块用于生成行同步信号和场同步信号,并通过行同步信号和场同步信号控制外部显示器的电子束扫描位置,并确保正确地显示图像;开关控制模块用于手动选取所需图像;有效图像库模块用于存储图像。
2.根据权利要求1所述的一种基于FPGA的高效率低频VGA滚动显示控制系统,其特征在于:
所述时钟模块包括时钟计数器、与时钟计数器连接的电平变化缓存器;
所述时钟计数器用于接收外部时钟信号,并将外部时钟信号进行分频并送入电平变化缓存器;
所述电平变化缓存器用于输出基准时钟信号,电平变化缓存器的输出端分别与RGB控制处理模块、复合消隐模块、行/场同步信号模块、行计数器、场计数器以及有效图像库模块连接。
3.根据权利要求2所述的一种基于FPGA的高效率低频VGA滚动显示控制系统,其特征在于:
所述行/场同步信号模块包括第一判决器、第二判决器、行同步状态机和场同步状态机;
所述第一判决器的输入端与行计数器的输出端连接,第一判决器的输出端与行同步状态机的输入端连接,用于输出行同步信号;行同步状态机的输出端分别与场计数器、VGA接口模块输入端连接;
所述第二判决器的输入端与场计数器连接,第二判决器的输出端与场同步状态机的输入端连接,用于输出场同步信号;场同步状态机的输出端与VGA接口模块输入端连接。
4.根据权利要求3所述的一种基于FPGA的高效率低频VGA滚动显示控制系统,其特征在于:
所述有效图像库模块中设置有初值表;
所述RGB控制处理模块包括RGB调用单元和RGB输出控制单元;
所述括RGB调用单元的输出端与有效图像库模块的输入端连接,用于根据RGB调用单元输出的调用信号调用值表中对应的图像;
所述RGB输出控制单元的输入端与有效图像库模块的输出端连接,RGB输出控制单元的输出端与数模转换模块的一个输入端连接。
5.根据权利要求4所述的一种基于FPGA的高效率低频VGA滚动显示控制系统,其特征在于:
所述复合消隐模块包括暂存器、与暂存器连接的第三判决器;
所述暂存器的输入端与电平变化缓存器的输出端连接,用于接收基准时钟信号;
所述第三判决器的输入端分别与行计数器的输出端、场计数器的输出端连接,用于接收行扫描点的行数据和场扫描点的场数据,第三判决器的输出端与数模转换模块的另一个输入端连接,用于输出复合消隐信号;
所述开关控制模块包括依次连接的开关信号输入单元、信号编码器与开关信号输出单元;
所述开关信号输出单元与有效图像库模块连接。
6.一种基于FPGA的高效率低频VGA滚动显示控制方法,基于权利要求1‑5任一所述的一种基于FPGA的高效率低频VGA滚动显示控制系统,其特征在于,包括以下步骤:
1)时钟模块将接收到的外部时钟信号进行2分频,获得基准时钟信号,并送入行计数器与场计数器;
2)开始计数
2.1、行计数器开始计数,将获得的行数据输送至行/场同步信号模块、有效图像库模块和复合消隐模块,当外部显示器的扫描线电子束达到显示区域的顶部时,行计数器向场计数器发送场激励;
2.2、场计数器接收到场激励并开始计数,并将获得的场数据输送至行/场同步信号模块、有效图像库模块和复合消隐模块;
3)接收数据
3.1、行/场同步信号模块将接收到的行数据转化为行同步信号,将接收到的场数据转化为场同步信号;
3.2、有效图像库模块将接收到的行数据和场数据产生出不同的图像,然后根据开关控制模块送来的选择信号,再向RGB控制处理模块送出RGB数字信号;RGB控制处理模块调用有效图像库模块中的RGB初值;
3.3、复合消隐模块将行数据和场数据转化为复合消隐信号;RGB控制处理模块在接收到有效图像库模块送来的RGB数字信号之后,进行转化和处理分别将RGB初值表示的具体颜色的二进制数据分配到R、G、B三个输出端口;
4)将RGB数字信号、复合消隐信号和基准时钟信号送入数模转换模块,得到模拟显示信号;
5)VGA接口模块将接收到的模拟显示信号、行同步信号以及场同步信号输送至外部显示器中,获得滚动显示的图像。
7.根据权利要求6所述的一种基于FPGA的高效率低频VGA滚动显示控制方法,其特征在于,步骤2.1具体为:
2.1.1、行计数器开始计数,并将获得的行数据通过第一判决器输送至行同步状态机;
2.1.2、行同步状态机将行数据输送至有效图像库模块和复合消隐模块;当外部显示器的扫描线电子束达到显示区域的顶部时,行计数器向场计数器发送场激励。
8.根据权利要求7所述的一种基于FPGA的高效率低频VGA滚动显示控制方法,其特征在于,步骤2.2具体为:
2.2.1、场计数器将接收到的场激励,开始计数,并将获得的场数据通过第二判决器输送至场同步状态机;
2.2.2、场同步状态机将场数据输送至有效图像库模块和复合消隐模块。
9.根据权利要求8所述的一种基于FPGA的高效率低频VGA滚动显示控制方法,其特征在于:
步骤4)中,所述数模转换模块为ADV7132芯片具体。
10.根据权利要求9所述的一种基于FPGA的高效率低频VGA滚动显示控制方法,其特征在于:
步骤1)中,所述行计数器的计数范围为0到800;
所述场计数器的计数范围为0到525;
步骤5)中,所述滚动显示具体为单七色显示、横平彩条显示、竖直彩条显示、彩色方格显示、以及移动图像显示;所述移动图像显示包括轮换图像显示、从左向右移动图像显示、从上向下移动图像显示、从左上向右下角移动图像显示。

说明书全文

一种基于FPGA的高效率低频VGA滚动显示控制系统及控制

方法

技术领域

[0001] 本发明涉及一种数字电路设计,具体涉及一种基于FPGA的高效率低频VGA滚动显示控制系统及控制方法。

背景技术

[0002] 在现代数字技术的发展下,高清晰度、高刷新率的图像显示已广泛应用于人们日常生活中。然而,对于一些特定应用场景,如LED显示屏幕、工业控制系统等,低频刷新的图像显示更加适用。这是因为低频刷新可以节省功耗、降低成本,同时还可以提高图像的稳定性和耐久性。因此,基于FPGA(Field‑Programmable Gate Array)的VGA(Video Graphics Array)低频刷新显示技术已成为当前研究的热点之一。
[0003] FPGA设备以其高度灵活的可编程性、高速数据处理和低功耗特性,在数字信号处理领域中得到了广泛应用。利用FPGA实现VGA显示的方法已经得到了广泛的研究,但是目前大多数研究都是基于高频刷新的图像显示,对于低频刷新的图像显示的研究还相对较少,难以满足不同应用场景的需求。

发明内容

[0004] 本发明的目的是针对现有FPGA实现VGA显示的研究大多数都是基于高频刷新图像显示,对于低频刷新图像显示的研究还相对较少,难以满足不同应用场景需求的问题,而提供一种基于FPGA的高效率低频VGA滚动显示控制系统及控制方法,围绕基于FPGA实现低频刷新的VGA图像显示,利用FPGA的可编程性,实现灵活的低频刷新控制和调节。
[0005] 为解决上述技术问题,本发明所采用的技术方案为:
[0006] 一种基于FPGA的高效率低频VGA滚动显示控制系统,包括数模转换和VGA接口模块;其特殊之处在于:
[0007] 还包括RGB控制处理模块、复合消隐模块、行/场同步信号模块、时钟模块、行计数器、场计数器,以及开关制模块、与开关控制模块连接的有效图像库模块;
[0008] 时钟模块分别与RGB控制处理模块、复合消隐模块、行/场同步信号模块、行计数器、场计数器以及有效图像库模块连接;
[0009] 行计数器的输出端分别与有效图像库模块的输入端、场计数器的输入端及复合消隐模块的输入端连接;有效图像库模块与RGB控制处理模块通讯连接;
[0010] 场计数器的输出端分别与有效图像库模块的输入端、复合消隐模块的输入端连接;
[0011] 行/场同步信号模块分别与行计数器与场计数器相互通讯连接;行/场同步信号模块的输出端与VGA接口模块输入端连接;
[0012] 复合消隐模块的输出端、RGB控制处理模块的输出端均与数模转换模块输入端连接,用于控制图像的交替滚动;数模转换模块输出端与VGA接口模块输入端连接;VGA接口模块输出端与外部显示器连接,用于驱动外部显示器形成相应的图像;
[0013] 时钟模块用于与外部时钟信号连接,将外部时钟信号转换为基准时钟信号,分并别为RGB控制处理模块、复合消隐模块、行/场同步信号模块、行计数器、场计数器、有效图像库模块提供基准时钟信号;行计数器用于计算每行已显示的像素点个数,并发出行数据;场计数器用于跟踪外部显示器扫描的场位置,并发出场数据;RGB控制处理模块利用R、G、B三个输出端口的二进制数值产生不同的色彩,并产生调用信号,用于调用有效图像库模块中的RGB初值;复合消隐模块用于产生复合消隐信号;行/场同步信号模块用于生成行同步信号和场同步信号,并通过行同步信号和场同步信号控制外部显示器的电子束扫描位置,并确保正确地显示图像;开关控制模块用于手动选取所需图像;有效图像库模块用于存储图像。
[0014] 进一步地,所述时钟模块包括时钟计数器、与时钟计数器连接的电平变化缓存器;
[0015] 时钟计数器用于接收外部时钟信号,并将外部时钟信号进行分频并送入电平变化缓存器;
[0016] 电平变化缓存器用于输出基准时钟信号,电平变化缓存器的输出端分别与RGB控制处理模块、复合消隐模块、行/场同步信号模块、行计数器、场计数器以及有效图像库模块连接。
[0017] 进一步地,所述行/场同步信号模块包括第一判决器、第二判决器、行同步状态机和场同步状态机;
[0018] 第一判决器的输入端与行计数器的输出端连接,第一判决器的输出端与行同步状态机的输入端连接,用于输出行同步信号;行同步状态机的输出端分别与场计数器、VGA接口模块输入端连接;
[0019] 第二判决器的输入端与场计数器连接,第二判决器的输出端与场同步状态机的输入端连接,用于输出场同步信号;场同步状态机的输出端与VGA接口模块输入端连接。
[0020] 进一步地,所述有效图像库模块中设置有初值表;
[0021] RGB控制处理模块包括RGB调用单元和RGB输出控制单元;
[0022] 括RGB调用单元的输出端与有效图像库模块的输入端连接,用于根据RGB调用单元输出的调用信号调用值表中对应的图像;
[0023] RGB输出控制单元的输入端与有效图像库模块的输出端连接,RGB输出控制单元的输出端与数模转换模块的一个输入端连接。
[0024] 进一步地,所述复合消隐模块包括暂存器、与暂存器连接的第三判决器;
[0025] 暂存器的输入端与电平变化缓存器的输出端连接,用于接收基准时钟信号;
[0026] 第三判决器的输入端分别与行计数器的输出端、场计数器的输出端连接,用于接收行扫描点的行数据和场扫描点的场数据,第三判决器的输出端与数模转换模块的另一个输入端连接,用于输出复合消隐信号;
[0027] 开关控制模块包括依次连接的开关信号输入单元、信号编码器与开关信号输出单元;
[0028] 开关信号输出单元与有效图像库模块连接。
[0029] 同时,本发明还提供了一种基于FPGA的高效率低频VGA滚动显示控制方法,基于上述一种基于FPGA的高效率低频VGA滚动显示控制系统,其特殊之处在于,包括以下步骤:
[0030] 1)时钟模块将接收到的外部时钟信号进行2分频,获得基准时钟信号,并送入行计数器与场计数器;
[0031] 2)开始计数
[0032] 2.1、行计数器开始计数,将获得的行数据输送至行/场同步信号模块、有效图像库模块和复合消隐模块,当外部显示器的扫描线电子束达到显示区域的顶部时,行计数器向场计数器发送场激励;
[0033] 2.2、场计数器接收到场激励并开始计数,并将获得的场数据输送至行/场同步信号模块、有效图像库模块和复合消隐模块;
[0034] 3)接收数据
[0035] 3.1、行/场同步信号模块将接收到的行数据转化为行同步信号,将接收到的场数据转化为场同步信号;
[0036] 3.2、有效图像库模块将接收到的行数据和场数据产生出不同的图像,然后根据开关控制模块送来的选择信号,再向RGB控制处理模块送出RGB数字信号;RGB控制处理模块调用有效图像库模块中的RGB初值;
[0037] 3.3、复合消隐模块将行数据和场数据转化为复合消隐信号;RGB控制处理模块在接收到有效图像库模块送来的RGB数字信号之后,进行转化和处理分别将RGB初值表示的具体颜色的二进制数据分配到R、G、B三个输出端口;
[0038] 4)将RGB数字信号、复合消隐信号和基准时钟信号送入数模转换模块,得到模拟显示信号;
[0039] 5)VGA接口模块将接收到的模拟显示信号、行同步信号以及场同步信号输送至外部显示器中,获得滚动显示的图像。
[0040] 进一步地,步骤2.1具体为:
[0041] 2.1.1、行计数器开始计数,并将获得的行数据通过第一判决器输送至行同步状态机;
[0042] 2.1.2、行同步状态机将行数据输送至有效图像库模块和复合消隐模块;当外部显示器的扫描线电子束达到显示区域的顶部时,行计数器向场计数器发送场激励;
[0043] 进一步地,步骤2.2具体为:
[0044] 2.2.1、场计数器将接收到的场激励,开始计数,并将获得的场数据通过第二判决器输送至场同步状态机;
[0045] 2.2.2、场同步状态机将场数据输送至有效图像库模块和复合消隐模块。
[0046] 进一步地,步骤4)中,数模转换模块为ADV7132芯片具体。
[0047] 进一步地,步骤1)中,行计数器的计数范围为0到800;
[0048] 场计数器的计数范围为0到525;
[0049] 步骤5)中,滚动显示具体为单七色显示、横平彩条显示、竖直彩条显示、彩色方格显示、以及移动图像显示;移动图像显示包括轮换图像显示、从左向右移动图像显示、从上向下移动图像显示、从左上向右下角移动图像显示。
[0050] 与现有技术相比,本发明技术方案的有益效果是:
[0051] (1)本发明基于FPGA的高效率低频VGA滚动显示控制系统,在深入了解FPGA、VHDL(Very‑High‑Speed Integrated Circuit Hardware Description Language)和VGA知识基础上,完成了基于Quartus II和Modelsim软件的编程、调试和仿真,最终在FPGA的DE2开发板和外部显示器上实现预期图像展示效果。相比于传统方法,本发明系统可以通过简单的编程实现复杂的控制功能,降低了成本和功耗,提高了系统的可靠性和稳定性,使用FPGA和硬件描述语言实现对外部显示器的高精度低频刷新,具有广阔的市场应用前景和经济价值。
[0052] (2)本发明基于FPGA的高效率低频VGA滚动显示控制方法,利用FPGA对外部显示器低频信号进行控制,传统的控制方法需要使用多个器件和复杂的电路,而本发明方法采用FPGA和硬件描述语言(VHDL)进行编程,实现对外部显示器图像信号的高精度控制,涉及的测试图像信号包括白、黄、品、红、青、绿、蓝、黑等颜色信号及其组合显示,可以广泛应用于电视、电脑显示器、LED显示屏等各种显示设备。附图说明
[0053] 图1是本发明系统的框架直连图;
[0054] 图2是本发明系统实施例中的时钟模块示意图;
[0055] 图3是本发明系统实施例行/场同步信号模块中的行同步信号模块示意图;
[0056] 图4是本发明系统实施例行/场同步信号模块中的场同步信号模块示意图;
[0057] 图5是本发明系统实施例中的RGB控制处理模块示意图;
[0058] 图6是本发明系统实施例中的复合消隐模块示意图;
[0059] 图7是本发明系统实施例中的开关控制模块示意图;
[0060] 图8是本发明方法实施例中的行同步状态机的工作过程示意图;
[0061] 图9是本发明方法实施例中的场同步状态机的工作过程示意图;
[0062] 图10是本发明方法实施例中的有效图像库模块的工作过程示意图;
[0063] 图11是本发明方法实施例中的行周期仿真示意图;
[0064] 图12是本发明方法实施例中的行前肩消隐显示和行同步时间的仿真示意图;
[0065] 图13是本发明方法实施例中的行后肩消隐显示和行同步时间的仿真示意图;
[0066] 图14是本发明方法实施例中的从上到下红白色交替滚动显示图;
[0067] 图15是本发明方法实施例中的从上到下、横彩条和竖彩条交替滚动显示图;
[0068] 图16是本发明方法实施例中的从左上角到右下角、白色和竖彩条交替滚动显示图。

具体实施方式

[0069] 如图1所示,一种基于FPGA的高效率低频VGA滚动显示控制系统,包括数模转换模块和VGA接口模块;还包括RGB控制处理模块、复合消隐模块、行/场同步信号模块、时钟模块、行计数器、场计数器,以及开关控制模块、与开关控制模块连接的有效图像库模块;
[0070] 时钟模块分别与RGB控制处理模块、复合消隐模块、行/场同步信号模块、行计数器、场计数器以及有效图像库模块连接;
[0071] 行计数器的输出端分别与有效图像库模块的输入端、场计数器的输入端及复合消隐模块的输入端连接;有效图像库模块与RGB控制处理模块通讯连接;
[0072] 场计数器的输出端分别与有效图像库模块的输入端、复合消隐模块的输入端连接;
[0073] 行/场同步信号模块分别与行计数器与场计数器相互通讯连接;行/场同步信号模块的输出端与VGA接口模块输入端连接;
[0074] 复合消隐模块的输出端、RGB控制处理模块的输出端均与数模转换模块输入端连接,用于控制图像的交替滚动;数模转换模块输出端与VGA接口模块输入端连接;VGA接口模块输出端与外部显示器连接,用于驱动外部显示器形成相应的图像;
[0075] 时钟模块用于将50MHz的外部时钟信号转换为25MHz的基准时钟信号,分并别为RGB控制处理模块、复合消隐模块、行/场同步信号模块、行计数器、场计数器、有效图像库模块提供基准时钟信号;行计数器用于计算每行已显示的像素点个数,并在需要时发出行数据;场计数器用于跟踪外部显示器扫描的场位置,并在需要时发出场数据;RGB控制处理模块利用R、G、B三个输出端口的二进制数值产生不同的色彩,并产生调用信号,用于调用有效图像库模块中的RGB初值;复合消隐模块用于产生复合消隐信号;行/场同步信号模块用于生成行同步信号和场同步信号,并通过行同步信号和场同步信号控制外部显示器的电子束扫描位置,并确保正确地显示图像;开关控制模块用于手动选取所需图像;有效图像库模块用于存储图像。
[0076] 如图2所示,时钟模块包括时钟计数器、与时钟计数器连接的电平变化缓存器;时钟计数器用于接收外部时钟信号,并将外部时钟信号进行分频并送入电平变化缓存器;电平变化缓存器用于输出基准时钟信号,电平变化缓存器的输出端分别与RGB控制处理模块、复合消隐模块、行/场同步信号模块、行计数器、场计数器以及有效图像库模块连接。
[0077] 如图3、图4所示,行/场同步信号模块包括第一判决器、第二判决器、行同步状态机和场同步状态机;第一判决器的输入端与行计数器的输出端连接,第一判决器的输出端与行同步状态机的输入端连接,用于输出行同步信号;行同步状态机的输出端分别与场计数器、VGA接口模块输入端连接;第二判决器的输入端与场计数器连接,第二判决器的输出端与场同步状态机的输入端连接,用于输出场同步信号;场同步状态机的输出端与VGA接口模块输入端连接。
[0078] 如图5所示,RGB控制处理模块包括RGB调用单元和RGB输出控制单元;RGB调用单元的输出端与有效图像库模块的输入端连接,用于根据RGB调用单元输出的调用信号调用值表中对应的图像;RGB输出控制单元的输入端与有效图像库模块的输出端连接,RGB输出控制单元的输出端与数模转换模块的一个输入端连接。
[0079] 如图6所示,复合消隐模块包括暂存器、与暂存器连接的第三判决器;暂存器的输入端与电平变化缓存器的输出端连接,用于接收基准时钟信号;第三判决器的输入端分别与行计数器的输出端、场计数器的输出端连接,用于接收行扫描点的行数据和场扫描点的场数据,第三判决器的输出端与数模转换模块的另一个输入端连接,用于输出复合消隐信号。
[0080] 如图7所示,开关控制模块包括依次连接的开关信号输入单元、信号编码器与开关信号输出单元;开关信号输出单元与有效图像库模块连接。
[0081] 同时本发明还提供了一种基于FPGA的高效率低频VGA滚动显示控制方法,基于上述一种基于FPGA的高效率低频VGA滚动显示控制系统,包括以下步骤:
[0082] 1)时钟模块将接收到的外部时钟信号进行2分频,获得基准时钟信号,并送入行计数器与场计数器;
[0083] 2)开始计数
[0084] 2.1、行计数器开始计数,将获得的行数据输送至行/场同步信号模块、有效图像库模块和复合消隐模块,当外部显示器的扫描线电子束达到显示区域的顶部时,行计数器向场计数器发送场激励;具体为:
[0085] 2.1.1、行计数器开始计数,并将获得的行数据通过第一判决器输送至行同步状态机;
[0086] 2.1.2、行同步状态机将行数据输送至有效图像库模块和复合消隐模块;当外部显示器的扫描线电子束达到显示区域的顶部时,行计数器向场计数器发送场激励;
[0087] 2.2、场计数器接收到场激励并开始计数,并将获得的场数据输送至行/场同步信号模块、有效图像库模块和复合消隐模块;具体为:
[0088] 2.2.1、场计数器将接收到的场激励,开始计数,并将获得的场数据通过第二判决器输送至场同步状态机;
[0089] 2.2.2、场同步状态机将场数据输送至有效图像库模块和复合消隐模块。
[0090] 3)接收数据
[0091] 3.1、行/场同步信号模块将接收到的行数据转化为行同步信号,将接收到的场数据转化为场同步信号;
[0092] 3.2、有效图像库模块将接收到的行数据和场数据产生出不同的图像,然后根据开关控制模块送来的选择信号,再向RGB控制处理模块送出RGB数字信号;RGB控制处理模块调用有效图像库模块中的RGB初值;
[0093] 3.3、复合消隐模块将行数据和场数据转化为复合消隐信号;RGB控制处理模块在接收到有效图像库模块送来的RGB数字信号之后,进行转化和处理分别将RGB初值表示的具体颜色的二进制数据分配到R、G、B三个输出端口;
[0094] 4)将RGB数字信号、复合消隐信号和基准时钟信号送入数模转换模块,得到模拟显示信号;
[0095] 5)VGA接口模块将接收到的模拟显示信号、行同步信号以及场同步信号输送至外部显示器中,获得滚动显示的图像。优选地,滚动显示具体为单七色显示、横平彩条显示、竖直彩条显示、彩色方格显示、以及移动图像显示;所述移动图像显示包括轮换图像显示、从左向右移动图像显示、从上向下移动图像显示、从左上角向右下角移动图像显示。
[0096] 现有利用FPGA实现VGA显示的方法已经得到了广泛的研究,但是目前大多数研究都是基于高频刷新的图像显示,对于低频刷新的图像显示的研究还相对较少。本发明在FPGA内分别设计了时钟模块、开关控制模块、行计数器、场计数器、有效图像库模块、RGB控制处理模块、复合消隐模块以及行/场同步信号模块,用于生成、处理和控制滚动显示信号,最后经过数模转换模块,在外部显示器(即VGA显示器)上进行了展示,结果可以满足不同应用场景的需求,在LED显示屏幕、工业控制系统等有广泛的应用前景。
[0097] 本发明涉及FPGA对与VGA接口模块连接的外部显示器低频信号的控制和研究。传统的控制方法需要使用多个器件和复杂的电路,而本发明采用FPGA和硬件描述语言(VHDL)进行编程,实现对外部显示器图像信号的高精度控制。本发明涉及的测试图像信号包括白、黄、品、红、青、绿、蓝、黑等颜色信号及其组合显示,可以广泛应用于电视、电脑显示器、LED显示屏等各种显示设备。
[0098] 对于普通的外部显示器,其引出线共含5个信号:R、G、B(3基色信号)、HS(行同步信号)、VS(场同步信号)。由R、G、B三种基色可以组合出任意所需要的颜色。在验证阶段可以利用R、G、B基色的二元化值(0和1)的不同组合来验证设计的正确性。其不同组合所能形成的颜色如表1所示。
[0099] 表1外部显示器成色原理
[0100]颜色 黑 蓝 绿 青 红 品 黄 白
蓝色(B) 0 1 0 1 0 1 0 1
绿色(G) 0 0 1 1 0 0 1 1
红色(R) 0 0 0 0 1 1 1 1
[0101] VGA显示器的成像原理:外部显示器在一行图像显示完成后,用行同步信号进行行同步,并进行行消隐,行同步信号为低电平有效,当扫描完成所有行时,用场同步信号进行场同步,并使行扫描回到屏幕的左上方,同时进行场消隐,并预备进行下一次的扫描,场同步信号也同样为低电平有效。
[0102] 常见的彩色显示器一般由CRT(阴极射线管)构成,彩色由R、G、B基色组成。显示是采用逐行扫描的方式解决,阴极射线枪发出电子束打在涂有荧光粉的荧光屏上,产生基色,合成一个彩色像素,彩色显示器的成像原理和VGA显示器成像原理类似。LCD显示器虽然显示原理与阴极射线管不同,但是控制方式和控制信号却是相同的,所以针对阴极射线管设计的控制器也可以应用到LCD显示器中。不同模式下的VGA接口的工业标准如下表2:
[0103] 表2不同的分辨率所对应的像素及行分布
[0104]
[0105] 本发明选择640*480工业标准,其像素频率为25.175MHz,当FPGA上的DE2开发板提供一个50MHz的时钟频率;以行/场同步信号模块设计和复合消隐模块设计最为重要,它决定VGA接口模块能否正常工作;行计数器和场计数器设计决定了外部显示器向每个点的亮灭与否;RGB控制处理模块决定了每个点的颜色,开关控制模块决定在外部显示器上的图像类型,有效图像库模块提供了丰富的图像(单七色、横彩条、竖彩条、彩色方格、移动图像等)。
[0106] 本发明系统的工作原理如下:
[0107] 在外部50MHz时钟信号输入到时钟模块时,时钟模块将其进行2分频,得到本发明需要得到的基准时钟信号25MHz,然后将25MHz的基准时钟信号(即时钟)输送到行计数器和场计数器。
[0108] 行计数器在时钟的作用下一直进行计数,其计数范围是0到800,行计数器将得的行数据输送到行/场同步信号模块中的行同步信号模块、有效图像库模块和复合消隐模块。场计数器在行同步信号作用下进行计数,其计数范围0到525,得到的数据一方面输送到有效图库模块,另一方面回馈到场同步信号模块。
[0109] 行计数器将行数据送到行/场同步信号模块中的行同步信号模块时,行同步信号模块会通过第一判决器、行同步状态机来产生出行同步信号,行同步信号一方面输送到行同步信号模块输出端,另一方面回馈到场计数器中。场计数器将场数据送到行/场同步信号模块中的场同步信号模块时,场同步信号模块通过第二判决器、场同步状态机来产生出场同步信号,场同步信号最后将送到场同步信号输出端口。
[0110] 在有效图像库模块中,接收到行计数器和场计数器送来的数据,由不同的数据产生出不同的图像,然后根据开关控制模块送来的选择信号,再向RGB控制处理模块送出RGB数字信号。RGB控制处理模块在接收到有效图像库模块送来的信号之后,进行转化和处理分别将数据分配到R、G、B三个输出端口。
[0111] 将10位数据位宽的RGB数字信号、复合消隐信号、时钟信号以及同步信号送到ADV7123芯片就能得到模拟显示信号,最后将模拟显示信号和行同步信号、场同步信号送到VGA接口模块至外部显示器中,从而看到预想的图像或图案。
[0112] 本设计采用640*480的工业标准,其像素频率为25.175MHz,DE2开发板上的时钟频率为50MHz,因此对其时钟频率进行2分频即可得到需要的频率,虽然和标准频率有一定差别,但是在低频刷新应用中能够满足要求。
[0113] 行同步信号使得与VGA接口模块连接的外部显示器里面的行振荡电路能够正常工作,给外部显示器一个行激励,从而使外部显示器得到必要的行偏转。
[0114] 如图8所示,当行同步状态机h_state复位时,即进入h_sync状态对应每行的行同步时间区域。行计数器h_cnt随25MHz的时钟进行计数,当行计数器h_cnt的计数值到达95时,行同步状态机即进入行消隐前肩h_front状态;当h_cnt的计数值为114时,行同步状态进入行同步状态h_video,此时,h_sync输出高电平,当h_cnt的计数值为754时,行同步状态机即进入行消隐后肩h_back状态;在行同步状态机为h_front、h_sync、h_back状态时,行消隐信号输出低电平。当h_cnt的计数值为799时,行同步状态机进入h_sync状态,同时行计数器的同步复位信号为高电平,行计数器复位,开始等待下一行数据。
[0115] 在行同步信号模块中的行同步电路工作时,场同步信号模块同步能得到场激励,使得场同步信号模块中的场同步电路能够正常工作,行计数器输出场激励使外部显示器中的偏转线圈运行。当行计数器中的行正常扫描完一次时,在外部显示器中的行偏转线圈的作用下,进行下一次行扫描。
[0116] 如图9所示,当场同步状态机v_state开始时进入v_sync状态,对应了每场的场同步时间区域,场计数器v_cnt的值每行加1,当v_cnt的计数值达到2时,场同步状态机翻转,进入场消隐前肩v_front状态;当v_cnt的值为14时,场同步状态机v_state进入场同步状态v_video,场同步状态机v_state此时输出高电平;当v_cnt的值为494时,场同步状态机v_state进入场同步状态v_back;当v_cnt的值为524时,场同步状态机v_state又翻转进入v_sync状态,同时输出高电平(v_state)直到场计数器v_cnt的同步清零端使其清零。当场同步状态机v_state的状态为v_front、v_sync、v_back三种状态时,场消隐信号输出低电平,其余时刻为高电平。
[0117] 通过VGA显示器成像原理,我们知道RGB基色的组合能得到不同颜色,通过开辟一个RGB数字信号的寄存器,当接收到行计数器和场计数器的数据时,根据不同的行数据和场数据的值,会输出不同的RGB组合。
[0118] 将RGB数字信号送到ADV7123芯片时,必须将相应的复合消隐信号同时输入到ADV7123芯片,同时还有基准时钟信号,这样才能得到正确的模拟RGB数字信号。复合消隐信号的得到有两种基本的方法,其一是以行同步信号、场同步信号和复合消隐信号为基础来设计,其二是以基准时钟信号为基础,并结合行计数器来设计。
[0119] 开关控制模块是唯一和时钟模块没有直接联系的模块,它不受时钟模块的控制和约束。它只是接收外部开关的信号,再将外部开关的信号保存在一个寄存器中,最后将它送到有效图像库模块中进行图像的选择和显示。本实施例是以四个拨动开关的16种组合作为开关控制。每个开关只有0和1两种状态,四个开关的16种状态对应于不同的图像,有3种状态是全黑状态,即表示图像为黑色。
[0120] 如图10所示,有效图像库模块的设计是本发明最为直观的一个模块设计,本发明直接决定了外部显示器输出的图像信息。有效图像库模块的设计主要有单七色:红、绿、蓝、青、品、黄、白,横平彩条,竖直彩条,彩色方格,以及移动图像(轮换显示图像、从左向右图像移动、从上向下图像移动、从左上角向右下角图像移动)。因此我们开辟了一个RGB初值表,保存了RGB不同的值,具体如表3所示。
[0121] 表3
[0122]RGB名称 值
RGB0 111111111111111111111111111111
RGB1 111111111100000000000000000000
RGB2 000000000011111111110000000000
RGB3 000000000000000000001111111111
RGB4 000000000011111111111111111111
RGB5 111111111100000000001111111111
RGB6 111111111111111111110000000000
RGB7 000000000000000000000000000000
[0123] 单七色的设计,我们不需要对它的行计数器和场计数器送来的行数据和场数据进行判断,而是直接调用RGB初值,我们根据不同的外部开关信号的值来确定不同的颜色:
[0124] “0000”调用RGB0,对应的是“纯白色”;
[0125] “0001”调用RGB1,对应的是“纯红色”;
[0126] “0010”调用RGB2,对应的是“纯绿色”;
[0127] “0011”调用RGB3,对应的是“纯蓝色”;
[0128] “0100”调用RGB4,对应的是“纯青色”;
[0129] “0101”调用RGB5,对应的是“纯品色”;
[0130] “0110”调用RGB6,对应的是“纯黄色”;
[0131] “1111”调用RGB7,对应的是“纯黑色”。
[0132] 然后直接将对应的RGB初值赋给RGB控制处理模块输出端,再经过ADV7123芯片进行数模转换后输送到外部显示器上面,我们就能在外部显示器上看到对应的图像。
[0133] 横平彩条设计需要有行计数器和外部开关信号,同时我们对横彩条定义了一个信号为RGBX。当输入的外部开关信号为“1000”时,就立即进入了横彩条状态,开始对行计数器送来的行数值(h_cnt)进行判断:
[0134] 当h_cnt<200时,RGBX直接调用RGB0的值;
[0135] 当h_cnt<280时,RGBX直接调用RGB1的值;
[0136] 当h_cnt<360时,RGBX直接调用RGB2的值;
[0137] 当h_cnt<440时,RGBX直接调用RGB3的值;
[0138] 当h_cnt<520时,RGBX直接调用RGB4的值;
[0139] 当h_cnt<600时,RGBX直接调用RGB5的值;
[0140] 当h_cnt<680时,RGBX直接调用RGB6的值;
[0141] 当h_cnt<760时,RGBX直接调用RGB7的值。
[0142] 然后将RGBX的值直接赋给RGB控制处理模块输出端,经过ADV7123芯片数模转换后送到显示器上,就能在显示器上显示出横彩条(白、红、绿、蓝、青、品、黄、黑)。
[0143] 竖直彩条设计需要有行计数器和外部开关信号,同时我们对竖直彩条定义了一个信号为RGBY。当输入的外部开关信号为“1001”时,就立即进入了竖直彩条状态,开始对场计数器送来的场数值(v_cnt)进行判断:
[0144] 当v_cnt<90时,RGBY直接调用RGB0的值;
[0145] 当v_cnt<150时,RGBY直接调用RGB1的值;
[0146] 当v_cnt<210时,RGBY直接调用RGB2的值;
[0147] 当v_cnt<270时,RGBY直接调用RGB3的值;
[0148] 当v_cnt<330时,RGBY直接调用RGB4的值;
[0149] 当v_cnt<400时,RGBY直接调用RGB5的值;
[0150] 当v_cnt<460时,RGBY直接调用RGB6的值;
[0151] 当v_cnt<520时,RGBY直接调用RGB7的值。
[0152] 然后将RGBY的值直接赋给RGB控制处理模块输出端,经过ADV7123芯片数模转换后送到外部显示器上,就能在外部显示器上显示出竖直彩条(白、红、绿、蓝、青、品、黄、黑)。
[0153] 彩色方格图像的设计比较简单,需要的资源比较少。它是基于横彩条和竖彩条设计基础之上来实现的。当输入的外部开关信号为“1010”时,就立即进入了彩色方格状态,彩色方格的得到是把横彩条RGBX和竖彩条RGBY表示的二进制数值异或,然后将所得的值赋给RGB控制处理模块输出端即可。
[0154] 轮换显示即每隔十秒将上述的各种图像(纯白、纯红、纯绿、纯蓝、纯青、纯品、纯黄、横彩条、竖彩条、纯黑)依次显示一轮,依次循环下去,这需要一个寄存器(RGBZ)和一个分频器(DE2提供的外部时钟信号是50MHz)。首先是分频器的设计,将50MHz的信号进行计数,每记250000个时钟脉冲就将分频信号进行一次取反,这样就能得到一个1Hz的时钟信号,在此基础上每隔十秒进行一次计数:从0开始计数到9,其中每个数就代表一种颜色。通过VHDL中的CASE语句就能将每种状态的图像显示出来:
[0155] “0”≥RGBZ调用RGB0的值;
[0156] “1”≥RGBZ调用RGB1的值;
[0157] “2”≥RGBZ调用RGB2的值;
[0158] “3”≥RGBZ调用RGB3的值;
[0159] “4”≥RGBZ调用RGB4的值;
[0160] “5”≥RGBZ调用RGB5的值;
[0161] “6”≥RGBZ调用RGB6的值;
[0162] “7”≥RGBZ调用RGBX的值;
[0163] “8”≥RGBZ调用RGBY的值;
[0164] “9”≥RGBZ调用(RGBX异或RGBY)的值。
[0165] 然后就是将RGBZ的值赋给RGB控制处理模块输出端口,通过RGB控制处理模块再经ADV7123芯片数模视频转换,再外部显示器上就能得到预想图像。
[0166] 从左至右图像移动设计,是在轮换图像设计的基础上改进和修改得到的。该设计的关键就是要控制好行计数器的行数值h_cnt。我们通过对行计数器进行不同的赋值,我们最后就能在外部显示器上看到不同地方有不同的颜色。左至右图像移动的设计需要一个计数器和寄存器(RGBU)。由于上个图像已经设计一个分频器,所以本设计中就可以借用上面的分频器,在分频器的基础上我们可以得到一个计数器,其计数的范围是0~750。
[0167] 从上至下图像移动设计,是在轮换图像设计的基础上改进和修改得到的。本设计的关键就是要控制好场计数器的场数值v_cnt。我们通过对场计数器进行不同的赋值,我们最后就能在外部显示器上看到不同地方有不同的颜色。上至下图像移动的设计需要一个计数器和寄存器(RGBV)。由于上个图像已经设计一个分频器,所以本设计中就可以借用上面的分频器,在分频器的基础上我们可以得到一个计数器,其计数的范围是0~525。
[0168] 从左上角向右下角图像移动设计,是在上面三个动态图像设计的基础上改进和修改得到的。本设计的关键就是要控制好行计数器和场计数器的数值h_cnt/v_cnt。我们通过对行计数器进行不同的赋值,我们最后就能在外部显示器上看到不同地方有不同的颜色。从左上角向右下角图像移动的设计需要一个计数器和寄存器(RGBW)。由于上个图像已经设计一个分频器,所以本设计中就可以借用上面的分频器,在分频器的基础上我们可以得到一个计数器,其计数的范围是分别是0~800和0~525。
[0169] 行同步信号仿真是为了能得到比较准确的行同步信号,使得与VGA接口模块连接的外部显示器能够得到正常的行同步信号,让外部显示器的行振荡电路能够正常起振。正确的行同步信号才能得到正确的场同步信号,进而能确定复合消隐信号,由此得到正确的行同步信号对整个系统都有很重要的意义。行同步信号的仿真同时就显得非常重要,其具体的方法是在Modelesim软件下进行的,通过仿真后得到行周期显示,参见图11;行前肩消隐显示和行同步时间的关系,参见图12;行后肩消隐显示和行同步时间的关系,参见图13。
[0170] 如图14、图15和图16所示,DE2通过Altera Bytelaster下载线将编译好的文件下载到FPGA中去,最后通过VGA接口模块连接外部显示器获得的图像滚动效果。从图14至图16中可以看到,经过不同种类的图像滚动显示,此设计结构稳定,能准确显示不同图像,证明本发明设计是可以作为各个展示屏幕的控制器。
QQ群二维码
意见反馈