基于AT96总线的热插拔设计
2019-05-29伍巧凤孙诗炎王明星
伍巧凤,孙诗炎,王明星,贺 理,李 昱
(核反应堆系统设计技术重点实验室,成都 610213)
热插拔即带电插拔,热插拔功能就是允许用户在不关闭系统,不切断电源的情况下取出和更换损坏的硬盘、电源或板卡等部件,从而提高了系统对故障的及时恢复能力、扩展性和灵活性等。数字化仪控平台[1]采用AT96总线为ISA总线的兼容协议,不支持热插拔功能[2],并且设备热插拔初期会产生非常大的瞬态电流,对电源产生干扰,干扰的存在会使负载降低。因此,需要采用专门的热插拔设计,让热插拔后系统能及时复位[3]。系统从热插拔对供电的影响出发,在基于AT96总线的基础上提出了一种可靠性的热插拔设计方案,有效地解决了热插拔瞬间冲击和振荡问题。
1 功能单元热插拔对系统供电的影响
功能单元在热插拔上电时对系统供电的影响主要包括以下两点:
1)在热插拔时,连接器的机械触点在接触瞬间会出现弹跳,引起电源振荡。如图1所示。
这个振荡过程会引起系统电源跌落,引起误码或系统重启,也可能会引起连接器打火,引发火灾。
解决的办法就是延迟连接器的通电时间,在连接器抖动的那十几毫秒内(t1~t2)不给连接器通电,等插入稳定后(t2后)再通电,即防抖动延时。
图1 上电电流振荡图Fig.1 Power-on current oscillation diagram
图2 上电冲击电流图Fig.2 Power-on impact current diagram
图3 IO功能单元的AT96接插件针结构图Fig.3 AT96 connector needle structure diagram of IO function unit
2)热插拔时,由于系统大容量储能电容的充电效应,系统中会出现很大的冲击电流,电容在充电时,电流呈指数趋势下降,如图2所示。所以在刚开始充电的时候,其冲击电流是非常大的。
此冲击电流可能会烧毁设备电源保险管,所以在热插拔时必须对冲击电流进行控制,使其按理想的趋势变化,如图2右侧所示,图中0~t1为电源缓启动时间。
综上所述,热插拔电路必须考虑防抖动延时上电和控制输入电流上升斜率,采用缓启动电路设计。
2 热插拔技术方案
2.1 定制的AT96接插件
IO功能单元通过接插件与背板相连,从而实现与控制器的数据交互。IO功能单元的热插拔设计采用定制的AT96接插件,即长短针设计,不同的功能采用不同的针设计。该定制接插件针结构分为3种长度,长针为电源针,正常长度为信号针,短针为热插拔的KEY针,其示意图如图3所示[4]。
长针为电源针,可以确保插件在插入时,优先接入电源信号,在插件拔出时,最后断开电源信号。正常长度的针为AT96总线的其他信号使用,短针是热插拔的Key信号针,该管脚在功能单元上为上拉信号,在背板上为对地短路,在板卡刚插入时,虽然电源和信号针都已经插入背板上时,由于该管脚最短,还未接入。因此,为高电平,Key信号依然保持电路板接口信号为三态信号模式;当该管脚被接入背板后,Key信号为低电平,此时板卡才开始启动MCU复位信号,进入功能单元上电和工作状态。
在功能单元拔出时,由于KEY信号针最短,在其他信号还正常的情况下,Key信号已经转为高电平。因此,该板卡已经知道一个拔出操作开始了,故根据功能单元功能要求,做好掉电拔出的信号处理工作(该工作需要在较短时间之内完成,可能拔出时间只有10ms左右),将所有总线IO口切换为三态模式,同时降低板卡电源开销,以减少拔出时对总线冲击。
2.2 限流保护和延迟斜率上电
由上节可知,功能单元在上电时,会对总线产生电源冲击,有可能导致总线访问错误,甚至整个总线电源保护停电。因此,上电控制电路是非常重要的一个电路,该电路负责控制上电的斜率,从而减少对总线电源的冲击,以避免总线受到冲击而导致系统故障。
图4中为一个电源二级防护电路,一级防护电路主要靠气体放电管抑制电压,当两极间电压足够大时,极间间隙将放电击穿,由原来的绝缘状态转化为导电状态,类似短路,通路状态下两极间维持的电压很低。因此,可以起到保护后级电路的效果,而二级防护电路主要依靠SMAJ5.0CA起保护作用,能有效地保护后级电路,FA1和FA2为1.5A自恢复保险丝,可以达到限流保护的作用,防止过流对板卡进行的损坏。该电路可有效地降低热插拔过程中,浪涌电流对电路造成的影响。
图4 二级防护电路Fig.4 2 Level protection circuit
图5 斜率上电电路Fig.5 Slope power circuit
图6 上电时序控制图Fig.6 Power-on timing control diagram
在防雷防浪涌电路后端,设计斜率上电电路,通过MIC2505电路控制芯片来实现电压的斜率控制,其电路图如图5所示。MIC2505具有电流限制和热关断功能,其输入电压在2.7V~7.5V之间,其上电时间由电容CA29的容值决定,其电容值与上电时间成正比。由此,可以通过调节CA29的电容容值大小,从而控制电源的上电时间,减少热插拔的影响。
2.3 上电时序
如果平台中所有功能单元均插好的情况下上电,虽然每个功能单元都有斜率上电控制,但由于功能单元太多,如果同时上电,依然会对电源冲击过大,造成故障甚至引起设备损坏。为了解决这个问题,需要控制各个功能单元的上电时序,使其错开,以降低对电源的冲击造成的不良影响。
图6为上电时序控制图,从图中可知,功能单的基础电源部分为5V和3.3V,其中5V从外部引入,在其基础上增加了一个斜率上电控制电路,其后通过数字电源转换成3.3V供内部数字电路使用。
当功能单元插入上电,或系统开机上电时,斜率上电控制电路将控制上电斜率,以降低电流开销。上电结束后,所有的3.3V和5V电源均已完成上电。需要指出的是,虽然3.3V和5V电源均已完成上电,但各个器件依然受到CPLD逻辑控制,MCU此时依然处于复位状态,各个相关IC通过使能控制,其也依然处于高阻的不工作状态。因此,此时的上电电流实际上是比较小的,各个插槽的所有功能单元一起上电,其电流冲击也依然较小,不会对电源造成很大冲击。为了各个板卡自然错开上电,设定一个固定延迟时间。因此,各个板卡将自动错开上电时间。
延迟时间到后,CPLD控制电路将依次打开MCU的复位信号,各个IC的使能信号,以及其他电源的上电控制信号,完成功能单元的实际上电。其中部分接口IC的使能信号,还受到MCU的软件控制,MCU在完成自检后,方才发送允许信号给CPLD,这些接口IC才能被允许使能工作。
3 结论
系统根据AT96总线的特点,设计了一种合理、可靠的热插拔设计方案,使得基于AT96总线的数字化仪控平台具备快速恢复能力和较好的扩展能力。该方案采用定制AT96接插件,通过长短针设计,使得功能单元在插入或拔出时,各种信号可分时加载;通过二级防护电路、斜率上电电路和上电时序控制系统上电时间,消除浪涌对供电系统的影响,使得功能单元能够在带电的背板上安全插拔。