ZYNQ——FPGA工程之VGA彩条显示

该博客介绍了如何使用Vivado在ZYNQ FPGA上实现VGA接口,输出彩条图像。内容涵盖VGA时序、信号配置、RGB565到RGB444的转换、代码实现及遇到的问题。提供了详细的工程下载链接供读者参考。
摘要由CSDN通过智能技术生成

参考:

https://blog.csdn.net/Taneeyo/article/details/115180568?spm=1001.2014.3001.5501

https://www.bilibili.com/video/BV17U4y157gp?spm_id_from=333.999.0.0

本文的工程下载链接:

https://download.csdn.net/download/weixin_50988214/21979975

主要内容:

使用vivado实现VGA端口,输出一幅彩条图像。

目录:

一、VGA时序

二、VGA各信号的配置

三、问题1、RGB565转化成RGB444

四、代码

五、出错问题

一、VGA时序

VGA显示信号由以下部分组成:

1、RGB444的数据值

2、VGA-HS: VGA行同步信号

3、VGA-VS: VGA场同步信号(列同步)

行同步有效说明一行扫描完了,到达下一行开始扫描‘场同步信号有效说明整个屏幕完成,又回到第一行开始扫描。以此重复达到持续绘制VGA显示屏幕这一功能。

但是,在显示器上的电子枪在扫描过程中需要进行复位调整,这时如果我们在复位时开始执行有效的行或者场扫描的话,那么会出现错误。这也是为什么VGA时序图中有FRONT_PORCH和BACK_PORCH空隙原因。

二、VGA各信号的配置

三、问题1RGB565转化成RGB444

问题1、

若输入为RGB565转化成输出的RGB444

只取每个的高位

四、代码

1、vga_display.h

module vga_display(

    input             vga_clk,                  //VGA驱动时钟

    input             sys_rst_n,                //复位信号

    

    input      [ 9:0] pixel_xpos,               //像素点横坐标

    input      [ 9:0] pixel_ypos,               //像素点纵坐标    

    output reg [15:0] pixel_data                //像素点数 ?

    );    

    

parameter  H_DISP = 10'd640;                    //分辨率—— ?

parameter  V_DISP = 10'd480;                    //分辨率——

localparam WHITE  = 16'b11111_111111_11111;     //RGB565 白色

localparam BLACK  = 16'b00000_000000_00000;     //RGB565 黑色

localparam RED    = 16'b11111_000000_00000;     //RGB565 红色

localparam GREEN  = 16'b00000_111111_00000;     //RGB565 绿色

localparam BLUE   = 16'b00000_000000_11111<

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值