Serial bus protocol encoding for voltage regulator with support for DVFS

Systems and methods for changing an output voltage of a voltage regulator are disclosed. A voltage change command that is serially transmitted from a control system to a voltage regulator is used to indicate that a change is output voltage is requested. The voltage change command is a serial stream that is less than a byte in length and includes a 1-bit write operation field, a 1-bit voltage change field and up to 6 bits of voltage change information.

FIELD OF THE INVENTION

This invention relates generally to a voltage regulator, and more particularly, to the control of a voltage regulator to change an output voltage of the regulator, and still more particularly, to reducing latency in the signaling used to direct the voltage regulator to change an output voltage.

BACKGROUND OF THE INVENTION

One use of a voltage regulator is to adjust a voltage of power applied to a load. In particular, a voltage regulator may be used to support Dynamic Voltage and Frequency Scaling (DVFS) in a master processor of a personal mobile device, such as a smart phone. In DVFS, a voltage regulator is used to adjust the voltage applied to circuitry in the master processor over an operable range to control the processing speed of master processor. Thus, it is desirable for a voltage regulator to change the applied voltage as quickly as possible to reduce latency in applying the desired voltage to circuitry.

One factor in the speed that a voltage regulator changes the applied voltage is the signaling needed by a control system to communicate with the voltage regulator to indicate that voltage change is desired. Several techniques have been used to reduce the amount of time needed due to the time needed for a voltage regulator to receive a voltage change command. In one technique, dedicated pins connected to control logic in a voltage regulator are used to provide signals that control the output voltage of the regulator. However, the use of dedicated pins causes physical area overhead in the packaging and the Printed Circuit Board (PCB) routing of the voltage regulator. In addition, the use of dedicated pins adds to the production costs of the voltage regulator.

A second technique uses a serial bus to communicate voltage change commands from the control system to the voltage regulator. The use of a bus does reduce the physical area overhead of a voltage regulator. However, the use of a serial bus may add transmission latency to the voltage change to account for the voltage regulator receiving the command. Typically, the latency added is along the order of the period of a clock multiplied by the length of a voltage change command.

For example, a Serial Peripheral Interface (SPI) bus using SPI protocol may be used to provide the voltage change commands from a control system to a voltage regulator. A typical SPI command includes one bit field to distinguish a read versus a write operation, an address field of one or more address bits, an optional transaction field of optional length bits, and a data field of one or more data bits. In addition, the SPI command may include pad bits before, after, and/or between any of the described fields. In most applications, an SPI command is at least 24 bits or 3 bytes long. Thus, the latency caused by the command is at least 24 multiplied by the period of the clock signal used to synchronize the SPI transfer.

SUMMARY

Systems and methods in accordance with some embodiments of the invention may reduce the time needed to communicate a voltage change to a voltage regulator without the constraints placed on packaging and PCB routing caused by further additional pins. Furthermore, in various embodiments no additional hardware costs may be added to the production costs in order to reduce the communication time in accordance with many embodiments. Still further, in some embodiments latency of transmission of a change of voltage command may be reduced by a factor of three or more over other systems that use a serial bus to transmit a voltage change command from a control system to a voltage regulator.

Control logic in a voltage regulator performs the following process to use serial bus encoding to communicate voltage change commands in accordance with some embodiments of the invention. The control logic of a voltage regulator receives a serial stream of a plurality of bits. The number of bits in the serial stream is less than or equal to a byte. The control logic determines whether a portion of the serial stream indicates a voltage change command. If the serial stream indicates a voltage change command, the control logic determines a desired voltage change from voltage change information in a portion of the serial stream and causes the voltage regulator to change an output voltage from a previous output voltage to a new output voltage based on the desired voltage change. In some embodiments the serial stream indicates a voltage change command with a single bit.

In accordance with many embodiments, the control logic detects when the serial stream is being transmitted to the voltage regulator. In accordance with some further embodiments, the control logic receives a clock signal and uses the clock signal to receive the serial stream. The control logic also detects a write operation indicator in the serial stream in accordance with a number of embodiments. In accordance with some of these embodiments, the control logic determines the serial stream includes voltage change command by detecting a voltage change indicator in the serial stream. In accordance with some of these embodiments, the write operation indicator is a first bit of the serial stream and the voltage change indicator is a second bit in the serial stream.

In accordance with some embodiments of the invention, a control system communicates with a voltage regulator in the following manner to change an operating voltage of the voltage regulator. The control system receives an indication that an output voltage of a voltage regulator is to change. In response to the indication to change the output voltage, the control system generates a serial stream of bits that provide a voltage change command. The number of bits in the serial stream is less than or equal to a byte. The control system transmits the serial stream including the voltage change command to the voltage regulator.

In accordance with many embodiments, the control system generates a select signal that indicates the voltage regulator is to receive the serial stream. The select signal is applied by the control system to a select path connected to the voltage regulator. In accordance with some of these embodiments, the control system obtains a clock signal and provides the clock signal to the voltage regulator over a clock bus. In accordance with many of these embodiments, the control system inserts a write operation indicator in the serial stream. The control system also inserts a voltage change indicator in the serial stream in accordance with a number of these embodiments. In accordance with a few of these embodiments, the write operation indicator is a first bit of the serial stream and the voltage change indicator is a second bit in the serial stream.

These and other aspects in accordance with various embodiments of the invention are more fully comprehended in light of the drawings and the following description.

DETAILED DESCRIPTION

A voltage regulator in accordance with some embodiments of the invention changes an output voltage in response to a voltage change command received from a control system over a serial bus. In accordance with many embodiments, the length of the voltage change command is reduced to less than a byte. The voltage change command in accordance with some of these embodiments is a serial stream of bits that includes a request for a voltage change in one portion of the serial stream and voltage change information indicating the desired voltage in a second portion of the stream.

In accordance with some embodiments that use the SPI protocol for transmissions between the control system and the voltage regulator, the request for a voltage change portion includes a first bit that indicates a write operation from the control system to the voltage regulator and a second bit that indicates a voltage change command. The voltage change information portion is not more than 6 bits in length and follows the voltage change indicator bit. The voltage change information includes data that is used to determine the new output voltage. The use of a single byte to transmit the command reduce the transmission latency by approximately a factor of 3 over conventional SIP commands. In accordance with a number of these embodiments, the voltage information portion is a 3-bit sequence that may indicate up to 8 different desired voltages that reduces the transmission latency by a factor of 4.8.

The encoding of the voltage change command by a control system and the operation of a voltage regulator in response to receiving a voltage change command in accordance with various embodiments of the invention are described in detail below.

FIG. 1illustrates a DC-DC switch converter that acts as a voltage regulator in accordance with an embodiment of the invention. It will be noted that the DC-DC switch converter shown inFIG. 1is an example of a voltage regulator and that certain components of the converter have been omitted from clarity and brevity. InFIG. 1, the DC-DC switch converter operates switches111to regulate voltage applied to a load119. In doing so, the converter operates the switches111based signals received from a control system via bus130and/or comparator121. The DC-DC switch converter shown inFIG. 1includes control logic113, switches111, output inductor115, output capacitor117, reference voltage generator123and comparator121.

Control logic113receives signals from a control system via bus130and signals from comparator121. Bus130is connected to a control system (not shown) and includes chip select path131, serial data path132, and clock path133. Chip select path131is used to provide a signal that the control system is communicating with control logic113. Serial data path132is used to transmit data from a control system at a rate of one bit per clock period. Clock path133is used to transmit a clock signal from the control system to control logic113for use in reading data from serial data path132. In accordance with some embodiments, data is transmitted via bus130using a serial data protocol. In accordance with many of these embodiments, the serial data protocol used is SPI.

Switches111are connected in series between a high voltage source and a low voltage source. In accordance with some embodiments, the low voltage source is ground. The outputs of switches111are connected to output inductor115. The gates of switches are connected to control logic113to allow control logic113to activate and deactivate the switches to apply current from high voltage source or low voltage source to output inductor115. Switches111provide the current to output inductor115in accordance with a configuration specified by control logic113.

A first terminal of the output inductor115is connected to a node between switches111. A second, output terminal of output inductor115is connected to a first terminal of output capacitor117. Output capacitor117also has a second terminal connected to ground. The output capacitor117generally supplies an output voltage to a terminal of load119, which is shown as having another terminal connected to ground.

Comparator121receives as inputs the output of the output inductor115/output capacitor117and a reference voltage from reference voltage generator123. Reference voltage generator123provides a reference voltage that has a magnitude equal to the desired output voltage of the DC-DC converter, minus a tolerance amount. Reference voltage generator123determines the reference voltage from the signals received via bus130. In general, it is preferred that the DC-DC converter provide an output voltage equal to the reference voltage, but not lower than the reference voltage minus the tolerance amount. Comparator121is configured to produce a signal indicating whether the output voltage of the DC-DC converter is greater than or less than the reference voltage minus the tolerance amount. In some embodiments, comparator121outputs a high signal when the output voltage is lower than the reference voltage minus the tolerance amount, and outputs a low signal otherwise.

Control logic113receives signals resulting output by comparator121and signals from bus130. The configuration of gates111is adjusted by control logic113to provide a current from the voltage sources that causes the determined desired output to be generated voltage and applied to load119.

Although a DC-DC switch converter that acts as voltage regulator in accordance with various embodiments of the invention is described with reference toFIG. 1, other DC-DC switch convertors and/or system that perform as voltage regulators that add, combine, modify and/or remove components shown inFIG. 1are possible in accordance with various other embodiments of the invention.

FIG. 2illustrates a block diagram of components of a control system communication with a voltage regulator, in accordance with an embodiment of the invention. Control system200includes a processing system205. Processing system205is circuitry that performs instructions stored in memory to perform a process. In accordance with various embodiments of the invention, processing system205may be a processor, microprocessor, controller, logic unit, or any combination of the preceding components in accordance with various embodiments of the invention.

DVFS circuitry230in control system200is connected to processing system205to communicate with processing system205. IDVFS circuitry230receives signals that indicating a desired voltage to be applied to processing system205. In accordance with some embodiments, the signals indicate a desired voltage level. In accordance with some other embodiments, the signals indicate a current state of processing system205and DVFS circuitry230determines a current desired voltage for processing system205based on the signals. Based on the desired voltage, DVFS circuitry230may issue a voltage change command to a voltage regulator when needed. Voltage change commands in accordance with various embodiments of the invention are discussed in more detail with respect toFIGS. 3-7.

An SPI interface235is a bus interface that generates proper signals for transmission over communications bus220and applies the signals to the proper paths of communications bus220to communicate with a voltage regulator250also connected bus220. SPI interface235generates signals in accordance with an SPI protocol. In accordance with various other embodiments, other interfaces that generate signals in different protocols may replace SPI interface235in control system200. In accordance with a number of embodiments, SPI interface also includes circuitry for receiving signals from voltage regulator250and converting the signals to data for use by control system200.

Control system200includes communications bus220that connects control system200to a voltage regulator250to communicate with voltage regulator250. The voltage regulator may be as discussed with respect toFIG. 1, for example. Communications bus220includes a chip select path221, a serial data path222, and a clock path223. Chip select path221is a path used to transmit a signal from control system200to the voltage regulator to indicate that the control system is communicating with the voltage regulator via serial data path221. Serial data path221is a data path that communicates a single bit of data over the path per clock period to allow data to be passed from control system200to the voltage regulator250. Clock path223is used to transmit a clock signal from control system200to the voltage regulator250for use in reading data from serial bus path221. In accordance with some embodiments, communications over bus220are serial communications where data is sent over a single path of the bus at a rate of one bit per period of the provided clock. In accordance with many of these embodiments, a serial data protocol is used to transmit the data. In accordance with a number of these embodiments, the serial data protocol used is SPI.

Voltage regulator250communicates with control system200over bus220. In accordance with some embodiments, the voltage regulator250is configured in the manner described with reference toFIG. 1. In accordance with many embodiments of the invention, voltage regulator250receives a voltage change commands issued by DVFS circuitry230via bus220, changes the current output voltage to a desired output voltage based on the voltage change command and applies the desired voltage is applied to processing system205.

Although control systems and voltage regulators in accordance with various embodiments of the invention are described with reference toFIG. 2, other processing systems and/or voltage regulators that add, remove, modify, and/or combine components based on the system requirements of the particular control systems and voltage regulators are possible in accordance with various other embodiments of the invention.

FIG. 3is a flow diagram of a process performed by a control system to change an output voltage of a voltage a regulator in accordance with an embodiment of the invention. In accordance with many embodiments, the process is performed by DVFS circuitry in the control system. In process300, the control system determines that the output voltage of the voltage regulator is to be changed (305). In accordance with some embodiments, the need for the change is determined based on data received from the voltage regulator. In accordance with many embodiments, the need for the change is determined from data received from another system. In some of these embodiments, the data is received from a processing system receiving the output voltage from the voltage regulator. The control system determines a new desired output voltage for the voltage regulator and/or the amount of the change needed in the current output voltage of the voltage regulator (310). In accordance with some embodiments, the desired output voltage and/or amount to change current output voltage is determined based on data received from the voltage regulator. In accordance with many embodiments, the desired output voltage and/or amount to change current output voltage is determined based on data received from another system. In a number of these embodiments, the

The control system generates a voltage change command (315). The voltage change command is less than one byte and includes a voltage change request portion and voltage change information portion. In accordance with some embodiments, the voltage change request portion includes a write operation indicator in a write operation filed and voltage change indicator in a voltage change field. In accordance with many of these embodiments, the write operation field is a one bit field and/or the voltage change field is a one bit field. In a number of these embodiments, the write operation field is the first bit of voltage change command and the voltage change field is a second bit of the voltage change command. In accordance with some embodiments, the voltage change information portion is up to six bits in length. In accordance with a number of these embodiments, the voltage change information is three bits in length. In accordance with many embodiments, the voltage change information is a field that is 3 to 6 bits in length. In a number of these embodiments, the voltage change information field is after the voltage change field in a voltage change command.

The control system applies a signal to the chip select path connected to the voltage regulator to indicate that the control system is communicating with the regulator (320). In accordance with some embodiments, the signal may be driving the chip select path high. In accordance with some other embodiments, the signal may be driving the chip select path low. The control system obtains a clock signal (325) applies the clock signal to the clock signal path of the bus connected to the voltage regulator (330) for use by the voltage regulator to obtain data transmitted from the control system. In accordance with some embodiments, the clock signal may be obtained from a clock in the control system. In accordance with some other embodiments, the clock signal may be obtained from a system clock external to the control system. The control system serially transmits the generated voltage change command over a serial data path of the bus to the voltage regulator (335) and process300ends.

Although various embodiments of a process performed by control systems to change an output voltage of a voltage regulator are described with reference toFIG. 3, other processes for changing the voltage output of a voltage regulator that add, combine, modify, and/or remove steps of the processes may be performed in accordance with various other embodiments of the invention.

FIG. 4illustrates a flow diagram of a process performed by a voltage regulator to change an operating voltage of the regulator in accordance with an embodiment of the invention. In accordance with some embodiments, process400is performed by a voltage reference generator, for example the voltage reference generator123ofFIG. 1. In accordance with some embodiments, process400is performed by control logic in the voltage regulator. In process400, the voltage regulator receives a signal over the chip select path indicating that the control system is communicating with the voltage regulator (405). In accordance with some embodiments, the chip select path is set high to indicate the control system is communicating with the voltage regulator. In accordance with some other embodiments, the chip select path is set low to indicate the control system is communicating with the voltage regulator. The voltage regulator obtains the clock signal from the clock path (410). The data transmitted by the control system is read from the serial data path based upon the obtained clock signal (415).

As the data is being read, the voltage regulator determines whether the data is a voltage change command (420). In accordance with some embodiments, the determination includes determining whether the data includes a voltage change command. In accordance with many of these embodiments, the determination includes determining whether a write operation is indicated in a write operation filed. In response to a write operation is indicated, the voltage regulator determines whether a voltage change indicator is present in a voltage change field.

If the regulator determines that data is a voltage change command, the voltage regulator obtains the voltage information (425). In accordance with some embodiments, the voltage regulator obtains the voltage change information by reading a certain number of the next bits received. The obtained voltage change information is then used to determine a new output voltage and/or a change in the current output voltage. (430). In accordance with some embodiments, the voltage change information is used to calculate the new output voltage and/or the change in the current output voltage. In accordance with some other embodiments, the voltage change information may be used to determine a register, set of registers, or portion of memory that stores the new output voltage value and the new output voltage value is read designated register(s). The voltage regulator generates the new output voltage (435) and applies the new output voltage to the load (440). In accordance with some embodiments, the load is processor system. After the new voltage is being applied to the load, process400ends.

Although various embodiments of a process performed by a voltage regulator to change an output voltage based on a command from a control system are described with reference toFIG. 4, other processes for changing the voltage output of a voltage regulator that add, combine, modify, and/or remove the disclosed steps of these processes may be performed in accordance with various other embodiments of the invention.

In accordance with some embodiments of the invention, the transmission latency for a voltage change command is reduced based upon the encoding of the voltage change command. The voltage change command is a byte or less in length in accordance with many of these embodiments. In accordance with a number of these embodiments, the voltage change command is encoded based on the SPI protocol. As such, the latency may be reduced by factor of three based upon the encoding of the voltage change command in accordance with many embodiments of invention.FIG. 5illustrates a voltage change command encoded in the SPI protocol in accordance with an embodiment of the invention. InFIG. 5, voltage change command500includes a 1-bit read/write field505, a 1-bit voltage change field510, and a voltage information field515that is up to 6 bits in length.

1-bit read/write field505indicates whether the command is being written to the voltage regulator or requesting information to be read from the voltage regulator. In accordance with many embodiments, the 1-bit read/write field is the first bit encoded in the transmission. In accordance with some embodiments, a voltage change command is a write operation. In accordance with many of these embodiments, the write operation is indicated by a zero or low signal in 1-bit read/write field505. In accordance with many other of these embodiments, the write operation is indicated by a one or high signal in read/write field505.

1-bit voltage change field510indicates whether or not a write operation is a voltage change request or other type of operation. In accordance with many embodiments, the 1-bit voltage change field is the second bit in the encoded transmission. In accordance with some embodiments, a zero or low signal in 1-bit voltage change field510indicates a voltage change command and one or high signal in 1-bit voltage change filed510indicates that the communication is another type of communication. In accordance with some other embodiments, a one or high signal in 1-bit voltage change field510indicates a voltage change command and a zero or low signal in 1-bit voltage change field510indicates that the communication is another type of communication.

Voltage information field515is up to 6 bits in length and includes information used by a voltage regulator to determine a new output voltage. In accordance with many embodiments, the voltage information field includes the third up to the sixth bit in the encoded transmission. In accordance with some embodiments, the information in voltage information field515indicates a new output voltage. In accordance with some other embodiments, the information in voltage information field515indicates a change in the current output voltage that is combined with the current output voltage to determine the new output voltage. In accordance with a number of other embodiments, the information in voltage information field515is information that may be used to calculate the new output voltage. In accordance with still other of these embodiments, the information in voltage information field515indicates particular registers or an address in a memory that stores the new output voltage.

Although voltage command codes in accordance with various embodiments of the invention are described with reference toFIG. 5, other encoding that add, remove, combine, and/or modify the fields of a voltage command code in accordance with various other embodiments of the invention are possible.

FIG. 6conceptually illustrates a voltage change command and portions of a voltage regulator that use the voltage change command to determine a new output voltage in accordance with an embodiment of the invention. InFIG. 6, voltage change command600is similar to the voltage change command described above with reference toFIG. 5. However, voltage information field615is 3 bits in length. The three bits in the voltage information field615are read by the voltage regulator and applied to selector620to select one of eight voltage levels stored in register in register bank625. In some embodiments the selector620may be part of a voltage reference generator, for example the voltage reference generator123ofFIG. 1, while in some embodiments the selector620may provide its output to the voltage reference generator. Although register bank625is shown as storing eight voltage values, register bank620may store any number up to 64 of voltage values with the appropriate number of bits from up to 6 bits in the voltage information field615being used to select a desired voltage value from register bank625in accordance with various embodiments of the invention.

FIGS. 7A-7Dillustrate various different encodings of a voltage change command in accordance with various embodiments of the invention. In the voltage command shown inFIG. 7A, a write operation is indicated by a one or high signal in read/write field505, a one or high signal in 1-bit voltage change field510that indicates a voltage change command. In the voltage change command shown inFIG. 7B, a write operation is indicated by a one or high signal in read/write field505, and a zero or low signal in 1-bit voltage change field510that indicates a voltage change command. In the voltage change command shown inFIG. 7C, a write operation is indicated by a zero or low signal in read/write field505, a one or high signal in 1-bit voltage change field510indicates a voltage change command. In the voltage change command shown inFIG. 7D, a write operation is indicated by zero or low signal in read/write field505, and a zero or low signal in 1-bit voltage change field510indicates a voltage change command, and the voltage information field515includes the voltage information in the third through up to the eighth bit. In each ofFIGS. 7A-7D, the voltage information field includes encoded bits in each of third through up to the eighth bit of the voltage command.

Although the invention has been discussed with respect to various embodiments, it should be recognized that the invention comprises the novel and non-obvious claims supported by this disclosure.