当前位置:首页 > 工业控制 > 工业控制
[导读]摘要 热插拔是Compact PCI总线技术中突出且最吸引用户的技术,解决了用户对系统稳定性和冗余性迫切的要求。文中分析了Compact PCI总线系统3种热插拔技术的原理,以完全热插拔技术为基础,设计热插拔系统,硬件采用热

摘要 热插拔是Compact PCI总线技术中突出且最吸引用户的技术,解决了用户对系统稳定性和冗余性迫切的要求。文中分析了Compact PCI总线系统3种热插拔技术的原理,以完全热插拔技术为基础,设计热插拔系统,硬件采用热插拔电源控制器LTC1643L和PCI桥接芯片PCI9030实现硬件功能板卡,软件使用硬实时操作系统VxWorks。在分析VxWorks操作系统结构以及设备驱动程序结构后,结合PCI9030的设备配置空间的特点,编写VxWorks下Compact PCI功能板卡的驱动程序以及热插拔监控程序,最终实现系统的热插拔功能。
关键词 Compact PCI总线;热插拔;VxWorks;LTC1643L;PCI9030;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#被激活,同时激活热插拔监控软件,监控软件判断热插拔类型并经行相关操作。软件连接过程是软件层同系统连接或断离的过程。对于板卡的插入,过程包括分配系统资源,包括I/O空间、内存空间、中断号,加载设备驱动程序并激活应用软件。根据系统要求的不同,热插拔系统有3种模型:
    (1)基本热插拔模型。最基本的热插拔方式需要用户干预,用户通过控制台通知操作系统将进行设备卡的插入或拔出。
    (2)完全热插拔模型。完全热插拔是在基本热插拔模型的基础上,在设备卡的插入/拔出机构中添加一个微开关装置,这个开关藏在手柄中,在设备的插入和拔出过程中激活枚举信号,及ENUM#信号,该信号通过中断的方式通知操作系统将要插入或拔出一个设备卡,操作系统再执行总线枚举,资源分配,安装驱动程序或卸载驱动程序。
    (3)高可用性模型。在完全热插拔模型基础上对板卡实行了更高程度的控制,不仅是指示板卡的插入或可拔出的状态。这种模型的软件能够控制板卡的硬件连接,这就使得软件能对发生故障的板卡立即进行总线或电气上的隔离,并启用冗余板卡,满足系统始终处于运行状态、几乎没有故障的高可用性目标。

2 系统的硬件设计
    
系统在X86系统主机下,设计为一个I/O适配卡,通过以上分析可知,具备热插拔能力的CompactPCI板卡必须具有电源管理模块,完成对板卡的上电操作及Healthy#信号获取,目前市场已有Compact PCI热插拔电源管理的专用芯片,典型的是Liear公司的LTC1643L;其二是板卡上的桥芯片必须支持系统热插拔,本文采用PLX公司的PCI9030,其提供了完善的热插拔功能。系统的硬件框图如图1所示。


    热插拔系统的工作过程如下:Compact PCI的电源有长针和中针,设备卡的设计者应将板卡的供电系统分为两个部分,长针电源给PCI桥芯片及电源管理芯片供电,中针电源给板卡的其他部分供电。当操作者插入一块板卡时,系统就进入物理连接状态,此时是长针电源的插入,桥接芯片及电源管理芯片通电,做好热插入的准备,而系统其他部分还未通电。当操作者继续将板卡插入时,中针电源与板卡连接,系统其他部分仍未通电,短针信号BD_SEL#激活,在上拉电阻的作用下,由原来的高电平下拉到低电平,板卡上的电源管理模块响应这个信号,电源管理芯片响应信号后,经过一定延时,接通中针电源,对板卡上的其他部份供电,系统进入硬件层连接状态,板卡随时准备工作。在硬件层连接过程中需要两个信号的配合,它们是Healthy#和PCI_RST#信号,PCI_RST#信号与传统PCI复位信号相同,但在热插拔系统中,系统复位必须满足的条件是板卡正常供电,该状态信号为Healthy#信号,由板卡电源管理模块通过对板卡上各种电源的监视提供。产生板卡上可靠的复位信号的典型做法是将Healthy#与PCI_RST#做逻辑或,得到的或信号作为整个系统的复位信号,完成以上操作后系统进入软件层连接状态。在进入软件层时需要ENUM#信号有效,信号的触发依赖位于热插拔设备卡拉手上的微动开关,在插入和拔出设备卡的过程中会激活ENUM#信号,然后向桥接芯片发出一个触发信号,同时设备卡上的热插拔指示灯点亮,操作系统完成对设备卡的配置,接着加载设备驱动程序,激活设备应用软件。

3 热插拔系统软件的设计
    
热插拔系统的实现依赖于具体的硬件系统和操作系统,该主机操作系统为VxWorks实时操作系统,软件系统的实现需要设备卡的驱动程序,以及热插拔监控程序,其工作流程如下:当设备卡插入Compact PCI总线时,关闭微动开关时,激活枚举信号,触发操作系统响应,读取本地空间寄存器中设备卡的状态,判断是否为插入,如果是板卡插入,此时释放信号量,激活设备卡插入程序,程序加载设备驱动程序,创建设备,打开设备,激活应用程序。当设备卡拔出Compact PCI总线时,微动开关会触发枚举信号,以同样的方式读取本地空间寄存器的状态,如果为拔出,卸载设备驱动程序,删除设备,释放与设备相关的资源。热插拔软件流程如图2所示。


3.1 Vxworks驱动程序的设计
    
驱动程序主要实现了驱动程序的安装,设备的创建,以及打开设备,读写设备的功能。开发驱动程序首先修改主机的BSP,在config Al l.h文件中添加#define cpci9030.h,然后在sysLib.c中加入include“cpci9030.c”。在cpci9030.c中主要实现以下函数:
    syscpciInit(),设备资源初始化函数,主要的作用是读取系统分配给采集卡的地址映射空间,包括内存空间和I/O空间,以及设备的中断号,调用sysMmuMapAdd()系统函数将内存空间做虚拟化映射,使CPU能够正常访问采集卡。调用intConnect()系统函数将设备卡的中断程序添加到系统中。
    plx_Drv(),驱动程序安装函数,函数调用IosDrvInstall()函数将开发的驱动程序添加到系统的驱动程序表中。
    plx_UnDrv(),驱动程序卸载函数,函数调用IosDrvRemove()函数,将驱动程序从系统中移除。
    plx_DevCreate(),创建设备函数,调用系统函数iosDevAdd()函数将设备添加到系统的设备列表中。
    plx_DevRemove(),设备删除函数,调用系统函数iosDevDelete()函数,删除系统中创建的设备。
    plx_Open(),设备打开函数,在设备列表中找到设备,并在空闲文件表中注册,返回文件描述符。
    plx_Read(),设备读函数,读取设备中的数据,系统函数read()调用。
    plx_Write(),设备写函数,写入数据到设备中,系统函数write()调用。
3.2 热插拔监控程序的设计
    
当设备插入Compact PCI总线,在连接过程中,设备通电以后会激活ENUM#信号,进而会产生一个系统中断,系统响应这个中断信号,执行中断函数,读取PCI9030的配置空间的设备关联区寄存器,判断板卡是插入还是拔出,并清除响应的中断状态。当中断状态是由插入板卡的引起的,会激活监视程序加载驱动程序安装函数plx_Drv(),设备创建函数plx_DevCreate(),以及设备打开函数plx_Open(),当中断由板卡拔出引起的,中断函数释放信号量激活任务,调用驱动程序卸载函数plx_UnDrv(),调用设备删除函数plx_DevRemove(),关闭由设备操作占用的文件和资源。

4 结束语
    
在对计算机系统稳定性和可维护性要求越来越高的前提下,PICMG提出了Compact PCI总线技术,较好地解决了这个问题,随着Compact PCI技术的不断成熟,热插拔技术会受到越来越多的重视,并向高可用性热插拔技术发展,以及双系统冗余技术的实现,在未来将会改变计算机系统的特性。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭