zoukankan      html  css  js  c++  java
  • (原创)VGA接口的研究

    不知大家有没有注意到,在使用VGA接口的时候,通常RGB三根线上都会接上各种各样大小的电阻,这是为什么呢?

    在讨论这个问题的时候,大家要明白VGA显示的是模拟信号,而非数字信号。那么在设计中又是怎样将数字信号转化为模拟信号的呢?

    大家先看下面这张图片:

    从图中可以看到,这是一个标准的VGA接口。RGB三端都接了一个270欧的电阻,这个电阻是起保护作用的,至于该接一个多大的电阻在此就不讨论了,有兴趣的朋友可以自行研究。不同的场合所接保护电阻的大小各一,在很多情况下通常接的是一个75欧的电阻,比如电视机里面通常接的就是这种。好了,言归正传,刚才我说VGA显示的模拟信号,可能有些同学会不明白,明明我们在设计的时候对RGB赋值的时候是数字信号呀,1或者0。这似乎有点自相矛盾吧?

    答案是否定的,其实信号在输出的时候就已经是模拟信号了,也就是通常所说的IO口电压。说到这里,想必大家已经晃然大悟了吧! 哈哈

    -------------------------------------------------------------------------------------------------------------------------------------------------

    ******************************************************************************************************************

    --------------------------------------------------------------------------------------------------------------------------------------------------

    好了,下面我们再看另外一张图:

    或者很多人从来就没对此用法持怀疑态度吧!

    其中G、B端都各引出了三根线,R却只引出了两根线,其中这就是我们通常所用来显示256色的(图一是8色)。这一点需要注意一下,RGB各引出几根线可以自行调节,并没有硬件的规定。假如在设计的时候你计为B(蓝色)不重要,你可以只引出一根线也是可行的,在这一点其灵活性是很强的。

    那么数字信号又是怎样转换成模拟信号的呢?

    呵呵,这就需要计算咯。比如IO的输出电压为3V,在设计中对B[2:0]的赋值为“101”。那么转换成模拟信号后其电压是多少呢?

    其实这就是简单的分压原理的应用啦!

    V(B)=3*[75/(75+470)] + 3*[75/(75+2000)]=0.52(V),这就是数字信号"101"转换为模拟信号的值啦!V(R)、V(G)原理同上。

    说到这里,也说得差不多了吧 其大致的原理也就是这些,这里只是粗描淡写的描述了一下,关于VGA接口其实是一门很大的学问,读者需深究的话可自行查阅资料。

    注:初写博文,可能会有很多不正确的地方,望大家指出来,日后加以改正;若觉得还可以的话,请大家继续肯定。

    作者:tdyizhen1314(一位从事软硬件开发十年以上的老兵的故事,希望与大家一起交流,共同进步) 邮箱:495567686@qq.com
  • 相关阅读:
    阶段一 第一周 2-5 2-6 构建maven聚合工程
    阶段一 第一周 2-3 前后端分离开发模式讲解
    阶段一 第一周 2-2前后端技术选型
    Linux基础
    SpringMVC复习
    电商航线整理
    Mybatis整理复习
    python re正则
    爬虫基础 简单正则
    mysql 备份 恢复 事物 ER模型 pymysql交互
  • 原文地址:https://www.cnblogs.com/tdyizhen1314/p/1800025.html
Copyright © 2011-2022 走看看