Electronic apparatus having a software controlled power switch

This is a system and method of intelligently terminating power to a computing device. The system may comprise: a processing device; a power source connected to the processing device; a switch connected to the power source; and a control system run by the processing device and connected to the power source and the switch. In addition, the system may include a deadman timer which provides a fail-safe operation. Further, the system may include a method and apparatus for executing an orderly shut down procedure for software and hardware. Moreover, the system could be tied to a thermal and/or power management system. Additionally, the system could initiate an orderly shut down of peripheral devices connected to the system serially or by parallel connections. Other devices, systems and methods are also described.

CROSS-REFERENCE TO RELATED APPLICATIONS 
The following coassigned patent applications are hereby incorporated herein 
by reference: 
______________________________________ 
Filing TI 
Ser. No. 
Date Case No. Title 
______________________________________ 
08/395,335 
02/28/95 TI-20391 Real Time Power Conservation and 
Thermal Management for 
Computers 
08/598,904 
12/07/95 TI-20567 Power Management - Thermal 
______________________________________ 
NOTICE 
(C) Copyright, Texas Instruments Incorporated 1996. A portion of the 
disclosure of this patent document contains material which is subject to 
copyright protection. The copyright owner has no objection to the 
facsimile reproduction by anyone of the patent document or the patent 
disclosure, as it appears in the Patent and Trademark Office patent file 
or records, but otherwise reserves all copyright rights whatsoever. 
FIELD OF THE INVENTION 
This invention generally relates to power switches for electronic devices. 
BACKGROUND OF THE INVENTION 
Without limiting the scope of the invention, its background is described in 
connection with desktop and portable computers. 
From the advent of electricity, there have been millions of devices built 
that are powered by electricity. However, every electronic device has to 
have a method of turning that device on and off. Therefore, virtually 
every electronic device has a power switch that enables the user to turn 
that device on and off. 
In addition, from the evolution of the computer, there has always been a 
method and device for turning off a computer's power. In the normal 
environment, the switch would be turned on to apply power to the computer 
and turned off to terminate the power. However, the normal power switch 
simply turns off the power without regard to what the computer is doing at 
the time. The user simply flips a switch, and thus terminates the power to 
the computer. Yet, if the computer is in the middle of a software 
application, or updating a database, or writing to a hard disk, valuable 
information can be lost or corrupted. 
SUMMARY OF THE INVENTION 
A need has been discovered for an intelligent power switch; a switch that 
considers what the computer is doing at the time the user flips the power 
switch; a switch that will not lose whatever is in the memory at the time; 
a switch that lets the hard drive position and park its heads before 
powering down; an intelligent power switch could do this and more. 
The present invention solves such a problem. The intelligent power switch 
can be a mechanical power switch that is controlled by software. However, 
the intelligent power switch could also be all electronic and run by 
software entirely. Or, the intelligent power switch could be a combination 
of electronics, software and mechanical devices. 
The intelligent power switch may be programmed to be intelligent based on 
what the computer is doing. If the computer is doing something that 
requires intelligence, (i.e. the system is in a mode that could cause 
damage to the file system, the communication system, computer network, 
applications, or even physical hardware damage), then the system knows 
precisely what to shut down in what order. The software would take control 
of the power switch away from the hardware and treat that as an event and 
then process the event at a later time. That would allow preparation for 
an orderly shut down. The orderly shut down would allow software 
applications to close files and exit in an orderly manner. In addition, 
peripheral devices could also shut down orderly. For example, heads on 
hard drives could be positioned and parked before terminating power. 
Moreover, peripheral devices connected to the computer serially or by 
parallel connections could also be shut down in an orderly manner. 
Further, even display devices could be shut down in an orderly manner. 
There are three methods of operating the intelligent power switch One 
method is to simply terminate the power of the computer whenever the power 
switch was turned off. Another method is to treat the power switch being 
turned off as an event and then let the control software proceed with an 
orderly shut down of the computer's programs and hardware before 
terminating power to the computer. The last method is similar to the 
second method, but allows a hardware override after a certain time limit. 
This would allow the computer to automatically terminate the power in case 
the software malfunctioned. This hardware override could be implemented as 
a deadman timer with either a default time limit and/or a time limit that 
may be adjusted by the control software. In addition, the timer circuit 
could be setup to allow normal operation if the user quickly turns the 
power switch to the on position before the system is complete with its 
orderly shut down. However, the full operation of the system would depend 
upon how much the system has been shut down already before the user turns 
on the power again. If, however, the system has not started the shut down 
procedure, but only registered the event, full operation would begin 
immediately. Many other variations could also be implemented. 
This is a system and method of intelligently terminating power to a 
computing device. The system may comprise: a processing device; a power 
source connected to the processing device; a switch connected to the power 
source; and a control system run by the processing device and connected to 
the power source and the switch. In addition, the system may include a 
deadman timer which provides a fail-safe operation. Further, the system 
may include a means for executing an orderly shut down procedure for 
software and hardware. Moreover, the system could be tied to a thermal 
and/or power management system. Additionally, the system could initiate an 
orderly shut down of peripheral devices connected to the system by serial, 
parallel or other connections. Other devices, systems and methods are also 
disclosed.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
The intelligent power switch can be executed in any combination of three 
methods. The first is to have the intelligent power switch execute in 
simple mode; when the user turns off the power, the power switch simply 
terminates the power to the computer. The second method makes the power 
switch intelligent by controlling it with software; this method will not 
turn the power off until the software program releases control and 
triggers the termination of power. The third method is to have a deadman 
timer run concurrently to the software program and time out after a 
specified time limit and then proceed to terminate the power to the 
computer. 
A software program that controls the power switch can be executed on a 
central processing unit (CPU), or a separate processor like an application 
processor. For example, you can either have a CPU run the control program 
with its other programs, or dedicate a small microprocessor to monitor the 
power switch. 
The software control program can have three modes of operation: no 
intelligent power switch, intelligent power switch with real time event, 
or intelligent power switch with delayed event (for the sake of clarity, 
real time events and delayed events will be described with real time 
events getting attention by the CPU and other hardware in real time, 
similar to interrupts, and delayed events getting attention from the CPU 
at a later time like any other software program getting scheduled time 
slices). The software control program allows the applications time to shut 
down in an orderly manner. However, if any of the application programs 
lose control or have some type of unrecoverable error, and are not able to 
get back to the timer before it runs out, the deadman timer will time out 
and allow the computer to shut down as in the simple mode, just like an 
ordinary power switch. Therefore, the setting of the deadman timer is 
crucial; the time limit should be long enough to let the applications shut 
down in orderly process, and get back to the timer and reset it if 
necessary. In addition, the time limit should not be too long, in case the 
applications get into some type of unrecoverable error; the user should 
not have to wait too long for the computer to shut off. 
FIG. 1 describes a general flow of the intelligent power switch. The system 
begins by starting the software control program 10. The software control 
program may be started at the bootup process or on user demand. However, 
after the software control program starts, the timer circuit gets set 12. 
The timer circuit may get set to a value by the software, or have a 
default value. However, the timer must be able to get reset by the 
software control program. Once the timer circuit gets set, the timer 
proceeds until timed out 14. In addition, the software program initiates 
an orderly shut down procedure 18 concurrently. The software program could 
first start the software shut down process 20 and the hardware shut down 
process 22. However, these two procedures could be implemented in any 
order or intermixed. Yet, the software program has to be able to reset the 
timer circuit 16 before it times out if additional time is needed to 
complete the shut down process. Finally, after the timer circuit has timed 
out, the orderly termination of power to the system begins 24. In 
addition, the software program could be implemented to set the timer value 
to time out instantly if the shut down process is complete. 
FIG. 1 details a flowchart of the software control program. However, as 
stated before, the software control program can be implemented at 
different times in the operation of the control program. It may be 
implemented in the bootup process of the computer and have the user turn 
it off or on. It may also be implemented only when the user hits the power 
switch to turn the computer off. It could be implemented with a battery 
source to supply just enough power to ensure an orderly shut down process 
of the peripherals and the application programs. This implementation would 
be beneficial in case of a power failure. In addition, the user could turn 
on the software control program at any time by just executing the program. 
FIG. 2 details the implementation of the software control program in the 
preferred embodiment. First, the basic input/output system (BIOS) is 
initialize 26. Then, the operating system gets initialized 28. Within the 
operating system initialization, some of the steps executed are: 
initialize core operating system, initialize advanced power management 
system, start scheduler, and start user interface. Once the operating 
system is initialized, the other software applications may be implemented 
30. Even though the software control program may be implemented in other 
stages of the system's operation, the software control program is 
implemented at this point in the preferred embodiment. 
An example implementation of the software control program is included in 
this specification. However, the invention could be implemented in a 
multitude of ways and is not restricted to this embodiment. 
DEADMAN TIMER CIRCUIT OPTION 
Deadman Timer 
An optional feature of the present invention can ensure a shut down of the 
device even though the computer software has malfunctioned. This optional 
feature is a fail-safe or a deadman timer circuit built into the 
intelligent power switch. The deadman timer would function after the 
intelligent power switch loses software control After a specified period 
of time elapses that would indicate the software has lost control, then 
the switch will revert back to turning power off in an unconditioned state 
just as if it had not been an intelligent power switch. This deadman timer 
is a fail-safe condition. 
However, with the creation of a software controlled power switch, sometimes 
the software monitors the intelligence malfunctions. In addition, the 
software may malfunction because of the processor that it's running on. 
Once the software has control of the power switch, the hardware circuit 
sets a maximum time that the circuit will wait for a response from the 
software control. If the circuit does not get a response from the software 
control, it will shut down the rest of the system. However, the software 
control can come back to the circuit and reset the clock, or even set a 
new maximum time for the circuit to wait for another response. This would 
enable the software control program to be more dynamic in case it needs to 
wait for unexpected events before powering the system down. This mode 
would place a burden on the software to come back to reset the timer every 
so often before the expiration of the maximum time. However, the user may 
also adjust the maximum time. This versatility would allow the user to 
determine what is acceptable as the maximum time for circuit to wait. 
When the power switch is turned on, the system boots; the software boots; 
the Basic Input/Output System (BIOS) initializes and then the dead man 
timer gets set to zero and the power switch gets turned to simple, the 
default condition. Then, through the process of initializing the rest of 
the computer system (the software, and the different sets of hardware), 
the software control program will determine whether to turn on the 
intelligence power switch. However, the software control program may also 
determine to wait until the operating system is running or to wait until 
the user selects a particular application to turn this switch on or off. 
The software control program is a real time event. It may be turned on or 
off based on the boot up condition. Then the software control program can 
decide whether to continue to keep it on or keep it off or whether to come 
back later and turn it to intelligent or simple mode. 
For example, in the preferred embodiment, the computer can go through the 
boot process, then load DOS or Windows and then turn the intelligent power 
switch on. The software control program has to get back at least every 15 
seconds or the system is going to turn itself off because the deadman 
timer switch is on. 
In addition, the power switch can be programmed to watch a System 
Management Interrupt (SMI). The SMI can either be acted on real time, or 
can be acted upon later. 
If the power switch is set to be acted upon a real time event, then as soon 
as the event is triggered, the heads of the hard drive are positioned and 
parked. Then the power from the hard drive is turned off, along with the 
power to the displays and other devices within the system. Then the CMOS 
parameters that need to be saved are saved. This process would enable 
protection against lost clusters or allocations on hard disks, which is a 
major problem on other products. 
If the power switch is set to be acted upon a delayed event, then the 
software control program allows the operating system and other programs to 
prepare for shut down. This will allow the system to go through and start 
closing files. In addition, it will start updating any pertinent 
parameters and then trigger the event to start the shut down process. The 
shut down process is the same as the previous scenario. 
In both scenarios, the power switch may be tied directly to the actions 
required by the operating system to do an orderly shut down. However, the 
intelligent power switch can also be integrated into an existing shut down 
software program (e.g. Super Shutdown by Texas Instruments Incorporated). 
This would allow the shut down program to automatically go through all the 
software programs and ensure an orderly shut down. A shut down program 
could ensure that all files are closed, and parameters updated before it 
gives control back to the software control program. 
DEADMAN TIMER CIRCUIT IMPLEMENTATION 
The intelligent power switch circuit with the deadman timer consists of the 
five functional parts identified in FIG. 3 and as described below: 
Supervisory Transistor 38--Low power transistor switch that runs 
unregulated input power on and off to the computer power supervisory 
circuitry. 
Manual Switch 56--Manual power on/off switch that is set by the computer 
operator and that informs the Intelligent power switch and computer 
processor to turn system power on and off. 
Power Off Timer 74--provides power control to processor when Intelligent 
power switch is in the intelligent mode and Manual Switch 56 is in the 
"off" position. 
Power Off Latch 36--system power off latch holds computer power "off" when 
processor has turned off power and Manual Switch 56 is still "on". 
Power Off Latch Trigger 32--provides power control by processor when 
Intelligent power switch is in the intelligent mode and the Manual Switch 
56 is in the "on" position. 
The Intelligent power switch control signals shown in FIG. 3 are described 
below: 
"VIN"--unregulated DC input power to computer sourced by external power 
and/or internal batteries. 
"VINS"--unregulated DC input power to computer power Supervisory Circuit 
38. 
"NVCC"--regulated DC power to computer logic. 
"REF 2.5"--compalitor reference voltage. 
"SFTOFF"--low active logic signal from processor indicating software status 
of the manual on/off switch. 
"PWROFF"--low active logic signal from manual on/off switch indicating 
"off" position. 
"PWRON"--low active logic signal from manual on/off switch indicating "on" 
position. 
"PWRSWON"--logic signal to processor indicating status of the manual on/off 
switch. 
"SMPL"--logic signal from processor indicating mode of Intelligent power 
switch. 
"TRMRRST"--low active logic signal from processor that resets the Power Off 
Timer 74. 
The Intelligent power switch Circuit shown in FIG. 3 couples the computer 
operator and the computer processor to the computer system power switch. 
The computer processor can be programmed to turn off the system power 
intelligently. The computer power is turned on by the operator changing 
the manual switch status from "off to "on". In addition, the computer 
power may be turned off by the computer processor under software 
controlled conditions in an orderly and intelligent manner, through the 
intelligent power switch circuit. The manual power on/off switch 56 may be 
a single pole, double throw as shown in FIG. 3, or may be any switching 
device that provides compatible logic levels when connected to the 
circuit. The Intelligent power switch defaults to the simple mode when 
system power is "off" or when the system power "on" routine is being 
executed by the computer logic (the computer boot-up process). The 
intelligent switch can be changed to the intelligent mode by the computer 
at any time after the power "on" routine is complete or as part of the 
system initialization during the power "on" routine. The Intelligent power 
switch is in the simple mode whenever the logic signal "SMPL" is low. In 
this mode, the system power can only be turned "on" and "off" by the 
operator using the manual switch 56. The power "off" timer 74 and power 
"off" latch trigger 32 are disabled through diode 62 and transistor 60 
through diode 34 respectively, when signal "SMPL" is held low by the 
computer or by loss of system power. Manual power "on" and "off" in this 
mode is as follows: 
1) The closed contacts of the manual switch 56 in the "off" position 
grounds signal "PWROFF" and disables the power off latch trigger 32 
through diodes 46 and 40, and clear the power off latch 36 through diode 
46. In addition, the open contact of the manual switch 56 in the "off" 
position allows the signal "PWRON" to float up through resistors R7 and 
R6, shutting off the supervisory transistor 20. The system is turned off 
in this mode. 
2) The closed contacts of the manual switch 56 in the "on" position grounds 
signal "PWRON" and turns on the supervisory transistor 38 through resistor 
64. The system power is turned on in this mode. In addition, the open 
contact of the manual switch 56 in the "on" position turns off diodes 46 
and 52 enabling the power off latch 36 and signaling to the processor that 
the manual switch 56 is "on" by pulling up signal "PWRSWON" through 
resistor 20. 
The intelligent mode of the Intelligent power switch can only be set by the 
computer processor when the system power is on. The processor enables the 
intelligent mode by setting the signal "SMPL-" high. This enables the 
power off latch trigger 32 circuit by turning off diode 34 and enables the 
power off timer 74 by turning off diode 62 and turning on transistor 60. 
Transistor 58 is turned on by signal "SFTOFF" being high, and the power 
off timer 74 is held reset by the low signal "TMRRST-". The output of the 
power off latch trigger 32 is held low by the high level on the inverting 
input of 32 from the signal "SFTOFF". Thus the power off latch 36 is not 
triggered and system power remains on. 
System power can now be turned off with the Intelligent power switch in the 
intelligent mode and the manual power switch 56 in the "on" position in 
the following way only: 
The computer processor sets the signal "SFTOFF" low, turning off the latch 
trigger comparitor output 32. This sets the power off latch 36 by turning 
on transistor 44 through diode 40 and resistor 22 to the +5 VDC on signal 
"NVCC". Transistor 44 turns on transistor 24 which holds transistor 44 on. 
Transistor 24 also turns on diode 36 which turns off transistor 38, thus 
turning off system power. The power off latch 36 remains set as long as 
the manual power switch 56 remains in the "on" position and power lasts on 
signal "VIN" from the external and/or internal unregulated power sources. 
The computer processor can control the system power with the intelligent 
switch in the "Intelligent" mode and the manual switch in the "off" 
position. The supervisor transistor 20 is held on through resistor 54 so 
long as transistors 58 and 60 and the time-out comparitor 74 are all 
turned on. The system power is turned off if any one of the three are 
turned off. 
The computer processor can now turn off system power by setting signal 
"SFTOFF" low, turning off transistor 60, or by allowing the power off 
timer 74 to turn off when capacitor 72 charges through resistor 68 to a 
level above the voltage at the junction of the divider at resistors 64 and 
66, or by allowing the power off timer 74 to turn off after a software 
controlled time that holds signal "TMRRST" low. 
Giving power off control to the computer processor insures that the shut 
down is done in an orderly and predictable manner protecting function 
integrity for the user. 
Listed below in Table 1 are examples of types of devices and values that 
can be implemented in the Intelligent power switch circuit illustrated in 
FIG. 3. It is to be understood that the present invention is not limited 
to only this embodiment. 
TABLE 1 
______________________________________ 
Element Name Description 
______________________________________ 
20 Resistor 10k resistor 
22 Resistor 47k resistor 
24 Transistor DTA transistor 
26 Resistor 47k resistor 
28 Capacitor .0047 f capacitor 
30 Resistor 4.7k resistor 
32 Invertor TLC393C/2 invertor 
34 Diode BAT54A diode 
36 Diode BAT64 diode 
38 Transistor 2907 transistor 
40 Diode BAT54A diode 
42 Resistor 10k resistor 
44 Transistor DTC transistor 
46 Diode BAV70 diode 
48 Capacitor 0.1 f capacitor 
50 Resistor 47k resistor 
52 Diode BAV70 diode 
54 Resistor 4.7k resistor 
56 Switch single pole, double throw 
58 Transistor BST82 transistor 
60 Transistor BST82 transistor 
62 Diode BAT54A diode 
64 Resistor 10k resistor 
66 Resistor 3.3k resistor 
68 Resistor 1 M resistor 
70 Diode BAT54A diode 
72 Capacitor 10/16 v capacitor 
74 Invertor TLC393C/2 invertor 
______________________________________ 
OTHER OPTIONS 
The control software program can also be interactive. It can prompt the 
user with questions like "do you really want to turn the power off--yes or 
no?" and if the user says yes, then the program could go ahead and execute 
an orderly shut down. However, the program could also just tell the user 
how to manually execute an orderly shut down, and let the user manually 
shut down the software programs and/or hardware. For example, the program 
could have the user close all files, close all software programs in a 
specific order, and then turn off all hardware devices that are hooked up 
to the computer. Yet, the control program could also be set to execute an 
orderly shut down automatically. In addition, the interactive part could 
more or less interactive, depending on options set in installation, in 
execution or at production. 
Another option that could be implemented, is to automatically shut down the 
computer when it goes into an uncontrollable state. This could be done if 
the deadman timer was set to a time that the software control program knew 
it could get back to the timer if the computer was in a controllable 
state. However, if a software program took control of the computer and 
then went into an infinite loop or some other uncontrollable state, the 
deadman timer would time out and then execute the shut down procedure. 
Again, the intelligent power switch could be set to just simply terminate 
the power to the computer or go through an orderly shut down first. 
Moreover, the deadman timer could also run in the background while the 
control program is executing an orderly shut down, and then time out if 
the software control program gets in an uncontrollable state. 
The software control program may also interface with a thermal management 
system (i.e. the thermal management systems described in U.S. patent 
application Ser. No. 08/395,335 and U.S. patent application Ser. No. 
08/568,904) and/or a power management system (i.e. the power management 
system described in U.S. patent application Ser. No. 08/395,335). This 
would allow an intelligent power switch to have an orderly shut down when 
the user turns the computer off, and would also allow the features of the 
thermal and power management systems to be integrated into the intelligent 
power switch. The thermal and/or power management systems could control 
the deadman timer and reset to zero when the system wanted to terminate 
power. This would be helpful if the computer was in imminent danger of 
overheating, or in some other state of impending danger. 
If the intelligent power switch incorporates the power management system, 
the software control program can be tied off of Advanced Power 
Management.TM. (APM) events under Windows 3.11.TM. and Windows95.TM. 
(Advanced Power Management, Windows 3.11 and Windows95 are trademarks of 
Microsoft). This would allow the software control program to be posted to 
the 530B interrupt. This would ensure that the operating system will check 
once every one to five seconds to make sure the software control program 
is still alive. Other operating systems might implement other interrupts 
that the software control program could be linked to also. In addition, 
the 530B interrupt may also change in implementation in other versions of 
the Windows.TM. operating system. However, the software control program 
would still function as long as it was checked periodically. For further 
details on the implementation of the preferred embodiment, refer to the 
APMfuncb procedure, as well as the SMI interrupt procedure in the example 
software implementation included at the end of the specification. 
In sum, the present invention can be a mechanical power switch that is 
controlled by software. However, the intelligent power switch could also 
be all electronic and run by software entirely. Or, the intelligent power 
switch could be a combination of electronics, software and mechanical 
devices. 
In addition, the intelligent power switch may be programmed to be 
intelligent based on what the user is doing. If the user is doing 
something that requires more intelligence, (i.e. the system is in a mode 
that could case damage to the file system, the communication system, 
computer network, applications, or even physical hardware damage), then 
the system knows precisely what to shut down in what order. The software 
would take control of the power switch away from the hardware and treat 
that as an event and then process the event at a later time. That would 
allow preparation for an orderly shut down. The orderly shut down would 
allow software applications to close files and exit in an orderly manner. 
In addition, peripheral devices could also shut down orderly. For example, 
heads on hard drives could be positioned and parked before terminating 
power. Moreover, peripheral devices connected to the computer serially or 
by parallel connections could also be shut down in an orderly manner. 
Further, even display devices could be shut down in an orderly manner. 
There are three methods of operating the intelligent power switch. One 
method is to simply terminate the power of the computer whenever the power 
switch was turned off. Another method is to treat the power switch being 
turned off as an event and then let the control software proceed with an 
orderly shut down of the computer's programs and hardware before 
terminating power to the computer. The last method is similar to the 
second method, but allows a hardware override after a certain time limit. 
This would allow the computer to automatically terminate the power in case 
the software malfunctioned. This hardware override could be implemented as 
a deadman timer with either a default time limit and/or an time limit that 
may be adjusted by the control software. In addition, the timer circuit 
could be setup to allow normal operation if the user quickly turns the 
power switch to the on position before the system is complete with its 
orderly shut down. However, the full operation of the system would depend 
upon how much the system has been shut down already before the user turns 
on the power again. If, however, the system has not started the shut down 
procedure, but only registered the event, full operation would begin 
immediately. Many other variations could also be implemented. 
FIGS. 4-8 depict example devices that the present invention can be 
implemented on. However, these embodiments are not intended to be 
limiting. The present invention may also be implemented on other devices 
as well. 
While some of the embodiments shown are in relation to a portable computer, 
the present invention can also be integrated into any electronic device. 
For example, the present invention could be implemented on a main frame, 
mini, desktop, or portable computer. FIG. 6 is a block diagram of a basic 
computer 900 upon which the present invention could be implemented. 
Computer 900 comprises a Power Input and Conversion Unit 905 having power 
input 910. Unit 905 senses the input conditions and selects appropriate 
circuitry to convert the input to the voltages needed to power the other 
elements of the system. Output from the conversion unit is coupled to Bus 
915, which comprises paths for power as well as for digital information 
such as data and addresses. 
Bus 915 typically needs more than one power line. For example, the motor 
drive for a hard disk requires a different power (voltage and current) 
than does a CPU, for example, so there are parallel power lines of 
differing size and voltage level in Bus 915. A typical Bus 915 will have, 
for example, a line for 24 VDC, another for 12 VDC, and yet another for 5 
VDC, as well as multiple ground lines. 
Bus 915 connects to a video display controller 920 including Video Random 
Access Memory (VRAM) which both powers and controls display 925, which in 
a preferred embodiment is a display driven by analog driver lines on an 
analog bus 930. Bus 915 also connects to a keyboard controller 935 which 
powers and controls keyboard 940 over link 945, accepting keystroke input 
and converting the input to digital data for transmission on Bus 915. The 
keyboard controller may be physically mounted in the keyboard or within 
the computer housing. 
Bus 915 comprises, as stated above, both power and data paths. The digital 
lines are capable of carrying 32 addresses and conveying data in 32 bit 
word length. To minimize pin count and routing complexity, addresses and 
data are multiplexed on a single set of 32 traces in the overall bus 
structure. One with skill in the art will recognize that this type of bus 
is what is know in the art as a low-pin-count or compressed bus. In this 
kind of bus different types of signals, such as address and data signals, 
share signal paths through multiplexing. For example, the same set of data 
lines are used to carry both 32-bit addresses and data words of 32-bit 
length. 
In Bus 915, some control signals, such as interrupt arbitration signals, 
may also share the data lines. Typical examples of buses that are 
exemplary as usable for Bus 215 (with the exception of power supply analog 
lines in Bus 915) are the IIS-Bus" implemented by Sun Microsystems, the 
"Turbochannel" Bus from Digital Equipment Corporation, and buses 
compatible with the IEEE-488 standard. Bus 915 is also a high-speed 
backplane bus for interconnecting processor, memory and peripheral device 
modules. 
CPU 950 and RAM 955 are coupled to Bus 915 through state translator 960. 
CPU 950 may be of a wide variety of CPUs (also called in some cases MPUS) 
available in the art, for example Intel 80386 or 80486 models, MIPS, RISC 
implementations, and many others. CPU 950 communicates with State 
Translator 960 over paths 965. State Translator 960 is a chip or chip set 
designed to translate commands and requests of the CPU to commands and 
requests compatible with Bus 915. It was mention previously that CPU 950 
may be one of a wide variety of CPUs, and that Bus 915 may be any one of a 
wide variety of compressed busses. It will be apparent to one with skill 
in the art that there may be an even wider variety of state translators 
960 for translating between the CPU and Bus 915. 
RAM memory module 955 comprises conventional RAM chips mounted on a PCB as 
is known in the art, and connectable to state translator 960. Preferably, 
the RAM module is "on board" the CPU module to provide for rapid memory 
access, which will be much slower if the RAM is made "off board". As is 
the case with Bus 915, paths 965 and 970 comprise power and ground lines 
for CPU 950 and Translator 960. 
FIG. 5 illustrates a portable personal computer 800 having a display 810 
and a keyboard 820. The present invention is ideally suited for the 
portable computer 800. 
FIG. 6 is a block diagram of portable computer 800. Portable computer 800 
is a color portable notebook computer based upon the Intel Pentium 
microprocessor. Operating speed of the Pentium is 75 Mhz internal to the 
processor but with a 50 Mhz external bus speed. A 50 Mhz oscillator is 
supplied to the ACC Microelectronics 2056 core logic chip which in turn 
uses this to supply the microprocessor. This 50 Mhz CPU clock is 
multiplied by a phase locked loop internal to the processor to achieve the 
75 Mhz CPU speed. The processor contains 16 KB of internal cache and 256 
KB of external cache on the logic board. 
The 50 Mhz bus of the CPU is connected to a VL to PCI bridge chip from ACC 
microelectronics to generate the PCI bus. The bridge chip takes a 33.333 
Mhz oscillator to make the PCI bus clock. The Cirrus Logic GD7542 video 
controller is driven from this bus and this bus has an external connector 
for future docking options. 
The GD542 video controller has a 14.318 Mhz oscillator input which it uses 
internally to synthesize the higher video frequencies necessary to drive 
an internal 10.4" TFT panel or external CRT monitors. When running in VGA 
resolution modes the TFIT panel may be operated at the same time as the 
external analog monitor. For Super VGA resolutions only the external CRT 
may be used. 
Operation input to portable computer 800 is made through the keyboard. An 
internal pointing device is imbedded in the keyboard. External connections 
are provided for a parallel device, a serial device, a PS/2 mouse or 
keyboard, a VGA monitor, and the expansion bus. Internal connections are 
made for a Hard Disk Drive, a Floppy Disk Drive, and additional memory. 
Portable computer 800 contains 8 Megabytes of standard memory which may be 
increased by the user up to 32 Megabytes by installing optional expansion 
memory boards. The first memory expansion board can be obtained with 
either 8 or 16 Megabytes of memory. With the first expansion board 
installed another 8 Megabytes of memory may be attaches to this board to 
make the maximum amount. 
A second serial port is connected to a Serial Infrared (SIR) device. This 
SIR device has an interface chip which uses a 3.6864 Mhz oscillator. The 
SIR port can be used to transmit serial data to other computers so 
equipped. 
The two batteries of portable computer 800 are Lithium Ion and have 
internal controllers which monitor the capacity of the battery. These 
controllers use a 4.19 Mhz crystal internal to the battery. 
Portable computer 800 has two slots for PCMCIA cards. These slots may be 
used with third party boards to provide various expansion options. 
Portable computer 800 also has an internal sound chip set which can be 
used to generate or record music and/or sound effects. An internal speaker 
and microphone built into the notebook. In addition, three audio jacks are 
provide for external microphones, audio input, and audio output. 
FIG. 7 shows an exploded view of the TM5000TM made by Texas Instruments 
Incorporated. Table 2 describes the essential elements of FIG. 7. 
TABLE 2 
__________________________________________________________________________ 
Item 
Description Function 
__________________________________________________________________________ 
150 
BASE Base of computer 
151 
COVER ASSY,TOP top cover of computer 
154 
CONNECTOR DOOR connector door 
155 
PCMCIA DOOR PCMCIA door 
157 
LCD ASSY,9.5" compute display assembly 
158 
BEZBL.LCD LCD display 
160 
Light Pipe indicators for different functions (e.g. turbo 
mode) 
161 
BUTTON,BATTERY EJECT,LEFT 
ejects left battery 
162 
BUTTON,BATTERY EJECT,RIGHT 
ejects right battery 
163 
BUTTON,POWER SWITCH power switch 
166 
HINGE COVER,RIGHT hinge cover for display attachment to 
computer 
167 
BUTTON,PCM EJECT PCMCIA eject buttons 
168 
HINGE COVER,LEFT hinge cover for display attachment to 
computer 
172 
RAM CARD,FRONT TRIM cover over ram card (ram cards not shown) 
178 
HINGE,RIGHT hinge for attaching display to computer 
179 
HINGE,LEFT hinge for attaching display to computer 
181 
HINGE,BRACKET,RIGHT binge bracket for attaching display 
182 
HINGE,BRACKET,LEFT hinge bracket for attaching display 
186 
BRACKET,LEFT,FLOPPY DRIVE 
bracket for floppy drive 
187 
LIGHT PIPE,HINGE COVER 
indicators for different functions (e.g. power) 
190 
BRACKET,FLOPPY DRIVE bracket for floppy drive 
195 
SPRING,I/O DOOR LATCH 
latch for I/O doors 
196 
EXTENSION SPRING,I/O DOOR 
extension spring for I/O doors 
204 
HEATSINK,CPU heatsink for CPU 
205 
HEATSINK CUSHION heatsink cushion 
206 
PWB ASSY,LED BOARD printed wiring board for LEDs 
210 
PWB ASSY,MAIN BOARD main printed circuit/wiring board 
211 
PWB ASSY,PCMCIA/SOUND BOARD 
PCMCIA/Sound printed circuit/wiring board 
212 
PWB ASSY,KEYSCAN BD keyscan printed circuit/wiring board 
213 
MICROFLOPPY DRIVE,11 MM 
floppy drive 
222 
NAMEPLATE ,ACTIVE MATRIX COLOR 
Nameplate 
226 
COVER,LCD SCREWS screws for LCD 
228 
SCREW,TORX,PLASTITE,PAN,2-28 X .500 
screws 
229 
SCREW,TORX,PLASTITE,4-20 X .250 
screws 
230 
SCREW,TORX,SLOTTED,2-28 
screws 
X.375",CARBON 
231 
SCREW,TORX,MACHINE,BUTTON,2-56 X 
screws 
.1250 
232 
SCREW,W/THREAD LOCK screws 
233 
SCREW,SLOT-TORX,MACHINE,PAN,4-40 X 
screws 
.188 
234 
SCREW,TORX,MACHINE,FLAT,4-40 X .375 
screws 
235 
SCREW,METRIC,TORX,MACH,FLH,M3-0.5 
screws 
X 6 
236 
SCREW,TORX,4-20 X.375",CARBON STEEL 
screws 
237 
SCREW,MACH,FLAT,PH,4-40 X .188 
screws 
238 
SCREW,TORX,MACHINE,PAN,4-40 X .125 
screws 
239 
SCREW,TORX,MACHINE,4-40 X .250 
screws 
240 
SCREW,SLOT-TORX,PLASTITE,PAN,4-20 X 
screws 
1.25 
241 
SCREW,SLOT-TORX,PLASTITE,PAN,2-28 X 
screws 
.188 
242 
SCREW,TORX,MACHINE,2-56 X .250 
screws 
243 
SCREW,TORX,MACHINE,BUTTON,2-56 X 
screws 
.1875 
244 
CABLE ASSY,LCD,RIGHT,W/O TAPE 
cable 
248 
FLEX CABLE,HARD DISK DRIVE 
flex cable 
249 
CABLE ASSY,FDD DX4 cable 
253 
CABLE EXTENSION MICROPHONE 
cable for microphone 
254 
MEDALLION LABEL "P" Texas Instruments trademark label 
255 
SECURITY RING security ring 
262 
PWB ASSY,UNIVERSAL IR MODULE P/D 
printed wiring board for IR module 
263 
LENS COVER,IR lens cover for IR module 
270 
COMPRESSION FOAM,STANDBY SWITCH 
foam for standby switch 
271 
BUTTON,STANDBY SWITCH SERIES 
standby switch 
275 
Power input input to computer from external power 
276 
Keyboard Keyboard input 
__________________________________________________________________________ 
FIG. 8 shows an enlarged view of the main printed circuit board 210 of FIG. 
7. Note the CPU 204 and power input 275 are both on this printed circuit 
board 210. The present invention can be implemented on the TM5000 by using 
the software control program, described herein, and the optional deadman 
timer circuit shown in FIG. 3. The software control program would be run 
by the CPU 204 in memory (not shown) and communicate to the power switch. 
The optional deadman timer circuit would also be connected to the power 
switch 275 and the CPU 204 so that the deadman timer can be reset when 
necessary. The deadman timer circuit could be placed on the main printed 
circuit board 210. 
FIGS. 9-30 show logic diagrams of an implementation of the main printed 
circuit board 210 of the TM5000. This logic diagram details how the 
deadman timer circuit, and the logic for the shutdown procedure could be 
implemented, along with the other functions of a main printed circuit 
board. 
FIGS. 31-35 show logic diagrams of an implementation of the keyscan printed 
circuit board 272 of the TM5000. This logic diagram details how the 
circuit could be designed to implement keyscan functions of the TM5000. 
FIGS. 36-47 show logic diagrams of an implementation of the PCMCLA/Sound 
printed circuit board 211 of the TM5000. This logic diagram details how 
the circuit could be designed to implement keyscan functions of the 
TM5000. 
FIGS. 48-49 show logic diagrams of an implementation of the IR module 
printed circuit board 262 of the TM5000. This logic diagram details how 
the circuit could be designed to implement infra-red module functions of 
the TM5000. 
While several implementations of the preferred embodiment of the invention 
has been shown and described, various modifications and alternate 
embodiments will occur to those skilled in the art. For example, process 
diagrams are also representative of flow diagrams for microcoded and 
software based embodiments. In addition, various modifications and 
combinations of the illustrative embodiments, as well as other embodiments 
of the invention, will be apparent to persons skilled in the art upon 
reference to the description. Words of inclusion are to be interpreted as 
nonexhaustive in considering the scope of the invention. Various 
modifications and combinations of the illustrative embodiments, as well as 
other embodiments of the invention, will be apparent to persons skilled in 
the art upon reference to the description. It is therefore intended that 
the appended claims encompass any such modifications or embodiments. 
An example implementation of the software control program is included 
below. However, the invention could be implemented in a multitude ways and 
is not restricted to this implementation. In addition, the software 
control program includes calls to "FactoryPowerDownTable" and to 
"SubWalkTable" (hereafter referred to as WalkTables). These calls 
implement the shut down procedure of the invention. An example embodiment 
is included after the software control program. In this embodiment, 
devices are shut down in a specific order. However, the WalkTables may be 
altered to include a shut down procedure for other devices. For example, 
the WalkTables could shut down a real time clock, serial devices, floppy 
disk drives, hard disk drives, DMA controllers, interrupt controllers, and 
other peripheral devices on the main system bus. Further, the shut down 
procedure may include peripheral devices connected serially, or through 
the parallel port. In addition, the WalkTables could shut down peripheral 
devices on main system buses such as ESDI, AT, or PCI and may include 
devices on auxiliary buses, such as USB or 1394. Moreover, WalkTables 
could even shut down the entire bus itself. Furthermore, the WalkTables 
could even shut down portions of or the entire docking station that a 
portable computer may be connected to. These are just a few examples of 
what the shut down procedure could include and not meant to be an 
exhaustive listing. Various modifications and combinations of the 
illustrative shut down procedure, as well as other embodiments of the 
invention, will be apparent to persons skilled in the art upon reference 
to the description. It is therefore intended that the appended claims 
encompass any such modifications or embodiments. 
##SPC1##