VGA显示彩色方块测试


前言

  本文将介绍在AWC_C4MB开发板上进行VGA显示彩色方块测试的过程和结果。AWC_C4MB是一款功能强大的开发板,提供多种接口和资源,使其成为嵌入式系统开发和图像处理的理想平台。本次测试的目标是验证AWC_C4MB的VGA显示功能,并通过显示彩色方块来检查图像输出是否正常。测试过程中将使用AWC_C4MB的硬件和软件资源来实现VGA显示。通过编程控制和配置,我们将在VGA显示屏上生成彩色方块,并再次确认AWC_C4MB的图像处理能力和稳定性。本次工程使用的开发板实物图如下:

在这里插入图片描述
  本文将介绍显示测试的具体步骤,包括设置开发环境、连接硬件、编写代码、执行测试以及结果分析。还将提供必要的代码示例和图像输出的说明,以帮助读者理解和重现此测试。

一、VGA接口简介

  VGA接口通过传输模拟视频信号来显示图像,支持分辨率640x480、800x600、1920x1080等像素,以及16色或256色的颜色深度。它使用15个针脚的连接器,其中包括3个色彩信号(红色、绿色和蓝色),一个垂直同步信号(用于控制图像的垂直位置)和一个水平同步信号(用于控制图像的水平位置)。VGA接口实物图如下:

在这里插入图片描述
  VGA接口的工作原理是将计算机的图像信号转换为模拟电压信号,并将其传输到显示设备。显示设备通过解读这些电压信号来形成图像,并根据同步信号来确定图像的位置和刷新率。
  由于其广泛的应用和成熟的技术,VGA接口在过去几十年里一直是计算机显示的主要接口标准。然而,随着技术的发展,数字视频接口(如HDMI和DisplayPort)逐渐取代了VGA接口,这些数字接口提供了更高的分辨率、更好的图像质量和更多的功能。
  尽管如此,VGA接口仍然在一些旧型号的显示器、投影仪和计算机上得到支持,同时在一些特定的应用领域仍然具有一定的重要性,比如工业控制、监控系统以及一些老旧设备的连接等。
  VGA接口硬件电路图如下:

在这里插入图片描述
  根据硬件原理图可知,开发板是使用RGB565格式对彩色图像进行编码,用于表示像素的颜色信息。它是由红色(R)、绿色(G)和蓝色(B)三个颜色通道组成的,每个通道使用特定的位数来表示颜色强度。
  在RGB565中,每个像素用16位(2字节)来表示,其中5位用于红色通道,6位用于绿色通道,5位用于蓝色通道。这种编码方式使得每个通道都可以表示32级强度(对应于5位的2的指数值),因此可以生成约65,536种不同的颜色。

二、扫描显色简介

  通过扫描行和列的组合,显示器可以实现图像的显示。在显示图像时,每个图像被分成一个个像素点的阵列。扫描行是指将图像分成水平方向上的一行行像素再进行扫描,而扫描列是指将图像分成垂直方向上的一列列像素再进行扫描。
  显示器首先从图像的左上角开始,按照顺序逐行扫描所有的像素点。每个扫描行由一个个像素组成,扫描行的数量取决于屏幕的高度。扫描器从左到右扫描完一行后,会逐行下移,继续扫描下一行。扫描完所有列后会重新回到第一行继续往下进行扫描。扫描简图如下图所示:

在这里插入图片描述
  对于扫描到的一帧图像中不同位置的像素点,进行赋值操作,即可实现颜色显示。

三、1920x1080@60 显示时序简介

  1920x1080@60是一种常见的显示分辨率和刷新率组合,表示屏幕上水平像素数为1920,垂直像素数为1080,刷新率为60赫兹(Hz),这里的刷新率即为帧率,帧率为60HZ表示1s内总共会显示60帧图像。显示时序指定了图像在屏幕上刷新的时间序列,确保图像以正确的速率显示并保持稳定。显示屏显示时序参数如下:

在这里插入图片描述
  ①表示图像水平总像素和垂直总像素,水平总像素为2200个像素点,垂直总像素为1125个像素点。
  ②表示行扫描时序参数,H Right Border表示行扫描右边框,H Front Porch表示行扫描前沿,H Sync Time表示行同步区域,H Back Porch表示行扫描后沿,H Left Border表示行扫描左边框。
  ③表示场扫描时序参数,V Bottom Border表示场扫描下边框,V Front Porch表示场扫描前沿,Ver Sync Time表示场同步区域,V Back Porch表示场扫描后沿,V Top Border表示场扫描上边框。
  有效显示区域与总扫描区域简图如下:

在这里插入图片描述
  如图所示,在整个行扫描周期内,扫描的先后顺序为:行同步区域->行扫描后沿->行扫描左边框->行有效区域->行扫描右边框->行扫描前沿;在整个场扫描周期内,扫描的先后顺序为:场同步区域->场扫描后沿->场扫描上边框->场有效区域->场扫描下边框->场扫描后沿。在设计中,当且仅当扫描行、场扫描信号都扫描到有效显示区域时,才对当前的像素点进行赋值操作。

四、代码设计

  综合VGA显示时序,宏定义的参数如下:

在这里插入图片描述
  根据显示特性和上述参数,绘制的信号波形图如下:

在这里插入图片描述
vga_clk:VGA工作时钟,假定一个时钟周期为T,因为显示屏总像素为2200x1125,每秒显示60帧图像,则T×2200×1125×60=1,可得T=6.73ns,由此可得时钟为148.5MHZ;
pre_data:未经处理的图像输入信号,只有当行场扫描信号均扫描到有效显示区域,该图像信号才为有效显示信号;
pixel_x:有效显示区域行坐标;
pixel_y:有限显示区域场坐标;
hsync:行同步信号,只有在行同步区域拉高;
vsync:场同步信号,只有在场同步区域拉高;
post_data:在有效区域待显示的图像数据;
cnt_h:行扫描信号,每次都需要扫描2200个像素点,扫描完成后清零重新进行扫描;
cnt_v:场扫描信号,行扫描信号每扫描完成2200个像素点,该信号就会自增一次,当行扫描信号扫描1125次2200个像素点后,该信号就会清零重新自增;
vga_valid:图像显示有效区域标志信号,只有行场扫描信号均扫描到有效显示区域,该信号才拉高。

五、显示测试

显示测试
  如图所示,将显示屏分成四个显色区域,分别显示红、橙、黄、绿方块,显示测试成功。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值