VxWorks下Compact PCI热插拔的原理与实现
- UID
- 872339
|
VxWorks下Compact PCI热插拔的原理与实现
关键字:VxWorks Compact PCI 热插拔
摘要 热插拔是Compact PCI总线技术中突出且最吸引用户的技术,解决了用户对系统稳定性和冗余性迫切的要求。文中分析了Compact PCI总线系统3种热插拔技术的原理,以完全热插拔技术为基础,设计热插拔系统,硬件采用热插拔电源控制器LTC1643L和PCI桥接芯片PCI9030实现硬件功能板卡,软件使用硬实时操作系统VxWorks。在分析VxWorks操作系统结构以及设备驱动程序结构后,结合PCI9030的设备配置空间的特点,编写VxWorks下Compact PCI功能板卡的驱动程序以及热插拔监控程序,最终实现系统的热插拔功能。
1992年,英特尔公司将PCI总线作为局部总线,用于CPU与外围器件相连,例如显示控制器、以太网控制器、内存控制器等。经过10多年的发展,PCI总线标准已成为PC机业界标准。但由于其自身无法提供更高可靠性及无法满足更高可用性系统对正常运作时间的要求,主板散热困难,边缘接头可靠性低,在更换主板时易受损坏等弊端逐渐显现出来。1997年8月,PICMG发布了第一个技术标准Compact PCI技术标准PICM G2.0,该标准的发布标志着Compact PCI系统的诞生。
Compact PCI是一种新的开放式工业计算机标准。它融合了计算机与工业设备诸多经过广泛验证的标准,是PCI总线技术与欧式卡组装技术的组合。它与传统的PCI系统完全兼容,系统的设计者只需将电路板上的连接器重新绘制,就可以将一个传统的PCI系统升级为一个Compact PCI系统,大幅缩短了产品推向市场的时间。与此同时Compact PCI标准给系统设计者提供了冗余设计、故障切换和故障管理等极大的设计空间,其中最具吸引力的特点就是Compact PCI系统具备了传统PCI板卡无法实现的热插拔能力。
1 热插拔原理
Compact PCI总线的热插拔过程就是软硬件交互的连接过程。主要包括物理连接、硬件连接和软件连接。物理连接过程就是板卡在插入和拔出的过程中,接口的长、中、短针依次与总线连接的过程。硬件连接是各种电信号驱动响应的过程。Compact PCI总线增加一个ENUM#信号,即系统枚举信号。当一个Compact PCI设备卡被插入或拔出时。ENUM#被激活,同时激活热插拔监控软件,监控软件判断热插拔类型并经行相关操作。软件连接过程是软件层同系统连接或断离的过程。对于板卡的插入,过程包括分配系统资源,包括IO空间、内存空间、中断号,加载设备驱动程序并激活应用软件。根据系统要求的不同,热插拔系统有3种模型:
(1)基本热插拔模型。最基本的热插拔方式需要用户干预,用户通过控制台通知操作系统将进行设备卡的插入或拔出。
(2)完全热插拔模型。完全热插拔是在基本热插拔模型的基础上,在设备卡的插入拔出机构中添加一个微开关装置,这个开关藏在手柄中,在设备的插入和拔出过程中激活枚举信号,及ENUM#信号,该信号通过中断的方式通知操作系统将要插入或拔出一个设备卡,操作系统再执行总线枚举,资源分配,安装驱动程序或卸载驱动程序。
(3)高可用性模型。在完全热插拔模型基础上对板卡实行了更高程度的控制,不仅是指示板卡的插入或可拔出的状态。这种模型的软件能够控制板卡的硬件连接,这就使得软件能对发生故障的板卡立即进行总线或电气上的隔离,并启用冗余板卡,满足系统始终处于运行状态、几乎没有故障的高可用性目标。
|
|
|
|
|
|