用户工具

站点工具


hdmi热插拔问题分析

HDMI热插拔故障分析

问题现象

1. 新版中控的电脑和外接,一体机的外接通道在开机前连接好hdmi连线, 并将电脑先于中控通电前开机,然后中控通电开机,输出无法 正常显示,需重新插拔HDMI输入。
2. 一体机上个别电脑主板和新版的中控主板(iDste-V1.4)连接时,输出无显示, 将R334短接到地后,再松开,显示输出正常。

这两个问题均和hdmi的热插拔工作原理有关。

HDMI热插拔工作原理

1. 视频输出设备(电脑, DVD, 中控的输出端口)在上电后,可以输出视频信号时,就通过HDMI接口的 Pin18 送出+5V信号, 表示设备就绪。
2. 视频输入设备(显示器,投影机, 中控的输入端口)正常工作后, 可以接收显示信号时, 如果检测到源端送来的就绪信号(Pin18 的+5V信号), 便通过Pin19将此信号回送给源端,表示显示设备已经就绪。
3. 视频输出设备一旦检测到Pin19上的信号发生跳变时(由0V或高阻 变为+5V),通过DDC通道(I2C总线),读取显示设备的EDID参数(显示器名称,显示器的最佳分辨率,可支持的分辨率,以及其他一些视频信号的格式,时序等要求)。
4. 视频输出设备正确读取到显示器的参数,在TMDS信号上送出视频信号。

故障原因分析

  • 问题1:

中控和一体机在实现上存在缺陷:

  • 输入端口中的EDID参数是在中控上电后由CPU写入到HDMI的交换矩阵的芯片中。
  • 热插拔信号(Pin19)是直接通过系统的+5V电源送出。
  • 因此,当中控一上电,就会有热插拔信号输出,而这个时候,CPU还没有启动,HDMI的交换矩阵的芯片也未初始化。如果这个时候电脑已经开机,且HDMI连线已经接通,电脑就会读取显示设备的EDID。由于HDMI的交换矩阵的芯片未初始化,导致读取失败。从而使得电脑认为hdmi接口上没有有效的显示器, 因此不会从这个口输出。
  • 中控初始化完成后, 电脑重启, 或者重新拔插一下HDMI连线, 都会触发电脑重新识别显示器, 而这个时候HDMI的交换矩阵的芯片已经初始化,因此电脑可以正确识别到显示器(即电脑中显示的idste显示器),之后可以正常输出。

解决方案
更改中控的热插拔信号(Pin19)的输出, 由CPU通过一个晶闸管控制其输出。 上电后,热插拔信号(Pin19)无输出,系统初始化完成,并且用户通过开机键开机后, 才使改端口有输出,系统关机后,停止输出。

  • 问题2

问题2实际是由于DDC通道上的I2C总线工作不可靠所致。即:
电脑上电后检测到热插拔信号,读取显示设备的EDID, 由于I2C总线的问题,导致读取失败,从而电脑没有输出。
将R334短接到地,其实就是断掉热插拔信号, 然后松开,恢复热插拔信号输出, 触发电脑重新读一次显示设备的EDID。

解决方案
改进I2C的电路,使之工作可靠。

hdmi热插拔问题分析.txt · 最后更改: 2020/08/24 14:45 (外部编辑)