CompactPCI总线技术概述
时间:2016-01-25 阅读:1711
1、CompactPCI总线核心技术
1997年8月,PICMG发布了*个CompactPCI技术标准PICMG 2.0 Rev. 1.0,CompactPCI Specification。1997年9月发布了PICMG 2.0 Rev. 2.1。1999年10月发布了PICMG 2.0 Revision 3.0。PICMG 2.0 R3.0是CompactPCI总线的核心标准,也是CompactPCI技术的精髓。它由三项技术综合而成:
·PCI局部总线的电气特性(PCI Local Bus Specification, PCISIG)。
·工业级欧洲卡封装结构和规格(IEC 60297-3 and –4, Eurocard Specification; IEEE 1101.11, IEEE Standard for Additional Mechanical Specifications for Microcomputers Using IEEE 1101.1 Equipment Practice)。
·IEC 2mm高密度针孔连接器(IEC-61076-4-101, Specification for 2mm Connector Systems)。
PICMG 2.0 Revision 3.0规定了背板上各插槽之间,系统槽与背板,I/O模板与背板之间严格的互连关系;定义了背板、模板和前后面板的结构和尺寸;定义P1支持32位PCI操作,P1和P2支持64位PCI操作,P3、P4和P5留给用户使用或作为总线扩展用。规范还为33MHz和66MHz工作频率的Clock信号分布,定义了严格的设计规则。规范还定义了系统管理总线,并为背板上每个插槽定义了*对应的物理地址。CompactPCI系统由金属外壳和前、后面板组成的整体导电以及ESD电路设计,使得CompactPCI具有电磁辐射屏蔽和静电释放能力,表现出良好的电磁兼容性。
2、CompactPCI总线热插拔技术
可维护性是嵌入式计算机非常重要的特性。此外,面向特定应用的系统(如电信设备、电力保护设备、车载控制系统和军事系统等)还需要热插拔(Hot Swapping)功能和容错(Fault Tolerance)设计。
CompactPCI(以下简称CPCI)技术规范使得流行的PCI总线兼容架构可以用欧洲卡规格实现。这种模块化的CPCI模板可以灵活组合成适合各种不同工业现场应用的系统。为了提高CPCI系统的可维护性,需要在CPCI产品上增加热插拔功能,使得CPCI模板可以在不需要关断电源情况下,插入或拔出正在运行的系统,而不影响或破坏系统的正常工作,从而为高可用性(High Availability)设计奠定基础。为此PICMG成立了热插拔工作组,并于1998年8月发布了热插拔标准PICMG 2.1 R1.0, CompactPCI Hot Swap Specification。随后于2001年1月推出了修订版本PICMG 2.1 R2.0。2002年5月发布了热插拔基础软件规范PICMG 2.12 R2.0,Hot Swap Infrastructure Interface Specification。
PICMG 2.1 R2.0标准定义了三种不同的热插拔模型:
·基本热插拔模型。基本模型也允许在系统运行过程中拔出或插入CPCI模板,但必须由训练有素的操作员通过人机接口向操作系统发出控制命令才能实现,软件连接不能自动进行。
·*热插拔模型。*模式下的软件连接是自动完成的,不需要人的干预。*热插拔模型应该是经济型工业计算机主要发展的目标。
·高可用性模型。高可用性要求系统始终处于运行状态,几乎*。
为了控制拔出或插入模板的电气和软件连接过程,CPCI的连接器插针采用长、中、短三层结构。长针为模板提供预充电电源,中针连接工作电源和CPCI信号,短针为BD_SEL#和IDSEL#信号,用于启动板上电源控制并通知该系统模板所处的状态。标准规定CPCI 热插拔控制电路要设计在模板上,而不是在无源背板上,以缩短更换故障部件的时间。这导致了相同功能的CPCI模板将以两种形式存在,一种是普通模板,一种是支持热插拔的模板。实践证明,CPCI热插拔设计75%的工作量是软件设计,而硬件设计只占25%。
为了支持Hot Swap, PICMG 2.1 R2.0定义了三种独立于硬件的硬件抽象层接口:Hot Swap System Driver、Hot Swap Service和High Availability Service,但对程序具体如何编制并没有明确规定。值得注意的是,2003年初在美国拉斯维加斯举行的摩托罗拉计算机事业部(MCG)年会上,很多软件操作系统公司都展示了支持CPCI热插拔标准的产品,如Lynx的LynxOS、Microware的OS-9、Enea的OSE、Wind River的VxWorks、Integrated Systems的pSOS等。当然,zui引人注目的要数GoAhead的SelfReliant和 Jungo的Go-HotSwap软件,因为它们是独立于操作系统的。虽然如此,由于缺少Windows通用操作系统的支持,在一定程度上延缓了CPCI热插拔技术的推广速度。随着微软支持“热插拔”的嵌入式Windows XP操作系统的推出,相信解决这个问题的日子不远了。
3、CompactPCI总线的冗余设计、故障切换和故障管理
高可用性技术的目标就是通过硬件和软件设计,使系统的宕机时间(Downtime)为zui小。今天,大多数电信设备供应商都将高可用性作为一个主要的技术指标。电信设备要求系统每年的连续运行时间为99.999%,即每年宕机时间不超过5分15秒钟。根据可用性的计算公式 Availability = MTBF / ( MTBF + MTTR ),给出下表。
系统可用性示意表
9's | Availability | Downtime/Year | Examples |
1 | 90.0% | 36 days 12 hours | Personal clients |
2 | 99.0% | 87 hours 36 minutes | Entry-level businesses |
3 | 99.9% | 8 hours 46 minutes | ISPs, mainstream businesses |
4 | 99.99% | 52 minutes 33 seconds | Data centers |
5 | 99.999% | 5 minutes 15 seconds | Carrier-grade co, medical, banking |
6 | 99.9999% | 31.5 seconds | Military defense system, CG goal |
从技术的角度来看,PICMG发布的热插拔规范只是“预警”机制,也就是当系统出现故障时,通过一种方式通知操作员按照规定的程序,在不关机的条件下更换故障模板,使系统继续运行。当然,在一定时间内,故障模板上的功能是不能工作的。但高可用性系统必须具有故障自动检测、诊断和排除故障能力,保证系统所有功能都正常连续运行。这就需要冗余设计(Redundancy)、自动故障切换(Failover)以及进行故障管理(Fault Management)。
冗余设计的目的是为了消除单点故障(Single Point of Failure)。单点故障是指“由于系统中一个部件出现故障而将导致整个系统大部分失效或*失效的故障”。这是高可用性系统所不允许的。冗余设计分为系统槽冗余、I/O冗余和整机冗余。
系统槽冗余(Redundancy of System Slot, RSS),也称为CPU板冗余。在传统CPCI系统中,CPU板冗余主要有两种方式,即主/主方式(Active/Active)和主/备方式(Active/Standby)。在主/主方式中,将系统分成2个独立的段(Segment),每段一般6个插槽。每个CPU板管理一个段,两个CPU同时工作。当一个CPU板出现故障时,这个CPU板被隔离,由另一个CPU接管控制权来同时管理2个段,维持系统的正常运转。在主/备方式(Active/Standby)中,在某一时间段,系统只有一个CPU工作。当一个CPU出现故障时,系统马上切换到备份CPU板,由备份CPU板接管系统的控制权,故障CPU板被迅速隔离。备份CPU板是处于“热备份”状态,还是处于“冷备份”状态,需视具体情况而定。当然,冗余设计和多主系统设计是不能等同起来的,多主系统可以实现负载均衡,但CPCI的冗余设计一般还不能。在CPCI系统中,CPU板与段之间的连接和故障切换需要通过PCI-to-PCI桥或Switched PCI Fabric实现。
I/O冗余(Peripheral Redundancy)。I/O模板的热插拔功能可以缩短系统的MTTR,但却不能防止系统出现宕机。为此,需要设计I/O冗余。I/O冗余一般采用主/备机制,当主工作不正常时,在没有人干预的情况下,自动切换到备份,由备份I/O板作为主I/O板,接替原主I/O板的工作。然后通知系统维护人员,更换故障I/O,将系统恢复到冗余状态。
故障管理。为了将系统的宕机时间降到zui短,系统还必须有完善的故障管理机制。故障管理一般分为5个阶段或过程:
·故障检测(Detection);
·故障诊断与定位(Diagnosis & Location);
·故障隔离(Isolation);
·故障切换(Failover);
·故障排除(Repair or Replacing)。
当然,系统的高可用性硬件设计也只能保证硬件系统连续工作,但不能保证系统连续可用,还需要高可用性系统管理软件的支持。高可用性系统管理软件一般分三个层次:底层硬件驱动程序,由硬件供应商提供;中间层是软件中间件(middleware),对系统工作状态进行检测、实现硬件资源管理与切换,一般由第三方提供;zui上层是系统应用管理软件,对整个系统进行管理,保证信息的正常流通和信息的完整性,一般由系统设备制造商针对特定应用自行研制。
需要指出的是,多处理器技术(Multi-Processors, MPS)也是冗余设计中经常采用的技术之一,一般分为对称多处理器(Symmetric Multi-Processor, SMP)系统以及非对称多处理器(Asymmetric Multi-Processor, AMP)系统两种。冗余设计也可以采用系统级冗余设计,如双机冗余和三模冗余(Triple Modular Redundancy, TMR)等。
4、CompactPCI总线的电源冗余和风扇冗余
为了给CPCI系统提供一种可靠的、方便维护的供电方式,1999年,CompactPCI协会发布了电源接口标准PICMG 2.11 R1.0 CompactPCI Power Interface Specification。R1.0为CPCI系统定义了可拔插的、模块化的电源电气和机械接口,以及对CPCI平台系统和电源管理zui少的接口要求,为CPCI热插拔和HA系统提供1+1冗余、N+1冗余和N+N冗余电源设计提供了标准依据。冗余电源的设计的核心是均流(Current Sharing)或负载均衡(Load Balancing)设计、故障切换和热插拔。
为了给CPCI系统提供稳定可靠的制冷能力,高可用性CPCI系统要求风扇冗余设计。风扇冗余一般采用N+M方式(如N=2,M=4)和Active/Active机制工作,并可以热插拔更换。任何一组都要有为系统提供足够制冷的能力。
5、CompactPCI完善的系统管理架构
2000年2月,PICMG发布了具有重要意义的系统管理标准PICMG 2.9 R1.0,CompactPCI System Management Specification。标准为CPCI系统定义了基于IPMI接口规范的IPMB总线及其管理总线网络。互为备份的两个的系统管理控制器模板(独立于主CPU),实时采集和查询系统所有部件的事件日志(Event Log),向系统管理员报告引起系统服务中断的异常事件,以便及时采取预防措施,防止系统崩溃。系统所有部件(包括CPU模板、I/O模板、包交换模板、无源背板、故障切换电路、机箱、电源、冗余磁盘阵列、风扇、网络以及环境条件等)的监视和管理都统一由管理软件和系统管理控制器通过IPMI接口和IPMB网络实现。
6、脱颖而出的CompactPCI交换式以太网背板技术
CPCI总线zui初只是单一的总线标准。但当1997年PICMG将H.110 ephony Bus增加到CPCI背板上时,激发了人们的创新灵感,去探索“将行业专业总线移植到CPCI背板上,使单一的PCI数据传输总线演变成控制总线”的可能。事实上,这一方面反映了“主流电信设备供应商希望用CPCI架构满足一些应用的要求”,另一方面也说明人们已经开始寻求打破CPCI总线插槽数量限制和高速数据传输瓶颈的手段。为此,PICMG协会成立了由Performance Technologies牵头、50多家公司参加的PICMG 2.16工作组,目标就是将交换式以太网机制(Switched Ethernet Fabric)增加到CPCI架构中。经过几年卓有成效的工作,PICMG于2001年9月发布了以太网包交换背板标准PICMG 2.16, CompactPCI Packet Switching Backplane Specification。
PICMG 2.16的发布说明了什么问题?首先,它代表了人们追求不断提升信息交流速度的愿望,打破了并行总线对传输速度的物理限制。其次,它也预示着CPCI架构的板级互连方式从一点对多点的并行总线步入到了点对点的串行总线互连时代。第三,它也表明人们在寻求提升系统性能的途径时,倾向和选择已经成熟的交换机制(Switched Fabric)技术,如Switched Ethernet、Switched Starfabric以及Switched Infiniband技术等,而且有些已经形成了产品。因为冗余设计简单、故障容易隔离、更换方便,因此基于交换机制的架构更适合设计高可用性系统。
PICMG 2.16主要是面向电信应用而设计的。PICMG 2.16使用双冗余的星型网络结构,通过以太网交换板实现了节点间的点到点互连,消除了单点故障,可以提供大约40倍PCI总线的传输性能以及高度的可靠性和灵活性。基于PICMG 2.16可以构成刀片式服务器集群,电信设备商或服务商可以用来研制下一带网络系统(NGN)产品,如 2.5G和3G无线设备、VoIP媒体网关、软交换(SoftSwitch)设备、信令网关、IP DSLAM、语音/视频/数据服务器以及呼叫中心服务器等。所有这些设备都需要高可用性、高密度、高可靠性和高数据吞吐量,这正是PICMG 2.16所具备的特征。