完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
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)高可用性模型。在完全热插拔模型基础上对板卡实行了更高程度的控制,不仅是指示板卡的插入或可拔出的状态。这种模型的软件能够控制板卡的硬件连接,这就使得软件能对发生故障的板卡立即进行总线或电气上的隔离,并启用冗余板卡,满足系统始终处于运行状态、几乎没有故障的高可用性目标。 2 系统的硬件设计 系统在X86系统主机下,设计为一个IO适配卡,通过以上分析可知,具备热插拔能力的CompactPCI板卡必须具有电源管理模块,完成对板卡的上电操作及Healthy#信号获取,目前市场已有Compact PCI热插拔电源管理的专用芯片,典型的是Liear公司的LTC1643L;其二是板卡上的桥芯片必须支持系统热插拔,本文采用PLX公司的 I9030,其提供了完善的热插拔功能。系统的硬件框图如图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 All.h文件中添加#define cpci9030.h,然后在sysLib.c中加入include“cpci9030.c”。在cpci9030.c中主要实现以下函数: syscpciInit(),设备资源初始化函数,主要的作用是读取系统分配给采集卡的地址映射空间,包括内存空间和IO空间,以及设备的中断号,调用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威廉希尔官方网站 的不断成熟,热插拔威廉希尔官方网站 会受到越来越多的重视,并向高可用性热插拔威廉希尔官方网站 发展,以及双系统冗余威廉希尔官方网站 的实现,在未来将会改变计算机系统的特性。 |
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2574 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2368 浏览 5 评论
3225 浏览 3 评论
2842 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2795 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
677浏览 1评论
914浏览 0评论
1035浏览 0评论
677浏览 0评论
509浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-29 13:43 , Processed in 1.116509 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号