廣州日濱科技發(fā)展有限公司 張文杰
廣州城建職業(yè)學院 王 坤
熱插拔的概念來源于我們的桌面PC,其一般定義為將設備板卡或模塊等帶電接入或移出正在工作的電腦[1]。嵌入式系統(tǒng)中的熱插拔是指對正在運行的嵌入式電路板,在不關(guān)閉電源情況下對某些部件進行插入(連接)或拔出(斷開)操作。下面要談的正是在一個嵌入式單片機系統(tǒng)中對其擴展部件或板卡的硬件熱插拔技術(shù),將根據(jù)接口上的信號類型等探討熱插拔的危害產(chǎn)生原因及防止危害發(fā)生的一般性措施。本文以下部分將把要插拔的兩塊電路板分別稱為主電路板(正在運行的嵌入式主電路板)和擴展板。
對正在工作的電路板進行熱插拔通常都是不被許可的,但在有些時候卻是難于避免的,比如使用者疏忽或特殊功能要求等。對未采取任何保護措施的嵌入式電路板進行熱插拔操作,其將帶來的損害通常是很嚴重的,包括電源電路損壞,單片機IO口燒壞,單片機復位或死機,或者與接口相連的IC出現(xiàn)部分或全部管腳燒壞等。這些故障將導致嵌入式電路板產(chǎn)生永久性損害,或在重新上電之前系統(tǒng)無法再正常工作。因此,在嵌入式系統(tǒng)的擴展接口設計中加入一定的熱插拔保護措施是十分必要的。熱插拔操作對嵌入式電路板的危害通常表現(xiàn)在三方面:過電流沖擊、瞬態(tài)過電壓、靜電釋放[1]。進行熱插拔設計的目標應是在不增加太多硬件成本的前提下,使設計出的電路板不因熱插拔操作造成系統(tǒng)復位、死機或?qū)υ骷a(chǎn)生永久性損害。
當把擴展板插入正在工作的嵌入式主電路板中時,擴展板上的各類電容和IC需要瞬間從主電路板的電源處上吸走大量電荷,給電源造成一個短暫的低阻抗路徑,造成一次浪涌電流[1]。此浪涌電流可以把系統(tǒng)電壓拉低到系統(tǒng)重置閾值以下,造成單片機復位,甚至燒毀電源電路。在硬件設計時通常采取如下措施進行應對:
1.在擴展接口的電源網(wǎng)絡上使用大容量電容(可以用并聯(lián)方式獲得)減輕擴展板上電過程中對主電路板電源電壓的影響。主電路板電源電路中的電容量最好要比擴展板的蓄能電容量之和稍大。
2.在擴展接口的電源網(wǎng)絡上串入電源專用的磁珠以減少上電瞬間的電流尖峰,并阻斷高頻噪聲信號的干擾。
3.如果浪涌電流特別大并且系統(tǒng)允許復位,為保護主電路板上的電源電路可以考慮在電源入口處加自恢復保險絲讓電源在過流瞬間自動切斷。如果系統(tǒng)對熱插拔時的穩(wěn)定性要求更高可以使用目前市面上的專用熱插拔控制器LM5069等,這些器件具有功率和電流限制的能力[2]。
在熱插拔操作時為提高設備的熱插拔壽命,熱插拔動作應避免來回抖動,并且兩次熱插拔之間的時間間隔不要太短;如果擴展板的負荷可以先行卸除,最好不要帶負荷進行熱插拔。
進行熱插拔操作前不同設備的接口之間可能存在一定的電位差,尤其是使用了隔離電源或共模電感的“浮地”系統(tǒng)。雖然這類電位差是瞬間的且沒有多大的電流能力,但此電位差通常會超出各類IC的最高工作耐壓而損壞IC。如果在熱插拔同時還伴隨著靜電釋放,在接口接觸瞬間產(chǎn)生的過電壓和過電流沖擊會更加厲害,可以瞬間燒毀電路板中脆弱環(huán)節(jié)上的IC。應對此類危害的唯一辦法是快速鉗位電壓,即在接口附近的電源與地之間以及比較脆弱的信號與地之間使用具有浪涌能量吸收能力和內(nèi)部散熱能力的壓敏電阻或TVS管之類的浪涌電壓抑制器等保護措施。
圖一 電源與地接口的熱插拔設計例子Fig.1 HOT-SWAN design of VCC and GND network on interface
圖二 常見信號接口的熱插拔設計Fig.2 HOT-SWAN design of general signal interface
現(xiàn)在CMOS器件已經(jīng)在各種電路上廣泛使用,CMOS器件的一個缺點是容易產(chǎn)生閂鎖效應而燒毀。在熱插拔過程中VCC和GND的突然變化或者芯片I/O口電壓超出VDD-GND的范圍時很容易發(fā)生閂鎖效應。如果接口結(jié)構(gòu)設計不合理造成在熱插拔過程中I/O口信號已經(jīng)連接上而GND或VCC還沒有連接上,這時極易發(fā)生閂鎖效應而燒毀芯片。因此,在接口結(jié)構(gòu)設計時必須保證接口在帶電插入過程中要先讓GND和VCC連接上再連接I/O口;反之在帶電拔出過程中則需要先拔出I/O口再斷開VCC和GND。在實際應用時可以采取如下措施:把GND和VCC放在接口兩端、并在接口上多放幾個GND信號,或者把GND和VCC的插針做得比其它信號插針稍微長些等。圖一是按一般熱插拔要求設計的一款主電路板電源與地的接口實例。
對嵌入式電路板上單片機的片上外設(on-chip peripheral)類信號口(比如SPI輸出口),通常其耐電壓和電流沖擊能力并不是很強,如果需要把這些信號接口在電路板上擴展出去最好先把這些信號經(jīng)過外部邏輯門電路處理后(比如兩次反相)再接到擴展接口上。
對耐電壓和電流沖擊能力較強的單片機GPIO信號接口可使用阻容電路進行簡單保護。其中的電阻能起到限流作用,電阻值可根據(jù)信號辨識的需求選在幾歐到幾百歐之間;而對地的小濾波電容則能起到濾除瞬間電壓尖峰的作用,電容值可根據(jù)信號線上傳遞的信號頻率特性選在幾百pF到幾nF之間。
對比較脆弱而又關(guān)鍵的重要信號接口(比如SPI輸入口、并行總線接口等)可以在信號端口與電源和地之間使用雙向二極管對信號電壓進行精準鉗位。這樣可確保此類接口上的電壓不會超出芯片的工作電壓范圍,能起到非常好的保護作用。圖二是一款常見信號接口的熱插拔設計實例(電源和地部分參見圖一)。
嵌入式系統(tǒng)電路的接口熱插拔設計通常是一個反復和復雜的過程。在設計時通常需要通過熱插拔實驗把接口電路中的脆弱環(huán)節(jié)找出來,然后采取針對性的措施進行應對,要做到既不增加太多硬件成本又能滿足一般的熱插拔需要。熱插拔問題是各類電子設備中都會面臨到的一個問題,本文探討的熱插拔設計技術(shù)在電路設計中具有一定的現(xiàn)實意義。
[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.