我买了一个便宜的 HDMI 开关;按下按钮可循环切换输入 1、2 和 3 到相同的输出。我喜欢将家用笔记本电脑合上放在桌子上,将工作笔记本电脑打开放在上面,外接显示器在两者之间切换。如果我使用显示器上的两个 HDMI 输入,即使我正在查看工作笔记本电脑,家用笔记本电脑也会识别出它仍处于连接状态,并且不会进入睡眠状态。
但问题是 HDMI 开关很便宜。当我使用开关并远离(关闭的)家用笔记本电脑时,开关会切断笔记本电脑的所有信号;笔记本电脑随后会识别出它不再连接显示器,由于它已关闭,因此它会进入睡眠状态。我现在遇到了一个先有鸡还是先有蛋的问题:我无法通过 USB 键盘唤醒电脑,因为它没有连接显示器,而 HDMI 开关不会切换到那台笔记本电脑,因为它处于睡眠状态并且没有输出信号。
我的问题是:笔记本电脑如何检测 HDMI 已连接?如果只是在正确的引脚上看到 +5 伏电压那么简单,我只需将所有三个 +5 伏引脚连接在一起,这样我的笔记本电脑仍会认为它已插入电源,因此不会进入睡眠状态。如果方法更复杂(例如笔记本电脑和显示器之间进行某种数据传输),那么我可能就没那么幸运了。
答案1
HDMI 中的大多数引脚都是带屏蔽的双绞线。不过,也有少数引脚是单引脚。CEC 仅供某些设备使用,允许多个 HDMI 设备相互通信并发送命令。热插拔引脚始终使用,并检测插拔事件以重新初始化 HDMI 驱动程序。
除了好玩之外,Raspberry Pi 需要重新启动才能重新初始化驱动程序。如果在启动后插入,则无法传输。
然后有一些用于电源和加密的引脚。DDC 是设备信息和 HDCP 加密。
回答你的问题,这是热插拔,但你不能只是把它绑在高位,因为那样你的驱动程序只会在重新启动时重新初始化。如果某处挂起,这很糟糕。通常,如果它保持高位或低位,则意味着线路上有什么东西在拖拽它。可能有另一个冲突的设备、不正确的隔离或错误的上拉、下拉。我建议尝试通过 HDMI 集线器,看看是否能解决问题。它可能会更好地处理线路拉动。
答案2
您可能正在寻找的是 EDID,即扩展的显示标识数据。EDID 是一种协议,旨在查询显示器并将信息返回到驱动显示器的硬件。信息包括显示器支持的时序、显示器尺寸等...
EDID 通常通过 HDMI 电缆的 +5V 热触发,但并非所有制造商都拥有强大的硬件(在某些时候,热插入 HDMI 电缆不会唤醒您的显示器。)