HPD

  • HPD

HPD

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模式。
————————————————
版权声明:本文为CSDN博主「Mr_Wing5」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jiayu5100687/article/details/81604739

HDMI接口之HPD(热拔插)相关推荐

  1. FPGA实现HDMI接口

    作者 QQ群:852283276 微信:arm80x86 微信公众号:青儿创客基地 B站:主页 https://space.bilibili.com/208826118 参考 用FPGA实现HDMI ...

  2. 韦东山二期驱动视频-热拔插驱动——RK3399自制linux系统不支持HDMI热拔插问题分析

    背景: 公司的板子,对于HDMI的显示器热拔插不支持,只能在插入HDMI时启动才能输出,而当开机之后,再插入HDMI显示器则无输出,不知道原因. 推测如下: 1.设备树的引脚配置有误,导致插入HDMI ...

  3. HDMI热拔插电路举例说明

    HDMI_PLUG 最近设计关于HDMI的接口设计,在热拔插上纠结了很久,现在总结下. 如图 我们HDMI接口的18脚为外部输入电压5V,而19脚是我们的检测脚,该脚在内部是有一个500k的电阻接到地 ...

  4. 双盲插全功能USB-C显示器+HDMI接口(俗称双盲插USB-C显示器)方案讲述

    随着USB TYPE-C接口的普及,越来越多的手机和笔记本电脑都支持通过C接口输出视频.这个小巧而精密的接口,大有把传统的HDMI和DisplayPort接口取而代之的架势.特别是usb4的推出,更是 ...

  5. Weston中HDMI热拔插检测

    Weston中的检测 drm_backend_create在创建时,会创建一个循环获取热拔插事件. b->udev_drm_source =wl_event_loop_add_fd(loop,u ...

  6. hi3516a——音视频处理之HDMI接口解析

    前言 要学习音视频处理相关的知识,必然要知道HDMI接口,现在这个接口用的很多.本文就对HDMI接口进行总结,并给出一个硬件的实例图纸. 无私分享,从我做起! HDMI介绍 HDMI,全称为(High ...

  7. HDMI接口和TMDS传输标准详解

    1.HDMI是新一代的多媒体接口标准. High-Definition Multimedia Interface:高清多媒体接口         能够同时传输视频和音频,简化了设备的接口和连线:    ...

  8. HDMI接口电路设计

    HDMI接口电路设计 - 知乎 HDMI硬件接口设计 - 走看看 HDMI是高清晰度多媒体接口的数字化视频.音频接口技术,它分为HDMI A Type.HDMI B Type.HDMI C Type. ...

  9. HDMI接口类型及历史版本

    1.HDMI简介 HDMI是高清晰度多媒体一种数字化视频/音频接口技术,是适合影像传输的专用型数字化接口,可同时传送音频和影像信号,同时无需在信号传送前进行数/模或者模/数转换. 其中 1-9 都是 ...

  10. U盘的热拔插/自动挂载跟linux2.6 kernel、 udev、 hal、 dbus 、gnome-mount 、thunar的关系...

    U盘的热拔插/自动挂载跟linux2.6 kernel. udev. hal. dbus .gnome-mount .thunar的关系 博客分类: System About Linux配置管理网络应 ...

最新文章

  1. P1102 A-B 数对(二分,映射)难度⭐
  2. python joblib库 并行化 缓存
  3. php把数组函数封装,PHP删除Array数组里指定的key(完整版,已封装成函数,附测试代码)...
  4. 在 Web 应用中增加用户跟踪功能
  5. Android菜鸟的成长笔记(5)——Android系统源代码你下载了吗?
  6. 行业分析-实战价值方法
  7. iOS开发计算工程里面的代码行数
  8. 大一c语言图书管理系统查询,大一C语言课程设计图书信息管理系统
  9. 2013年上半年 系统分析师 论文 真题
  10. codevs 1535 封锁阳光大学
  11. 常用git命令指南总结
  12. ps抠图基础篇:最常用的四种抠图方法
  13. 笔记本服务器连接显示器不亮,笔记本开机显示器不亮怎么办
  14. PLC是怎么工作和扫描的
  15. Ubuntu / Python / Mega自动同步监控照片
  16. java项目---探花交友
  17. element-plus popover的z-index问题
  18. 项目在使用easyui时遇到的问题
  19. JAVA中native方法(实现例子)
  20. Linux 是洗衣粉?关于Linux 的10个趣事

热门文章

  1. 面向对象之多态【向上转型与向下转型】
  2. 易语言MYSQL记账工具_易语言做记账软件
  3. GPS 的经纬度换算成距离的代码(转载)
  4. 记录一次node.jsV14升级到V16遇到问题并解决
  5. c语言.jpg图片转成数组_怎么把Word转成PDF?一个PDF转换软件就能搞定!
  6. 合思·易快报,奔向费控「自动驾驶」无人区
  7. Draco代码分析(一) —— Encode过程探究其数据编码方式
  8. 个人笔记应用 - 思源笔记
  9. 用MPI进行分布式内存编程(二)MPI_allreduce MPI_scatt MPI_bcast.....
  10. ARM指令集【 PUSH \POP】【跳转B\BL\BX\BLX \BXJ】【数据操作LDR\LDRB\LDRH\LDM\STR\STRB\STRH\STM】【移位LSL/LSR/ASL/ASR】