一种解决USB设备异常唤醒系统的方法技术方案

技术编号:13162529 阅读:88 留言:0更新日期:2016-05-10 09:18
本发明专利技术公开了一种解决USB设备异常唤醒系统的方法,所述方法在系统进入S3时,产生一个SMI中断,利用该中断号注册一个中断处理函数,在中断函数中通过配置USB控制器的寄存器,使相应的USB Port处于disable状态。本发明专利技术利用SMI中断的方式,在系统进入S3状态时,对相应的USB Port进行配置,使其在系统S3时处于Disable状态,从而不会引起系统的异常唤醒。

【技术实现步骤摘要】

本专利技术涉及计算机B1S
,具体涉及一种解决USB设备异常唤醒系统的方法,所用的技术为SMI中断技术,所解决的是计算机在进入待机(睡眠)状态后,USB设备存在异常活动从而唤醒操作系统的问题。
技术介绍
现如今,笔记本已经成为人们生活、工作和学习中不可缺少的工具。为了使人们具有更好的使用感受,笔记本不但在性能上追求更大的提升,在其他方面也有更高的要求,其中外围接口的传输速度就是很重要的一项。由于现在的笔记本具有越来越多的功能要求,因此往往需要从芯片组上扩展出很多功能设备,其中USB(Universal Serial Bus)设备就是很重要的一部分。USB是一种外部总线标准,USB具有传输速度快(USB1.1是12Mbps,USB2.0是480Mbps,USB3.0是5 Gbps)、使用方便、支持热插拔、连接灵活及独立供电等优点,可连接鼠标、键盘、打印机、外置光驱及闪存盘等几乎所有的外置设备。按照USB总线标准连接的外围设备统称为USB设备,由于USB的以上优点,USB设备的使用变得越来越普及。SMI是SystemManagement Interrupt(系统管理中断)的缩写,是x86架构的CPU为了让软硬件设计者们更容易设计出符合需求的中断程序而提供的功能。SMI的触发方式分为硬触发和软触发两种,硬触发的过程为:1、硬件触发SMI中断管脚;2、CPU进入SMM模式;3、执行B1S中的SMI中断函数。软触发的过程为:1、向地址为0xB2的1端口中写入中断号intN; 2、CPU进入SMM模式;3、执行B1S中中断号intN对应的中断函数。目前的主流芯片组都支持USB控制器功能,二十一世纪以来的主板也都采用支持USB功能的芯片组,因此USB设备在当前的计算机中越来越普遍。在B1S程序研发过程中可能会遇到以下问题:当系统进入S3后,有的USB设备状态不稳定,造成系统被异常唤醒。ACPI规范定义共有六种状态,分别是SO到S5,它们代表的含义分别是: 50—实际上这就是我们平常的工作状态,所有设备全开,功耗一般会超过80W; 51—也称为P0S(Poweron Suspend),这时除了通过CPU时钟控制器将CPU关闭之外,其他的部件仍然正常工作,这时的功耗一般在30W以下;(其实有些CPU降温软件就是利用这种工作原理) 52—这时CPU处于停止运作状态,总线时钟也被关闭,但其余的设备仍然运转; 53—这就是我们熟悉的STR(Suspendto RAM),这时的功耗不超过10W; 54—也称为STD(Suspendto Disk),这时系统主电源关闭,但是硬盘仍然带电并可以被唤醒; 55—这种状态是最干脆的,就是连电源在内的所有设备全部关闭,功耗为O。我们最常用到的是S3状态,S卩Suspend to RAM(挂起到内存)状态,简称思义,STR就是把系统进入STR前的工作状态数据都存放到内存中去。在STR状态下,电源仍然继续为内存等最必要的设备供电,以确保数据不丢失,而其他设备均处于关闭状态,系统的耗电量极低。一旦我们按下Power按钮(主机电源开关),系统就被唤醒,马上从内存中读取数据并恢复到STR之前的工作状态。内存的读写速度极快,因此我们感到进入和离开STR状态所花费的时间不过是几秒钟而已;而S4状态,S卩STD(挂起到硬盘)与STR的原理是完全一样的,只不过数据是保存在硬盘中。由于硬盘的读写速度比内存要慢得多,因此用起来也就没有STR那么快了。STD的优点是只通过软件就能实现。
技术实现思路
本专利技术要解决的技术问题是:针对这个问题,在本专利技术提供一种解决USB设备异常唤醒系统的方法,利用SMI中断的方式,在系统进入S3状态时,对相应的USB Port进行配置,使其在系统S3时处于Disable状态,从而不会引起系统的异常唤醒。本专利技术所采用的技术方案为: 一种解决USB设备异常唤醒系统的方法,所述方法在系统进入S3时,产生一个SMI中断,利用该中断号注册一个中断处理函数,在中断函数中通过配置USB控制器的寄存器,使相应的USB Port处于disable状态。所述方法在系统从S3唤醒时,产生一个SMI中断,利用该中断号注册一个中断处理函数,在该函数中通过配置USB控制器的寄存器,使相应的USB Port恢复enable状态,由此可达到控制USB设备在进入S3时的状态。所述方法操作步骤如下: 1)在B1S的ASL代码中添加中断产生代码,在系统进入S3时和系统从S3唤醒时分别产生一个SMI中断; 2)根据SMI中断号,注册一个中断函数,在该函数中分别完成对USB控制器中寄存器的配置过程; 3)当系统进入S3时或从S3状态唤醒时,会触发注册的SMI中断函数,从而完成对USB控制器中寄存器的配置过程。本专利技术的有益效果为: 本专利技术利用SMI中断的方式,在系统进入S3状态时,对相应的USB Port进行配置,使其在系统S3时处于Disable状态,从而不会引起系统的异常唤醒。【附图说明】图1为系统进入S3时的流程图; 图2为系统从S3唤醒时的流程图。【具体实施方式】下面参照附图所示,通过【具体实施方式】对本专利技术进一步说明: 实施例1: 如图1所示,一种解决USB设备异常唤醒系统的方法,所述方法在系统进入S3时,产生一个SMI中断,利用该中断号注册一个中断处理函数,在中断函数中通过配置USB控制器的寄存器,使相应的USB Port处于disable状态。实施例2: 如图2所示,在实施例1的基础上,本实施例所述方法在系统从S3唤醒时,产生一个SMI中断,利用该中断号注册一个中断处理函数,在该函数中通过配置USB控制器的寄存器,使相应的USB Port恢复enable状态,由此可达到控制USB设备在进入S3时的状态。实施例3: 在实施例2的基础上,本实施例所述方法操作步骤如下: 1)在B1S的ASL代码中添加中断产生代码,在系统进入S3时和系统从S3唤醒时分别产生一个SMI中断; 2)根据SMI中断号,注册一个中断函数,在该函数中分别完成对USB控制器中寄存器的配置过程; 3)当系统进入S3时或从S3状态唤醒时,会触发注册的SMI中断函数,从而完成对USB控制器中寄存器的配置过程。以上实施方式仅用于说明本专利技术,而并非对本专利技术的限制,有关
的普通技术人员,在不脱离本专利技术的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本专利技术的范畴,本专利技术的专利保护范围应由权利要求限定。【主权项】1.一种解决USB设备异常唤醒系统的方法,其特征在于:所述方法在系统进入S3时,产生一个SMI中断,利用该中断号注册一个中断处理函数,在中断函数中通过配置USB控制器的寄存器,使相应的USB Port处于disable状态。2.根据权利要求1所述的一种解决USB设备异常唤醒系统的方法,其特征在于:所述方法在系统从S3唤醒时,产生一个SMI中断,利用该中断号注册一个中断处理函数,在该函数中通过配置USB控制器的寄存器,使相应的USB Port恢复enable状态,由此可达到控制USB设备在进入S3时的状态。3.根据权利要求2所述的一种解决USB设备异常唤本文档来自技高网
...

【技术保护点】
一种解决USB设备异常唤醒系统的方法,其特征在于:所述方法在系统进入S3时,产生一个SMI中断,利用该中断号注册一个中断处理函数,在中断函数中通过配置USB控制器的寄存器,使相应的USB Port处于disable状态。

【技术特征摘要】

【专利技术属性】
技术研发人员:吴登勇刘君朋王一矾
申请(专利权)人:山东超越数控电子有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1