CN1180207A - 智能型电源开关 - Google Patents

智能型电源开关 Download PDF

Info

Publication number
CN1180207A
CN1180207A CN97104906A CN97104906A CN1180207A CN 1180207 A CN1180207 A CN 1180207A CN 97104906 A CN97104906 A CN 97104906A CN 97104906 A CN97104906 A CN 97104906A CN 1180207 A CN1180207 A CN 1180207A
Authority
CN
China
Prior art keywords
switch
software
power supply
processor
computing machine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN97104906A
Other languages
English (en)
Other versions
CN1265313C (zh
Inventor
小L·F·拉瓦夫
W·F·杰根斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=24491438&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN1180207(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of CN1180207A publication Critical patent/CN1180207A/zh
Application granted granted Critical
Publication of CN1265313C publication Critical patent/CN1265313C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

这是一种智能地切断计算机装置电源的系统和方法。此系统可包括:处理装置;连到处理装置的电源;连到电源的开关;以及由处理装置驱动并连到电源和开关的控制系统。此外,此系统可包括提供故障-安全操作的故障自动刹车计时器。此外,系统可包括对软件和硬件执行有序停机过程的装置。此外,系统可同热和/或能源管理系统相联。此外,系统可对串联或并联到系统的外部装置启动有序停机。也揭示了其它装置、系统和方法。

Description

智能型电源开关
本发明一般涉及电子设备的电源开关。
结合桌面和手提式计算机描述本发明的背景而不限制本发明的范围。
自从电的出现,已形成了无数用电来驱动的器件。然而,每种器件都必须具有接通和断开该器件的方法。因此,事实上每种电子设备都具有让用户接通和断开该器件的电源开关。
此外,从计算机的发展来看,总有一种用于断开计算机电源的方法和装置。在常规环境中,接通开关以给计算机供电,断开开关以切断电源。然而,常规的电源开关只简单地断开电源,而不管此时计算机在干什么。用户简单地轻击开关,就可切断计算机的电源。还有,如果计算机处在软件应用过程中、或正在更新数据库、或正在写入硬盘时,可能会丢失或破坏有价值的信息。
已发现需要一种智能型电源开关;一种可在用户轻击电源开关时考虑计算机在干什么的开关;一种不会丢失此时保存在存储器中内容的开关;一种在电能降低前使硬盘驱动器定位和停驻其磁头的开关;一种可做这些事情和更多事情的智能型电源开关。
本发明解决了这样一个问题。此智能型电源开关可以是由软件控制的机械式电源开关。然而,智能型电源开关也可以是全电子式且完全用软件来操纵。或者,智能型电源开关可以是电子、软件和机械装置的结合形式。
可根据计算机在干什么对智能型电源开关进行编程,使之成为智能型。如果计算机在干某些需要智能的动作(即,系统处于可能引起文件系统、通信系统、计算机网络、应用设备被破坏或甚至破坏固有硬件的模式中),则系统准确地知晓以什么次序停机。软件会离开硬件控制电源开关,把此作为一个动作,然后在以后处理该动作。这样可准备有序的停机。有序地停机可使软件应用设备关闭文件并以有序状态退出。此外,外部设备也可有序地停机。例如,可在终止电源前定位和停驻硬盘驱动器上的磁头。此外,串联或并联到计算机的外部设备也可以有序方式停机。此外,甚至显示器也可以有序方式停机。
有三种操作智能型电源开关的方法。一种方法是电源开关一断开就简单地切断计算机的电源。另一种方法是把被断开的电源开关作为一个动作,然后在切断计算机的电源前让控制软件有序地使计算机程序和硬件停机。最后一种方法类似于第二种方法,但它允许某一硬件在特定的时限后越权。这使得计算机在软件发生故障的情况下自动切断电源。可把此硬件过载作为具有缺省时限和/或可被控制软件调节的时限的故障自动刹车计时器。此外,可设置计时器电路,以使用户在系统完成其有序停机前快速地把电源开关置于接通位置时,也可进行正常的操作。然而,系统的完整操作取决于用户再次接通电源前系统已被停机了多长时间。然而,如果系统还未启动停机步序而仅仅是登记了动作,则可立即开始完整的操作。也可进行许多其他变化。
这是一种智能地切断计算机电源的系统和方法。此系统可包括:处理装置;连到处理装置的电源;连到电源的开关;以及用处理装置操纵并连到电源和开关的控制系统。此外,该系统可包括提供故障-安全操作的故障自动刹车计时器。此外,此系统可包括用于对软件和硬件实行有序停机步序的装置。此外,该系统可依靠热和/或能源管理系统。此外,该系统可启动外部设备的有序停机,外部设备则以串联、并联或其他连接方法连到该系统。也揭示了其他装置、系统和方法。
在图中:
图1是较佳实施例的图;
图2是计算机启动处理的流程图;
图3是用于智能型电源开关的一个硬件实施例的电路图;
图4是计算机基本电子构造的方框图;
图5是手提式计算机的等角图;
图6是图4手提式计算机的方框图;
图7是手提式计算机的分解图;
图8是图7的主印刷电路板的特写图;
图9-30示出实施图7的主印刷电路板的逻辑图;
图31-35示出实施图7的键扫描(keyscan)印刷电路板的逻辑图;
图36-47示出实施图7的PCMCIA/声音印刷电路板的逻辑图;以及
图48-49示出实施图7的IR模块印刷电路板的逻辑图。
不同图中相应的标号和符号指相应的部件,除非有其他表示。
可以三种方法的任意组合操作智能型电源开关。第一种是以简单的模式操作智能型电源开关;当用户断开电源时,电源开关简单地切断计算机的电源。第二种方法是通过用软件以智能方式控制电源开关,此方法将在软件程序放弃控制并触发切断电源时才断开电源。第三种方法是使故障自动刹车计时器与软件程序同步运行,然后在经过特定的时限后继续切断计算机的电源。
可在中央处理部件(CPU),或象应用程序处理器等独立的处理器上执行控制电源开关的软件程序。例如,你既可用CPU的其他程序来运行控制程序,也可专用一小型微处理器来监测电源开关。
软件控制程序可具有三种操作模式:无智能的电源开关,具有实时动作的智能型电源开关,或具有延迟动作的智能型电源开关(为了说明,将用CPU所注重的实时动作和类似于中断的实时硬件,以及象其他软件程序具有预定的时间片一样在以后的时间被CPU注重的延迟动作来描述实时动作和延迟动作)。软件控制程序允许应用程序时间以有序的方式停机。然而,如果所有的应用程序都失去控制或具有某种无法挽回的差错,并且不能在计时器停止前返回计时器,则故障自动刹车计时器将停止计时,并且就象普通电源开关一样使计算机以简单的模式停机。因此,设定故障自动刹车计时器是重要的;时限应足够长,以使应用程序以有序的过程停机,以及返回计时器,并在必要时重置计时器。此外,在应用程序陷于某种无法挽回的差错的情况下,时限也不应太长;用户对于计算机停机不必等待太长时间。
图1描述了智能型电源开关的一般流程图。该系统通过启动软件控制程序10而开始工作。可在启动处理或根据用户命令启动软件控制程序。然而,在软件控制程序启动后,计时器电路被设定12。计时器电路的值可被软件设定,或具有缺省值。然而,计时器必须能被软件控制程序重置。一旦计时器电路被设定,则计时器开始计时直到停止计时14。此外,软件程序同步地开始有序停机过程18。软件程序首先可启动软件停机处理20和硬件停机处理22。然而,这两个过程可以任何次序或混合实施。还有,如果需要附加时间来完成停机处理,则软件程序必须能够在计时器电路16计时停止前重置计时器电路。最后,在计时器电路已停止计时后,开始有序地切断系统的电源24。此外,在完成停机处理时可实施软件程序以设定计时立即停止的计时器值。
图1详述了软件控制程序的流程图。然而,如前所述,可在操作控制程序的不同时间实施软件控制程序。可在计算机的启动处理中实施该程序,并可让用户断开和接通。也可只在用户敲击电源开关以断开计算机时来实施。也可用一电池电源来实施,以提供正好足够的功率来保证对外部设备和应用程序的有序停机。此实施方式在电源故障的情况下是有益的。此外,用户可在执行程序的任意时刻接通软件控制程序。
图2详述了在较佳实施例中实施软件控制程序。首先,启动基本的输入/输出系统(BIOS)26。然后,操作系统被初始化28。在操作系统初始化中,执行的一些步骤是:对核心操作系统初始化,对在先行的能源管理系统初始化,启动程序机,以及启动用户接口。操作系统一旦被初始化后,就可执行其它的软件应用程序。即使可在系统操作的其他阶段中实施软件控制程序,但在较佳实施例中在此时实施软件控制程序。
在本说明书中包括了软件控制程序的一个实施例。然而,本发明可以多种方式实施,而不限于此实施例。故障自动刹车计时器
本发明的一个选用特征可保证即使在计算机软件有故障时也能使装置停机。此选用特征是做在智能型电源开关中的故障安全或故障自动刹车计时器电路。此故障自动刹车计时器将在智能型电源开关失去软件控制后起作用。在经过表示软件已失去控制的预定时期后,开关将以本能状态回复断开电源,就象开关根本不是一个智能型电源开关一样。此故障自动刹车计时器是一故障安全条件。
然而,随着软件控制的电源开关的建立,有时软件会监测智能故障。此外,软件可能因运行着的处理器而发生故障。
一旦软件已控制了电源开关,则硬件电路设定该电路将等待软件控制作出响应的最大时间。如果电路未得到来自软件控制的响应,则电路将使系统的其余部分停机。然而,软件控制可返回电路并重置时钟,或甚至对电路设定新的等待另一个响应的最大时间。万一软件控制程序在对系统停机前需要等待意外动作,这将使软件控制程序更为有效。此模式将在软件上设置负载,以在每次超出最大时间前使软件返回来重置计时器。然而,用户也可调节最大时间。此变通将使用户确定电路所能接受的最大等待时间。
当电源开关接通时,系统有效;软件有效;基本输入/输出系统(BIOS)初始化,然后故障自动刹车计时器设定为零,电源开关转换到简单的缺省(default)状态。然后,通过对其余部分的计算机系统(软件,以及不同硬件设备)的初始化处理,软件控制程序将确定是否接通智能型电源开关。然而,软件控制程序也可确定等到操作系统运行时或等到用户选中特定应用程序时接通或断开此开关。
此软件控制程序是一实时动作。它可根据启动状态被接通或断开。然后,软件控制程序可决定是否继续保持接通或保持断开,或是否在以后返回并转换到智能型或简单模式。
例如,在较佳实施例中,计算机可经过启动处理,然后安装DOS或Windows,然后接通智能型电源开关。软件控制程序必须至少每15秒返回一次,或者系统将由于故障自动刹车计时器开关的接通而自行断开。
此外,可对电源开关进行编程,以观察系统管理中断(SMI)。SMI既可实时进行,也可在以后进行。
如果电源开关设定为按实时动作而起作用,则动作一被触发,硬盘驱动器的磁头就被定位和停驻。然后来自硬盘驱动器的电源被断开,接着是断开系统内显示器和其他装置的电源。然后保留需要保留的CMOS参数。此处理可防止丢失硬盘上的簇或配置,这是其他产品的一个主要问题。
如果电源开关设定为按延迟动作而起作用,则软件控制程序让操作系统和其他程序作停机准备。这将使系统经过过程并开始关闭文件。此外,它将开始更新任意相关参数,然后触发该动作,以启动停机处理。停机处理类似于先前的方案。
在两种方案中,电源开关可直接依赖于操作系统进行有序停机所需的动作。然而,智能型电源开关也可集成到一现成的停机软件程序(例如德克萨斯仪器股份有限公司的超级停机程序)里。这将使停机程序自动地通过所有软件程序,并保证有序的停机。停机程序可保证关闭所有的文件,并在参数给出的控制返回软件控制程序前更新参数。
故障自动刹车定时器电路的实施
具有故障自动刹车定时器的智能型电源开关电路由图3所示的五个功能部分构成,如下所述:
监控晶体管38-小功率晶体管开关,它可接通和断开计算机电源监控电路的未调输入电源。
手动开关56-手动电源接通/断开开关,它由计算机操作员所设定,并通知智能型电源开关和计算机处理器接通和断开系统电源。
电源断开计时器74-在智能型电源开关处于智能模式且手动开关56处于“断开”位置时,对处理器提供电源控制。
电源断开锁存器36-当处理器已断开电源且手动开关56仍“接通”时,系统电源断开锁存器保持计算机电源“断开”。
电源断开锁存器触发器32-当智能型电源开关处于智能模式且手动开关56处于“接通”位置时,由处理器提供电源控制。
图3所示的智能型电源开关控制信号如下所述:
“VIN”-由外部电源和/或内部电池供电的计算机的未调直流输入电源。
“VINS”-计算机电源监控电路38的未调直流输入电源。
“NVCC”-计算机逻辑电路的稳压直流电源。
“REF 2.5”-比较器基准电压。
“SFTOFF”-来自指示手动接通/断开开关的软件状态的的处理器低电平有效逻辑信号。
“PWROFF”-来自表示“断开”位置的手动接通/断开开关低电平有效逻辑信号。
“PWRON”-来自表示“接通”位置的手动接通/断开开关的低电平有效逻辑信号。
“PWRSWON”-对表示手动接通/断开开关状态的处理器的逻辑信号。
“SMPL”-来自表示智能型电源开关模式的处理器的逻辑信号。
“TRMRRST”-来自重置电源断开计时器74的处理器的低电平有效逻辑信号。
如图3所示的智能型电源开关电路把计算机操作员和计算机处理器耦合到计算机系统电源开关。可对计算机处理器编程以智能方式断开系统电源。通过操作员把手动开关状态从“断开”变到“接通”来接通计算机电源。此外,可在软件控制条件下以有序和智能方式由计算机处理器通过智能型电源开关电路断开计算机电源。手动电源接通/断开开关56可以是图3所示的单刀双掷型,或者可以是在连到电路时提供兼容逻辑电平的任意一种开关装置。当系统电源“断开”或由计算机逻辑(计算机启动处理)执行系统电源“接通”程序时,智能型电源开关就不履行简单模式。可在完成电源“接通”程序后的任意时间或在电源“接通”程序期间作为系统初始化的组成部分,由计算机把智能型开关变到智能模式。每当逻辑信号“SMPL”为低电平时,智能型电源开关处于简单模式。在此模式中,只能由操作者使用手动开关56来“接通”和“断开”系统电源。当信号“SMPL”被计算机或被系统电源损耗保持在低电平时,分别通过二极管62和晶体管60到二极管34禁止电源“断开”计时器74和电源“断开”锁存触发器32工作。在此模式中的手动电源的“接通”和“断开”如下所述:
1)“断开”位置中手动开关56的闭合触点使信号“PWROFF”接地,通过二极管46和40禁止电源断开锁存触发器32工作,并通过二极管46清除电源断开锁存器36。此外,“断开”位置中手动开关56的断开触点使信号“PWRON”通过电阻器R7和R6上移,并断开监控晶体管20。以此模式断开系统。
2)“接通”位置中手动开关56的闭合触点使信号“PWRON”接地,并通过电阻器64接通监控晶体管38。以此模式接通系统电源。此外,“接通”位置中手动开关56的断开触点断开二极管46和52,启动电源断开锁存器36,并向处理器发信号,从而通过电阻器20用上拉信号“PWRSWON”使手动开关56为“接通”。
当系统电源接通时,可只由计算机处理器设定智能型电源开关的智能模式。处理器通过把信号“SMPL”设定为高电平来启动智能模式。这就能通过断开二极管34来启动电源断开锁存触发器电路32,并通过断开二极管62和接通晶体管60来启动电源断开计时器74。晶体管58被处于高电平的信号“SFTOFF”接通,电源断开计时器74由低电平信号“TMRRST”而保持复位。电源断开锁存触发器32的输出由32的倒相输入端上来自信号“SETOFF”的高电平而保持为低电平。于是,电源断开锁存器36未触发,且系统电源保持接通。
现在可以智能模式的智能型电源开关以及只能以以下方式处于“接通”位置的手动电源开关56来断开系统电源:
计算机处理器设定信号“SFTOFF”为低电平,断开锁存触发比较器的输出端32。这可通过用二极管40和电阻器22接通晶体管44把信号“NVCC”上的电源断开锁存器36设定为+5VDC。晶体管44接通保持晶体管44导通的晶体管24。晶体管24也接通断开晶体管38的二极管36,于是断开系统电源。只要手动电源开关56保持在“接通”位置,且在信号“VIN”上保持来自外部和/或内部未调电源的功率,电源断开锁存器36就保持设定。
计算机处理器可用“智能”模式的智能型开关来控制系统电源,而手动开关处于“断开”位置。只要晶体管58和60以及过时比较器74都接通,则通过电阻器54保持监控晶体管20接通。如果这三者中的任一个断开,则断开系统电源。
计算机处理器现在可通过把信号“SFTOFF”设定为低电平、断开晶体管60,或通过在电容器72经电阻器68放电而达到超出电阻器64和66的分压器节点处的电压时使电源断开计时器74断开,或通过在保持信号“TMRRST”为低电平的软件控制时间后使电源断开计时器74断开来断开系统电源。
对计算机处理器给出电源断开控制可确保以保护用户功能完整性的有序和可预见的方式进行停机。
以下在表1中列出的是可应用于图3所示智能型电源开关电路各种装置和值的例子。可理解本发明不只限于此实施例。
表1
元件    名称    描述
20    电阻器    10k电阻器
22    电阻器    47k电阻器
24    晶体管    DTA晶体管
26    电阻器    47k电阻器
28    电容器    .0047f电容器
30    电阻器    4.7k电阻器
32    倒相器    TLC393C/2倒相器
34    二极管    BAT54A二极管
36    二极管    BAT64二极管
38    晶体管    2907晶体管
40    二极管    BAT54A二极管
42    电阻器    10k电阻器
44    晶体管    DTC晶体管
46    二极管    BAV70二极管
48    电容器    0.1f电容器
元件  名称      描述
50    电阻器    47k电阻器
52    二极管    BAV70二极管
54    电阻器    4.7k电阻器
56    开关      单刀双置
58    晶体管    BST82晶体管
60    晶体管    BST82晶体管
62    二极管    BAT54A二极管
64    电阻器    10k电阻器
66    电阻器    3.3k电阻器
68    电阻器    1M电阻器
70    二极管    BAT54A极管
72    电容器    10/16v电容器
74    倒相器    TLC393C/2倒相器其它选项
控制软件程序也可以是交互的。它可用类似于“你真的想要断开电源-是或否?”等问题提示用户,如果用户说是,则程序可前进并执行有序地停机。然而,程序也可只告诉用户如何手动地执行有序停机,并让用户手动地对软件程序和/或硬件停机。例如,程序可使用户以规定次序关闭所有的文件,关闭所有的软件程序,然后断开挂在计算机上的所有硬件装置。此外,也可把控制程序设定为自动地执行有序停机。此外,依据设定于安装、执行或制造中的选项,交互部分可以多少进行交互作用。
可实行的另一个选项是在计算机进入非可控状态时对计算机自动停机。如果计算机处于可控状态而故障自动刹车计时器设定在软件控制程序知道它可返回计时器的时间,则可这样做。然而,如果软件程序控制了计算机,然后进入无限循环或其它非可控状态,则故障自动刹车计时器将暂停,然后执行停机步骤。再者,智能型电源开关可只设定为简单地终止对计算机供电或首先经过有序停机。此外,故障自动刹车计时器也可在控制程序执行有序停机的背景下运行,如果软件控制程序进入非可控状态则暂定。
软件控制程序也可于热管理系统(即,在第08/395,335号美国专利申请和第08/568,904号美国专利申请中所述的热管理系统)和/或能源管理系统(即,第08/395,335号美国专利申请中所述的能源管理系统)接口。这将使智能型电源开关在用户断开计算机时有序地停机,也可使热和能源管理系统的特征汇集于智能型电源开关中。热和/或能源管理系统可控制故障自动刹车计时器,并在系统想要切断电源时把故障自动刹车计时器再置零。这在计算机即将面临过热的危险,或处于接近危险的其它状态中时是有利的。
如果智能型电源开关配用了能源管理系统,则软件控制程序可断开在Windows 3.11TM和Windows 95TM下的先进能源管理TM(APM)(先进电源管理,Windows 3.11和Windows 95是Microsoft的商标)工作。这将使软件控制程序了解到530B的中断。这将保证操作系统每隔1~5秒检查一次,以确认软件控制程序仍然有效。其它操作系统也可实行软件控制程序可连接的其它中断。此外,还能以WindowsTM操作系统的其它版本改变530B中断的配置。然而,只要周期性地检查软件控制程序,它仍可起作用。对于实行较佳实施例的进一步的细节,可参考APMfuncb步骤,以及包括在本说明书末尾的举例软件实施中的SMI中断过程步骤。
总之,本发明可以是用软件控制的机械型电源开关。然而,智能型电源开关也可以是全电子式的并完全用软件来操作。或者,智能型电源开关可以是电子、软件和机械装置的一种组合。
此外,智能型电源开关可根据用户正在做的事情被编程为智能型。如果用户正在做的事情想要更多的智能(即,系统处于可对文件系统、通信系统、计算机网络、应用设备等造成损坏或甚至是物理硬件损坏的模式下),则系统准确地知道以何种次序停机。软件可控制远离硬件的电源开关并把此作为一个动作,然后在以后处理该动作。这将用于准备有序停机。此有序停机将使软件应用设备关闭文件,并以有序方式退出。此外,外部设备也可有序地停机。例如,硬盘驱动器上的磁头可在切断电源前定位和停驻。此外,串联或并联到计算机的外部设备也可以有序的方式停机。此外,即使是显示装置也可以有序方式停机。
智能型电源开关有三种操作方法。一种方法是电源开关一断开就简单地切断计算机的电源。另一种方法是把断开电源开关作为一个动作,然后在切断计算机的电源前用控制软件执行计算机程序和硬件的有序停机。最后一种方法类似于第二种方法,但它允许硬件在特定的时限后越权。这使得计算机在软件发生故障的情况下自动切断电源。可把此硬件越权构置成具有缺省时限和/或可被控制软件调节的时限的故障自动刹车计时器。此外,可设置计时器电路,以使用户在系统完成其有序停机前快速地把电源开关置于接通位置时,也可进行正常的操作。然而,系统的完整操作要依赖于在用户再次接通电源前该系统已被停机了多长时间。然而,如果系统还未启动停机步骤而仅仅是登记了该动作,则可立即开始完整的操作。也可进行许多其他变化。
图4-8示出本发明可实现的示例装置。然而,这些实施例将不是限制。本发明也可在其它装置上实现。
虽然示出的一些实施例与手提式计算机有关,但本发明也可集成在任何电子设备中。例如,可在主机架、迷你型、桌面或手提式计算机上实现本发明。图6是可实现本发明的基本计算机900型的方框图。计算机900包括具有电源输入端910的电源输入和转换单元905。单元905检测输入状态并选择适当的电路,以把输入转换成对系统的其它元件供电所需的电压。来自转换单元的输出耦合到总线915,此总线包括用于供电以及数字信息诸如数据和地址的通路。
总线915一般需要一条以上的电源线。例如,硬盘的电动机驱动器需要与CPU所使用的电源不同的电源(电压和电流),所以在总线915中有平行的具有不同尺寸和电压电平的电源线。例如,典型的总线915将具有一条用于24VDC的电源线,另一条用于12VDC的电源线,还有一条用于5VDC的电源线,以及多条接地线。
总线915连到包括视频随机存取存储器(VRAM)的视频显示控制器920,该控制器对显示器925既供电又控制,显示器925在较佳实施例中是由模拟总线930上的模拟驱动器线路驱动的显示器。总线915也连到键盘控制器935,该控制器通过连线945对键盘940供电并控制,接受键击输入并把此输入转换成在总线915上传输的数字数据。键盘控制器可以具体安装在硬盘中或计算机外壳内。
如上所述,总线915包括电源通路和数据通路。数字线能携带32个地址并传送32位字长的数据。为了减少引脚数和布线的复杂性,地址和数据在整个总线结构的单组32条线路上多路复用。本领域内的熟练技术人员将知道,已有技术中公知的这类总线是少引脚数或压缩的总线。在这类总线中,不同种类的信号诸如地址和数据信号通过多路复用共享信号通路。例如,同一组数据线用于携带32位地址和32位字长的数据字。
在总线915中,一些控制信号诸如中断判定信号也可共享数据线。举例用于总线215(除了总线915中的供电模拟线以外)的总线的典型例子是由Sun微型系统实现的“IIS总线”、来自Digital Equipment公司的“Turbrochannel”总线,以及与IEEE-488标准兼容的总线。总线915也是一种用于互连处理器、存储器和外部设备模块的高速底板(backplane)总线。
CPU 950和RAM 955通过状态翻译器960耦合到总线915。CPU 950可以是本领域内市售的各种CPU(有时也叫做MCPU),例如Intel 80386或80486型、MIPS、RISC型,以及许多其它类型。CPU 950通过通路965与状态翻译器960进行通信。状态翻译器960是设计成翻译命令并请求CPU命令和请求与总线915兼容的一块芯片或一芯片组。以上说到CPU 950可以是各种CPU中的一种,而总线915可以是各种压缩式总线中的任意一种。对本领域内的熟练技术人员很明显的是,用于在CPU和总线915之间进行翻译的状态翻译器960的选用范围更广。
RAM存储器模块955包括安装在已有技术中公知的PCB上并可连到状态翻译器960的常规RAM芯片。RAM最好包括在CPU模块的“板内”以提供快速的存储器存取,如果把RAM做在“板外”,则存取将慢得多。对于总线915的情况,通路965和970包括用于CPU 950和翻译器960的电源线和接地线。
图5示出具有显示器810和键盘820的手提式个人计算机800。本发明很完美地适用于手提式计算机800。
图6是手提式计算机800的方框图。手提式计算机800是基于英特尔奔腾微处理器的彩色手提式笔记本式计算机。奔腾的操作速度在处理器内是75Mhz,但外部总线速度为50Mhz。50Mhz的振荡器给ACC微电子的2056核心逻辑芯片供电,该芯片依次把此振荡器源提供给微处理器。此50Mhz的CPU时钟由处理器内的锁相回路倍增为75Mhz的CPU速度。处理器包含16KB的内部高速缓冲存储器和逻辑板上256KB的外部高速缓冲存储器。
CPU的50Mhz总线连到来自ACC微电子的VL到PCI桥接芯片,以产生PCI总线。桥接芯片用33.33Mhz的振荡器形成PCI总线时钟。由此总线驱动Cirrus逻辑的GD7542型视频控制器,且该总线具有用于今后相连选项的外部连接器。
GD542型视频控制器具有其内部使用的14.318Mhz的振荡器输入,用以合成驱动内部10.4”TFT板或外部CRT监视器所需的较高视频频率。当在VGA分辨率模式中运行时,TFT板可与外部模拟监视器同时操作。对于超级VGA分辨率,只可使用外部CRT。
通过键盘对手提式计算机800作输入操作。在键盘中置有内部指示装置。给并行装置、串行装置、PS/2鼠标器或键盘、VGA监视器以及扩展总线提供了外部连接。内部连接用于硬盘驱动器、软盘驱动器和附加存储器。
手提式计算机800包含8兆字节的标准存储器,用户可通过安装可任意扩展的存储器板把8兆字节增加到32兆字节。可用8或16兆字节的存储器获得第一存储器扩展板。在安装了第一扩展板后,可在该板上再附加另一个8兆字节的存储器,以获得最大存储量。
第二串行口连到串行红外(SIR)装置。此SIR装置具有使用3.6864Mhz振荡器的接口芯片。SIR口可用于把串行数据传输到如此装配的其它计算机。
手提式计算机800的两个电池是锂离子电池,并具有监测电池容量的内部控制器。这些控制器使用电池内部的4.19Mhz的晶振。
手提式计算机800具有两个用于PCMCIA插件的槽。这些槽可使用第三用户板,以提供各种扩展选项。手提式计算机800也具有内部发声芯片组,可用于产生或记录音乐和/或音响效果。在笔记本中装有内部扬声器和麦克风。此外,给外部麦克风、音频输入端和音频输出端提供了三个音频插座。
图7示出德克萨斯仪器股份有限公司制成的TM5000TM的分解图。表2描述了图7的基本元件。
             表2
项目 描述 功能
150 底部 计算机的底部
151 盖组件,顶部 计算机顶盖
154 连接器门 连接器门
155 PCMCIA门 PCMCIA门
157 LCD组件,9.5” 计算机显示组件
158 BEZEL.LCD LCD显示器
160 发光管 用于不同功能的指示器(例如,turbo模式)
161 按钮,电池弹出,左 弹出左电池
162 按钮,电池弹出,右 弹出右电池
163 按钮,电源开关 电源开关
166 铰链盖,右 计算机显示附属物的铰链盖
167 按钮,PCM弹出 PCMCIA弹出按钮
168 铰链盖,左 计算机显示附属物的铰链盖
172 RAM插件,前调(trim) RAM插件上的盖(ram插件未示出)
178 铰链,右 用于把显示器装到计算机的铰链
179 铰链,左 用于把显示器装到计算机的铰链
181 铰链,支架,右 用于装配显示器的铰链支架
182 铰链,支架,左 用于装配显示器的铰链支架
186 支架,左,软盘驱动器 软盘驱动器的支架
187 发光管,铰链盖 用于不同功能的指示器(例如,电源)
190 支架,软盘驱动器 软盘驱动器的支架
195 弹簧,I/O门锁存器 I/O门的锁存器
196 伸展弹簧,I/O门 I/O门的伸展弹簧
204 散热体,CPU CPU的散热体
205 散热体衬垫 散热体衬垫
206 PWB组件,LED板 LED的印刷布线板
项目 描述 功能
210 PWB组件,主板 主印刷电路/布线板
211 PWB组件,PCMCIA/发声板 PCMCIA/发声印刷电路/布线板
212 PWB组件,键扫描板 键扫描印刷电路/布线板
213 微型软盘驱动软盘驱动器,11MM 软盘驱动器
222 铭牌,有源矩阵色彩 铭牌
226 盖,LCD螺钉 LCD的螺钉
228 螺钉TORX,PLASTITE,PAN,2-28 X.500 螺钉
229 螺钉TORX,PLRX,PLASTITE,4-20X.250 螺钉
230 螺钉,TORX,开槽的,2-28X.375”,碳 螺钉
231 螺钉,TORX,机械,按钮,2-56 X.1250 螺钉
232 螺钉,W/螺纹锁定 螺钉
233 螺钉,槽-TORX,机械,PAN,4-40 X.188 螺钉
234 螺钉,TORX,机械,平头,4-40 X.375 螺钉
235 螺钉,公制,TORX,机械,FLH,M3-0.5 X6 螺钉
236 螺钉,TORX,4-20 X.375”,碳钢 螺钉
237 螺钉,机械,平坦,PH,4-40X.188 螺钉
238 螺钉,TORX,机械,PAN,4-40X.125 螺钉
239 螺钉,槽-TORX,机械,4-40X.250 螺钉
240 螺钉,槽-螺钉 螺钉
项目 描述 功能
TORX,PLASTITE,PAN,PAN,4-20 X1.25
241 螺钉,槽-螺钉TORX,PLASTITE,PAN,2-28 X.188 螺钉
242 螺钉,TORX,机械,2-56X.250 螺钉
243 螺钉,TORX,机械,按钮,2-56 X.1875 螺钉
244 电缆组件,LCD,右,W/O带 电缆
248 柔性电缆,硬盘驱动器 柔性电缆
249 电缆组件,FDD DX4 电缆
253 电缆扩展麦克风 麦克风的电缆
254 浮雕标签“P” 德克萨斯仪器商标标签
255 保护环 保护环
262 PWB组件,通用IR模块P/D IR模块的印刷布线板
263 透镜盖,IR IR模块的透镜盖
270 压缩泡沫塑料,备用开关 备用开关的泡沫塑料
271 按钮,备用开关序列 备用开关
275 电源输入 从外部电源对计算机的输入
276 键盘 键盘输入
图8示出图7的主印刷电路板210的放大图。注意CPU 204和电源输入端275都位于此印刷电路板210上。通过使用这里所述的软件控制程序和图3所示选用的故障自动刹车计时器可在TM5000上实现本发明。软件控制程序将由存储器(未示出)中的CPU 204来运行,并与电源开关进行通信。选用的故障自动刹车计时器电路也可连到电源开关275和CPU 204,从而在必要时使故障自动刹车计时器复位。故障自动刹车计时器电路可置于主印刷电路板210上。
图9-30示出实施TM5000的主印刷电路板210的逻辑图。此逻辑图详述了如何实现故障自动刹车计时器电路和用于停机过程的逻辑,以及主印刷电路板的其它功能。
图31-35示出实施TM5000的键扫描印刷电路板272的逻辑图。此逻辑图详述了如何设计该电路来实现TM5000的键扫描功能。
图36-47示出实施TM5000的PCMCIA/发声印刷电路板211的逻辑图。此逻辑图详述了如何设计该电路来实现TM5000的键扫描功能。
图48-49示出实施TM5000的IR模块印刷电路板262的逻辑图,此逻辑图详述了如何设计该电路来实现TM5000的红外模块功能。
虽然已示出和描述了本发明较佳实施例的几个实施,但本领域内的那些熟练技术人员可知道各种改变和变化的实施例。例如,流程图也表示微编码和基于实施例软件的流程图。此外,在参考了描述后,所示实施例的各种改变和组合,以及本发明的其它实施例将对本领域内的熟练技术人员变得明显起来。在考虑本发明的范围时,单词包括被注释为非穷举。在参考了描述后,所示实施例的各种改变和组合,以及本发明的其它实施例将对本领域内的熟练技术人员变得明显起来。因此,附加的权利要求书试图包括任何的改变或实施例。
以下包括了软件控制程序的一个实施例子。然而,可以很多方法实现本发明,本发明不限于此实施例。此外,软件控制程序包括对“工厂电源下降表(FactoryPowerDownTable)”和对“附属行进表(SubWalkTable)”(以下叫做行进表)的访问。这些访问实现了本发明的停机过程。一示例实施例包含在此软件控制程序后。在此实施例中,以特定次序将装置停机。然而,行进表也可变成包括用于其它装置的停机过程。例如,行进表可对实时时钟、串行装置、软盘驱动器、硬盘驱动器、DMA控制器、中断控制器和主系统总线上的其它外部装置进行停机。此外,停机过程可包括串联或通过并行口连接的外部装置。此外,行进表可对主系统总线诸如ESDI、AT或PCI上的外部装置进行停机,该表可包括辅助总线诸如USB或1394上的装置。此外,行进表甚至可对整个总线本身进行停机。此外,行进表甚至可对连到手提式计算机的部分或整个对接站进行停机。这些只是停机过程可包括的几个例子,并不意味着穷举。在参考描述后,示出停机过程的各种改变和组合以及本发明的其它实施例将对本领域内的熟练技术人员变得明显起来。因此附加的权利要求书试图包括这些改变或实施例中的任意一个。
;***************************************************************************
;ORIGINAL CODER:La Vaughn F.Watts,Jr.
;                                              +------------+
;+-------------------------------------- Near Entry Point
;PmInit--Initialize power management    +------------+
;
;Entry:None
;
;Exit:All registers preserved
;
; This function is called during POST before executing INT 19h.
public PmInit
PmInit proc near

    assume ds:nothing,es:nothing,fs:nothing,gs:nothing,ss:nothing
IFDEF   zzzlily                    ;Enable Smart Power Switch

        push       cx

        mov        cx,O

        in         al,Oe2h

        and        al,NOT 7

        out        Oe2h,al        ;Kill software control

        loop       $

        or         al,O2h

        out        Oe2h,al

        loop       $

        or         al,l

        out        Oe2h,al        ;Smart power switch enabled

        pop        cx
ENDIF                              ;zzzlily
;This code is called on exit of the PM initialization
;Restore all registers and quit.
;----------------------------------------------------------------------------
IFDEF   zzzlily                    ;Bring back the power switch
Quit:

         pop        gs

        pop        fs

        pop        es

        pop        ds

        popad
				
				<dp n="d16"/>
         popfd
AbortPmInit:

          Extrn    ExtCmosCsum:near

         Call     ExtCmosCsum

         mov      al,3bh

         out      70h,al

         in       al,7lh

         in       al,Oe1h

         and      al,01000000b

         cmp      al,0

         jne      quitswitch

         extrn    VidSuspend:near

         extrn    HDDDisable:near

         call     HDDDisable          ;Take hard drive Down!

          CLI

         in       al,Oe2h

         and      al,NOT 3           ;5.08.1

         out      Oe2h,al            ;Smart disabled,power off if needed

         jmp      $
quitswitch:

          push     ax

         push     cx
Include Deadman. Inc                  ;Delays needed to

                                      ;initialize on powerup the R/C

         mov      cx,DEADMANDELAY
DeadmanPmlDelay:

          jmp      $+2

         loop     DeadmanPmlDelay

         in       al,0e0h

         or       al,01000000b       ;Turn on Power Switch SMI

         out      0e 1h,al           ;Clear interrupts
				
				<dp n="d17"/>
           mov        cx,DEADMANDELAY
DeadmanPm2Delay:
  
             jmp        $+2

           loop       DeadmanPm2Delay

           out        0e0h,al

           loop       $
; 
;Is this a factory link?If so,leave Deadman timer off
;Otherwise turn it on!
;

             mov        ax,cs:BPVersion

           and        ah,0f0h                  ;Test version?

             cmp        ah,0f0h                  ;Maybe

           je         FactoryExit               ;NOP!

             in         al,0e2h

           or         al,04h                   ;Turn it On-Deadman 5.07.01

           out        0e2h,al                  ;Done

           mov        cx,DEADMANDELAY
DeadmanPm3Delay:

             jmp        $+2

           loop       DeadmanPm3Delay
FactoryExit:

             pop        cx

           pop        ax

           ret
ELSE                                            ;zzzlily
Quit:      pop        gs

           pop        fs

           pop        es

           pop        ds

           popad

           popfd
AbortPmInitc
				
				<dp n="d18"/>
          ret
ENDIF                                        ;zzzlily
;File Deadman.inc
DEADMANDELAY Equ 16+1                        ;1.6 plus one for good measure
;Comments:1000 works great..trying to min the delay now.
;Comments:so does 100,50,10
;Comments:Does NOT work:5,8
;        ... remember we need delay that will work on 90MHz
;        and 120MHz,so put some margin in it.
;        120/75 =1.6 factor
;
;Code called from OS to turn off APM..this will terminate the smart switch
;this time for 15 seconds in order to orderly shutdown to new OS operating
;environment.
APMIFunc04         proc    near
IFDEF zzzlily                                ;Arm Interrupts
;
;Reset Deadman Timer                        Gives MS 15 seconds to get back
;

            push     ax

          in       al,0e2h

          mov      ah,al                    ;5.08.1

          and      al,NOT 04

          out      0e2h,al                  ;Force to ZERO!

            mov      al,ah                    ;5.08.1

          out      0e2h,al                  ;5.08.1 Reset Complete

          pop      ax

          STI
ENDIF                                        ;zzzlily

                                             ;connection is established

          ret
APMIFunc04     endp
APMIFuncOB     proc  near
;This code is called by the OS every 1 to 5 seconds..welook at the event
;for the power switch and other power management devices.
				
				<dp n="d19"/>
;
IFDEF zzzlily                         ;Downcount Temperature
;---------------------------------------------------------------------------
;Reset Deadman Timer                 Gives MS 15 seconds to get back
;

             push     cx

           in       al,0e2h

           or       al,4

           out      0e2h,al          ;Force to one!

             mov      cx,DEADMANDELAY
DeadmanlDelay:

             jmp      $+2

           loop     DeadmanlDelay

           and      al,NOT 4

           out      0e2h,al          ;Toggles to zero and leaves on NOW

           mov      cx,DEADMANDELAY
Deadman2Delay:

             jmp      $+2

           loop     Deadman2Delay

           or       al,4             ;Resets to 15 seconds

           out      0e2h,al          ;Done

           pop      cx
;Test for Wav/sound/IR active
;
;Scan for Unwanted SMI events
;

             pushf

           eli                        ;Interrupts disabled

           in       al,0e lh         ;Get interrupt mask please

           and      al,0dfh          ;make sure dock bit not set

                                              ;dock bit means dock present,not an SMI
           cmp      al,0d3h          ;Value of no interrupts pending

           je       KillUnwantedSmi   ;Kill them out!

             xor      al,0d3h          ;Flip the bits

           xchg     al,ah

           in       al,0e0h          ;Mask active

           and      ah,al            ;Only bits wanted
				
				<dp n="d20"/>
          jz       KillUnwantedSmi     ;Nothing logged
;
;We have an valid Smi posted,now we need to process!
;
IFDEF zzzlilyp                         ;5.08.1 Force Software SMI

          mov      ah,59h

          in       al,Of2h            ;Get old value

          xchg     al,ah

          out      0f 2h,al           ;Selected

          in       al,Of3h            ;Old value

          or       al,10h             ;Arm SMI

          out      0f3h,al            ;Done

          mov      al,7fh

          out      0f2h,al

          in       al,Of3h            ;Set up for low to high trans

          and      al,NOT 1

          out      0f3h,al            ;Done

          or       al,1               ;low to high,please

          STI                          ;Arm CPU interrupts

          out      0f3h,al            ;Initiate the interrupt

          push     cx

          mov      cx,0               ;Wait for interrupt

          loop     $

          loop     $

          loop     $

          loop     $

          loop     $

          pop      cx                  ;Interrupt complete

          CLI                          ;Setup for clean up

          mov      al,59h

          out      Of2h,al            ;just in case,reset it

          in       al,0f3h

          and      al,NOT 10h         ;Kill the SMI

          out      0f3h,al            ;Done

          xchg     al,ah
				
				<dp n="d21"/>
          out      0f2h,al               ;Reset 0F2h

          CLI                             ;Disable again as we fixup
;
;We have processed the valid Smi posted!
;
KillUnwantedSmi:
 
            mov      ax,01059h             ;Kill the SMI

          Extrn    CfgClearBits:near

          call     CfgClearBits           ;Done

          mov      ax,017dh

          call     CfgClearBits           ;Clr the interrupt

          popf                            ;Clean up stack
ENDIF                                     ;zzzlilyp
IFDEF zzzlilyd                            ;Is it a Lilyd?-Yes,then add SoftSMI
;                                        ;Yes,we must add SMI software
;We have processed the valid Smi posted!
;
KillUnwantedSmi:

            popf                            ;Clean up stack
ENDIF                                     ;zzzlilyd
;
;We are now free of that issue,at lease for now!
;

            mov       al,38h               ;Value with Sound/IR active

          call      CmosRead              ;Read it

          test      ah,O8h               ;Sound/IR bit ON = Active

          jnz       NoFunc08PCChange      ;Do not compute this time

          extrn     DoThermalManagement:near

          extrn     BPPowerChange:near

          mov       al,7ah               ;Get the seconds passed for test

          call      CmosRead              ;Done

          test      ah,40h               ;Get Battery Capacity Request active

          jz        SkipBatteryCap        ;Skip this request
;
;We need a read for the battery capacity
;
				
				<dp n="d22"/>
           Extrn    ReadLilyBattery:near

           Call     ReadLilyBattery

           jnc      HaveBatteryData          ;Data is good,update it
;
;BX =0,No channel available,use previous data
;BX =2,No batteries/battery installed,tell user
;

             cmp      bx,0

           je       NoFunc08PCChange         ;Bad data point
;
;Setup unknown for user
;

             mov      al,7fh                  ;Unknown?
HaveBatteryData:
;
;Data good;AL=Percent available,ch=status slot a cl=status slot b
;

             mov      ah,39h

           xchg     al,ah

           mov      bl,7fh                  ;Mask to write

           call     CmosWriteMask            ;Done and its good!
;Protect against the power switch being turned off during update;

             xchg     bx,ax                   ;

             pusbf                             ;

             cli                               ;Disable interrupts

           in       al,Oe2h                 ;Get software status

           mov      ah,al                   ;

             or       al,3                    ;Force to software override

           out      Oe2h,al                 ;

             xchg     ax,bx                   ;Read to write data

           mov      ax,007ah

           mov      bl,40h

           call     CmosWriteMask            ;Reset the Request Bit

           Call     ExtCmosCsum

           xchg     ax,bx                   ;

             xchg     ah,al                   ;

             out      Oe2h,al                 ;Put switch back to way it was

           popf                              ;Restore interrupts to way it was
				
				<dp n="d23"/>
           jmp      short NoFunc08PCChange
SkipBatteryCap:

             mov      bl,ah               ;Power status flag

           and      ah,3fh              ;Number of minutes

           and      bl,80h              ;PowerChange flag
;
;Look at power change status
;

             in       al,Oe3h             ;Port containing AC information

           and      al,00001000b

           shl      al,4                ;Align with old value

           dec      ah

           cmp      ah,0                ;Time to read?

             jne      ThermalTest l        ;Not yet

           mov      ah,63               ;63=seconds for a minutes;best we

           call     DoThermalManagement  ;can do and allow up to 3 battery

                                         ;reads during cycle!
ThermalTestl:

             cmp      al,bl               ;PowerChange state occured?

             je       ThermalTest2         ;Nop

           call     BPPowerChange        ;Execute the power state change code

           or       ah,40h              ;Force battery read once a DoPowerC
ThermalTest2:

             and      ah,7fh

           or       ah,al               ;New value to write

           mov      al,7ah
;
;Protect against the power switch being turned off during update
;

             xchg     bx,ax

           pushf

           cli                           ;Disable interrupts

           in       al,Oe2h             ;Get software status

           mov      ah,al               ;

             or       al,3                ;Force to software override

           out      Oe2h,al             ;

             xchg     ax,bx               ;Read to write data

           Extrn    CmosWrite:near

           Call     CmosWrite

           Extrn    ExtCmosCsum:near
				
				<dp n="d24"/>
           Call     ExtCmosCsum

           xchg     ax,bx

           xchg     ah,al

           out      Oe2h,al             ;Put switch back to way it was

           popf                          ;Restore interrupts to way it was
;
;End of protecting power switch
;
NoFunc08PCChange:
;...return to OS here...
ENDIF                                    ;zzzlily
;this code can be called from DOS and power management and thermal
;management vectors anytime.
BPPowerCheck:                               ;Please call only in DOS

           in      al,0elh              ;Get PS State

           and     al,01000000b         ;PowerSwitch State

           jne     BPNoFuncSupport       ;Switch is NOT to "turn it off"
;turn off if switch is off
;this code can be left in if docking station does not have power switch intelligence
;
;           in      al,0elh              ;switch off,check to see if we be docked
;           test    al,020h              ;
;           jnz     BPNoFuncSupport       ;ignore off position if docked
;
;Insert the walk tables here
;

             in      al,0e2h              ;Deadman active?
;following code is optional and provides software override for windows.
;If it is on now, power off...
;           and     al,04h               ;Maybe
;           jne     BPNoFuncSupport       ;Yes,Skip the power down

           in      al,0e0h              ;Mask wanted?

             and     al,01000000b

           je      BPNoFuncSupport       ;Nop, skip this request
				
				<dp n="d25"/>
           extrn     FactoryPowerDownTable:byte

           mov       si,offset FactoryPowerDownTable

           extrn     SubWalkTable:near

           call      SubWalkTable

           jmp       short BPGoDownDownDown
BPPowerDown:                                   ;Factory turnpower off
;
;Insert the walk tables here
;

             extrn     FactoryPowerDownTable:byte

           mov       si,offset FactoryPowerDownTable

           call      SubWalkTable
BPGoDownDownDown:

             Extrn     TurnPowerOff:near

           in        al,0e2h                   ;Get power swiach to clr

           and       al,11111000b              ;Turn it off

           or        al,10000001 lb            ;Turn it on

           out       0e2h,al

           loop      $

           Call      TurnPowerOff

           jmp       BPNoFuncSupport
BPGetVersion:

             mov       bx,cs:word ptr BPVersion

           mov       ax,cs:word ptr BPRevision

           STI

           clc

           ret
;This code lands here if an interrupt has happened by the SMI.
;We look to see if power switch has been hit..if smart power switch is
;programmed to be "Save-to-Disk" we generate the Save to disk event.
;Smart power switch is set to "suspend or standby" then we can generate
;the suspend or standby event.All events are transferred to OS for
;final operation where they turn around and call APMIFunction 07 to
;turn off power after cleaning up or saving to disk. If shutdown (super
;one) is running, then we pass the event to him for file savings and task
				
				<dp n="d26"/>
;closings prior to giving the event to OS.
;Note:APMIFunction07 is the sane as the turnpoweroff code above.
;Note:there are two ways that we support this smartpower switch for the
;user control;
;1. Let the hardware map the interrupt of the smart power switch to the
;suspend,standby,donothing,save-to-disk,turn power off event.
;2.Read one common event and let the software read cmos map that contains
;the user setup option and map it after we get the same hardware event.
;
SMI_Interrupt:
;
;Test for power switch turning off-timing issue
;

             test     ah,40h            ;Check for AC/PowerSwitch request

           jz       PPLatch            ;Process Powerswitch:bit=0

           test     ah,8              ;Check for Suspend Key

           jnz      PSKey              ;Process Suspend Key:bit=1

           test     ah,4              ;Check Stby Key

           jnz      PStbyKey           ;Process Stby Key:bit=1

           test     ah,2              ;Cheek Closed Cover latch

           jz       PCLatch            ;Process closed cover latch:bit=1

           test     ah,1              ;Check low battery alarm

           jz       PBLatch            ;Process low battery alarm:bit=0

           test     ah,20h            ;Check Dock/Undock Request

           jnz      PDLatch            ;Process Dock/Undock Request:bit=0

           test     ah,40h            ;Check for AC/PowerSwitch request

           jz       PPLatch            ;Process Powerswitch:bit=0

           test     ah,10h            ;Check for EZ-dock com request

           jz       PELatch            ;Process EZ-Dock com:bit=1

                                       ;No more request,just in case,

             jmp      PDLatch            ;Process apparent Dock/Undock Request

           in       al,0e0h           ;Interrupt accept Mask

           out      Oelh,al           ;clr all since we should not be here.
NoActionKey:

             mov      ax,0107dh         ;Clear status Using EXTSMIO

           call     CfgClearBits       ;

             RET                         ;Finished here!
;
;Process routines
;
PSKey:                                      ;Suspend Key
				
				<dp n="d27"/>
                                         ;ah&amp;al=Elh

           mov      al,8                ;Clr interrupt

           out      0elh,al             ;Done

           mov      ax,0107dh           ;Clear status Using EXTSMI0

           call     CfgClearBits         ;
SusLBatAction:

             mov      al,5ch              ;Get suspend key action needed

           mov      bl,11000000b        ;Get options
SusAction:  

             call     CmosReadMask

           cmp      ah,0

           je       NoActionKey          ;Ignore this key

           cmp      ah,2                ;Stby wanted?

             je       ActionStby           ;Yep

           cmp      ah,l

           je       ActionSus            ;Suspend action

           jmp      SaveDiskAction       ;Save-to-Disk
PStbyKey:

             mov      al,4                ;Clr interrupt

           out      0e1h,al             ;Done

           mov      ax,0107dh           ;Clear status Using EXTSMIO

           call     CfgClearBits         ;
ActionStby:

             TREPORT088h
;
;Test for Wav/sound/IR active
;

             mov      al,38h              ;Value with Sound/IR active

           call     CmosRead             ;Read it

           test     ah,08h              ;Sound/IR bit ON = Active

           jnz      NoActionKey          ;Do not compute this time

           JMP      GlobalStby           ;Do it
ActionSus:

             TREPORT                       084h
;
;Test for Wav/sound/IR active
;

             mov      al,38h              ;Value with Sound/IR active
				
				<dp n="d28"/>
           call      CmosRead           ;Read it

           test      ah,08h            ;Sound/IR bit ON = Active

           jnz       NoActionKey        ;Do not compute this time

           JMP       GlobalSus          ;Do it
Public  PCLatch
PCLatch:                                     ;Process closed cover latch:bit=1

           extrn     Video_Global:near

           extrn     Video_UnGlobal:near
;
;Note:Lowtime 40:6c words
;           40:6e words

           push      cx

           mov       cx,7              ;Number of seconds to delay/3

           extrn     KeyDisable:near

           extrn     KeyEnable:near

           extrn     WaitSecDelay:near
StallPCLatch:

            call       KeyDisable

          call       WaitSecDelay       ;Wait one second

          in         al,0elh           ;Read the Cover latch &amp; Low Bat

          test       al,2              ;Still down?

            jnz        PCLatchAbort       ;Nop,abort the saving status

          test       al,40h

          jz         PPLatch            ;turn power off

          call       KeyEnable

          call       WaitSecDelay       ;Wait one second

          in         al,Oelh           ;Read the Cover latch &amp; Low Bat

          test       al,2              ;Still down?

            jnz        PCLatchAbort       ;Nop,abort the saving status

          test       al,40h

          jz         PPLatch            ;turn power off

          loop       StallPCLatch
CCLBDoit:

            in         al,0elh           ;Read the Cover latch &amp; Low Bat

          test       al,2              ;Still down?

            jnz        PCLatchAbort       ;Nop,abort the saving status

          test       al,40h
				
				<dp n="d29"/>
          jz       PPLatch              ;turn power off

          call     Keydisable

          pop      cx                   ;Clean Stack off

          mov      al,2

          out      Oelh,al             ;Clear Interrupt-Both!

            mov      al,5ch              ;Get suspend key action needed

          mov      b1,00110000b        ;Get options

          jmp      SusAction            ;Process based on user
Public PCLatchAbort
PCLatchAbort:

            Call     KeyEnable

          mov      ah,5ah              ;Read current status

          call     CfgRead              ;Get the value

          and      ah,20h              ;Alarms on?

            cmp      ah,20h              ;maybe

          jne      PCLatchAb 1          ;Nop

          mov      ax,205ah

          call     CfgClearBits         ;clear alarm suspend request

          xor      cx,cx

          loop     $

          mov      ax,205ah

          call     CfgSet Bits

          xor      cx,cx

          loop     $
PCLatchAb1:

            pop      cx                   ;Clean Stack off

          mov      al,2

          out      Oe1h,al             ;Clear Interrupt

          mov      ax,0047dh           ;Clear status

          call     CfgClearBits

          jmp      NoActionKey
PBLatch_Clr:                                ;low battery while docked

          mov      al,001h

          out      Oe1h,al             ;Clear Interrupt

          jmp      NoActionKey
;
;We have standby here
				
				<dp n="d30"/>
PBLatch:                                                   ;Process low battery alarm:bit=0

          call      APMBattLowNotify        ;Tell APM

          push      cx

          mov       cx,4                   ;Number of seconds to delay/2
StallPBLatch:

            call      KeyDisable

          call      WaitSecDelay            ;Wait one second

          in        al,Oelh                ;Read the Cover latch &amp; Low Bat

          test      al,1                   ;Still down?

            jnz       PBLatchAbort            ;Nop,abort the saving status

          test      al,40h

          jz        PPLatch                 ;turn power off

          call      KeyEnable

          call      WaitSecDelay            ;Wait one second

          in        al,Oelh                ;Read the Cover latch &amp; Low Bat

          test      al,1                   ;Still down?

            jnz       PBLatchAbort            ;Nop,abort the saving status

          test      al,40h

          jz        PPLatch                 ;turn power off

          loop      StallPBLatch
LBDoit:

            in        al,Oelh                ;Read the Cover latch &amp; Low Bat

          test      al,1                   ;Still down?

            jnz       PBLatchAbort            ;Nop,abort the saving status

          test      al,40h

          jz        PPLatch                 ;turn power off

          call      Keydisable

          pop       cx                      ;Clean Stack off

          mov       al,1
				
				<dp n="d31"/>
          out     Oe1h,al             ;Clear Interrupt - Both!
  
            mov     al,5ch              ;Get suspend key action needed

          mov     bl,00110000b        ;Get options

          jmp     SusAction            ;Process based on user
Public PBLatchAbort
PBLatchAbort:

            Call    KeyEnable

          mov     ah,5ah              ;Read current status

          call    CfgRead              ;Get the value

          and     ah,20h              ;Alarms on?

            cmp     ah,20h              ;maybe

          jne     PBLatchAb 1          ;Nop

          mov     ax,205ah

          call    CfgClearBits         ;clear alarm suspend request

          xor     cx,cx

          loop    $

          mov     ax,205ah

          call    CfgSetBits

          xor     cx,cx

          loop    $
PBLatcb Ab 1:

            pop     cx                   ;Clean Stack off

          mov     al,1

          out     Oelh,al             ;Clear Interrupt

          mov     ax,0047dh           ;Clear status

          call    CfgClearBits

          jmp     NoActionKey
PDLatch:                                   ;Process Dock/Undock Request:bit=0

          in      al,Oelh             ;are we docked?

            test    al,O2Oh

          jz      NotDocked
Docked:

            in      al,OeOh            ;disable closed cover SMI

          and     al,Ofdh
				
				<dp n="d32"/>
          out      OeOh,al

          jmp      @f
NotDocked:

            in       al,0e3h              ;are we AC power?

            test     al,08h

          jnz      @f                    ;yes,don’t worry about cover

          in       al,0e0h              ;else,enable closed cover SMI

          or       al,02h

          out      OeOh,al
@@:

            mov      al,020h              ;clear dock/undock SMI

          out      0elh,al

          jmp      NoActionKey
PPLatch_Chng:                               ;power switch changed while docked

          mov      ah,098h              ;switch is on flag-debug stuff

          in       al,0elh              ;check power switch position

          and      al,040h 

          jnz      @f

          in       al,0e3h              ;check for ac power

          and      al,08h

          jz       PPLatch2              ;turn off if on battery

          jmp      PStbyKey              ;else go into Standby

          mov      ah,099h              ;switch is off flag-debug stuff
@@:

            mov      al,040h              ;clear power switch SMI

          out      Oelh,al

          jmp      NoActionKey
PPLatch:                                     ;Process Powerswitch:bit=0
@@:                                           ;we will process power switch
PPLatch2:

            mov      al,0

          out      OeOh,al              ;Kill all interrupts

          mov      al,-1

          out      Oelh,al              ;Clr all pending ones
;
;Insert the walk tables here
;
				
				<dp n="d33"/>
          extrn     PowerDownTable:byte

          mov       si,offset PowerDownTable

          extrn     SubWalkTable:near

          call      SubWalkTable
Public TurnPowerOff
TumPowerOff proc  near

          Extrn     ExtCmosCsum:near

          Call      ExtCmosCsum
turnpwroff:

            CLI                               ;Disable interrupts

          mov       al,0

          out       0e0h,al                ;Kill all interrupts

          mov       al,-1

          out       0elh,al                ;Clr all pending ones

          in        al,0e2h

          and       al,NOT 4               ;Turn off Power Deadman

          out       0e2h,al                ;Done

          or        al,7                   ;Turn on Software Control/Deadman

          out       0e2h,al                ;Done

          and       al,NOT 3               ;Turn off software Control

          out       0e2h,al

          or        al,l                   ;Turn power off please

          out       0e2h,al                ;Done !
Forever: JMP       Forever                 ;Spin until loss of power or deadman control
TurnPowerOff  endp
PELatch:                                         ;Process EZ-Dock com:bit=1

           in       al,0e0h

           out      0e 1h,al               ;clear interrupt

           mov      ax,0017dh              ;Clear status Using EXTSMIO

           call     CfgClearBits

           jmp      NoActionKey
SaveDiskAction:

             extrn    SaveToDisk:near
				
				<dp n="d34"/>
          call      SaveToDisk
;
;Need to add critical resume to que if Windows 95
;

            mov       al,0ffh

          out       Oelh,al
endif                                   ;zzzlilly

          ret
APMIFuncOb endp
;*****************************************************************************
;Beginning of Walktable examples:
;*****************************************************************************

        extrn Com_Lpt_Suspend:near     ;COM,LPT suspend code

        extrn Com_Lpt_Resume:near      ;COM,LPT resume code

        extrn Floppy_Suspend:near      ;FLOPPY suspend code

        extrn Floppy_Resume:near       ;FLOPPY resume code

        extrn FPU_Suspend:near         ;Coprocessor suspend code

        extrn FPU_Resume:near          ;Coprocessor resume code

        extrn Keyboard_Suspend:near    ;KBD suspend code

        extrn Keyboard_Resume:near     ;KBD resume code

        extrn Video_Global:near        ;VIDEO panel off and suspend code

        extrn Video_UnGlobal:near      ;VIDEO panel on and resume code

        extrn MarkUTime:near
IFDEF zzzlily                           ;Extermal for Features SuspendVideo

        extrn VidSuspend:near          ;Video_P

        extrn SetAutoS uspendTimer:near

        extrn ClrAutoSuspendTimer:near

        extrn HDDDisable:near

        extrn HDDUp:near

        extrn KeyEnable:near

        extrn KeyDisable:near

        extrn PCISleep:near

        extrn PCIInit:near
				
				<dp n="d35"/>
        extrn SuspendInitialize:near

        extrn ClrActivityTimer:near

        extrn DozeInitialize:near
ENDIF;zzzlily
;
;SUSPENDTable-User may alter the sequence in the SUSPENDTable,also,
;        user may add customization code in this SUSPENDTable.
;        For example,VPx_Suspend is to set value to power
;        register 0/1 to turn on/off devices that connected to
;        power register 0/1.
;

     public SuspendTable
SuspendTable label word
IFDEF zzzlily                            ;Suspend Table-Devices

        dw   offset ClrAutoSuspendTimer

        dw   offset ClrActivityTimer

        dw   offset VidSuspend           ;Place Screen Memory into suspend

        dw   offset HDDDisable           ;Take hard drive Down!

         dw   offset FPU_Suspend          ;Coprocessor suspend now,6th executed

        dw   offset SirOff               ;Sleep SIR Leds

        dw   WaitSecDelay                ;Debug

        dw   offset KeyDisable

        dw   WaitSecDelay                ;Debug

        dw   offset PCISleep             ;Sleep PCI bus
ENDIF;zzzlily

        dw   END_TABLE                   ;End of table,do not add anything

                                         ;here
;RESUME Functions-Resume table,please see SUSPENDTable for references.
;

     public ResumeTable
ResumeTable label word
IFDEF zzzlily                            ;Add PCIInit

        extrn WaitSecDelay:near         ;Debug
;This table was modified by Ashish Hira. The table was
;rearraged to solve a problem when resuming from suspend. Trouble
;report reference number 2897.
;Description:
;External PS2 mouse erratic sometimes,but the internal works when
				
				<dp n="d36"/>
;coming out of suspend or standby.
;Found out-the sequence of resuming had a impact on keyboard being
;enable for the first few seconds when resuming. If the user moved the
;external mouse in that time,the mouse goes erratic.

        dw   offset PCIInit             ; Bring up PCI Bus

        dw   offset MarkUTime           ;

         dw   offset FPU_Resume          ;

         dw   offset SuspendInitialize;

         dw   offset KeyEnable           ; Use Keyboard from BatteryPro

        dw   offset Video_Unglobal      ;

         dw   offset SirOn               ;
ENDIF;zzzlily

        dw   END_TABLE
;
; GLOBAL Functions-Global Standby table,please see SUSPENDTable for
;            references.
;

    public GlobalTable
GlobalTable label word
IFDEF zzzlily                            ;Global Suspend table

        dw   offset Video_Global

        dw   offset SetAutoSuspendTimer

        dw   END_TABLE
ENDIF;zzzlily
IFDEF zzzlily                            ;PowerChange Table

     Public PChangeTable
PChangeTable label word

        extrn SoundTVInitialize:near

        dw    SoundTVInitialize          ;vw-done;Setup Sound/TV modes

        dw    PCIInit                    ;Initialize PCI bus

        extrn HDSetTim:near

        dw    HDSetTim                   ;vw-done;Initialize HDD Timeouts

        extrn LocalInitialize:near

        dw    LocalInitialize

        extrn GlobalInitialize:near

        dw    GlobalInitialize

        dw    SuspendInitialize

        dw    END_TABLE
ENDIF;zzzlily
;
				
				<dp n="d37"/>
;UNGLOBAL Functions-Exit Global Standby table,please see SUSPENDTable
;          for references.
;

     public ExitGlobalTable
ExitGlobalTable label word
IFDEF zzzlily                      ;Add PCIInit

     dw   PCIInit                  ;Bring up PCI Bus

     dw   SuspendInitialize

     dw   offset Video_UnGlobal

     dw   END_TABLE
ENDIF;zzzlily

     dw   END_TABLE
IFDEF zzzlily                      ;Smart Pwer switch table
;
; POWERDOWNTABLE-User may alter the sequence in the POWERDOWNTable,also,
;       user may add customization code in this Table.
;       For example, VPx_Suspend is to set value to power
;       register 0/1 to turn on/off devices that connected to
;       power register 0/1.
;
public PowerDownTable
PowerDownTable label word

      dw  offset VidSuspend       ;Place Screen Memory into suspend

      dw  offset HDDDisable       ;Take hard drive Down!

       dw  END_TABLE               ;End of table,do not add anything
public FactoryPowerDownTable
FactoryPowerDownTable label word

      dw  offset HDDDisable       ;Take hard drive Down!

       dw   END_TABLE              ;End of table,do not add anything
ENDIF;zzzlily

Claims (25)

1.一种设备,其特征在于包括:
用户输入的装置;
输出的装置;
耦合到所述用户输入端和输出端的处理器;以及
把电源耦合到所述处理器的软件控制的开关,所述开关具有第一种操作模式,其中对所述处理器电源的切断与所述开关的启动基本上同步,所述开关还具有第二种操作模式,其中在结束启动所述开关和软件解除对所述开关的控制时切断对所述处理器的供电。
2.如权利要求1所述的设备,其特征在于还包括耦合到所述开关的计时器电路,所述计时器电路包括具有设定值的电源断开计时器,从而在所述电源断开计时器超时时开始停机过程。
3如权利要求2所述的设备,其特征在于所述软件控制的开关还包括第三种操作模式,其中在结束启动所述开关时,且在所述软件在少于所述设定值的时段内解除对所述开关的控制以及所述电源断开计时器在所述软件在少于设定值的时段内未解除对所述开关的控制的事件中完成所述停机过程之一种情形时,切断对所述处理器的供电。
4.如权利要求3所述的设备,其特征在于在达到所述设定值的所述时段前,在所述开关启动结束以及所述软件解除对所述开关的控制时,所述软件设定所述电源断开计时器立即超时。
5.如权利要求1-4中任一项所述的设备,其特征在于以所述第二种操作模式控制所述开关的所述软件启动软件停机过程。
6.如权利要求1-4中任一项所述的设备,其特征在于以所述第二种操作模式控制所述开关的所述软件启动硬件停机过程。
7.如权利要求1-4中任一项所述的设备,其特征在于以所述第二种操作模式控制所述开关的所述软件启动软件和硬件停机过程。
8.如权利要求2-4中任一项所述的设备,其特征在于所述设定值是一种缺省值。
9.如权利要求2-4中任一项所述的设备,其特征在于所述软件设定所述缺省值。
10.如权利要求2-4中任一项所述的设备,其特征在于所述设备的用户设定所述缺省值。
11.如权利要求2-4中任一项所述的设备,其特征在于所述设定值可由所述处理器复位。
12.如权利要求1-4中任一项所述的设备,其特征在于所述处理器是中央处理单元(CPU)。
13.如权利要求1-4中任一项所述的设备,其特征在于所述处理器是一种应用处理器。
14.如权利要求1-4中任一项所述的设备,其特征在于所述设备是计算机。
15.如权利要求14所述的计算机,其特征在于在所述计算机的启动过程中实施所述软件。
16.如权利要求14所述的计算机,其特征在于在所述计算机的用户启动所述开关时实施所述软件。
17.如权利要求14-16中任一项所述的计算机,其特征在于所述软件控制的开关还包括电源故障模式,其中在电池功率电平降到低于预定值的事件中启动所述停机过程。
18.如权利要求14-16中任一项所述的计算机,其特征在于当启动所述电源开关接通时,引导系统,引导软件,基本输入/输出系统(BIOS)初始化,然后计时器设定为零,且以所述第一种操作模式启动电源开关。
19.如权利要求18所述的计算机,其特征在于在以所述第一种操作模式启动所述电源开关并通过对计算机系统其它部分的初始化过程后,所述软件确定是否把所述开关从所述第一种操作模式变到所述第二种操作模式。
20.如权利要求14-16中任一项所述的计算机,其特征在于对所述开关编程,以监视系统管理中断(SMI)。
21.如权利要求20所述的计算机,其特征在于根据SMI把所述开关设定为实时工作。
22.如权利要求21所述的计算机,其特征在于当检测到SMI中断时,耦合到所述处理器的硬盘驱动器的磁头定位和停驻,切断耦合到处理器的硬盘驱动器和显示器的电源,此后保存需要保存的CMOS参数。
23.如权利要求20所述的计算机,其特征在于在以后的时间根据SMI设定所述开关的工作。
24.如权利要求23所述的计算机,其特征在于所述软件让计算机的操作系统和其它程序准备停机,包括关闭文件、更新任意相关参数等,但不限于此,此后对耦合到所述处理器的硬盘驱动器的磁头定位和停驻,切断耦合到处理器的硬盘驱动器和显示器的电源,此后保存需要保存的CMOS参数。
25.一种控制设备供电的方法,其特征在于包括以下步骤:
提供用户输入的装置;
提供输出的装置;
提供耦合到所述用户输入端和输出端的处理器;以及
提供把电源耦合到所述处理器的软件控制的开关,所述开关具有第一种操作模式,其中对所述处理器电源的切断与所述开关的启动基本上同步,所述开关还具有第二种操作模式,其中在结束启动所述开关和软件解除对所述开关的控制时切断对所述处理器的供电。
CNB971049068A 1996-03-21 1997-03-20 智能型电源开关 Expired - Fee Related CN1265313C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/621,741 US5862394A (en) 1996-03-21 1996-03-21 Electronic apparatus having a software controlled power switch
US08/621,741 1996-03-21

Publications (2)

Publication Number Publication Date
CN1180207A true CN1180207A (zh) 1998-04-29
CN1265313C CN1265313C (zh) 2006-07-19

Family

ID=24491438

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB971049068A Expired - Fee Related CN1265313C (zh) 1996-03-21 1997-03-20 智能型电源开关

Country Status (7)

Country Link
US (1) US5862394A (zh)
EP (1) EP0797137B1 (zh)
JP (2) JPH1027044A (zh)
KR (1) KR100698980B1 (zh)
CN (1) CN1265313C (zh)
DE (1) DE69737314T2 (zh)
TW (1) TW346567B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103661159A (zh) * 2012-09-12 2014-03-26 株式会社电装 电子控制装置
CN112083680A (zh) * 2019-06-14 2020-12-15 北京北方华创微电子装备有限公司 半导体设备、半导体工艺电源控制系统及方法

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100247274B1 (ko) * 1997-04-18 2000-03-15 윤종용 컴퓨터의전원오프확인방법
KR100237484B1 (ko) * 1997-05-30 2000-01-15 전주범 컴퓨터의 자동식 전원개폐장치
US6897957B2 (en) 2001-03-26 2005-05-24 Candela Instruments Material independent optical profilometer
JP3594505B2 (ja) 1999-02-05 2004-12-02 松下電器産業株式会社 自動車バッテリ保護機能付き車載コンピュータ
KR100626359B1 (ko) 1999-09-10 2006-09-20 삼성전자주식회사 컴퓨터 시스템의 전원 관리 방법
JP3264272B2 (ja) * 1999-09-16 2002-03-11 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ及びコンピュータの電源制御方法
JP4969739B2 (ja) * 2001-07-16 2012-07-04 京セラ株式会社 電子機器
US7325050B2 (en) * 2001-09-19 2008-01-29 Dell Products L.P. System and method for strategic power reduction in a computer system
US7337333B2 (en) * 2001-09-19 2008-02-26 Dell Products L.P. System and method for strategic power supply sequencing in a computer system with multiple processing resources and multiple power supplies
CN100563745C (zh) * 2002-02-25 2009-12-02 斯科特实验室公司 一种镇静止痛系统
US20040103345A1 (en) * 2002-11-21 2004-05-27 Dunstan Robert A. Method, apparatus and system for ensuring reliable power down of a personal computer
US20040117672A1 (en) * 2002-12-16 2004-06-17 Jamson Lin Method and apparatus for computer timing shutdown
US7254733B2 (en) * 2003-02-18 2007-08-07 International Business Machines Corporation Method of shutting down virtual machines in an orderly manner
US20060242362A1 (en) * 2005-04-20 2006-10-26 Hanes David H Method and apparatus for disconnecting an external data storage device from a computer
US20070074897A1 (en) * 2005-09-08 2007-04-05 Ronald Lashley Thermal event detection on printed wire boards
JP5439715B2 (ja) * 2007-11-20 2014-03-12 日本電気株式会社 携帯端末、制御方法、プログラム、及び記録媒体
JP2010049311A (ja) * 2008-08-19 2010-03-04 Nec Infrontia Corp 情報処理装置、pos端末および強制終了の制御方法
CN102059950B (zh) * 2009-11-18 2013-09-11 斗山产业车辆株式会社 工业用车辆的安全装置以及安全功能控制方法
US8571847B2 (en) * 2010-01-08 2013-10-29 International Business Machines Corporation Efficiency of static core turn-off in a system-on-a-chip with variation
US8549363B2 (en) * 2010-01-08 2013-10-01 International Business Machines Corporation Reliability and performance of a system-on-a-chip by predictive wear-out based activation of functional components
US8891251B2 (en) 2010-04-07 2014-11-18 Apple Inc. Method and apparatus for achieving zero AC-draw mode for a device
US8924785B2 (en) * 2012-09-27 2014-12-30 Apple Inc. Power shutdown prediction for non-volatile storage devices
US10317985B2 (en) 2014-01-29 2019-06-11 Hewlett Packard Enterprise Development Lp Shutdown of computing devices
US9472967B2 (en) * 2014-07-31 2016-10-18 Motorola Solutions, Inc. Power management system and method for a portable device
KR102338115B1 (ko) * 2020-02-28 2021-12-10 엘에스일렉트릭 (주) 커넥터 및 통신 시스템

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4365290A (en) * 1979-03-12 1982-12-21 Medtronic, Inc. Computer system with power control circuit
US4598383A (en) * 1981-12-28 1986-07-01 Texas Instruments Incorporated Combination of a data processor with a switch means
US4698748A (en) * 1983-10-07 1987-10-06 Essex Group, Inc. Power-conserving control system for turning-off the power and the clocking for data transactions upon certain system inactivity
JPH0731611B2 (ja) * 1987-08-27 1995-04-10 日本電気株式会社 装置動作モ−ド切替回路
US5167024A (en) * 1989-09-08 1992-11-24 Apple Computer, Inc. Power management for a laptop computer with slow and sleep modes
US6158012A (en) * 1989-10-30 2000-12-05 Texas Instruments Incorporated Real-time power conservation and thermal management for computers
US5287525A (en) * 1989-11-29 1994-02-15 Linear Technology Corporation Software controlled power shutdown in an integrated circuit
EP0484745B1 (en) * 1990-11-07 1999-01-07 Kabushiki Kaisha Toshiba Apparatus for controlling the power supply in a computer system
US5239652A (en) * 1991-02-04 1993-08-24 Apple Computer, Inc. Arrangement for reducing computer power consumption by turning off the microprocessor when inactive
KR100188087B1 (ko) * 1993-04-21 1999-06-01 김광호 휴대용 정보처리기기의 전원공급 제어장치 및 그의 구동방법
US5542035A (en) * 1993-10-27 1996-07-30 Elonex Technologies Timer-controlled computer system shutdown and startup
US5504910A (en) * 1994-02-02 1996-04-02 Advanced Micro Devices, Inc. Power management unit including software configurable state register and time-out counters for protecting against misbehaved software
JPH07261888A (ja) * 1994-03-25 1995-10-13 N T T Data Tsushin Kk デ−タ処理の閉塞方法及びデ−タ処理装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103661159A (zh) * 2012-09-12 2014-03-26 株式会社电装 电子控制装置
CN103661159B (zh) * 2012-09-12 2017-06-23 株式会社电装 电子控制装置
CN112083680A (zh) * 2019-06-14 2020-12-15 北京北方华创微电子装备有限公司 半导体设备、半导体工艺电源控制系统及方法

Also Published As

Publication number Publication date
KR19980068615A (ko) 1998-10-26
TW346567B (en) 1998-12-01
EP0797137A1 (en) 1997-09-24
KR100698980B1 (ko) 2007-07-09
JP2007272928A (ja) 2007-10-18
DE69737314T2 (de) 2007-11-08
JPH1027044A (ja) 1998-01-27
CN1265313C (zh) 2006-07-19
EP0797137B1 (en) 2007-02-07
US5862394A (en) 1999-01-19
DE69737314D1 (de) 2007-03-22

Similar Documents

Publication Publication Date Title
CN1180207A (zh) 智能型电源开关
EP1988443B1 (en) Suspend induced by AC power disturbance
AU685455B2 (en) Desktop computer system having multi-level power management
JP3197796B2 (ja) サスペンド・システム用多機能パワー・スイッチとフィードバックled
JP2761460B2 (ja) コンピュータ・システム
EP0635788B1 (en) Method and apparatus for saving and restoring the state of a CPU
JP3224715B2 (ja) コンピュータ・システムをウェイクさせる低電力リング検出
CA2120056C (en) Desktop computer system having zero volt system suspend
JP3494510B2 (ja) サスペンド・システム用パワー・マネジメント・プロセッサ
JP3452426B2 (ja) システム管理割込みを使用したパワーオフ時のシステム・タスクの実行
CN1291737A (zh) 计算机和计算机的电源控制方法
JP3193596B2 (ja) 電源切断後のユーザ・オプションの自動リストア
JPH08194561A (ja) Apm(拡張パワー・マネジメント)用自動バックアップ装置
US6895517B2 (en) Method of synchronizing operation frequencies of CPU and system RAM in power management process
US5581692A (en) Automatic clearing of power supply fault condition in suspend system
US7719863B2 (en) Active start judgment circuit
JP3769541B2 (ja) コンピュータ装置、miniPCIカード、自動電源オン回路、および自動立ち上げ方法
CN101872233A (zh) 自动开关机排程控制方法及其系统
US20090300376A1 (en) Control method and computer system for advanced configuration and power interface
AU732436B2 (en) Desktop computer system having multi-level power management
Myers A Full-Featured Pentium [R] PCl-Based Notebook Computer
JPH1011197A (ja) キーボード制御装置およびその制御方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Assignee: Xiamen Matsushita Electronic Information Co., Ltd.

Assignor: Matsushita Electric Industrial Co., Ltd.

Contract fulfillment period: 2006.4.1 to 2016.3.31 contract change

Contract record no.: 2009990000027

Denomination of invention: Intelligent power switch

Granted publication date: 20060719

License type: Fen Xuke

Record date: 2009.1.13

LIC Patent licence contract for exploitation submitted for record

Free format text: SEPARATELY LICENSE; TIME LIMIT OF IMPLEMENTING CONTACT: 2006.4.1 TO 2016.3.31; CHANGE OF CONTRACT

Name of requester: XIAMEN PANASONIC ELECTRONIC INFORMATION CO., LTD.

Effective date: 20090113

EE01 Entry into force of recordation of patent licensing contract

Assignee: Xiamen Matsushita Electronic Information Co., Ltd.

Assignor: Matsushita Electric Industrial Co., Ltd.

Contract fulfillment period: 2006.4.1 to 2016.3.31 contract change

Contract record no.: 2009990000027

Denomination of invention: Intelligent power switch

Granted publication date: 20060719

License type: Fen Xuke

Record date: 2009.1.13

LIC Patent licence contract for exploitation submitted for record

Free format text: SEPARATELY LICENSE; TIME LIMIT OF IMPLEMENTING CONTACT: 2006.4.1 TO 2016.3.31; CHANGE OF CONTRACT

Name of requester: XIAMEN PANASONIC ELECTRONIC INFORMATION CO., LTD.

Effective date: 20090113

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060719

Termination date: 20160320

CF01 Termination of patent right due to non-payment of annual fee