【ZYNQ-7000开发之一】PL部分驱动VGA显示静态彩色图像

本文介绍了如何在ZYNQ-7000 FPGA平台上使用PL部分驱动VGA显示640x480分辨率的12bit彩色图像。通过理解VGA的原理,配置PLL和ROM IP,以及生成coe文件,最终实现了图像的显示。详细步骤包括VGA时序、逻辑实现、coe文件生成和代码烧录。
摘要由CSDN通过智能技术生成

在本篇文章中,将实现在Xilinx ZYNQ上实现用PL部分驱动VGA显示12bit的彩色图像,涉及到VGA的驱动原理,vivado上的PLL IP和ROM IP的使用以及彩色图像coe文件的生成。最后将提供整个项目代码。

本文所使用的开发板是Miz702(兼容zedboard),软件开发环境:vivado 2015.2

一、VGA的原理

VGA的协议比较简洁,主要是有五个信号线组成,行同步信号 HSYNC,场同步信号VSYNC3条色彩电压传输信号(RGB分别对应)。色彩信
号的电压为
0~0.7V。本次要实现的分辨率是640*480,帧率是60Hz,所需要的时钟是25Mhz.话不多说,直接上图:


VGA 时序图


需要注意的是,VGA的时序图和参数表可以看出,每帧需要525个vsync脉冲,在每个vsync的周期中,即Tvsync,又包含着800个hsync脉冲,而图像RGB的有效时间在hsync的640个显示脉冲之中。

二、逻辑实现

//vga_sync.v  VGA同步控制逻辑
module vga_sync(
        input   wire            clk,
        input   wire            rst_n,
        output	wire		video_en,              //数据有效
        output  reg             hsync,                 //场同步信号
        output  reg             vsync,                 //行同步信号
        output  wire    [9:0]   pixel_x,               //待显示待像素的x坐标
        output  wire    [9:0]   pixel_y                //待显示待像素的y坐标 
        );
         
        reg     [9:0] pixel_cnt;
        reg     [9:0] line_cnt;
		  
		  
        reg             v_video_en;
        reg             h_video_en;
        
       
        always @(posedge clk or negedge rst_n)
            if(!rst_n)
                begin
                    pixel_cnt <= 10'b0;
                end
            else
      
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值