为什么热插拔会炸掉东西,如何预防?


44

我之前犯过很多次热插拔的愚蠢错误。我的问题是我着急了,忘记了我已经接上了Arduino或插入了其他昂贵的IC或硬件,真是太容易了。

今天,我将ESC的PWM输入热插到了Arduino数字引脚上。我看到了魔法烟雾逃逸。再见一组数字引脚!我现在讨厌自己。

为什么事情不喜欢被热插拔?

有没有一种简单的方法可以防止这种情况发生?


41
不断吹牛,你最终会学到的。
安迪(aka Andy)

3
给连接器通电?
Trevor_G

13
为什么事情不像被热插拔?很简单:他们不是为此而设计的。自己设计一些“东西”,并使其具备热插拔功能,然后您就可以随心所欲地进行热插拔。在设计这些组件时,您可能会发现您的“东西”变得更昂贵,并且可能会遭受其他方面的困扰,例如灵活性降低。
Bimpelrekkie

4
假设一切都不是即插即用的,那么您可能不会有任何问题。@Trevor解决方案有点夸张,但可能会起作用。随着时间的推移,进化会杀死违规者。
StainlessSteelRat

8
“我很容易忘了我已经打开了arduino或插入了其他昂贵的ic /硬件。” Err,您没有电源LED灯吗?如果不这样做,请购买一个5美元的电源带。每次修改电路时,请关闭该死的电源。实际上,在对电路进行正确检查并准备就绪之前,请不要打开它。立即为您节省>>> $ 5。
smci

Answers:


8

除了已经提到的这些效果之外,还有另外两个效果可能会使非常精密的电路不正常运行:

-屏蔽电缆和同轴电缆实际上是电容器,可以容纳电荷。这种电荷可能会被误解为信号,并导致不必要的状态更改(例如,处理器崩溃),甚至...

-闩锁。在IC通电的情况下,某些类型的未保护CMOS输入即使在几微秒内也无法承受高于电源电压的任何电压,因为这会触发正反馈效应(施加了这些电压的整个器件突然看起来像晶闸管),从而使器件处于崩溃状态,甚至在其供电轨之间几乎短路。


81

在此处输入图片说明

请注意,两侧的两个销钉较长,而中央的两个销钉较短。这样可确保以正确的顺序进行连接(拔出时也以正确的顺序断开连接)。

如果连接器不是为热插拔而设计的,则无法保证。

您要的顺序是:

  • 首先,接地/屏蔽。

这样可以确保双方都同意“ 0V”是什么,并且可以安全地释放任何静电。有时会看到微小的火花。您不想首先连接ESD敏感引脚!

  • 二,电源。

  • 三,信号

订单很重要。您确实要避免对未供电的芯片的信号引脚施加电压,因为电流将流过ESD保护二极管,并且芯片将从其IO引脚供电。这会损坏芯片。

同样,如果最后连接地线,则信号线将代替地线,电流将流过它们。如果设备包含3V3芯片,该芯片由来自USB + 5V的LDO供电,并且没有接地,那么谁知道设备内部的电压将是...

音频RCA连接器是一个很好的例子,它可以避免这种情况的发生。

在此处输入图片说明

请注意尖端如何首先接触。我确定您之前已经做过。扬声器发出很大的嗡嗡声,直到接地为止。

为什么事情不像被热插拔?

这是因为引脚连接顺序错误。

由于您提到了ESC,所以我想您的电压和电流足够大,可以炸一些芯片。在这种情况下,如果不先接地,可能会很受伤。

有什么简单的方法可以保护我吗?

使用热插拔安全的连接器。如果它不提供电源,仅提供信号和接地,那么您可以改用信号线上的大阻值电阻器……但这是一个小问题。

不幸的是,这些连接器很少见。标头(如与arduino一起使用的标头)被设计为仅在制造过程中插入的成品的一部分,因此不会热插拔。

热插拔安全连接器可用于常规标准(USB,HDMI等),但这并不是您的应用程序所需要的。

因此,我想您在执行此操作时会很小心,在弄乱电路之前先关闭电源...


29
+1是,那些RCA连接器很糟糕。
Trevor_G

20
TRS也是不好的,因为它基本上会在插入时使所有内容短路。
约尔格W¯¯米塔格

22
“扬声器发出很大的嗡嗡声,直到接地为止。” 哦,我的...这就是原因!+1
亚瑟·卡斯特罗

2
是的,由于变压器泄漏等原因,两个机箱的接地都将处于不同的交流电势,因此,当您将“热”中心引脚连接到输入而不连接接地时,此交流电压就成为您的信号!一种解决方法是将一个公RCA的接地压在母RCA的接地上,然后插入另一个公RCA ...有点“先手动接地”!或将一个RCA连接到未使用的输入(接地),然后将另一个RCA连接到实时输入,然后将第一个RCA移至正确的位置……真是一团糟!
peufeu

5
应该没问题,因为齿轮设计成允许使用(如果不是这样的话,保修退货就有点问题了……)
peufeu

16

热插拔的坏处有以下几个原因:
1)如果在接地电流以异常方式流入电路之前连接Vcc。例如,如果连接了Vcc且数字或模拟引脚接地,则电源可能流入Vcc并从该引脚流出,这可能会使该引脚短路并烧毁电路的该部分。

2)可能会因系统总线或电源上的电压暂时下降而导致“掉电”。

3)断开连接时,电路或电缆中的电感器可能会表现出高压。

(我的电缆不能在服务代表会热插拔的产品中意外热插拔。由于电缆中的互感(以及电缆设计不正确,直导线相距约一米) )会炸毁电缆两侧的数字驱动器。进一步检查后发现,断开电缆连接后,数字CMOS线会上升到7V!)

在实施以下两种策略方面,我也取得了巨大的成功。如果要滚动自己的热插拔系统,您可以在设计中做一件事,即找到一个标准连接器(我在总线上使用了sca2,但是您可以使用sata或其他行业标准连接器,只需确保人们了解他们无法插拔电源即可其他东西)。

预充电电路:

长引脚和限流电阻器可用于限制流入设备的浪涌电流。长销首先配对;必须设置电流限制,以使主机系统电源轨保持在规格范围内,但是在电源和信号引脚建立连接之前,设备会充分充电。选择预充电电阻值时,请务必小心,以下情况显示了一些常见问题:如果预充电电阻值太小,则设备在插入时仍会吸收过多电流,从而导致系统电源轨下降失控。

在此处输入图片说明

在此处输入图片说明

热插拔控制器

热插拔控制器IC控制流入设备的浪涌电流。热插拔控制器通常包含电子熔断器,在大电流应用中,可能难以区分浪涌电流和短路。这些组件比预充电电阻器更昂贵,并且在某些情况下,系统中使用更多有源组件可能会引起可靠性问题。

在此处输入图片说明

图像和文本来源:热交换的设计注意事项


1
BTW掉电很重要,因为它们会使数字逻辑(和一些模拟电路)进入奇怪的状态。不一定仅原理图上的电路可以包括例如寄生元件。查找“闩锁”。
Technophile

是的,我必须将热插拔板上的电阻调整到负载,以确保它们不会掉落总线上的其他板。这样其他板就可以继续运行
Voltage Spike's

8

这实际上取决于电路,在某些情况下还取决于连接器本身。

当您断开连接或连接某物时,连接不会同时发生。这意味着在此过程中存在不可预测的连接状态。这些连接中的某些可能会将大电压或大电流放置在您真正不希望的地方。更糟糕的是,连接器通常很紧,这意味着用户会扭动它们以使其分开,从而在此过程中造成更多的随机打断。

一些连接器(如卡式边缘连接器)也因在插入或卸下之前将相邻针脚正确配对之前短路而臭名昭著。一个人甚至都不要考虑热插拔其中之一。

如果断开的连接并不重要,例如,两个引脚的插头通过简单的上拉下拉驱动器连接到LED,则假设您不使用ESD放电,则不会发生任何不良情况。但是大多数事情都不那么健壮。

当然,您可以将事物设计为可热插拔,但这是复杂且昂贵的,并且在产品的整个生命周期中都无法正常工作,如果不是特定的设计要求,则很难证明其合理性。

话虽如此,系统应该始终设计为:如果在未插入传感器A的情况下接通电源,则输出B不应进入取决于该传感器的某种状态。如果丢失该传感器将导致故障或危险,则需要添加适当的措施以检测该丢失并优雅地进入安全状态。

但是通常,除非您真的知道发生了什么事,否则请勿热插拔!


1
我希望我知道卡边缘连接器以这种方式是邪恶的。一旦我炸毁了价值超过300的PC组件,因为我忘了依靠备用电源。插入gfx卡后,电脑就会自动开机。这并不好笑!我
Ageis
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.