使 PS/2 键盘接口热插拔需要什么?

电器工程 UART 串行 保险丝 浪涌保护 多熔丝
2022-01-08 19:57:40

很久以前,我不得不维修一些早期的康柏台式电脑。当客户热插拔键盘时,他们曾经在主板上安装保险丝。我在搜索该主题时发现了这一点:

键盘或鼠标从主机汲取的电流不应超过 275 mA,并且必须注意避免瞬态浪涌。这种浪涌可能是由“热插拔”键盘/鼠标引起的(即,在计算机电源打开时连接/断开设备。)

不知何故,拔出或插入键盘会导致电涌。我不记得串行端口(RS-232、Appletalk 等)、并行端口、VGA 等存在这些问题。

我一直想知道。为什么这里有浪涌风险?要使 PS/2 键盘接口能够热插拔,需要进行哪些更改?

3个回答

不知何故,拔出或插入键盘会导致电涌。我不记得串行端口(RS-232、Appletalk 等)、并行端口、VGA 等存在这些问题。

这些不会为另一端的设备供电。

要使 PS/2 键盘接口能够热插拔,需要进行哪些更改?

必须有一种方法来限制电流,以防止出现故障的设备使电源短路并烧毁主板,或者由于 +5V 电源轨短路而导致 PC 崩溃。即使设备没有故障,如果它有足够大的电容器,连接它可能会导致浪涌电流和 +5V 电压轨上的下降,从而可能导致崩溃。

保险丝是一种粗略的方法。

USB 设计为热插拔,因此它使用有源电流限制。有一整个系列的芯片可以处理这个问题。这是一个例子

Texas Instruments TPS2001D USB 配电开关适用于可能会遇到重容性负载和短路的应用,例如 USB。当输出负载超过电流限制阈值时,TPS2001D 通过在恒流模式下工作,将输出电流限制在安全水平。此功能可在所有条件下提供可预测的故障电流。快速过载响应时间减轻了 5V 主电源在输出短路时提供稳压电源的负担。

它还向计算机提供 FAULT 信号,以便它知道发生了什么。

要制作 PS/2 热插拔,这还不够。

您需要一个按特定顺序连接触点的连接器:接地,然后是电源,然后是信号。USB 通过使应该首先接触的引脚更长来做到这一点。如果没有这种类型的连接器,电源和/或信号会在接地之前先接触,这意味着设备将在有电之前接收 IO 信号,设备和/或主机中的 ESD 保护二极管将传导电流并通过其自身供电数字 IO,这可能导致 ESD 二极管烧毁或更严重的闩锁。这需要特殊的缓解措施。

此外,您需要 PC 中的软件来处理热插拔并注册设备已插入。使用 USB,这很容易,芯片组会自动执行此操作,并在检测到设备时引发中断。

编辑:USB连接器的一个重要部分是屏蔽首先接触,因此屏蔽之间发生任何ESD事件,并且不涉及信号引脚。PS2 也可能是这种情况,因为防护罩突出了很多。

绝对最坏的情况热插拔连接器是 RCA 音频(信号先于接地连接),当然还有音频插孔(信号首先连接,并且在插入过程中所有引脚短接在一起)。

显然需要使 PS/2 端口能够热插拔。我记得有一次热插拔 PS/2 键盘或鼠标肯定意味着计算机无法识别该设备。我不记得曾经见过这种导致重新启动无法修复的损坏。然后到了热插拔 PS/2 设备刚刚工作的时候。此功能首先出现在笔记本电脑上,然后桌面系统才允许热插拔。

我有几个 USB 到 PS/2 的适配器,它们在热插拔 PS/2 设备上工作得很好。一个适配器具有颜色编码的端口,其中一个端口仅用于鼠标,另一个仅用于键盘。我的另一个适配器将支持一个或两个端口上的键盘或鼠标。这证明没有什么能阻止与设备无关的 PS/2 端口,我还记得第一次看到出现在笔记本电脑上。

我确实记得遇到过一篇有趣的文章,该文章讨论了早期 PS/2 控制器的工作原理。他们解释了坏鼠标如何影响键盘,反之亦然,为什么早期端口可能会因热插拔设备而出现问题,为什么它们是特定于设备的,以及为什么新端口没有这些相同的故障。我希望我能回忆起我在哪里看到这篇文章,这样我就可以链接到它并刷新我对这一切如何运作的记忆。我记得部分问题是一个芯片处理两个端口是典型的,热插拔会破坏两个设备的单个电路的微妙平衡。

正如其他答案指出的那样,部分问题是端口为设备供电。像 VGA 和并口这样的端口没有同样的问题,因为它们只是输出和/或依靠设备自供电。在信号引脚之前连接电源可能意味着数据被打乱,这可能会使设备和计算机一样混乱。也许幸运或精心处理的热插拔将使设备工作。努力构建支持热插拔的硬件可以避免这种需求。

一种 Apple 串行端口,GeoPort,有一个为低功率设备供电的引脚,我不记得他们处理热插拔的能力如何。我收集的以太网供电必须支持热插拔。我记得一些早期的苹果电脑不喜欢热插拔亚行。SCSI 具有热插拔功能,我的地下室有一台旧服务器可以实现这一点,但在大多数情况下,热插拔 SCSI 可能会造成昂贵的损失。更多关于支持或不支持热插拔的端口的示例。

我知道我说规范中缺乏热插拔支持是早期 PS/2 端口不处理热插拔的原因,这并不是一个很好的答案。我可以想象,较新的 PS/2 端口可以通过多种方式进行热插拔。USB 和其他端口使这更容易处理不同长度的引脚。PS/2 可以在没有不同长度的引脚的情况下进行热插拔。使其与相同长度的引脚一起工作意味着具有过滤/去抖动功能,这可以在硬件或软件中完成。他们可能需要一种方法来重置设备,因为可能会因热插拔而混淆设备。由于可以处理热插拔的各种方式,我希望某些计算机比其他计算机处理得更好。

我制作了一个通过电阻连接 +5 V 的电路,检测是否连接了任何东西。如果是这样,我会慢慢提高电压。只有当电源电压稳定一秒钟左右时,才会连接数据线。

我不确定如果电源电压上升得太慢,键盘中的控制器是否会启动,所以这将是一种妥协。将电流限制在 275 mA 可能是一个明智的解决方案。