当前位置: 首页 > article >正文

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

http://www.kler.cn/a/234910.html

相关文章:

  • 【go从零单排】Mutexes互斥锁
  • HarmonyOS Next 实战卡片开发 02
  • 11 go语言(golang) - 数据类型:结构体
  • 今天给在家介绍一篇基于jsp的旅游网站设计与实现
  • 前端代码分析题(选择题、分析题)——this指向、原型链分析
  • 大模型就业收入高吗?大模型入门到精通,收藏这篇就够了
  • 机器学习系列——(十三)多项式回归
  • openssl3.2 - exp - RAND_bytes_ex
  • 【Linux】信号保存与信号捕捉处理
  • ubuntu20安装mongodb
  • opencv C++ dnn模块调用yolov5以及Intel RealSense D435深度相机联合使用进行目标检测
  • [office] excel如何计算毛重和皮重的时间间隔 excel计算毛重和皮重时间间隔方法 #笔记#学习方法
  • 牛客——递归实现组合型枚举(枚举,dfs)
  • 浅谈人工智能之深度学习~
  • CPP项目:Boost搜索引擎
  • 【并发编程】原子累加器
  • 企业飞书应用机器人,使用python发送图文信息到群
  • SpringCloud-Eureka服务注册中心测试实践
  • CSS 2D转换 3D动画 3D转换
  • ###C语言程序设计-----C语言学习(12)#进制间转换,十进制,二进制,八进制,十六进制
  • K8S之运用节点选择器指定Pod运行的节点
  • SERVLET间通信
  • vue父组件监听子组件是否加载完毕通过ref调用子组件的函数
  • 940. 不同的子序列 II
  • C语言——oj刷题——模拟实现库函数strlen
  • Solidworks:平面工程图练习