微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > FPGA处理的信号通过VGA显示 遇到问题

FPGA处理的信号通过VGA显示 遇到问题

时间:10-02 整理:3721RD 点击:
我做了一个成像系统,图像传感器有效像元是384*288,实际像元大小是392*294。通过FPGA将图像传感器传来的数字数字信号处理后送给DAC7123传换成模拟信号,再通过RGB565的格式显示。
现在我遇到的问题是  VGA显示中Sync pulse lenght 、Back porch、Active video time、Front porch、这四个变量可以确定行有效信号hs和帧有效信号vs,常见的如640*480这种都会查到四个变量的值,
`ifdef        VGA_640_480_60FPS_25MHz
`define        H_FRONT        11'd16
`define        H_SYNC         11'd96  
`define        H_BACK         11'd48  
`define        H_DISP                11'd640
`define        H_TOTAL        11'd800        
                                       
`define        V_FRONT        11'd10  
`define        V_SYNC         11'd2   
`define        V_BACK         11'd33
`define        V_DISP           11'd480  `
`define        V_TOTAL        11'd525
但是我使用的像元是384*288,我不知道这四个值如何设定。我这里只能确定DISP分别是384和288,行和列的盲像元分别是8和6。但是我试了
`ifdef        VGA_384_288_60FPS_5MHz
`define        H_FRONT        11'd0
`define        H_SYNC         11'd8  
`define        H_BACK         11'd0  
`define        H_DISP        11'd384
`define        H_TOTAL        11'd392        
                                       
`define        V_FRONT        11'd0  
`define        V_SYNC         11'd6   
`define        V_BACK         11'd0
`define        V_DISP         11'd288   
`define        V_TOTAL        11'd294
VGA无法正常显示,不知道如何确定行有效信号hs和帧有效信号vs,本人将所以积分奉上,跪求解释

管理员大哥快审核啊

我做了修改,试验改VGA_640_480_60FPS_25MHz 中任意一个变量的值,发现显示屏都无法显示,提示频率超出范围,是不是显示屏只认640*480  800*600  这些固定的值啊?

我不修改VGA_640_480_60FPS_25MHz 中变量的值,把clk的25MHZ的频率改成5MHZ,也不能显示,提示频率超出范围

我觉得我不能改VGA_640_480_60FPS_25MHz 中变量的值,可是我的信号是5MHZ的384*288,5MHZ信号出来,显示却是25MHZ,用SDRAM缓存数据再用FIFO可以不?显示频率是图像频率的5倍,怎么办,384*288只能显示在640*480屏幕中间啦~这可咋整啊,毕不了业了

5MHz可以用PLL倍频到25MHz;VGA显示中Sync pulse lenght 、Back porch、Active video time、Front porch、这四个变量不可以随便改动吧,要根据手册的。

VGA的时序可以参考VESA标准。

VESA标准里面找到你要显示的分辨率和刷新率。

顶一个 FPGA 很高大上的东东!

添加空白像素点,把视频扩充为标准的分辨率格式。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top