热插拔的实现方法和系统的制作方法_2

文档序号:8402745阅读:来源:国知局
变为低。步骤206为:检测当前状态寄存器的值,如果为高电平,则判定为有设备接入,如果为低电平,则判定为有设备被拔掉。
[0056]步骤208,执行与判断结果对应的动作。
[0057]具体的,在一个实施例中,步骤208包括:当判定为有设备接入时,通知操作系统有设备接入,并基于当前操作系统,对接入的设备进行初始化;当判定为有设备被拔掉时,通知操作系统有设备被拔掉,并从操作系统的逻辑设备列表中移除所述设备。
[0058]在一个实施例中,在步骤208之后,还包括:将GP1设置为高电平。将GP1设置为高电平,则表示中断执行完毕,使得一次GP1电平的变化只能触发一次SCI。由于GP1被配置为低电平有效,当GP1电平变低则会触发SCI,因此在执行与判断结果对应的动作后,如果不将GP1设置为高电平,则会不断触发SCI,从而产生的很多意想不到的异常事件,严重影响操作系统运行效率。因此,在步骤208之后,将GP1设置为高电平,能够有效避免异常事件。
[0059]在一个实施例中,当检测到预设GP1为高电平,则结束,不触发SCI。
[0060]由于GP1被配置为低电平有效,且只有输入功能,用于接收热插拔产生的ENUM#信号,当检测到GP1为低电平则能调用SCI对应的中断处理程序,从而读取到设备状态,并根据设备状态能够得知有设备接入还是有设备被拔掉,从而执行与判断结果对应的动作。由于SCI是操作系统可见的、可以共享的且由低电平触发的一种中断,通过触发SCI使得对应的中断处理程序得以执行,从而实现热插拔。相对于传统的将输入的ENUM#信号转换成Serial IRQ的方式,该方法和系统能够节省资源,且不依赖于专用的CPLD芯片,因此能够节省成本,同时降低了设计难度。
[0061]在另一个实施例中,如图3所示,提供了一种热插拔的实现方法,该方法以预先定义了有设备接入,则对应的状态寄存器的值由高变为高低,有设备被拔掉,则对应的状态寄存器的值由低变为高为例进行举例说明,包括:
[0062]步骤302,检测预设GP1是否为低电平,若是,则进入步骤304,否则结束。
[0063]如上所述,该GP1被配置为输入功能且低电平有效,用于接收热插拔产生的ENUM#信号。
[0064]步骤304,检测当前状态寄存器的值,若为0,则进入步骤306,若为1,则进入步骤310。
[0065]步骤306,通知操作系统,有设备接入。
[0066]步骤308,基于当前操作系统,对接入的设备进行初始化。
[0067]步骤308中,如果接入的设备需要资源的话,还可对接入的设备分配相应的资源,如1空间、存储空间和中断等。
[0068]步骤310,通知操作系统,有设备被拔掉。
[0069]步骤312,从操作系统的逻辑设备列表中移除该设备。
[0070]步骤312中,如果该设备存在与逻辑设备列表中,并占有系统资源的话,还可释放掉该设备所占用的系统资源。
[0071]步骤314,将GP1设置为高电平。
[0072]如图4所示,在一个实施例中,还提供了一种热插拔的实现系统,该系统包括检测模块410和热插拔处理模块420,其中:
[0073]检测模块410用于检测预设GP1是否为低电平,该预设GP1被配置为输入功能且配置为低电平有效,用于接收热插拔产生的系统枚举信号,当预设GP1为低电平时,触发 SCI。
[0074]热插拔处理模块420用于读取设备状态,根据设备状态判断有设备接入还是有设备被拔掉,并执行与判断结果对应的动作。
[0075]本实施例中,可将主板/底板插槽上的一个针脚和GP10(General Purpose Input/Output相连接,该GP1硬件默认上拉为高电平,待插入的设备对应针脚硬件连接触动手柄中的开关。
[0076]进一步的,预先可对GP1进行配置,包括:配置该GP1为输入功能;配置该GP1为低电平有效;配置该GP1可触发SCI。
[0077]另外,可使用单功能的GP1信号,也可使用多功能复用信号作为GP1信号,当使用多功能复用信号时,需将该信号配置为GP1信号。
[0078]在一个实施例中,预先定义了有设备接入,则对应的状态寄存器的值由高变为低,有设备被拔掉,则对应的状态寄存器的值由低变为高。热插拔处理模块420用于检测当前状态寄存器的值,如果为低电平,则判定为有设备接入,如果为高电平,则判定为有设备被拔掉。
[0079]在另一个实施例中,预先定义了有设备接入,则对应的状态寄存器的值由低变为高,有设备被拔掉,则对应的状态寄存器的值由高变为低。热插拔处理模块420用于检测当前状态寄存器的值,如果为高电平,则判定为有设备接入,如果为低电平,则判定为有设备被拔掉。
[0080]在一个实施例中,热插拔处理模块420还用于当判定为有设备接入时,通知操作系统有设备接入,并基于当前操作系统,对接入的设备进行初始化。进一步的,如果接入的设备需要资源的话,热插拔处理模块420还可用于对接入的设备分配相应的资源,如1空间、存储空间和中断等
[0081]热插拔处理模块420还用于当判定为有设备被拔掉时,通知操作系统有设备被拔掉,并从操作系统的逻辑设备列表中移除所述设备。进一步的,如果该设备存在与逻辑设备列表中,并占有系统资源的话,热插拔处理模块420还可用于释放掉该设备所占用的系统资源。
[0082]在一个实施例中,热插拔处理模块420还用于在执行与判断结果对应的动作之后,将GP1设置为高电平。
[0083]在一个实施例中,当检测模块410检测到预设GP1为高电平,则不进行任何处理,也就是不会触发SCI。
[0084]在一个实施例中,如图5所示,热插拔的实现系统还包括配置模块430,其中,配置模块430用于配置GP1为输入功能、配置GP1为低电平有效和配置GP1可触发SCI。
[0085]由于SCI是操作系统可见的、可以共享的且由低电平触发的一种中断,热插拨处理模块420通过触发SCI使得对应的中断处理程序得以执行,从而实现热插拔。相对于传统的将输入的ENUM#信号转换成Serial IRQ的方式,该热插拔的实现系统能够节省资源,且不依赖于专用的CPLD芯片,因此能够节省成本,同时降低了设计难度。
[0086]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【主权项】
1.一种热插拔的实现方法,所述方法包括: 检测预设GP1是否为低电平,所述预设GP1被配置为输入功能且配置为低电平有效,用于接收热插拔产生的系统枚举信号; 当所述预设GP1为低电平时,触发系统控制中断; 读取设备状态,根据所述设备状态判断有设备接入还是有设备被拔掉; 执行与判断结果对应的动作。
2.根据权利要求1所述的方法,其特征在于,所述读取设备状态,根据所述设备状态判断有设备接入还是有设备被拔掉的步骤为: 检测当前状态寄存器的值,如果为低电平,则判定为有设备接入,如果为高电平,则判定为有设备被拔掉;或者 检测当前状态寄存器的值,如果为高电平,则判定为有设备接入,如果为低电平,则判定为有设备被拔掉。
3.根据权利要求1所述的方法,其特征在于,所述执行与判断结果对应的动作的步骤,包括: 当判定为有设备接入时,通知操作系统有设备接入,并基于当前操作系统,对接入的设备进行初始化; 当判定为有设备被拔掉时,通知操作系统有设备被拔掉,并从操作系统的逻辑设备列表中移除所述设备。
4.根据权利要求1所述的方法,其特征在于,在所述执行与判断结果对应的动作的步骤之后,还包括: 将所述GP1设置为高电平。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括: 配置所述GP1为输入功能; 配置所述GP1为低电平有效; 配置所述GP1可触发系统控制中断。
6.一种热插拔的实现系统,其特征在于,所述系统包括: 检测模块,用于检测预设GP1是否为低电平,所述预设GP1被配置为输入功能且配置为低电平有效,用于接收热插拔产生的系统枚举信号; 所述检测模块还用于当所述预设GP1为低电平时,触发系统控制中断; 热插拔处理模块,用于读取设备状态,根据所述设备状态判断有设备接入还是有设备被拔掉; 所述热插拔处理模块还用于执行与判断结果对应的动作。
7.根据权利要求6所述的系统,其特征在于,所述热插拔处理模块用于检测当前状态寄存器的值,如果为低电平,则判定为有设备接入,如果为高电平,则判定为有设备被拔掉;或者 所述热插拔处理模块用于检测当前状态寄存器的值,如果为高电平,则判定为有设备接入,如果为低电平,则判定为有设备被拔掉。
8.根据权利要求6所述的系统,其特征在于,所述热插拔处理模块还用于当判定为有设备接入时,通知操作系统有设备接入,并基于当前操作系统,对接入的设备进行初始化;当判定为有设备被拔掉时,通知操作系统有设备被拔掉,并从操作系统的逻辑设备列表中移除所述设备。
9.根据权利要求6所述的系统,其特征在于,所述热插拔处理模块还用于在执行与判断结果对应的动作之后,将所述GP1设置为高电平。
10.根据权利要求6所述的系统,其特征在于,所述系统还包括: 配置模块,用于配置所述GP1为输入功能、配置所述GP1为低电平有效和配置所述GP1可触发系统控制中断。
【专利摘要】本发明提供了一种热插拔的实现方法,所述方法包括:检测预设GPIO是否为低电平,所述预设GPIO被配置为输入功能且配置为低电平有效,用于接收热插拔产生的系统枚举信号;当所述预设GPIO为低电平时,触发系统控制中断;读取设备状态,根据所述设备状态判断有设备接入还是有设备被拔掉;执行与判断结果对应的动作。采用该方法,能够节省资源、减少成本,同时降低设计难度。此外,还提供了一种热插拔的实现系统。
【IPC分类】G06F13-40
【公开号】CN104731741
【申请号】CN201310719358
【发明人】廖宇晖, 郭齐运
【申请人】研祥智能科技股份有限公司
【公开日】2015年6月24日
【申请日】2013年12月23日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1