在一般的应用电子系统中,若出现电路板硬件失效或软件故障,通常都是先关闭系统电源再检修或更换故障设备,这样往往需要较长的停机时间。在一些可靠性要求非常高的高可靠系统中,不允许停机检修和停机更换故障板或只允许很短的停机时间。例如在高可靠通讯、军事应用电子系统中,一旦出现单板故障,要求在整个系统不停机的情况下允许带电拔出故障板及插入备份板,这种系统通常叫做支持热插拔系统或高可靠系统。热插拔系统首先需要有一个支持热插拔的系统平台,还需要有支持热插拔的单板。热插拔系统都是采用无源背板总线平台,在众多的无源背板总线系统中,CompactPCI总线具有完整的支持热插拔的规范,CompactPCI总线热插拔系统应用最广泛。本文重点介绍CompactPCI热插拔单板的电气设计技术要点。
1、 热插拔技术概要
热插拔即允许带电拔插工作单板,其最基本的目的是要求带电拔插单板而不影响系统运行,以便维修故障板或重新配置系统;热插拔技术可以提供有计划地访问热插拔设备,允许在不停机或很少需要操作人员参与的情况下,实现故障恢复和系统重新配置;热插拔技术可以提供高可靠应用,当单板出现故障时,系统在不间断运行的情况下自动隔离故障板。热插拔系统的级别由低到高分为三种:基本热插拔系统,它具有基本热插拔要求的性能;完全热插拔系统,它可以对热插拔单板进行动态配置;高可靠系统,它利用高可靠平台实现对硬件的更高级别的控制。
插拔有三个过程:物理连接过程,包括热插入(在系统运行中插入单板)和热拔出(在系统运行中拔出单板);硬件连接过程中,即系统在硬件层上的连接与断开;软件连接过程,即系统在软件层上的连接与断开。这些过程可以用一组状态进一步描述,这些状态虽属于系统的不同连接层但彼此关联,如图1所示。例如,当物理连接层不存在时,硬件连接层就不能产生电气连接;当单板从运行中的系统拔出时,软件连接和硬件连接自动断开。在图1中:
P0:单板未安装到系统,处于系统隔离状态。
P1/H0:单板已经插入槽位,所有的针都连接上,但没有上电,CompactPCI总线没有激活。在这一点,物理层处于P1状态,硬件层处于H0状态。
H1:单板上电初始化后连接到CompactPCI总线。
H1F:单板被命令上电、初始化,但是失败,或者单板检测到故障从CompactPCI总线断开。这块单板不适合插入从CompactPCI总线。
H2/S0:单板上电,但CompactPCI总线只能访问配置空间。此时,配置寄存器还没有配置好。在这一点,硬件层处于H2状态,软件层处于S0状态。
S1:系统已经配置好单板。
S2:必需的软件(驱动器,等)加载完成,单板可被操作系统和应用软件使用。但所有的操作都没有开始。
S2Q:此状态同S2,但不允许进行新的操作,单板处于静止状态。
S3:单板加入系统,已经正常工作。
S3Q:软件完成当前操作,但不允许启动新的操作,此时单板处于静止状态。
2、 CompactPCI热插拔单板的典型结构
CompactPCI单板必须包括一个CompactPCI总线接口器件,CompactPCI总线与PCI总线的接口逻辑和时序完全相。PCI总线接口器件常用的有AMCC公司的S5920、S5933,PLX公司的PCI9052等,或者使用FPGA内部的PCI逻辑核(core)。当然,也可以是接口器件和应用逻辑器件合二为一。CompactPCI热插拔单板的典型结构如图2所示。J1、J2是标准的2mm HM型接插件,这是CompactPCI热插拔规范规定的,CompactPCI单板就是通过这两个接插件连接到CompactPCI系统平台的。其中,连接CompactPCI总线的J1接插件的针是长短分级的(staged pin),即分为长针、短针、中长针。长针是一些电源针,最短的针是BD_SEL#和IDSEL,其它总线信号是中长针,而J2都是中长针。
3、 CompactPCI热插拔单板的物理连接过程
CompactPCI热插拔单板的物理连接过程都是相同的,如图3所示。物理连接过程是从单板插入导轨开始,到最短的针BD_SEL#连接上为止;拔出过程则相反。
物理连接过程是一个机械连接过程。在机械连接的过程中,插入单板,首先进行静电放电,然后进行预充电,等预充电完成后总线信号针才能连接,最后是BD_SEL#连接上;拔出过程则相反。
静电放电条是为了保护热插拔单板在带电拔插过程中免遭静电损坏。预充电过程是为了减小热插拔单板在拔插单板过程中对总线信号的冲击(电容效应)。
4、 热插拔单板的电气设计技术要点
CompactPCI热插拔单板的电气设计必须满足热插拔规范《CompactPCI Host Swap Specificaiton》的要求。要保证在拔插单板时,不能对CompactPCI总线产生较大的冲击,不能影响CompactPCI总线上数据传输的正确,必须从如下几方面进行考虑。
4.1 静电放电
热插拔单板,在带电拔插过程中,为了保护单板免遭静电损坏,必须进行静电放电。因此必须在单板上设计放电条,在CompactPCI机箱的插槽上有放电导轨。这样,在插入前,先进行静电放电;在拔出前,也先进行静电放电。
在热插拔单板的PCB的最外层的下端设计三个放电条:strip1、strip2、strip3。例如,对于标准的CompactPCI后面板插件(高度233.5mm,长度80mm),应设计的三个放电条的长度分别为20mm、27.5mm、20mm,高度为1.5mm。其中,strip3与机壳直接相连,strip1与strip3之间跨接10MΩ电阻,strip2与数字地通过10MΩ电阻连接,如图4所示。插入时,Strip1首先与放电导轨接触,其次是strip2,最后是strip3;拔出时则相反。
4.2 预充电
热插拔规范《CompactPCI Hot Swap Specification 2.1》规定,热插拔单板在拔插单板过程中,为了减小对总线的冲击(电容效应),必须对单板的总线信号进行预充电,使CompactPCI接插件的插针点的预充电电压达到1.0V(±0.2V)。插入单板时,在CompactPCI总线信号线连接上之前,使单板上的CompactPCI总线信号预充电至1.0V左右,这样在总线信号线连接上的瞬间,冲击很小;拔出单板时,在CompactPCI总线信号线断开之前,使单板上的CompactPCI总线信号预充电至1.0V左右,这样,在总线信号线断开的瞬间,冲击很小。
单板上需要进行预充电的CompactPCI总线信号,即接插件J1、J2与CompactPCI接口器件连接的信号,包括:AD0~AD31、C/BE0#~C/BE3#、PAR、FRAME#、IRDY#、TRDY#、STOP#、LOCK#、IDSEL、DEVSEL#、PERR#、SERR#、RST#,AD32~AD63、C/BE4#~C/BE7#、REQ64E、ACK64K、PAR64,需要预充电至1.0V左右。
单板的预充电是从长针5V电源取电,再经过电压转换得到预充电电压Vps。
需要预充电的信号,经过较大的电阻Rp上拉至Vps 预充电电压(见图5)。选择Rp阻值的原则是,Rp的最大值应该保证Vps在5ms内,使需要预充电的信号在接插件插件处达到理想充电电压1.0V的80%;Rp的最小值应该保证PCI设备的管脚在高低电平时的漏时流不致过大,上拉电阻Rp一般不能小于10kΩ。
INTA#、INTB#、INTC#、INTD#/REQ#/PCI_RST#等信号通过10kΩ电阻上拉至PCI接口设备的工作电源电压(5V或3.3V)。BD_SEL#经过10kΩ电阻下拉。
4.3 串联匹配
为了减小单板上的CompactPCI总线的信号线分支(stub)对总线的影响,必须对总线信号进行串联电阻匹配。PCB的布线特征阻抗应设计为65Ω±10%,匹配电阻阻值为10Ω。需要加串联匹配电阻的信号包括:AD0~AD31、C/BE0#~C/BE3#、PAR、FRAME#、IRDY#、TRDY#、STOP#、LOCK#、IDSEL、DEVSEL#、PERR#、SERR#、RST#、AD32~AD63、C/DE4#~C/BE7#、REQ64#、ACK64#、PAR64以及INTA#、INTB#、INTC#、INTD#。
4.4 信号线长度限定
根据CompactPCI规范的要求,单板的预充电、串联电阻的Stub的长度必须按图5所示进行限制(PCB的布线特征阻抗应设计为65Ω±10%)。Stub的长度越短,对CompactPCI总线的冲击越小。在单板上,对预充电的信号,从接插件J1或J2到CompactPCI接口器件管脚,总的信号线长度应小于38.1mm,其中,从接插件插针到串联电阻的PCB连线长度应小于15.2mm。
预充电电阻的Stub长度最好是零,最长不能超过2.5mm。
4.5 滤波电容大小的确定
热插拔单板的预先电源(early power,不受控电源),在拔插单板时一直存在。在热插拔单板上,直接连接在电源管理的未充电电容,在单板插入过程中,会产生较在的浪涌电流,若电流过大,会导致接插件的烧损。为了滤波,通常在电源的接插件处都接有一滤波电容。因此,为了减少拔插过程的浪涌电流,必须限制滤波电容总量。根据热插拔规范的规定,对预先电源层电容总量的限制要求如下:
5V、3.3V、V(I/O)的电源层,电容总量不能超过8.8μF。
+12V、-12V的电源层,电容总线不能超过1.5μF。
CompactPCI热插拔单板的电气设计必须满足热插拔规范《CompactPCI Host Swap SpecificaTIon》的要求。要保证在拔插单板时,不能对CompactPCI总线产生较大的冲击,不能影响CompactPCI总线上数据传输的正确,在进行热插拔单板的电气设计时,必须考虑到静电放电、预充电、信号串联匹配、信号线长度限定以及滤波电容大小的限制等几个方面。笔者曾主持设计过16槽位CompactPCI高可靠平台,在热插拔单板的电气设计时,遵循本文讨论的几个设计原则,所设计的单板和系统均满足热插拔的各项技术要求。
责任编辑:gt
上一篇: 造成波峰焊接线路板针孔和气孔的原因有哪些
下一篇: 总线I2C和SPI应该如何选择使用