微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > cPCI台热切换原理和实现

cPCI台热切换原理和实现

时间:01-23 来源:电子技术应用 点击:

3 cPCI热切换子程序软件实现

软件系统的目标是实现中断的响应处理,与操作系统交互,以正确及时地安装或卸载对应的设备驱动程序,确保整个软件系统安全运行。

3.1 软件分层设计

本系统软件分成三层:最底层为设备驱动程序hotswap.sys,它执行与硬件相关的操作,如响应热切换过程中产生的中断事件、对Hotswap寄存器的操作,包括控制LED指示、清除INS/EXT状态位、隐藏设备等;中间层为热切换处理程序,一个由HSMonitor.exe创建的建立线程,一方面接收来自驱动程序的通知,另一方面通知OS重新枚举cPCI总线或卸载某一设备驱动程序;最上层为一图形界面应用程序HSMonitor.exe,为用户提供可见的设备插拔动态信息。软件结构如图3所示。

3.2 软件流程

ENUM#信号有效时,首先设备驱动程序hotSwap.sys的中断服务程序被执行,中断服务程序扫描整个cPCI总线,读取PIC6150的热切换寄存器,清除相应状态,并根据设备的INS/EXT状态位建立设备变更清单,通知热切换处理线程。热切换线程读取设备变更清单,如果有刚插入的设备,则通知OS重新枚举cPCI总线,如果有待拔出的设备,则利用设备槽信息(总线号/设备号)换算成PnP DevNode地址,通知OS移除该DevNode。OS在移除一个DevNode后或枚举总线时发现了新设备则发消息到应用程序HSMonitor.exe,该应用程序被设计成每次开机时自运行且注册为该消息的接收者。HSMonitor.exe获取刚被处理过的DevNode及处理结果。包括设备驱动加载成功、设备被成功移除等,以日志形式显示到控制台,供用户查询。

cPCI平台产品因为其可靠性和坚固性逐渐被国内电信设备三商采用,本设计中的cPCI平台产品被广泛应用于语音呼叫中心和自动应答系统,其基于cPCI的全热切换设计保证了系统的不间断运行,极大地提高了系统可靠性。本产品近一年的市场应用表明,该设计方案成本低廉,容易实现,用户使用方便。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top