浅谈嵌入式系统中的硬件热插拔设计

时间:2022-06-15 10:46:35

浅谈嵌入式系统中的硬件热插拔设计

【摘要】本文研究了嵌入式单片机系统硬件设计中的接口热插拔设计方法。文中对热插拔设计的重要性,一般接口在防过电流、过电压冲击方面的热插拔设计,以及接口在结构方面的热插拔设计进行了一些有意义的探讨,并给出参考实例。

【关键词】嵌入式电路;热插拔;接口设计

热插拔的概念来源于我们的桌面PC,其一般定义为将设备板卡或模块等带电接入或移出正在工作的电脑[1]。嵌入式系统中的热插拔是指对正在运行的嵌入式电路板,在不关闭电源情况下对某些部件进行插入(连接)或拔出(断开)操作。下面要谈的正是在一个嵌入式单片机系统中对其扩展部件或板卡的硬件热插拔技术,将根据接口上的信号类型等探讨热插拔的危害产生原因及防止危害发生的一般性措施。本文以下部分将把要插拔的两块电路板分别称为主电路板(正在运行的嵌入式主电路板)和扩展板。

一、热插拔设计的重要性

对正在工作的电路板进行热插拔通常都是不被许可的,但在有些时候却是难于避免的,比如使用者疏忽或特殊功能要求等。对未采取任何保护措施的嵌入式电路板进行热插拔操作,其将带来的损害通常是很严重的,包括电源电路损坏,单片机IO口烧坏,单片机复位或死机,或者与接口相连的IC出现部分或全部管脚烧坏等。这些故障将导致嵌入式电路板产生永久性损害,或在重新上电之前系统无法再正常工作。因此,在嵌入式系统的扩展接口设计中加入一定的热插拔保护措施是十分必要的。热插拔操作对嵌入式电路板的危害通常表现在三方面:过电流冲击、瞬态过电压、静电释放[1]。进行热插拔设计的目标应是在不增加太多硬件成本的前提下,使设计出的电路板不因热插拔操作造成系统复位、死机或对元器件产生永久性损害。

二、电源与地接口的防过电流冲击热插拔设计

当把扩展板插入正在工作的嵌入式主电路板中时,扩展板上的各类电容和IC需要瞬间从主电路板的电源处上吸走大量电荷,给电源造成一个短暂的低阻抗路径,造成一次浪涌电流[1]。此浪涌电流可以把系统电压拉低到系统重置阈值以下,造成单片机复位,甚至烧毁电源电路。在硬件设计时通常采取如下措施进行应对:

1.在扩展接口的电源网络上使用大容量电容(可以用并联方式获得)减轻扩展板上电过程中对主电路板电源电压的影响。主电路板电源电路中的电容量最好要比扩展板的蓄能电容量之和稍大。

2.在扩展接口的电源网络上串入电源专用的磁珠以减少上电瞬间的电流尖峰,并阻断高频噪声信号的干扰。

3.如果浪涌电流特别大并且系统允许复位,为保护主电路板上的电源电路可以考虑在电源入口处加自恢复保险丝让电源在过流瞬间自动切断。如果系统对热插拔时的稳定性要求更高可以使用目前市面上的专用热插拔控制器LM5069等,这些器件具有功率和电流限制的能力[2]。

在热插拔操作时为提高设备的热插拔寿命,热插拔动作应避免来回抖动,并且两次热插拔之间的时间间隔不要太短;如果扩展板的负荷可以先行卸除,最好不要带负荷进行热插拔。

三、电源与地接口的防过电压冲击热插拔设计

进行热插拔操作前不同设备的接口之间可能存在一定的电位差,尤其是使用了隔离电源或共模电感的“浮地”系统。虽然这类电位差是瞬间的且没有多大的电流能力,但此电位差通常会超出各类IC的最高工作耐压而损坏IC。如果在热插拔同时还伴随着静电释放,在接口接触瞬间产生的过电压和过电流冲击会更加厉害,可以瞬间烧毁电路板中脆弱环节上的IC。应对此类危害的唯一办法是快速钳位电压,即在接口附近的电源与地之间以及比较脆弱的信号与地之间使用具有浪涌能量吸收能力和内部散热能力的压敏电阻或TVS管之类的浪涌电压抑制器等保护措施。

四、电源与地接口在结构上的热插拔设计

现在CMOS器件已经在各种电路上广泛使用,CMOS器件的一个缺点是容易产生闩锁效应而烧毁。在热插拔过程中VCC和GND的突然变化或者芯片I/O口电压超出VDD-GND的范围时很容易发生闩锁效应。如果接口结构设计不合理造成在热插拔过程中I/O口信号已经连接上而GND或VCC还没有连接上,这时极易发生闩锁效应而烧毁芯片。因此,在接口结构设计时必须保证接口在带电插入过程中要先让GND和VCC连接上再连接I/O口;反之在带电拔出过程中则需要先拔出I/O口再断开VCC和GND。在实际应用时可以采取如下措施:把GND和VCC放在接口两端、并在接口上多放几个GND信号,或者把GND和VCC的插针做得比其它信号插针稍微长些等。图一是按一般热插拔要求设计的一款主电路板电源与地的接口实例。

五、常见信号接口的热插拔设计

对嵌入式电路板上单片机的片上外设(on-chip peripheral)类信号口(比如SPI输出口),通常其耐电压和电流冲击能力并不是很强,如果需要把这些信号接口在电路板上扩展出去最好先把这些信号经过外部逻辑门电路处理后(比如两次反相)再接到扩展接口上。

对耐电压和电流冲击能力较强的单片机GPIO信号接口可使用阻容电路进行简单保护。其中的电阻能起到限流作用,电阻值可根据信号辨识的需求选在几欧到几百欧之间;而对地的小滤波电容则能起到滤除瞬间电压尖峰的作用,电容值可根据信号线上传递的信号频率特性选在几百pF到几nF之间。

对比较脆弱而又关键的重要信号接口(比如SPI输入口、并行总线接口等)可以在信号端口与电源和地之间使用双向二极管对信号电压进行精准钳位。这样可确保此类接口上的电压不会超出芯片的工作电压范围,能起到非常好的保护作用。图二是一款常见信号接口的热插拔设计实例(电源和地部分参见图一)。

嵌入式系统电路的接口热插拔设计通常是一个反复和复杂的过程。在设计时通常需要通过热插拔实验把接口电路中的脆弱环节找出来,然后采取针对性的措施进行应对,要做到既不增加太多硬件成本又能满足一般的热插拔需要。热插拔问题是各类电子设备中都会面临到的一个问题,本文探讨的热插拔设计技术在电路设计中具有一定的现实意义。

参考文献

[1]凌有慧,张胡.热插拔的硬道理[J].微型计算机,2003(23):107-111.

[2]National Semiconductor Corporation.LM5069 Positive High Voltage Hot Swap/Inrush Current Controller with Power Limiting data sheet,2008.

作者简介:

张文杰(1979—),男,广东兴宁人,硕士研究生,广州日滨科技发展有限公司开发设计人员,主要从事嵌入式控制系统方面的研究。

王坤(1981—),女,河北石家庄人,硕士研究生,广州城建职业学院机电系讲师,主要研究方向:机电一体化应用技术。

上一篇:网络信息资源检索工具中的搜索引擎基本工作原... 下一篇:检测装置在数控机床中的几种故障分析