This invention relates to power controllers for controlling and sensing power to electronic components and, in particular, to a hot-swap controller that allows electronic components, such as circuit boards, to be added, removed, or replaced within a system without removing power from other electronic components in the system.
An example of the use of a hot-swap power controller is in a server, where expansion cards may be added by inserting the cards into empty slots in the server. The cards have terminals that mate with terminals in the slot. The mated terminals pass information to and from the card as well as supply power to the card. Typical voltages supplied to the slot power terminals are 12 volts and 3.3 volts.
One or more power controller ICs selectively couple the 12 volt and 3.3 volt power supply voltages to the corresponding slot terminals based on whether certain conditions are met. For example, the power supply voltages should only be applied to the slot terminals if: 1) there is a card inserted into the slot; 2) the supply voltages are at their proper levels; and 3) there is no fault condition, such as an over-current. Typically, if these conditions are met, which may be determined in a matter of milliseconds, the power controller couples, or continues to couple, the power supply voltages to the slot.
Once the above conditions are met, power controllers typically generate a single “power-good” signal for application to an external system processor that is used to convey that the power system is working properly. The power-good signal indicates to the external system processor that it is now okay to communicate with the card since the card is receiving the proper power.
However, some cards require some finite time after the power-good signal is asserted before the card is stable and fully operational. For example, a voltage regulator in the card may need on the order of 100 ms to reach a steady state operating condition. Similarly, capacitors and other energy storing devices in the card may need time to fully charge before the card is fully operational. Further, there may be routines that the card must first carry out before being ready to communicate with the external system. Therefore, there is a period between when the power-good signal is asserted and when the card is ready to properly operate. Using the card within this period may cause errors in the card's processing.
Further, if the card is up and running and it is detected that any one of the above conditions not being met, the typical power controller then instantly removes power from the card and simultaneously deasserts the power-good signal, preventing the system from further communicating with the card. Such abrupt termination of control to the cards may not allow the card to properly shut down.
The above problems are also applicable in many other situations not relating to cards in a slot.
It is desirable to improve the performance of an electronic system where a power-good signal generated by a power controller is used to signal to an external processor that satisfactory power is applied to certain equipment.
A power controller system is described herein, which may consist of one or more ICs and other components. The power controller selectively couples power supply voltages to electrical equipment, such as a card that has been inserted into an expansion slot in a server. Instead of simply generating a one-bit power-good signal, the power controller provides a two-bit signal conveying four states. The four state signal is used by external control circuitry to more efficiently and more reliably control the card or other equipment powered by the power controller.
Upon the electrical equipment powering up, and if the power to the equipment is deemed satisfactory by the power controller, the power controller asserts a power-good signal (PWRGD) followed by asserting a slightly delayed (e.g., 50-300 ms) power-good signal (DLY_PWRGD). Upon powering up, the PWRGD signal indicates that good power is being supplied to the card or other equipment, and the DLY_PWRGD signal tells a system processor that it is now ok to communicate with the card or other equipment. This delayed signal allows the card or other equipment to reach a steady state condition before being declared by the power controller as being fully operational. Since the card reaches a steady state of operation before the card is “authorized” to process data, the processing of data by the card is highly reliable. If the card were used for processing data while powering up, errors may result.
When the equipment is powered down, such as when a fault signal or other shut down signal is detected, the DLY_PWRGD signal is first deasserted, causing power to be decoupled from the card. This is followed by the deassertion of the PWRGD signal after a short delay (e.g., 0.5 ms-10 ms). Although power was decoupled from the card upon the DLY_PWRGD signal being deasserted, filter capacitors in the card still have stored charge. Such stored charge is sufficient to power the card for a short time to enable the card to perform a shut down routine, such as saving data. Delaying the PWRGD signal allows circuitry within the card to properly shut down. The external circuitry treats the deassertion of the DLY_PWRGD signal during shut down as an indication that the card is being shut down, and the deassertion of the PWRGD signal indicates to the external circuitry that the card is presumed to be no longer operating. Therefore, the external circuitry is given a short time to properly shut down the card.
A state machine is used to carry out the four-state power up and power down sequence and issue the two-bit signal (PWRGD and DLY_PWRGD) for used by external circuitry to control the card or other equipment powered by the power controller.
Other embodiments are described.
In the described example, power is automatically applied to the associated 12 volt and 3.3 volt power terminals of the slot only when it is detected that a card 16 has been inserted into the slot and other conditions, described below, are met.
Referring back to
The controller 10 detects, for the 12 volt and 3.3 volt paths, at least the following: the input voltage from the power supply 12, a sense voltage whose value is a product of the current through a sense resistor R1 or R2, and the voltage actually applied to the slot terminal.
An over-current through the sense resistor R1 or R2 is detected by applying the input voltage (12v in or 3.3v in) from the power supply 12, minus an offset voltage, to one input of a hysteretic comparator. The other input of the hysteretic comparator is connected to the sense voltage (12v sense or 3.3 v sense). If the sense voltage drops below a threshold, this signals an over-current condition, and a fault signal is generated for that slot.
The controller 10 also compares the 12 v out and 3.3v out voltages actually applied to the slot terminals to a minimum threshold to determine if there is a power good (PWRGD) condition. Additionally, the controller 10 determines if the input voltage from the power supply 12 is above a threshold. If not, an undervoltage lockout (UVLO) signal is generated.
A hot-plug system controller 26 shown in
If the CRSW signal indicates a card 16 is in the slot, and there are no fault signals, and the power controller 10 is enabled for that slot, then the power controller 10 closes or keeps closed the MOSFETs 22 and 24 for the associated slot.
The circuitry shown in
In certain types of cards, there is a short period between when power is applied to the card (i.e., when MOSFETs 22 and 24 are closed) and when the card is fully functional. For example, a card may have voltage regulators that take some time to ramp up to their final voltage, or storage devices, such as capacitors, that may need to first be charged for the proper operation of the card.
Upon powering up of the card or other equipment, after the MOSFETs 22 and 24 have been turned on, the externally outputted PWRGD signal is asserted when an internal power-good (IPRG) signal is asserted by the power controller 10. The IPRG signal state is determined by the logical ANDing of the power-good indicators (voltage to card above threshold, no undervoltage, no fault, no over-temperature, etc.) and the enable signal that enables the channel.
The PWRGD signal is output from the power controller 10 and applied to an external processor (e.g., the hot-plug system controller 26 in
Upon powering down of the card or other equipment, the deassertion of the DLY_PWRGD signal corresponds with the MOSFETs 22 and 24 being switched off.
Additional detail is presented below.
In the flowchart, which follows the states of the state machine in
In
The external circuitry that receives the two-bit signal from the controller 10 suitably processes the bits to control communications with the card or perform any other operation.
Upon the output voltage to the slot A being above the threshold, and no faults being detected, the IPRG signal is asserted (step 34), causing the PWRGD signal to be asserted. The DLY_PWRGD signal is delayed 163 ms after the PWRGD signal so is not yet asserted. The two-bit output of the state machine during this time is 0.1 (step 36). This is STATE #2. Even though adequate power is supplied to the card, the system is still not authorized by the power controller 10 to begin communicating with the card since the DLY_PWRGD signal is still not asserted in STATE #2. The 163 ms delay time gives the card time to fully power up and be fully operation before the system is authorized to communicate with the card. Other suitable delay times may also be used, such as 50 ms-300 ms, depending on the particular application. The delay time may even be programmable. The state machine stays in STATE #2 until the DLY_PWRGD signal is asserted or the IPRG signal is deasserted.
If the IPRG signal is deasserted during STATE#2, the state machine reverts back to STATE #1 (step 37).
After the 163 ms delay (step 38), the DLY_PWRGD signal will be asserted, and the two-bit output of the state machine will be 0.0, corresponding to STATE #3 (step 44). The external system uses the asserted DLY_PWRGD signal as an indication that the card is ready to communicate with the system. The DLY_PWRGD signal takes the place of the PWRGD signal in prior art systems, whose power controllers generated no delayed power-good signals. Therefore, a hot-swap system using the present invention may use the DLY_PWRGD signal from power controller 10 instead of the prior art PWRGD signal to indicate to the system that the card is fully operational.
The state machine remains in STATE #3 until there is a fault, or the system deasserts the enable signal to the power controller 10, or the card retention switch is triggered by the user unlatching card retention clips. During STATE #3, the system is communicating with the card, and the IPRG signal remains asserted (step 46).
When a fault or a disable signal is detected, the IPRG signal is immediately deasserted (/IPRG) (step 46). The power controller 10 must now enter a power down routine for the slot. The deasserted IPRG signal causes the DLY_PWRGD signal to immediately be deasserted (logical 1), and the state machine enters STATE #4 (step 48), causing its output to be 0.1. Deassertion of the IPRG signal immediately causes the controller 10 to turn off the MOSFETs 22 and 24 in
It is assumed that filter capacitors in the card can power the card at least 1 ms after the MOSFETs 22 and 24 have been turned off. The card can typically perform a shutdown routine within the 1 ms period. The external circuitry receiving the two-bit signal from the controller 10 can use the STATE #4 to properly shut down the card, such as by saving data in a memory. Other suitable delay times may also be used, such as 0.5 ms-10 ms, depending on the particular application. The delay time may even be programmable.
After the 1 ms delay (step 50), both the DLY_PWRGD and PWRGD signals are deasserted (the output of the state machine is 1.1), and the state machine enters STATE #1 (step 32).
Accordingly, a powering up and powering down sequence, conveyed by a two-bit signal, has been described that improves the operation of a system incorporating the power controller of the present invention. One skilled in the art can easily design software or hardware that senses the two-bit signal and performs the functions described herein. The polarities of all logic signals may be inverted (i.e., an asserted signal may be a 1 or a 0), and delay times other than those given in the example may be different for different applications. Additionally, the generation of the IPRG signal need not be based on all the conditions provided in the example.
One novel aspect of the logic circuitry is the use of a single timer 60 (
Many other logic circuits may perform the same logical function as the circuit of
Having described the invention in detail, those skilled in the art will appreciate that given the present disclosure, modifications may be made to the invention without departing from the spirit and inventive concepts described herein. Therefore, it is not intended that the scope of the invention be limited to the specific embodiments illustrated and described.