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

【接口协议】FPGA 驱动 VGA 显示实验(一)原理部分

目录VGA介绍VGA 接口管脚VGA 色彩原理VGA 工作原理VGA 时序VGA介绍VGAVideo Graphics Array视频图形阵列是 IBM 于 1987 年提出的一个使用模拟信号的电脑显示标准。VGA 接口即电脑采用 VGA 标准输出数据的专用接口。VGA 接口共有 15 针分成 3 排每排 5 个孔显卡上应用最为广泛的接口类型绝大多数显卡都带有此种接口。它传输红、绿、蓝模拟信号以及同步信号(水平和垂直信号)。VGA 具有分辨率高、显示速率快、颜色丰富等优点。VGA 接口不但是 CRT 显示设备的标准接口同样也是 LCD 液晶显示设备的标准接口具有广泛的应用范围。VGA 接口管脚VGA 是如下图的 D 型接口采用非对称分布的 15pin共有 15 针 分成 3 排每排 5 个孔。这是显卡中应用最为广泛的接口类型绝大多数显卡都带有此种接口可以传输红、绿、蓝模拟信号以及同步信号(水平和垂直信号)。VGA 的每个管脚都有相对应的编号下表为各个管脚对应的含义管脚名称含义1RED红基色2GREEN绿基色3BLUE蓝基色4ID2地址码 25GND行同步地6RGND红地7GGND绿地8BGND蓝地9KEY保留管脚10GND场同步地11ID0地址码 012ID1地址码 113HSYNC行同步14VSYNC场同步15ID3地址码 3以上部分的信号为在设计时需要关注的信号分别为红、绿、蓝基色和行、场同步信号其余信号在 FPGA 设计中不需要关注通过 FPGA 进行控制以上信号就可以实现各种图像。VGA 色彩原理自然界中的绝大部分彩色都可以由三种基色按一定比例混合得到反之任意一种颜色三基色除外均可被分解为三种基色。作为基色的三种彩色要相互独立即其中任何一种基色都不能由另外两种基色混合来产生。由三基色混合而得到的彩色光的亮度等于参与混合的各基色的亮度之和。三基色的比例决定了混合色的色调和色饱和度。在中学的物理课中我们可能做过棱镜的试验白光通过棱镜后被分解成多种颜色逐渐过渡的色谱色依次为红、橙、黄、绿、蓝、靛、紫这就是可见光谱。其中人眼对红绿蓝三色最为敏感人的眼睛就像一个三频接收器的体系任何一种基色都不能由其它两种颜色合成。红绿蓝是三基色这三种颜色合成的颜色范围最为广泛。红绿蓝三基色按照不同的比例相加合成混色称为相加混色。三基色颜色编码表如下可以看到通过三基色的不同配比可以得到不同的颜色这就是 VGA 的颜色显示原理。颜色REDGREENBLUE黑000蓝001红100紫101绿010青011黄110白111VGA 工作原理一幅图由多个像素组成比如一张图片的分辨率为 800*600则此图像由600行每行800个像素点组合而成的想要在显示屏上显示这张图片就需要把每个像素扫描上扫描的方式为逐行扫描从一行最左边开始扫描一行的最后一个像素点扫描完成后扫描下一行的起始点直至扫描完全。VGA 时序VGA 的时序可以分为四个阶段同步脉冲 a、显示后沿 b、显示时序段 c、显示前沿 d。同步脉冲 a 代表新一行的扫描开始 同时也是上一行扫描的结束。 显示时序 c 是真正图像的显示区域 在此阶段 像素逐个显示出来 即在这一阶段控制红、绿、蓝三基色信号输出对应像素的 RGB 值。 显示后沿 b 和显示前沿 d 这两个阶段是消隐时刻 此时要求红、绿、蓝三基色信号都为 0。电子束的行进路径是从图像的左上角开始由左到右一个点一个点的移动。当一行扫描完毕后电子束则需要从最右边回到最左边开始下一行的扫描这一移动的时间即为同步脉冲 a。在同步脉冲 a 结束后信号由 0 变 1 迎来一个上升沿进入显示信号。 这段显示信号包含显示后沿 b、显示时序 c 和显示前沿 d 三部分其中只有显示时序 c 是真正可以显示像素的即在这一段需要输出有效的 RGB 的值从而保证显示效果。场同步的变化是以“一行” 为单位的。假定一行时间是 800 个时钟场同步脉冲 a 的值为 2则场同步脉冲的时间是 2*8001600 个时钟。真正的显示区域是场同步信号处于显示区域且行同步信号也处于显示区域的部分 其他区域中红、 绿、 蓝基色都要给低电平。 即场同步信号和行同步信号均处于显示区域的时候 才是真正的显示区域。下图为 VGA 常用分辨率时序参数a同步脉冲b显示后沿c显示区域d显示前沿e帧长以 800*600/60Hz 为例 这一指标代表刷新频率为 60Hz 分辨率为 800X600。 标准 VGA 显示驱动中刷新频率 60 Hz 即为 1 秒显示 60 幅图像。此外 从上表中可以看出 在该分辨率下行同步信号的同步脉冲是 128 个基准时钟 显示后沿是 88 个基准时钟 显示区域是 800 个基准时钟 显示前沿是 40 个基准时钟 通过相加可以得出一行一共有 1056 个基准时钟。 该分辨率下的场同步信号的同步脉冲是 4 行4*1056 个基准时钟 显示后沿是 23 行23*1056 个基准时钟 显示区域为 600 行600*1056 个基准时钟 显示前沿为 1 行1*1056 个基准时钟 共计 623 行623*1056 个基准时钟 。那么基准时钟又是多少呢 由于 1 秒显示 60 幅图像 所以一幅图像显示的时间是 1/60 秒。 由于一幅图像占用了 623*1056 个基准时钟 则基准时钟周期 1/60 /623*1056 秒 约为 25.3336ns。 因此 基准时钟频率约为 39.476 MHz 在本设计中取 40 M。在这里将两个信号融合在一起解释一下。 每一行的扫描需要行同步信号 且每一行中都具有同步脉冲 a 显示后沿 b 显示时序 c 和显示前沿 d 四个阶段 完成一行扫描后再进入到下一行再次重复同样的四个阶段 这一过程为行同步。 将范围扩大 点动成线即为行 线动成面即为场。 场同步中和行同步一样依旧分为四个阶段 同步脉冲a 显示后沿 b 显示时序 c 和显示前沿 d。 因此就有了上面所示的时序图场同步的单位就为行同步。这也是最终选取的显示区域需要行同步和场同步都处于显示时序 c 中的原因。 试想一下 如果行同步处于显示脉冲 c 的位置 但是场同步还处于同步脉冲 a 的位置 在这一状态下无法完成图像的显示。 同理 如果场同步处于显示脉冲 c 的位置 但是行同步处于同步脉冲 a 的位置 也同样无法显示图像。 这是一个包含与被包含的关系 在场同步脉冲 c 位置的时候 包含了很多个时序四个脉冲的行同步 而只有在行同步中也处于同步脉冲 c 的位置时才可以真正显示图像。

相关文章:

【接口协议】FPGA 驱动 VGA 显示实验(一)原理部分

目录 VGA介绍 VGA 接口管脚 VGA 色彩原理 VGA 工作原理 VGA 时序 VGA介绍 VGA(Video Graphics Array)视频图形阵列是 IBM 于 1987 年提出的一个使用模拟信号的电脑显示标准。VGA 接口即电脑采用 VGA 标准输出数据的专用接口。VGA 接口共有 15 针&am…...

COMSOL单相变压器温度场三维模型:解析热点温度与流体流速分布

comsol单相变压器温度场三维模型,可以得到变压器热点温度,流体流速分布 搞变压器温度场仿真最头疼的就是三维流固耦合。去年做配电变压器温升项目时,硬是跟COMSOL死磕了两周才摸到门道。今天给大家分享下怎么用非等温流接口抓取热点温度和油…...

【牛客网刷题】VL3 奇偶校验

👉 写在前面 👉 本系列博客记录牛客网刷题记录 👉 日拱一卒,功不唐捐! 目录 题目描述 奇偶校验 题目分析 仿真结果 题目描述 现在需要对输入的32位数据进行奇偶校验,根据sel输出校验结果(1输出奇校验&a…...

【牛客网刷题】VL2 异步复位的串联T触发器

👉 写在前面 👉 本系列博客记录牛客网刷题记录 👉 日拱一卒,功不唐捐! 目录 题目描述 题目分析 Verilog 代码 testbench 代码 仿真结果 题目描述 用verilog实现两个串联的异步复位的T触发器的逻辑&#x…...

minio安装 后台自启动

1:下载miniowget https://dl.min.io/server/minio/release/linux-amd64/minio2:授权chmod x minio3:设置开机自启动进入该目录下cd /etc/systemd/system/ 创建minio.service文件1: cd /etc/systemd/system/ 2:touch mi…...

【BBF系列协议】Data Models Library数据模型库设计与实现

目录Data Models Library (dmlib)dmlib的设计dmlib 的代码结构:dmlib 主要数据结构操作上下文对象(dmctx)对象定义(DMOBJ)参数定义(DMLEAF)多实例遍历函数实现(browseinstobj)参数树…...

基于JS实现的鸿蒙游戏——二十四点纸牌

目录 前言 概述 正式开始 一、创建项目 二、编码 1.项目结构 2.实现思路 3.主要代码块 三、页面及功能展示 1.运算正确 2.运算错误 3.换一批及重置 本人项目仓库链接 前言 相信大家都有玩过纸牌游戏,本项目是基于JS实现的鸿蒙小游戏二十四点纸牌&…...

vue截取字符串(商城系统非常常用的小知识)

1.截取指定字符串{{row.real_name.substr(2, 3)}}2.截取字符串最后一位{{row.real_name.charAt(row.real_name.length - 1)}}3.看一下效果如何...

【BBF系列协议】TR-140 TR-069支持存储服务的设备的数据模型

目录TR-140 TR-069支持存储服务的设备的数据模型执行摘要1.目的和范围目的范围2 案例2.1 BASIC MANAGED STORAGE SERVICE(基本托管存储服务)2.2 REMOTE STORAGE BACK-UP SERVICE(远程存储备份服务)2.3 Remote access of Storage S…...

【BBF系列协议】TR-135 支持TR-069的STB的数据模型

TR-135 支持TR-069的STB的数据模型 执行摘要 TR-135,启用TR-069的STB的数据模型,定义了用于通过TR-069和TR-106中定义的CWMP远程管理机顶盒(STB)设备上的数字电视(IPTV或广播)功能的数据模型。它包括用于…...

【BBF系列协议】TR-106 CWMP端点和USP代理的数据模型模板

目录TR-106 CWMP端点和USP代理的数据模型模板执行摘要1 介绍CWMPUSP规范结构2 架构2.1 数据层次结构2.2 对象版本控制2.3 配置文件2.4 DEPRECATED 和 OBSOLETED 条目3 对象定义3.1 通用符号3.2 数据类型和表示3.3 供应商特定要素A参数:单个实例对象:单个命令:单个事…...

【亲测免费】【推荐】基于Vue3的全能H5模板:vue3-h5-template

标题:【推荐】基于Vue3的全能H5模板:vue3-h5-template 【免费下载链接】vue3-h5-template My starter template for Vue3, with vite, quark design, sass(含viewport 适配方案, axios 封装) 项目地址: https://gitcode.com/gh_mirrors/vue3/vue3-h5-t…...

Scalding执行模型揭秘:从Job到Execution的演进之路

Scalding执行模型揭秘:从Job到Execution的演进之路 【免费下载链接】scalding A Scala API for Cascading 项目地址: https://gitcode.com/gh_mirrors/sc/scalding Scalding是一个基于Scala的Cascading API,专为大规模数据处理而设计。这个强大的…...

探索DockerGS:一键启动动漫游戏服务器的利器

探索DockerGS:一键启动动漫游戏服务器的利器 【免费下载链接】DockerGS DockerGC is a container that run Grasscutter (anime game) with just a single command. 项目地址: https://gitcode.com/gh_mirrors/do/DockerGS 在数字娱乐的世界中,各…...

推荐项目:IdentityServer4.AccessTokenValidation - 混合型JWT和参考令牌验证利器

推荐项目:IdentityServer4.AccessTokenValidation - 混合型JWT和参考令牌验证利器 【免费下载链接】IdentityServer4.AccessTokenValidation IdentityServer Access Token Validation for ASP.NET Core 项目地址: https://gitcode.com/gh_mirrors/id/IdentityServ…...

推荐:用Flowershow打造你的优雅知识分享网站

推荐:用Flowershow打造你的优雅知识分享网站 【免费下载链接】flowershow 💐 Publish your obsidian digital garden or any markdown site easily and elegantly. 项目地址: https://gitcode.com/gh_mirrors/fl/flowershow 1、项目介绍 &#x…...

RITM 交互式分割项目使用教程

RITM 交互式分割项目使用教程 【免费下载链接】ritm_interactive_segmentation 项目地址: https://gitcode.com/gh_mirrors/rit/ritm_interactive_segmentation 1. 项目的目录结构及介绍 RITM 交互式分割项目的目录结构如下: ritm_interactive_segmentati…...

RITM交互式分割算法实战指南

RITM交互式分割算法实战指南 【免费下载链接】ritm_interactive_segmentation 项目地址: https://gitcode.com/gh_mirrors/rit/ritm_interactive_segmentation 项目介绍 RITM(Real-Time Interactive Image Segmentation with Memory-Augmented U-Net&#…...

从论文到代码:Performer核心公式的PyTorch逐行实现

从论文到代码:Performer核心公式的PyTorch逐行实现 【免费下载链接】performer-pytorch An implementation of Performer, a linear attention-based transformer, in Pytorch 项目地址: https://gitcode.com/gh_mirrors/pe/performer-pytorch Performer是一…...

Jupyter Notify 使用教程

Jupyter Notify 使用教程 【免费下载链接】jupyter-notify A Jupyter Notebook magic for browser notifications of cell completion 项目地址: https://gitcode.com/gh_mirrors/ju/jupyter-notify 项目介绍 Jupyter Notify 是一个为 Jupyter Notebook 设计的扩展&…...

react-shimmer自定义加载效果:打造属于你的独特加载动画

react-shimmer自定义加载效果:打造属于你的独特加载动画 【免费下载链接】react-shimmer 🌠 Async loading, performant Image component for React.js 项目地址: https://gitcode.com/gh_mirrors/re/react-shimmer react-shimmer是一个为React.j…...

diffvg底层原理揭秘:可微光栅化技术如何让矢量图形支持梯度下降优化

diffvg底层原理揭秘:可微光栅化技术如何让矢量图形支持梯度下降优化 【免费下载链接】diffvg Differentiable Vector Graphics Rasterization 项目地址: https://gitcode.com/gh_mirrors/di/diffvg diffvg是一个创新的开源项目,它实现了可微矢量图…...

系统颜色选择器:macOS 的色彩控制强化版

系统颜色选择器:macOS 的色彩控制强化版 【免费下载链接】System-Color-Picker 🎨 The macOS color picker as an app with more features 项目地址: https://gitcode.com/gh_mirrors/sy/System-Color-Picker 项目介绍 🎨 系统颜色选…...

微型Lisp开源项目指南

微型Lisp开源项目指南 【免费下载链接】micro-lisp 🎄A very small Lisp programming language 😀that used to be under 200 lines of C🎄 项目地址: https://gitcode.com/gh_mirrors/mi/micro-lisp 项目介绍 🌟 微型Lis…...

RLS历史回顾:Rust IDE工具链的演进之路

RLS历史回顾:Rust IDE工具链的演进之路 【免费下载链接】rls Repository for the Rust Language Server (aka RLS) 项目地址: https://gitcode.com/gh_mirrors/rl/rls 作为Rust语言的官方IDE工具链,RLS(Rust Language Server&#xff…...

开源项目《Aviator》安装与使用指南

开源项目《Aviator》安装与使用指南 【免费下载链接】aviator Level up your Aviator game! This app employs its prediction prowess to help you maximize your profit - and its completely free! 项目地址: https://gitcode.com/gh_mirrors/avia/aviator 本指南旨在…...

陆彦廷《势均力敌的我们2》收官,细节见人品,尽显绅士与真诚

近日,《势均力敌的我们2》正式收官,天平岛上为期十天的相处旅程,不知不觉就落下了帷幕。陆彦廷在一众嘉宾中,凭着骨子里的真诚和分寸感,成为了节目里让人印象深刻的存在。陆彦廷的聪明,教养和真诚&#xff…...

SAP GR(Group Reporting)合并报表内容及功能简介(一)-主数据结构

目录 主数据&结构 合并单元 合并组: 全局层次结构 主数据&结构 合并单元 合并单元(法定子公司): SAP S/4HANA 公司一对一地链接到合并单元。 SAP S/4HANA 公司标识与合并单元标识相同。 通用日记账的合并单元对应SAP中的公司,不在通用日记账中的合并单元代表…...

MobileChromeApps开发痛点全解析:从环境配置到API适配的完美解决方案

MobileChromeApps开发痛点全解析:从环境配置到API适配的完美解决方案 【免费下载链接】mobile-chrome-apps Chrome apps on Android and iOS 项目地址: https://gitcode.com/gh_mirrors/mo/mobile-chrome-apps 引言:你还在为MobileChromeApps开发…...

Ruby-JMeter 项目推荐

Ruby-JMeter 项目推荐 【免费下载链接】ruby-jmeter A Ruby based DSL for building JMeter test plans 项目地址: https://gitcode.com/gh_mirrors/ru/ruby-jmeter 1. 项目基础介绍和主要编程语言 Ruby-JMeter 是一个基于 Ruby 的领域特定语言(DSL&#xf…...