FPGA_简单工程_VGA显示驱动器

一 理论

使用640*480@60显示模式,将数字信号转换位模拟信号,经由VGA进行显示。

使用3GM723,3路高清视频编码芯片。

3GM7123编码芯片:

该芯片的主要功能是将RGB888的颜色数据转换成模拟的电压信号,然后进入到VGA接口的3个RGB接口。例如RGB888的数据,最后颜色数据就是24位,共有2*24中颜色,当然这种芯片也适用于RGB565,RGB555,RGB444等图像数据类型。

二 电路

使用GB712芯片与VGA接口。

三 信号

框图:

VGA时序图:

四 代码

复制代码
module VGA_CTRL(
  input sys_clk,
  input sys_rst_n,
  output VGA_HS,
  output VGA_VS,
  output VGA_BLK,
  output [23:0]VGA_RGB
);
  localparam Hsync_End ==800;
  localparam Hs_End ==96;
  localparam Vsync_End ==525;
  localparam Vs_End ==2;
  localparam Hdat_begin ==144;
  localparam Hdat_End ==784;
  localparam Vdat_begin ==35;
  localparam Vdat_End ==515;
  
  reg [9:0] hcnt;
always@(posedge sys_clk or negedge sys_rst_n)
  if(!Reset_n)
     hcnt <= 0;
   else if(hcnt >=Hsync_End -1)
     hcnt <=0;
   else 
     hcnt <= hcnt +1'b1;
//Hcnt   
assign VGA_HS = (hcnt < HS_End - 1'd1)? 0:1;
//VGA_HS
reg [9:0]vcnt;
always@(posedge sys_clk or negedge sys_rst_n)
  if(!Reset_n)
     Vcnt <= 0;
   else if(Vcnt >=Vsync_End -1)
     Vcnt <=0;
   else 
     Vcnt <= Vcnt +1'b1;
//Vcnt     
assign VGA_VS = (Vcnt < VS_End - 1'd1)? 0:1;
//VGA_VS
assign VGA_BLK = ((hcnt >= Hdat_begin - 1) && (hcnt <Hdat_End -1) && (Vcnt <Vdat_End))?1:0;
//VGA_BLK
assign VGA_RGB =VGA_BLK?Data:0;

endmodule
相关推荐
XUEYUAN52123 天前
ASN 自治系统号风控:平台如何通过 IP 所属自治域批量识别代理流量
python·网络协议·http·网络安全·socks5
CHENKONG_CK3 天前
破解制鞋打磨痛点:RFID赋能去毛刺工序自动化升级
网络·单片机·嵌入式硬件·网络协议·tcp/ip
Eloudy3 天前
开源 gpunetio examples 01 解析 gpunetio_verbs_put_bw
gpu·fpga·rdma·roce·doca
Cicada1283 天前
库存消息消费的正确性设计——从幂等窗口到批量流水线
分布式·系统架构
彧azz3 天前
操作系统时间管理与系统核心板块学习总结
c语言·笔记·学习·系统架构
博览鸿蒙3 天前
FPGA开发使用的语言
fpga开发·fpga
z落落3 天前
C#UDP+串口服务端+UDP 客户端(含 CRC16 校验)
网络·网络协议·udp
明德扬3 天前
机器人多摄像头如何做FPGA多路视频聚合?
学习·fpga开发·fpga
kaixin_啊啊3 天前
Micam 多容器太吃资源?用 Go2RTC + EasyNVR 给小米摄像头换一套轻量本地录像方案
图像处理·人工智能·摄像头
曼巴UE53 天前
UE5 客户端 需要的网络同步概念总结(3 )-事件同步 RPC 以及三种调用方式
网络·c++·网络协议·学习·rpc·ue5