A power management system may be configured to allow digital information relating to the power management functions of sequencing and fault spreading to be passed between pol regulators using a standard multi-master multi-slave interface such as I2C bus interface or SMBus interface. pol regulators may be configured via pin strapping, and coupled to a serial data bus where they may monitor bus transactions initiated by other similar pol regulators. Each pol regulator may respond to the bus transactions initiated by other pol regulators according to its configuration, and may perform a variety of tasks associated with sequencing and fault spreading in addition to regulating its own voltage output. When configured with a standard multi-master/multi-slave interface such as an I2C bus interface or SMBus interface, the pol regulators may report information to multiple other pol regulators while maintaining compatibility with non-pol devices also connected to the bus.
|
19. A system comprising:
a bus; and
a first group of pol (point-of-load) regulators coupled to the bus, each of the first group of pol regulators having a respective regulated voltage output and configured to transmit and receive information over the bus according to a bus protocol;
wherein each of the first group of pol regulators is configured to transmit a fault event onto the bus, wherein the fault event is indicative of the transmitting pol regulator having recognized a hardware fault, wherein the fault event is not addressed to any other ones of the first group of pol regulators;
wherein each of the first group of pol regulators is configured to recognize the fault event and shut down its respective regulated voltage output in response to recognizing the fault event;
wherein each of the first group of pol regulators includes respective fault event data comprising a number (n) of bits wherein n is greater than or equal to two, wherein each one of the n bits corresponds to a different respective one of the first group of pol regulators; and
wherein in response to recognizing the fault event each of the first group of pol regulators is configured to set in its respective fault event data the one of the n bits corresponding to the transmitting pol regulators.
9. A system comprising;
a bus; and
a plurality of pol (point-of-load) regulators coupled to the bus, each of the plurality of pol regulators having a respective regulated voltage output and configured to transmit and receive information over the bus according to a bus protocol;
wherein at least a first pol regulator of any of the plurality of pol regulators is configured to initiate a first bus operation by transmitting onto the bus an address that uniquely identifies the first pol regulator, wherein the first bus operation comprises transmitting first information onto the bus indicating that the first pol regulator has detected a hardware fault if the first pol regulator has detected a hardware fault; and
wherein at least a second pol regulator of the plurality of pol regulators is configured to receive the first information and the address that uniquely identifies the first pol regulator, and in response to receiving the first information and the address that uniquely identifies the first pol regulator, disable its respective regulated voltage output;
wherein the first pol regulator and the second pol regulator each maintains respective fault event data configured to indicate whether the first pol regulator and the second pol regulator have transmitted over the bus respective information indicating a detected hardware fault;
wherein each of the first pol regulator and the second pol regulator is configured to update its respective fault event data when receiving information indicating a detected hardware fault transmitted onto the bus by the first pol regulator; and
wherein each of the first pol regulator and the second pol regulator is configured to update its respective fault event data when receiving information indicating a detected hardware fault transmitted onto the bus by the second pol regulator.
1. A system comprising:
a bus; and
a plurality of pol (point-of-load) regulators coupled to the bus, each of the plurality of pol regulators having a respective regulated voltage output and configured to transmit and receive information over the bus according to a bus protocol;
wherein at least a first pol regulator of any of the plurality of pol regulators is configured to initiate a first bus operation by transmitting onto the bus an address that uniquely identifies the first pol regulator, wherein the first bus operation comprises transmitting first information onto the bus indicating that the respective regulated voltage output of the first pol regulator is enabled if the respective regulated voltage output of the first pol regulator is enabled;
wherein at least a second pol regulator of the plurality of pol regulators is configured to receive the first information and the address that uniquely identifies the first pol regulator, and in response to receiving the first information and the address that uniquely identifies the first pol regulator, enable its respective regulated voltage output;
wherein the first pol regulator and the second pol regulator each maintains respective fault event data, wherein each respective fault event data is configured to indicate whether the first pol regulator and the second pol regulator have transmitted over the bus respective information indicative of a detected hardware fault;
wherein each of the first pol regulator and the second pol regulator is configured to update its respective fault event data when receiving information indicating a detected hardware fault transmitted onto the bus by the first pol regulator; and
wherein each of the first pol regulator and the second pol regulator is configured to update its respective fault event data when receiving information indicating a detected hardware fault transmitted onto the bus by the second pol regulator.
2. The system of
3. The system of
4. The system of
the initiating pol regulator transmitting its respective address onto the bus; and
the initiating pol regulator transmitting onto the bus respective information indicating that the respective regulated voltage output of the initiating pol regulator is enabled if the respective regulated voltage output of the initiating pol regulator is enabled.
5. The system of
6. The system of
wherein the receiving pol regulator is configured to determine whether it is next in the sequence of the first group of pol regulators, following the initiating pol regulator;
wherein the receiving pol regulator is configured to enable its respective output in response to the respective information transmitted by the initiating pol regulator if the receiving pol regulator has determined that it is next in the sequence of the first group of pol regulators, following the initiating pol regulator.
7. The system of
8. The system of
10. The system of
11. The system of
12. The system of
13. The system of
14. The system of
15. The system of
16. The system of
17. The system of
18. The system of 17, wherein each pol regulator of the first group of pol regulators is configured to enable its respective regulated voltage output only if each of the n bits within its respective fault event data is cleared.
20. The system of
wherein each of the first group of pol regulators is configured to recognize the fault clear event, wherein in response to recognizing the fault clear event each of the first group of pol regulators is configured to reset in its respective fault event vector data the one of the n bits corresponding to the transmitting pol regulator.
21. The system of
|
This application is a continuation-in-part of U.S. patent application Ser. No. 11/198,698 filed Aug. 5, 2005 and titled “Method for Using a Multi-Master Multi-Slave Bus for Power Management”, whose inventors are Kenneth W, Fernald, James W. Templeton, and John A. Wishneusky, and which claims benefit of priority of U.S. provisional application Ser. No. 60/599,369 filed Aug. 6, 2004 and titled “Method For Using A Multi-Master Multi-Slave Bus For Power Management”.
This application is additionally a continuation-in-part of U.S. patent application Ser. No. 10/820,976 filed Apr. 8, 2004 now U.S. Pat. No. 7,506,179 and titled “Method And Apparatus For Improved DC Power Delivery, Management And Configuration”, whose inventor is James W. Templeton, and which claims benefit of priority of U.S. provisional application Ser. No. 60/462,414 filed Apr. 11, 2003 and titled “Method And Apparatus For Improved DC Power Delivery, Management And Configuration”.
U.S. patent application Ser. No. 11/198,698, U.S. provisional application Ser. No. 60/599,369, U.S. patent application Ser. No. 10/820,976, and U.S. provisional application Ser. No. 60/462,414 are all hereby incorporated by reference as though fully and completely set forth herein.
1. Field of the Invention
This invention relates generally to power systems, and DC power delivery, management and configuration. More specifically, the invention provides a system and method for event based sequencing and fault spreading in power management systems.
2. Description of the Related Art
Power supply design has become a much more critical and difficult task than it was a few years ago. High-current/low-voltage ICs typically require a very clean and stable source of DC power. The power source must be capable of delivering very fast current transients. The electronic path to these loads must also have low resistance and inductance (for example, a 1.5V supply would be completely dropped across a 25 mΩ resistance at 60 Amps). Power distribution in complex systems is often accomplished by distributing a high-voltage, low-current power source to a set of local direct-current to direct-current (DC-DC) converters. These converters, typically known as point-of-load (POL) devices and/or POL regulators (also referred to as POLs or POL converters), convert the higher voltage to a level more appropriate for the load or multiple loads that require power. Generally, each POL may be configured to generate a different voltage potential or multiple POLs may be configured to generate the same voltage potential. POLs generating the same voltage potential may be designed to drive separate loads. Similarly, two or more POLs may be connected in parallel to drive one or more common loads.
In systems that utilize multiple POL regulators, it is common for the POL regulators to exchange information in order to implement necessary power management features. Typical power management features include voltage tracking, load balancing, sequencing, phase spreading, clock synchronization, as well as many other functions not enumerated here. With the rising complexity and robustness requirements of many systems, the ability to monitor and control the power distribution sub-system has become increasingly more critical. Traditionally, information exchanged by POL regulators has been represented by analog voltage and/or current signals. There are, however, several advantages to representing the exchanged information as digital data that may be transferred across a bus interconnecting all related POL devices. Monitoring of power distribution sub-systems has typically been implemented via a standard digital interface coupling the major components of the power distribution system to a host microprocessor (or more generally, a Local Controller). The digital interface may allow the Local Controller to continuously monitor the health of the power system. It may also control the power system in order to implement system-level features such as standby and sleep modes.
One example of a digital interface that is well suited for such applications is the I2C (Inter-IC) bus. The I2C bus is a multi-master, multi-slave, two-wire bus that offers support for any device on the bus to access any other device. Transactions on the I2C bus typically consist of a start event, a destination slave address, a read/write bit, and a variable number of data bytes. The transactions are generally terminated by a stop event or another start event. The data byte immediately following the destination slave address may be interpreted as a command or tag byte, which identifies the nature and/or type of the packet.
The transmitting device (slave or master, as indicated by the Read/Write bit) may then transmit a data byte 34 starting with the MSB. In the example packet of
During operation, Local Controller 108 would typically address each POL regulator and/or other device, by using that POL regulator's or device's unique slave address as required, writing control information and reading status and data.
Another bus standard, developed after the I2C bus standard, is the SMBus (System Management Bus), which is backward compatible with the I2C bus standard while introducing additional features to support error detection, hazard recovery, and dynamic address assignment among others. It should be noted that both the I2C bus and the SMBus have predefined means for identifying a slave or destination device, but neither has predefined means for identifying the master or source of a bus transaction, a feature that is oftentimes required for POL regulators to communicate with each other. The information transfer requirements of several common power management features implemented among POL regulators will now be presented below.
It is a common requirement that the POL regulators in a system enable and disable their power outputs in a predefined order, or sequence. This has commonly been called “sequencing”, and refers more generally to orderly turn-on and turn-off for a group of POL regulators, one following the other in a prescribed order, which is typically necessary to avoid both temporary and permanent interference with the operation of the system. The order is typically configured by defining, for a given device, an optional prequel device—a device that must turn on before the given device turns on—and an optional sequel device—a device that must turn off before the given device turns off. The sequencing is traditionally accomplished by connecting a “POWER GOOD” (PG) output pin of each POL regulator to an “ENABLE” (EN) input pin of the next POL regulator to be enabled. This is illustrated in
One power management function that is also related to sequencing is fault spreading. Fault spreading refers to a group of POL regulators collectively shutting down upon one or more POL regulators in the group detecting a hardware fault. Part of fault spreading also typically includes the POL regulators collectively retrying operation once all the POL regulators that have detected a hardware fault have transmitted indication of their ability to begin operating again, as determined by the POL regulators' own configuration and fault response programming. The operation is typically retried in accordance with the sequencing configuration of the POL regulators. For example (referring again to
In such a configuration, fault spreading becomes dependent on the echoing of recognized fault event transmissions in order to reach devices in the chain that are distant from the fault originating device's direct sequel/prequel device relationships. It usually limits fault spreading to an individual sequencing chain and to only those devices within a chain that have a sequel or prequel device. This generally requires limiting the echoing of recognized fault event transmissions in order to avoid endless echoes, but makes it very hard for a chain to recognize and process multiple faults. Serial fault spreading generally adds substantial and uncertain delays. In many cases the latencies on the bus can be long enough for echoed faults to be recognized by the device with a primary hardware fault, interfering with that device's own retry attempt. The device may not be able to identify whether the recognized fault event transmission is a new fault found elsewhere in the chain, or the echo of its own fault. There is usually no proper way to apply the fault response and retry the count of a primary hardware fault to the faulted chain as a whole. Furthermore, a head-of-chain device without dependency on a sequel-device for power down sequencing would typically not be able to participate with recognized faults in fault spreading, which may necessitate defining a fault spreading address with no sequencing function.
Other corresponding issues related to the prior art will become apparent to one skilled in the art after comparing such prior art with the present invention as described herein.
In one set of embodiments of a power management system comprising POL (point of load) regulators coupled together via a bus, fault spreading may not be restricted by a serial sequencing configuration, and may handle multiple device faults and fault responses. The POL regulators may implicitly coordinate their operations through monitoring event (status) descriptions that are transmitted as packets of data on the shared bus, (e.g. a serial bus such as I2C or SMBus). The packets may contain status information of the sending, or transmitting POL regulator, without being explicitly addressed to another POL regulator. The packets may not explicitly command another POL regulator to take any specific action. Rather, each POL regulator may make decisions autonomously, based upon knowledge of its own state and the status information being transmitted by other POL regulators onto the shared bus.
In one set of embodiments, a power management system may be configured to allow digital information relating to the power management functions of sequencing and fault spreading to be passed between POL regulators using a standard multi-master multi-slave interface such as I2C bus interface or SMBus interface. POL regulators may be configured using program pins via pin strapping, and coupled to a serial data bus where they may monitor bus transactions initiated by other similar POL regulators. According to their configurations, each POL regulator may respond to the bus transactions initiated by other POL regulators, and may perform a variety of tasks associated with sequencing and fault spreading in addition to regulating its own output voltage. When coupled to a standard multi-master multi-slave interface such as an I2C bus interface or SMBus interface, the POL regulators may report information to multiple other POL regulators while maintaining compatibility with non-POL regulators also connected to the bus.
In one embodiment, as an alternative to the dedicated analog signal connections traditionally used for communication between POL regulators, each POL regulator is configured to generate an event on the shared bus, in which the POL regulator generating the event both identifies itself to the other POL regulators coupled to the bus, and transmits status and monitoring information associated with sequencing and fault spreading. The POL regulators on the same bus may be equally configured to monitor the bus for sequencing and/or fault spreading events, and respond to the events according to the requirements inherent within sequencing and/or fault spreading. Each POL regulator may be configured via pin strapping according to the functionality desired from the POL regulator. Pursuant to its configuration, once the POL regulator is coupled to the bus, it may operate without requiring further control from a local controller or from any of the other POL regulators. Each POL regulator may be configured according to a system plan or system considerations corresponding to the overall power management system, the POL regulators thereby forming a POL regulator network capable of performing the necessary tasks to enable event based sequencing and fault spreading.
In one embodiment, information is distributed to multiple POL regulators coupled to the shared bus by one of the POL regulators identifying itself as a master POL regulator, which may effectively transmit the information to itself. By performing a bus write in which a given POL regulator may send the packet to its own address, the source of the information may be identified by any slave POL regulator configured as part of an address group to which the master POL regulator also belongs. It should be noted that identifying a given POL regulator as a master POL regulator does not imply control of other POL regulators by the given (master) POL regulator. Instead, it is indicative of the given POL regulator's current designation as a bus master by virtue of its originating a transmission. Similarly, the term “slave POL regulator” may simply refer to POL regulators that are currently monitoring the bus for transactions and are not currently transmitting information, but are not in effect controlled by a transmitting master POL regulator. In other words, a master POL regulator may be acting as the bus master to initiate/make a transmission, and remain a peer to other POL regulators while making information available to a group of designated POL regulators. The master POL regulator may not actually behave as a master with respect to the other (slave) POL regulators insofar as it may not actively control the other (slave) POL regulators. In actuality, those skilled in the art may note that in the terminology of certain buses, for example the SMBus, a transmitting device—such as the given POL regulator designated as a master POL regulator above—may simply be regarded as a slave device addressed by its own transmission.
In general, slave POL regulators that may require the information contained in the packet transmitted by a master POL regulator may receive the information from the bus. Therefore, in addition to having its own respective assigned bus address, each POL regulator may be assigned or configured with one or more additional addresses, which may define one or more POL regulator groups enabling specialized group data exchange that may be required by sequencing and fault spreading. The additional address, addresses, or address groups may be used to receive monitoring information transmitted onto the bus by a POL regulator acting as bus master, and to recognize the identity of that bus master POL regulator. Such configuration or configurations are compatible with normal features of shared buses such as the I2C and System Management Bust (SMBus), and other similar buses.
Fault events transmitted by any POL regulator that belongs to a designated address group may be recognized and managed in a fault event vector configured within each POL regulator that belongs to the designated address group. In one set of embodiments, each bit in the vector may represent a member of the designated address group. When a POL regulator that's a member of the designated address group transmits a fault event, the bit corresponding to the transmitting POL regulator may be set in the vector. When a POL regulator transmits a retry event, the bit corresponding to the POL regulator is cleared in the vector. If any bit in the vector is set, the POL regulators in the designated address group may shut down until the vector is cleared. In one set of embodiments, a POL regulator detecting a primary hardware fault may transmit its fault status onto the bus. All POL regulators in the group may monitor all packets transmitted by other POL regulators from the same group, thereby eliminating the need to echo faults to spread them along a chain. Limiting fault spreading to a sequencing chain may therefore also be eliminated. The address group may be defined to be large enough to include all POL regulators that were designated to spread faults mutually. There may be multiple sequencing chains (or no chains) within the address group. In one set of embodiments, a given sequencing chain may be part of a single group.
The foregoing, as well as other objects, features, and advantages of this invention may be more completely understood by reference to the following detailed description when read together with the accompanying drawings in which:
While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description thereto are not intended to limit the invention to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present invention as defined by the appended claims. Note, the headings are for organizational purposes only and are not meant to be used to limit or interpret the description or claims. Furthermore, note that the word “may” is used throughout this application in a permissive sense (i.e., having the potential to, being able to), not a mandatory sense (i.e., must).” The term “include”, and derivations thereof, mean “including, but not limited to”. The term “coupled” means “directly or indirectly connected”.
As used herein, a device coupled to a bus that is “uniquely identified by an address” refers to a device identified by an address or addresses that are not shared with any other device that is also coupled to the bus. That is, the address that identifies a specified device does not identify any other device. However, more than one address may uniquely identify a single device. For example, a device may be uniquely identified by address ‘34ef45’ and also by address ‘34ef44’, but neither ‘34ef45’ nor ‘34ef44’ may identify any other device. Furthermore, “targeting an address” during a bus operation refers to initiating the bus operation addressing a device uniquely identified by the address. For example, if a first device coupled to the bus has a specified first address that uniquely identifies the first device, and a second device initiates a write operation “targeting the specified first address”, then the address information transmitted by the first device as part of initiating the write operation is the specified first address. Furthermore, the terms “bus operation” and “bus transaction” are used interchangeably.
In one set of embodiments, a power management system may be configured with POL regulators coupled together over a bus, and digital information corresponding to sequencing and fault spreading passed between the POL (point-of-load) regulators employing a standard multi-master multi-slave interface, for example an I2C bus interface or SMBus interface. Each POL regulator may be statically configured during manufacturing or via pin strapping, and coupled to a bus (e.g. a serial data bus), where it may monitor bus transactions initiated by other similar POL regulators. In some embodiments the POL regulators may also be dynamically configured over the bus. Each POL regulator may respond to the bus transactions—which may be considered to be bus events—initiated by other POL regulators, thereby enabling event based sequencing and fault spreading according to each POL regulator's configuration and any given bus transaction or bus event. When coupled to a standard multi-master multi-slave interface (e.g. an I2C bus interface or SMBus interface), the POL regulators may report information to multiple other POL regulators while maintaining compatibility with non-POL regulators also connected to the bus.
In one set of embodiments, a power management system may be configured with a multi-master multi-slave bus having a pre-existing bus protocol and coupling multiple POL regulators together. The behavior of the multiple POL regulators may be coordinated via a transmission technique using the pre-existing bus protocol, enabling event-based sequencing and fault spreading without requiring central and/or direct control of the POL regulators. During sequencing, for example, the exchanged information may have a single origination point—a master POL regulator—and multiple destination points—slave POL regulators. The POL regulators may be configured with respective serial bus interfaces so that each POL regulator may receive all event transmissions within a defined group to which the POL regulator may belong. A group definition may be automatic, and group membership may be conveyed by the configuration of a POL regulator's address.
An example of a POL regulator that may deliver information to, and receive information from a load and/or other POL regulators via an interface that is adapted for multi-functionality is illustrated in
Transmission of all events may be configured by a single bit to allow or inhibit event transmissions, as the ability to turn off an event transmission may be crucial in applications where the external master may not permit multi-master operation on the serial bus. In one set of embodiments, sequencing configuration may be flexible, allowing any group member to be either a prequel or a sequel device for any other group member. A single configuration bit may be used to enable or inhibit the fault spreading response within a POL regulator. Overall, collective fault spreading behavior may implicitly follow hardware fault responses. Furthermore, fault spreading may not require “discovery” of who the group members are, or the explicit establishment of a group of participating devices. Event communication may occur within groups of devices. Group membership may be established in a variety of ways. In some embodiments, group membership may be a function of a POL regulator's base address associated with the bus to which the POL regulators are coupled. Group members may differ only in a defined few address bits (e.g. 3, optionally 4 or more address bits as required).
As illustrated in
As shown above, various embodiments of a power management system may be configured with POL regulators (such as the POL regulator shown in
In one embodiment, the POL regulators may communicate with each other using a multi-master/multi-slave bus architecture. Information may be identified as having originated from a given POL regulator and may be distributed to multiple destinations by allowing the originating POL regulator to effectively transmit the information to itself. For example, a given POL regulator having address 0×01 may transmit its measured output voltage to other POL regulators on the bus by performing a bus write, where the target address for the bus write is the given POL regulator's own address. For a possible structure of the POL regulator(s) shown in FIG. 7—considering for example POL regulator 740a—a register or registers may be configured as part of either control logic 742a or communication logic 744a, to store the POL regulator's address. The write operation itself may not necessarily occur, given that the POL regulator may act as the bus master to send the packet, and may therefore not need to respond as a slave to its own address within the packet. By performing a bus write in which a given POL regulator may be sending the packet to its own address, the source of the data (e.g. address 0×01) may be identified by any slave device (e.g. POL regulators configured to voltage track device 0×01) needing to receive the data from the bus during the transaction.
When no two devices are allowed to share a bus address, it is safe for a given device to initiate bus operations using the given device's address as the target address for the bus operations (e.g. the given device performing a write to its own address) without the risk of bus failure or contention. Since devices not associated with power delivery (that is, non-POL devices) may be configured to simply ignore such bus operations, this method of transferring information to a set of POL regulators would remain compatible with non-power (or non-POL) devices. Furthermore, in addition to having its own respective assigned bus address, each POL regulator may be assigned or configured with one or more other addresses or address groups. The additional addresses may define one or more POL regulator groups, enabling specialized group data exchange that may be required by sequencing and/or fault spreading. The additional address, addresses, or address groups may be used to receive data transmitted onto the bus by a POL regulator acting as bus master, and for other POL regulators to recognize the identity of the master POL regulator. Such configuration or configurations are compatible with normal features of already existing buses (and corresponding bus protocols) such as the I2C and System Management Bus (SMBus) for example, both of which allow for bus arbitration and clock stretching as potentially required by the master and slave devices. Each POL regulator may be configured with an additional assigned address or addresses that are uniquely different from a respective address used by a local controller, which may also be coupled to the bus, to address a given POL regulator. The additional addresses may be used exclusively for implementing a select set of features (e.g. sequencing and/or fault spreading) in which case the use of these additional addresses may uniquely distinguish the group communication packets corresponding to that set of features from conventional bus traffic originated by the local controller.
In one embodiment, each POL regulator required to transfer information to other POL regulators first becomes the bus master to initiate a transmission, which the transmitting POL regulator may begin by transmitting its own address (following a ‘start bit’ in some embodiments.)
In one embodiment, POL regulators may be configured with an I2C, SMBus, or other shared bus interface (for example bus 750 in
Referring again to
For example, if the seven address bits in the Second-Address register are ‘1101011’, as shown for POL regulator 1002 in
It should be noted that the number of bits within an address register and the number of address registers within each POL regulator were selected for illustrative purposes, and alternative embodiments may be configured with buses featuring packet sizes other than one byte, and may include more or less than two address registers and one mask register, where an address register and/or mask register may be configured with more or less than seven bits. Furthermore, address groups may be defined by specified address ranges, in which case mask registers may not be required for configuring each POL regulator's address recognition function. Referring back to POL regulator 702a in
Synchronous bus architectures typically distribute a clock signal and one or more data signals. Each pulse on the clock signal may trigger the transfer of one bit of information on the data signals. In the case of the I2C bus, the data signal SDA 604 may transition to the next bit value to be transmitted after each falling edge of the clock signal SCL 602, as shown by an exemplary timing diagram in
Standard devices on a bus like the I2C bus are generally configured to ignore transitions on SDA line 604 while SCL signal line 602 resides in a low state. The clock rate typically used in such systems may be relatively low. Furthermore, the I2C specifications and related SMBus specifications include clock stretching capability, that is, where both master and slave devices may be able to extend the time period during which SCL signal 602 resides in a low state. Therefore, data traffic may be embedded on SDA line 604 even while SCL signal 602 resides in a low state. In one embodiment, additional data is transmitted in bursts on the data line (SDA) while the bus clock (SCL) resides in its low state. As illustrated in
In one set of embodiments, the bus addresses assigned to the POL regulators (e.g. as shown in
Sequencing and fault spreading may also be implemented using the group address recognition capability described above. Referring again to
Fault events transmitted by any POL regulator belonging to a designated address group may be recognized and managed in a fault event vector (FEV) configured within each POL regulator belonging to the designated address group, as shown for example in
In one set of embodiments, a POL regulator detecting a primary hardware fault may transmit its fault status onto the bus. All POL regulators in the group may monitor all packets transmitted from other POL regulators from the same group, thereby eliminating the need to echo faults to spread them along a chain. Limiting fault spreading to a sequencing chain may therefore also be eliminated. The address group may be defined to be large enough to include all POL regulators that were designated to spread faults mutually. There may be multiple sequencing chains (or no chains) within the address group. In one set of embodiments, a given sequencing chain may be part of a single group. Once fault spreading has been enabled, a POL regulator may have to recognize fault events transmitted by any one or more of all other POL regulators in the group. However, in certain embodiments, the POL regulators may be divided into separate, and therefore non-interacting groups, which may provide additional configuration options resulting in reduced response latency for fault spreading.
Fault spreading operation according to one embodiment will now be described in more detail. As previously mentioned, the full address of each recognized event may be used to interpret a fault event transmission, and a FEV may be maintained by each POL regulator of the group to record the fault status of all other POL regulators of the group. With the introduction of the “retry event” used to clear the bits in the FEV, the fault response discipline may be implicitly spread to the entire group. When a POL regulator recognizes a hardware fault that may cause it to disable its output (and/or shutdown, and/or take any other previously determined/configured action), it may transmit a fault event onto the bus. This fault event transmission may not be addressed to any other POL regulator, yet all the POL regulators in the group may recognize the event and set the group fault vector bit corresponding to the originating POL regulator in their respective FEVs. For example, as shown in
As shown in
As mentioned above, the transmitting POL regulator may acknowledge its own address as a result of having addressed itself in initiating a transmission. This may enable the POL regulator to operate on the bus according to a pre-existing bus protocol that may require each addressed device to acknowledge its address during a bus transaction. Examples of such bus protocols include the SMBus and I2C specifications. By operating within the established specifications of such bus protocols, a coincidental transmission by an external controller (such as local controller 108 in
If the fault response state of the POL regulator that recognized the hardware fault (in the example above POL regulator 1002) is such that the POL regulator should retry, it may transmit a fault clear event, as shown for example in
In one set of embodiments, if the fault response state of POL regulator results in the POL regulator leaving its voltage output disabled, or shutdown, all POL regulators in the group may also keep their respective voltage outputs disabled, or shutdown, until the primary fault condition has been processed, and a fault clear event is transmitted to the group, or the entire group may be disabled and re-enabled by an external controller or other means. In case multiple hardware faults are detected within a group, the POL regulators may set multiple bits in their respective FEVs, with the bits corresponding to all the POL regulators that have detected hardware faults, transmitting respective fault events to the bus as a result. Each transmission may occur as exemplified in
In one set of embodiments, in order to minimize firmware cost (i.e. code size), a fixed group size may be designated, for example a group of 8 devices. That choice may be convenient since the fault vector may thus fit in a single byte. Another convenience for implementation may be to configure the unique address bits of the POL regulators of a group to be the LSBs of the bus address (as shown for example in
In one set of embodiments, when configuring POL regulators to communicate with each other using a pre-existing bus such as an I2C bus or SMBus as described above, only a subset of the pins normally required for a standard implementation of the pre-existing bus may be needed. In other words, proprietary bus functionality embedded in the standard bus protocol of the utilized bus (to provide the required communication capabilities for power management functions) may be accomplished with fewer pins than what a standard bus interface for the utilized bus may require. For example, in case of applications that require an I2C interface only for implementing communications between POL regulators, a single pin, rather than two I2C pins, may be sufficient. Thus, a single-wire bus may be used to implement the necessary communication capabilities for power management functions on that pin. In addition, as previously mentioned, POL regulators may have multiple bus interfaces, as shown for example in
It should also be noted that while the above examples presented a bus write as a means for transmitting information from one POL regulator to another, a bus read may be used in a similar manner to transfer the information. That is, the originating POL regulator may effectively read from itself. However, slave POL regulators in its group may need to be configured to recognize the master POL regulator's address without responding to the packet in the same manner in which they would respond to a conventional bus read from the local controller. In other words, the POL regulators may be required to not supply data in response to the read bit. This mode of operation may involve additional non-standard device behavior, and may introduce additional overhead in the packet by adding a repeated start signal and address to accomplish setting the read bit.
Although the embodiments above have been described in considerable detail, other versions are possible. Numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations and modifications. Note the section headings used herein are for organizational purposes only and are not meant to limit the description provided herein or the claims attached hereto.
Patent | Priority | Assignee | Title |
10063839, | Dec 13 2010 | Nokia Technologies Oy | Method and apparatus for 3D capture synchronization |
10139875, | Feb 20 2014 | Qualcomm Incorporated | Farewell reset and restart method for coexistence of legacy and next generation devices over a shared multi-mode bus |
10152440, | Mar 30 2016 | Qorvo US, Inc. | Slave device identification on a single wire communications bus |
10176130, | Mar 30 2016 | Qorvo US, Inc. | Slave device identification on a single wire communications bus |
10185683, | Dec 18 2013 | Qorvo US, Inc | Bus interface system |
10198384, | Mar 01 2016 | Qorvo US, Inc.; Qorvo US, Inc | One wire bus to RFFE translation system |
10282269, | Dec 18 2013 | Qorvo US, Inc | Read technique for a bus interface system |
10437772, | Mar 24 2016 | Qorvo US, Inc. | Addressing of slave devices on a single wire communications bus through register map address selection |
10459862, | Nov 29 2016 | STMicroelectronics S.r.l. | Dynamic definition of slave address in I2C protocol |
10528502, | Dec 18 2013 | Qorvo US, Inc | Power management system for a bus interface system |
10540226, | Dec 18 2013 | Qorvo US, Inc | Write technique for a bus interface system |
10558607, | Feb 01 2017 | Qorvo US, Inc. | Bus interface system for power extraction |
10579128, | Mar 01 2016 | Qorvo US, Inc.; Qorvo US, Inc | Switching power supply for subus slaves |
10579580, | Dec 18 2013 | Qorvo US, Inc | Start of sequence detection for one wire bus |
10599539, | Dec 18 2013 | Qorvo US, Inc. | Read technique for a bus interface system |
10599601, | Jan 16 2019 | Qorvo US, Inc. | Single-wire bus (SuBUS) slave circuit and related apparatus |
10698847, | Mar 01 2016 | Qorvo US, Inc.; Qorvo US, Inc | One wire bus to RFFE translation system |
10983942, | Dec 11 2019 | Qorvo US, Inc. | Multi-master hybrid bus apparatus |
10999568, | Dec 13 2010 | Nokia Technologies Oy | Method and apparatus for 3D capture synchronization |
11106615, | Jan 16 2019 | Qorvo US, Inc. | Single-wire bus (SuBUS) slave circuit and related apparatus |
11119958, | Apr 18 2019 | Qorvo US, Inc. | Hybrid bus apparatus |
11226924, | Apr 24 2019 | Qorvo US, Inc. | Single-wire bus apparatus supporting slave-initiated operation in a master circuit |
11409677, | Nov 11 2020 | Qorvo US, Inc. | Bus slave circuit and related single-wire bus apparatus |
11489695, | Nov 24 2020 | Qorvo US, Inc. | Full-duplex communications over a single-wire bus |
11706048, | Dec 16 2021 | Qorvo US, Inc.; Qorvo US, Inc | Multi-protocol bus circuit |
11748261, | Jul 24 2020 | EATON INTELLIGENT POWER LIMITED | Automatic address generation for modular electronic devices |
11847079, | Apr 12 2021 | STMicroelectronics S.r.l. | Dynamic addressing system and method in a digital communication interface |
8239597, | Jul 18 2008 | INTERSIL AMERICAS LLC | Device-to-device communication bus for distributed power management |
8407388, | Nov 03 2006 | Robert Bosch GmbH | Device and method for manipulating communication messages |
8515342, | Oct 12 2005 | DIRECTV, LLC | Dynamic current sharing in KA/KU LNB design |
9014825, | Jun 16 2009 | Maxim Integrated Products, Inc. | System and method for sequentially distributing power among one or more modules |
9478982, | Jul 22 2013 | Analog Devices International Unlimited Company | Power supply system and method |
Patent | Priority | Assignee | Title |
5117430, | Feb 08 1991 | CISCO TECHNOLOGY, INC , A CORPORATION OF CALIFORNIA | Apparatus and method for communicating between nodes in a network |
5646509, | Dec 01 1995 | International Business Machines Corporation | Battery capacity test and electronic system utilizing same |
5675480, | May 29 1996 | Hewlett Packard Enterprise Development LP | Microprocessor control of parallel power supply systems |
5935252, | Aug 18 1997 | International Business Machines Corporation | Apparatus and method for determining and setting system device configuration relating to power and cooling using VPD circuits associated with system devices |
6079026, | Dec 11 1997 | ST CLAIR INTELLECTUAL PROPERTY CONSULTANTS, INC | Uninterruptible memory backup power supply system using threshold value of energy in the backup batteries for control of switching from AC to DC output |
6199130, | Jun 04 1998 | International Business Machines Corporation | Concurrent maintenance for PCI based DASD subsystem with concurrent maintenance message being communicated between SPCN (system power control network) and I/O adapter using PCI bridge |
6262900, | May 22 1998 | Muuntolaite Oy | Modular power supply system with control command verification |
6396167, | Mar 30 1999 | The Aerospace Corporation | Power distribution system |
6470382, | May 26 1999 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Method to dynamically attach, manage, and access a LAN-attached SCSI and netSCSI devices |
6563294, | Oct 10 2000 | Infineon Technologies Austria AG | System and method for highly phased power regulation |
6754720, | Mar 02 2001 | PMC-SIERRA, INC | Automatic addressing of expanders in I/O subsystem |
6788035, | Jun 12 2001 | Infineon Technologies Austria AG | Serial bus control method and apparatus for a microelectronic power regulation system |
6915440, | Jun 12 2001 | LENOVO SINGAPORE PTE LTD | Apparatus, program product and method of performing power fault analysis in a computer system |
6936999, | Mar 14 2003 | BEL POWER SOLUTIONS INC | System and method for controlling output-timing parameters of power converters |
6944686, | Oct 04 2001 | Renesas Electronics Corporation | Data transfer control circuit with terminal sharing |
6949916, | Nov 12 2002 | BEL POWER SOLUTIONS INC | System and method for controlling a point-of-load regulator |
6965502, | Mar 21 2001 | Infineon Technologies Austria AG | System, device and method for providing voltage regulation to a microelectronic device |
7000125, | Dec 21 2002 | BEL POWER SOLUTIONS INC | Method and system for controlling and monitoring an array of point-of-load regulators |
7049798, | Nov 13 2002 | BEL POWER SOLUTIONS INC | System and method for communicating with a voltage regulator |
7080265, | Mar 14 2003 | BEL POWER SOLUTIONS INC | Voltage set point control scheme |
7206944, | Oct 30 2001 | Lenovo PC International | Electrical apparatus, computer, and power switching method |
7365661, | Nov 14 2002 | Exar Corporation | Power converter circuitry and method |
7459892, | Nov 12 2002 | BEL POWER SOLUTIONS INC | System and method for controlling a point-of-load regulator |
20010007118, | |||
20030070020, | |||
20040093533, | |||
20040123164, | |||
20040123167, | |||
20040255070, | |||
20050200344, | |||
20060172783, | |||
20060172787, | |||
WO231943, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
May 12 2006 | WISHNEUSKY, JOHN A | ZILKER LABS, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 017898 | /0945 | |
May 17 2006 | Zilker Labs, Inc. | (assignment on the face of the patent) | / | |||
Apr 27 2010 | ZILKER LABS, INC | MORGAN STANLEY & CO INCORPORATED | SECURITY AGREEMENT | 024312 | /0001 | |
Apr 27 2010 | PLANET ATE, INC | MORGAN STANLEY & CO INCORPORATED | SECURITY AGREEMENT | 024312 | /0001 | |
Apr 27 2010 | D2Audio Corporation | MORGAN STANLEY & CO INCORPORATED | SECURITY AGREEMENT | 024312 | /0001 | |
Apr 27 2010 | Elantec Semiconductor, Inc | MORGAN STANLEY & CO INCORPORATED | SECURITY AGREEMENT | 024312 | /0001 | |
Apr 27 2010 | Intersil Americas Inc | MORGAN STANLEY & CO INCORPORATED | SECURITY AGREEMENT | 024312 | /0001 | |
Apr 27 2010 | KENET, INC | MORGAN STANLEY & CO INCORPORATED | SECURITY AGREEMENT | 024312 | /0001 | |
Apr 27 2010 | QUELLAN, INC | MORGAN STANLEY & CO INCORPORATED | SECURITY AGREEMENT | 024312 | /0001 | |
Apr 27 2010 | INTERSIL COMMUNICATIONS, INC | MORGAN STANLEY & CO INCORPORATED | SECURITY AGREEMENT | 024312 | /0001 | |
Apr 27 2010 | Techwell, INC | MORGAN STANLEY & CO INCORPORATED | SECURITY AGREEMENT | 024312 | /0001 | |
Apr 27 2010 | Intersil Corporation | MORGAN STANLEY & CO INCORPORATED | SECURITY AGREEMENT | 024312 | /0001 | |
Dec 23 2011 | ZILKER LABS, INC | ZILKER LABS LLC | CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 032467 | /0199 | |
Mar 29 2013 | ZILKER LABS LLC | INTERSIL AMERICAS LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 032466 | /0332 |
Date | Maintenance Fee Events |
Sep 23 2013 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Sep 25 2017 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Nov 08 2021 | REM: Maintenance Fee Reminder Mailed. |
Apr 25 2022 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Mar 23 2013 | 4 years fee payment window open |
Sep 23 2013 | 6 months grace period start (w surcharge) |
Mar 23 2014 | patent expiry (for year 4) |
Mar 23 2016 | 2 years to revive unintentionally abandoned end. (for year 4) |
Mar 23 2017 | 8 years fee payment window open |
Sep 23 2017 | 6 months grace period start (w surcharge) |
Mar 23 2018 | patent expiry (for year 8) |
Mar 23 2020 | 2 years to revive unintentionally abandoned end. (for year 8) |
Mar 23 2021 | 12 years fee payment window open |
Sep 23 2021 | 6 months grace period start (w surcharge) |
Mar 23 2022 | patent expiry (for year 12) |
Mar 23 2024 | 2 years to revive unintentionally abandoned end. (for year 12) |