HDMI (Pin 19)/DVI(Pin16)的功能是热插拔检测(HPD),这个信号将作为HDMI 源端(Source)是否发起EDID读,是否开始发送TMDS信号的依据。HPD是从HDMI显示器端(Sink)生成并输出送往HDMI 源端(Source)的一个检测信号。热插拔检测的作用是当显示器等HDMI接口的显示设备通过HDMI/DVI接口与HDMI 源端(Source)相连或断开连接时,HDMI源端(Source)能够通过HDMI/DVI的HPD引脚检测出这一事件,并做出响应。下面以HDMI为例讲述HPD的原理和实现方式。

1.显示器通过HDMI连接HDMI源端设备,当HDMI 源端(Source)通过HDMI接口的HPD引脚检测到显示器与HDMI源端(Source)相连时(HPD从低电平到高电平),HDMI 源端(Source)认为已经有显示设备连接,并通过HDMI接口中的显示器数据通道DDC(DDC I2C总线)读取显示器EDID存储器中存储的EDID数据(扩展显示器识别数据),如果检测到显示器的工作模式范围与HDMI 源端(Source)的输出设置相适应,则HDMI 源端(Source)就激活TMDS信号发送电路发送正常的HDMI信号给显示设备。所以Sink端的EDID是在HPD从低电平到高电平的转换时被HDMI Source端读取的。如果需要强制刷新EDID, 可以发起一个HPD信号(拉低HPD,再拉高HPD),让HDMI source来读取新的EDID内容。

2.显示器断开HDMI连接时,当HDMI 源端(Source)通过HPD引脚检测到显示器的HDMI接口与HDMI 源端(Source)断开时,HDMI 源端(Source)就断开TMDS信号发送电路,停止发送HDMI信号。

3.HDMI 源端(Source)对HPD信号的要求,当HDMI 源端(Source)检测到HDMI/DVI接口上的HPD引脚电压大于2V时,判断为HDMI显示设备(Sink)通过HDMI/DVI接口与HDMI源端(Source)连接:当检测到HPD引脚电压小于0.8V时,则判断为HDMI显示设备(Sink)通过HDMI/DVI接口与HDMI 源端(Source)之间的连接已经断开。  

4.HPD信号的实现一般是在HDMI的Sink端,通过一个1K欧姆的电阻上拉到HDMI +5V,同时,本地的主处理器可以通过一个GPIO来控制它,如下图所示。

当HDMI 源端(Source)通过HDMI接口与HDMI Sink端连接时,HDMI源端(Source)通过HDMI的第18脚(PWR_CON,PIN18,也就是 HDMI_5V)将+5V电压加到HDMISink端的DDC存储器(EDID数据存储器)向DDC存储器供电,确保即使HDMI Sink端不开机,HDMI 源端(Source)也能通过HDMI接口读取EDID数据。 HDMI 源端(Source)开机后产生 +5V并通过第18脚向HDMISink端(HDMI显示器)供电,此时HDMISink端(HDMI显示器)接收到5V电压后通过内部电路使HDMI接口第19脚HPD转变为高电平(1K欧姆电阻上拉)。此时HDMI源端(Source)通过第19 Pin接收到HPD高电平,判断HDMI Sink端(HDMI显示器)通过HDMI接口与HDMI 源端连接,于是通过HDMI接口的第15、16脚DDC通道(I2C)读取显示器中的EDID数据,并使HDMI 源端的TMDS信号发送电路开始工作。当HDMI显示器与HDMI 源端之间的HDMI连接断开时,HDMI 源端一侧的HDP信号为低电平,那么HDMI源端的TMDS信号发送电路停止工作。

由于在判断HDMI Sink端的HPD电路预留了一个控制端,如果HDMI Sink端的主处理器需要复位HDMI链接(包括重新HDCP握手认证),就可以拉低并再次拉高HPD来实现这个功能。

如前面介绍EDID时所述,HDMI规范规定,发送设备要检测接收设备的第一个CEAEDID 扩展块中是否包含HDMI VSDB,这个HDMIVSDB中是否包含IEEE 数据标识符0x000C03, 只有包含这个数据标识符的设备,才会被认为是HDMI设备,否则,被当作DVI设备处理。

一个HDMI设备的EDID 通常包含两个模块,第一个是EDID1.3的数据模块,第二个是CEA 861B模块,这个861B模块中,一定要包含数据标示符 0x000C03。HDMI发送设备(Source)检测到HPD 信号由低变高时,就会去读取Sink端的EDID 数据,来确认接收装置是否出现变化,并确定是工作在HDMI模式还是DVI模式。

转载自https://blog.csdn.net/jiayu5100687/article/details/81604739

HDMI接口之HPD(热拔插)的更多相关文章

  1. 【硬件】HDMI接口HPD原理

    目录 一.什么是HPD? 二.HDMI的HPD(热插拔)原理 三.HDMI源端对HPD信号有什么要求? 由于项目需要通过HDMI获取EDID的数据,需要学习一下其获取的工作原理,所以在这里记录下. 一 ...

  2. HDMI 接口及CEC信号

    HDMI 接口及CEC信号 2016年12月02日 14:16:38 King-Five 阅读数:16389 HDMI接口 HDMI(High Definition Multimedia Interf ...

  3. HDMI接口基本信息

    一.HDMI基本概念1.HDMI标准的发展历史: 2002年12月9日,HDMI1.0版正式发布,标志着HDMI技术正式登上历史舞台. 2004年1月,HDMI1.1版发布. 2005年8月,HDMI ...

  4. imx6 hdmi接口支持

    /************************************************************* * imx6 hdmi接口支持 * 新的板子需要使用到hdmi,今天就测试 ...

  5. (转)S5pv210 HDMI 接口在 Linux 3.0.8 驱动框架解析 (By liukun321 咕唧咕唧)

    作者:liukun321 咕唧咕唧 日期:2014.1.18 转载请标明作者.出处:http://blog.csdn.net/liukun321/article/details/18452663 本文 ...

  6. S5pv210 HDMI 接口在 Linux 3.0.8 驱动框架解析

    作者:liukun321 咕唧咕唧 日期:2014.1.18 转载请标明作者.出处:http://blog.csdn.net/liukun321/article/details/18452663 本文 ...

  7. HDMI接口基础知识及硬件设计

    参考资料:http://blog.csdn.net/u013625961/article/details/53434189: http://blog.csdn.net/u014276460/artic ...

  8. HDMI接口与协议

    深入了解HDMI接口 一.HDMI接口的工作原理这张图是HDMI接口的架构示意图.从左边的信号源中你可以看到,HDMI接口的信源可以是任何支持HDMI输出的设备,而接入端也可以是任何带有HDMI输 入 ...

  9. 终于购入Mac mini,发现HDMI接口与显示器不兼容,网购了一个VGA转换插头

    Mac mini买到了,最便宜的i5,$647,足够了. 发现路边捡的显示器没有HDMI接口,所以在学校图书馆问了一下IT 技术支持,给我推荐了ebay上$10块钱的转换器. 名字叫 Mini Dis ...

随机推荐

  1. 洛谷P4431

    题意翻译 题目大意: 给定一个n∗m的矩阵,每次你可以选择前进一格或转弯(90度),求在不出这个矩阵的情况下遍历全部格点所需最少转弯次数.有多组数据 输入格式: 第一行一个整数k,表示数据组数 以下k ...

  2. 静态代理与JDK动态代理

    demo地址: https://github.com/ZbLeaning/leaning 代理: 为其他对象提供一种代理以控制对这个对象的访问.分为静态代理和动态代理.代理模式的目的就是为真实业务对象 ...

  3. Asp.Net Core使用NLog+Mysql的几个小问题

    项目中使用NLog记录日志,很好用,之前一直放在文本文件中,准备放到db中,方便查询. 项目使用了Mysql,所以日志也放到Mysql上,安装NLog不用说,接着你需要安装Mysql.Data安装包: ...

  4. 爬虫基础(四)-----MongoDB的使用

    ------------------------------------------------------------------------摆脱穷人思维 <四> :减少无意义的频繁决策 ...

  5. redis--小白博客

    概述 redis是一种nosql数据库,他的数据是保存在内存中,同时redis可以定时把内存数据同步到磁盘,即可以将数据持久化,并且他比memcached支持更多的数据结构(string,list列表 ...

  6. max-height、min-height、height优先级的问题

    前言 我们在实际开发中可能会限制元素的最大高度,那么我们使用的属性必定是max-height,那么不知道大家有没有考虑过如果同时设置max-height和height会发生什么呢? max-heigh ...

  7. spring boot 表单验证

    1 设置某个字段的取值范围 1.1 取值范围验证:@Min,@Max ① 实例类的属性添加注解@Min ② Controller中传入参数使用@Valid注解 1.2 不能为空验证:@NotNull ...

  8. [转帖]golang操作mysql使用总结

    golang操作mysql使用总结 https://www.cnblogs.com/hanyouchun/ 讲解的很详细~ 前言 Golang 提供了database/sql包用于对SQL数据库的访问 ...

  9. Node.js创建服务器和模拟客户端请求

    1. 何为服务器 服务器是某种长期运行,等待请求资源的应用程序 2. 常见Web应用架构 3. 如何创建web服务器 Web服务器是使用HTTP协议,等待客户端连接后请求资源的驻守应用程序:HTTP协 ...

  10. CentOS下添加Root权限用户(超级用户)方法

    1.添加普通用户[root@server ~]# useradd chenjiafa   //添加一个名为chenjiafa的用户[root@server ~]# passwd chenjiafa   ...