US20140223217A1 - Power and system management information visibility - Google Patents
Power and system management information visibility Download PDFInfo
- Publication number
- US20140223217A1 US20140223217A1 US13/950,725 US201313950725A US2014223217A1 US 20140223217 A1 US20140223217 A1 US 20140223217A1 US 201313950725 A US201313950725 A US 201313950725A US 2014223217 A1 US2014223217 A1 US 2014223217A1
- Authority
- US
- United States
- Prior art keywords
- power
- battery
- parameter
- processor
- application processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/126—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
- G06F11/3062—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
- G06F11/3093—Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/106—Data output latches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1072—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R19/00—Arrangements for measuring currents or voltages or for indicating presence or sign thereof
- G01R19/003—Measuring mean values of current or voltage during a given time interval
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/40—Testing power supplies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3031—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a motherboard or an expansion card
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- Battery-powered computing systems and devices have been adopted for use in many aspects of daily life. As these systems and devices are more widely adopted and used in place of other computing systems and devices, they are designed to be more flexible and powerful, but are also more complex. With advances in the design of battery-powered computing devices, the availability of sufficient power for the devices continues to be an ongoing concern. For example, each new feature in a battery-powered computing device may require the provision of circuitry that supports a supply of power for the feature.
- some battery-powered computing systems include power management processing circuitry that manages the supply of power in the system. Over time, this power management processing circuitry may need to evolve to better adapt to battery-related concerns such as flexibility and control in battery discharging, flexibility and control in battery charging, and flexibility and control in battery charge management and conservation.
- FIG. 1 illustrates a system for power system management information visibility according to an example embodiment.
- FIG. 2A illustrates a process flow diagram for a method of power and system management information visibility performed by the system of FIG. 1 according to an example embodiment.
- FIG. 2B illustrates the process flow diagram for the method of power and system management information visibility performed by the system of FIG. 1 according to an example embodiment.
- FIG. 3 illustrates a process flow diagram for a method of evaluation of power and system management information performed by the system of FIG. 1 according to an example embodiment.
- some battery-powered computing systems include power management processing circuitry that manages the supply of power in the system. Over time, this power management processing circuitry may need to evolve to better adapt to battery-related concerns such as flexibility and control in battery discharging, flexibility and control in battery charging, and flexibility and control in battery charge management and conservation.
- a system parameter of a system is measured.
- the system parameter may include one or more parameters such as system voltages, temperatures, options, or conditions of the system.
- the system parameter may be evaluated by a power manager processor.
- the evaluation may determine operating settings for one or more elements of the system.
- one or more operating parameters for elements of the system may be set, in advance of powering up the system elements.
- system elements may be released to start or boot based on the operating parameters. In this manner, one or more elements of the system may power on in a more flexible and deliberate manner, taking the current operating environment of the system into consideration.
- FIG. 1 illustrates a system 10 for power system management information visibility according to an example embodiment.
- the system 10 may embody a computing device that includes a number of general and/or specific purpose circuits, processing circuits, processors, registers, memories, sensors, displays, etc.
- the system 10 may embody a handheld or portable computing device which is powered from charge stored in a battery.
- the system 10 may be embodied as part of a cellular telephone, tablet computing device, laptop computer, or other computing device.
- the system 10 may be embodied as part of a desktop or set top computing device, for example.
- the system 10 may include one or more displays, microphones, speakers, buttons, indicator lights, haptic feedback elements, memory card readers, etc.
- the system 10 includes a power management unit (PMU) 100 , a host system-on-chip (SOC) 130 , a system bus 180 , a system battery 182 , and a system memory 184 .
- the system 10 also includes certain subsystems such as a bluetooth/wireless local area network (WLAN) subsystem 170 , a global positioning system (GPS) subsystem 171 , a camera subsystem 172 , and a sensor subsystem 173 .
- the subsystems 170 - 173 are representative subsystems which may be included as elements of the system 10 , and other subsystems are within the scope and spirit of the embodiments described herein.
- each of the subsystems 170 - 173 , the system memory 184 , and other elements and circuits of the system 10 depend on power for operation. As discussed below, this power may be supplied by and under the control of the PMU 100 .
- the system bus 180 of the system 10 is electrically and communicatively coupled among the PMU 100 and the host SOC 130 . As discussed herein, the system bus 180 may be relied upon by the system 10 for both data communications to external computing systems and peripherals, and to electrically couple a supply of power to the system 10 for charging the system battery 182 .
- the system bus 180 may include any communications bus suitable for the application, such as the universal serial bus (USB), although the use of other serial and/or parallel bus topologies are within the scope and spirit of the embodiments described herein.
- USB universal serial bus
- the system battery 182 may be embodied as any rechargeable battery suitable for the application, such as a lithium-ion, nickel-metal-hydride, or other battery variant, without limitation.
- the system memory 184 may be embodied as a volatile and/or non-volatile random access memory or combination thereof.
- the system memory 184 may store computer-readable instructions thereon that, when executed by one or more of the processors 140 - 142 of the host SOC 130 , for example, direct the processors 140 - 142 to execute various aspects of the embodiments described herein.
- the PMU 100 controls and/or facilitates control of the distribution of power from the system battery 182 to the elements of the system 10 , such as the host SOC 130 , the subsystems 170 - 173 , and the system memory 184 , for example.
- the PMU 100 may control the distribution of power to one or more elements of the system 10 , and the PMU 100 may receive instructions to control the distribution of power to one or more elements of the system 10 .
- the PMU 100 includes a PMU controller 101 , a serial interface slave 102 , a PMU register bank 103 , a charger detect/protect circuit 104 , a battery charger circuit 105 , a one time programmable (OTP) map 106 , a current (/) sense circuit 107 , a number 0-N of analog-to-digital (ADC) circuits 110 - 112 , and a number of power rail circuits 120 - 124 .
- FIG. 1 illustrates a representative example of elements of the PMU 100 , and it should be appreciated that the PMU 100 may include other elements in various embodiments.
- the PMU 100 may include a number of power rail circuits in addition to the power rail circuits 120 - 124 .
- the PMU 100 may include an additional power rail circuit to provide power for the system memory 184 , among other additional power rails.
- the host SOC 130 includes general and/or application specific processors.
- the host SOC 130 includes a power manager 131 , an application processor 140 , a modem 141 , and a graphics processor 142 .
- the host SOC 130 may omit one or more of the processors 140 - 142 or include processors in addition to the processors 140 - 142 .
- the host SOC 130 also includes a system bus interface 160 , a battery charger detect (BCD) circuit 161 , a subsystem interface 162 , and memory interface 163 .
- BCD battery charger detect
- the subsystem interface 162 , the memory interface 163 , and the system bus interface 160 electrically and communicatively couple the subsystems 170 - 173 , the system memory 184 , and the system bus 180 to the host SOC 130 and, particularly, to one or more of the processors 140 - 142 .
- each of the application processor 140 , the modem 141 , and the graphics processor 142 includes a respective register bank 150 , 151 , and 152 .
- the register banks 150 , 151 , and 152 may be combined and shared among the processors 140 - 142 . Still other configurations and/or combinations of the register banks 150 , 151 , and 152 are within the scope and spirit of the embodiments described herein. These register banks may be relied upon by the power manager 131 , generally, to set operating parameters for the application processor 140 , the modem 141 , and the graphics processor 142 , as further described below.
- the application processor 140 may be embodied as a general purpose processor for executing various applications.
- the application processor 140 may execute an underlying operating system along with applications such as e-mail, short message service (SMS), telephone, camera, web-browser, and other applications, without limitation.
- applications such as e-mail, short message service (SMS), telephone, camera, web-browser, and other applications, without limitation.
- SMS short message service
- the application processor 140 may consume relatively more power during operation.
- the modem 141 may include a cellular-based (or similar) communications processor for the communication of data wirelessly in connection with radio-frequency front end circuitry, and the graphics processor 142 may include a processor for driving a display of the system 10 .
- the power manager 131 includes a power processor 132 , a memory 133 , and a serial interface master 134 .
- the power manager 131 may be embodied as a relatively small and low power processor or processing circuit for interfacing with the PMU 100 via a serial interface 128 .
- the serial interface master 134 of the power manager 131 controls the serial interface 128 , although the PMU 100 may control the serial interface 128 in other embodiments.
- the memory 133 stores computer-readable instructions for execution by the power processor 132 .
- the host SOC 130 (including the power manager 131 ) and the PMU 100 may be combined in an integrated circuit.
- the serial interface 128 may be omitted.
- the PMU 100 may be designed, adapted, and configured to perform operations that support the host SOC 130 , the subsystems 170 - 173 , the system memory 184 , and other elements of the system 10 .
- the PMU 100 may remain in a powered-on mode of operation, even when the host SOC 130 and other elements of the system 10 are in a powered-off mode of operation.
- the PMU 100 may be maintained in the powered-on mode of operation so as to gather system parameters for the system 10 , such as power and management system status data (i.e., “system parameters,” “system status data”, etc.), regardless of whether the host SOC 130 and other elements of the system 10 are off.
- power and management system status data i.e., “system parameters,” “system status data”, etc.
- a certain amount of overhead processing is relied upon in the system 10 , such as battery charging, maintenance of a real time clock, etc., and this overhead processing may be generally performed by the PMU 100 regardless of whether the host SOC 130 and other elements of the system 10 are powered off.
- the PMU 100 is designed to consume a relatively small amount of power from the system battery 182 because power may be limited and the system battery 182 may be discharging.
- the PMU controller 101 generally coordinates and controls the operations of the PMU 100 .
- the PMU controller 101 may be embodied as a general or specific purpose circuit, processing circuit, processor, state machine, etc.
- the PMU controller 101 interfaces with the charger detect/protect circuit 104 and the battery charger circuit 105 to charge the system battery 182 when power for charging is available, interfaces with the serial interface slave 102 to communicate with the host SOC 130 over the serial interface 128 , interfaces with the power rail circuits 120 - 124 to control power to the system 10 , and interfaces with the PMU register bank 103 to store and access data associated with the status of the PMU 100 and the system 10 . Additionally, the PMU controller 101 interfaces with other elements of the PMU 100 , such as the ADCs 110 - 112 , the current sense circuit 107 , and the OTP map 106 .
- the serial interface slave 102 comprises one end of the serial interface 128 that facilitates communication between the PMU 100 and the host SOC 130 .
- the serial interface 128 is relied upon to communicate system parameters or system status data between the PMU 100 and the host SOC 130 .
- the PMU 100 may gather data regarding a type of battery charger or charging port coupled to the system bus 180 , a battery voltage of the system battery 182 (i.e., VBat), a bus voltage on the system bus 180 (i.e., VBus), a temperature of a component of the system 10 , whether a feature option in the system 10 is set, and/or whether the system bus 180 is coupled to a system or device that hosts a program image source which may be retrieved by the system 10 .
- this system status data may be gathered using one or more of the ADCs 110 - 112 .
- the ADCs 110 - 112 may be relied upon to determine the VBat and VBus voltages, the temperature of components in the system 10 , etc. Particularly, the ADCs 110 - 112 may convert analog values of the VBat and VBus voltages, and voltages representative of the temperature of components in the system 10 , into digital values for processing and/or storage by the PMU 100 . While these and other examples of power and management system parameters and system status data are described herein, other types of data representative of the status of the system 10 are within the scope and spirit of the embodiments.
- system parameters, system status data, etc. may be representative of operational aspects of the system 10 and may be gathered by the PMU 100 from time to time, periodically or aperiodically over time, as directed by the host SOC 130 , or at any other suitable time(s).
- the system status data may be stored by the PMU controller 101 in the PMU register bank 103 and, in certain embodiments described herein, communicated to the host SOC 130 for further evaluation and processing.
- the charger detect/protect circuit 104 may be relied upon to detect the type of battery charger or charging port coupled to the system bus 180 and report the type of battery charger or charging port to the PMU controller 101 .
- the charger detect/protect circuit 104 may determine an amount of power that a charger or port coupled to the system bus 180 is able to supply. For example, depending upon the type of charger or port coupled to the system bus 180 , the charger or port may be able to source a current of between 100 mA and 1.5 A or more at a certain voltage, without collapse.
- the charger detect/protect circuit 104 may also be able to distinguish whether the system bus 180 is coupled to a charging downstream port (CDP), a dedicated charging port (DCP), an accessory charging adapter port (ACA), a personal system 2 (PS/2) port, or a standard downstream port (SDP). Each of these ports may be able to source a certain amount of power to the system 10 . In certain aspects of the embodiments described herein, the system 10 may be able to tailor its operation based on the amount of power available to charge the system battery 182 , for example.
- CDP charging downstream port
- DCP dedicated charging port
- ACA accessory charging adapter port
- PS/2 personal system 2
- SDP standard downstream port
- the battery charger circuit 105 may charge the system battery 182 based on or in accordance with the type of battery charger or port coupled to the bus 180 . For example, depending upon the amount of power available to charge the system battery 182 , which may depend in part based on the type of battery charger or port coupled to the bus 180 , the battery charger circuit 105 may charge the system battery 182 relatively slowly or quickly. In addition to the VBat and VBus voltages, a charging status of the system battery 182 may be stored by the PMU controller 101 in the PMU register bank 103 .
- the OTP map 106 includes an array of programmable fuses or similar circuit elements that may each be programmed to retain a logical value.
- the OTP map 106 may be programmed during an initial test of the PMU 100 after manufacture, for example, or at another suitable time.
- the logical values retained in the OTP map 106 may be referenced by the PMU controller 101 , to direct conditional operation of the PMU controller 101 .
- the logical values retained in the OTP map 106 may be relied upon to store initial voltage settings, for example, for one or more of the power rail circuits 120 - 124 .
- the OTP map 106 may store voltage and/or current settings for power supplied by one or more of the system bus interface power rail 120 , the BCD power rail 121 , the power processor power rail 122 , the I/O pin power rail 123 , and/or the application processor (AP) power rail 124 .
- the PMU controller 101 may directly set the voltage and/or current settings for one or more of the power rails 120 - 124 based on the logical values retained in the OTP map 106 , for example, and/or other factors. Additionally or alternatively, depending upon the operating status of the system 10 , the PMU controller 101 may set voltage and/or current settings for one or more of the power rails 120 - 124 based on instructions from the host SOC 130 , as further described below.
- the OTP map 106 may store settings associated with different battery chargers or charging ports which may be coupled to the system bus 180 . As noted above, depending upon the type of charger or port coupled to the system bus 180 , a current of between 100 mA and 1.5 A or more may be available for charging the system battery 182 and other functions of the system 10 . In this context, the OTP map 106 may store certain settings for battery charging, rail voltages, power-up sequences, system limitations, etc., depending upon the type of charger or port coupled to the system bus 180 . Further, the OTP map may store settings associated with other system parameters measured and/or evaluated by the PMU 100 .
- the current sense circuit 107 may be relied upon by the PMU 100 to determine the current being supplied by each of the power rails 120 - 124 . Particularly, using representative-scale replica power rail circuits, the current sense circuit 107 may sense and determine instant or average current being supplied by each of the power rails 120 - 124 from time to time or over a period of time as directed by the PMU controller 101 . Further, the current sense circuit 107 may sample and convert analog representations of the current being supplied by each of the power rails 120 - 124 into digital values. These values may be stored by the PMU controller 101 in the PMU register bank 103 as system status data.
- the PMU 100 may rely upon a strap switch 129 to electrically couple power from the system bus 180 (i.e., VBus) to one or more of the power rails 120 - 124 (or other power rails), and to electrically de-couple power from the system battery 182 (i.e., VBat) from the one or more of the power rails 120 - 124 .
- the strap switch 129 may couple power from the system bus 180 to one or more of the power rails 120 - 124 if the system battery 182 lacks sufficient voltage for the operation of certain elements in the system 10 within operating requirements.
- the strap switch 129 may include one or more switches, as well as protection and/or regulation circuitry that filters and/or conditions power coupled to the system 10 via the system bus 180 .
- the PMU controller 101 may control the strap switch 129 to couple power from the system bus 180 to a power rail for the system memory 184 , for at least a limited period of time, if the system battery 182 has not yet reached a threshold voltage (e.g., ⁇ 3.2 V) required for stable operation of the system memory 184 .
- a threshold voltage e.g., ⁇ 3.2 V
- certain elements may require a relatively higher voltage for operation than others. Rather than waiting for the system battery 182 to charge to the relatively higher voltage necessary for these elements, the strap switch 129 may be relied upon to provide the VBus voltage, rather than the VBat voltage, to the power rails for these elements.
- the power rails may regulate and/or condition the VBus voltage from the system bus 180 to a voltage suitable for operation of the elements that require the relatively higher voltage.
- the system 10 may be started faster, because it is not necessary to wait for the system battery 182 to charge to the relatively higher voltage.
- Elements in the system 10 that do not require the relatively higher voltage may be powered by power rails supplied by the voltage VBat from the system battery 182 .
- the strap switch 129 may again couple power from the system battery 182 to the power rails for the elements which require the relatively higher voltage.
- the host SOC 130 may be generally embodied as a full system-on-chip semiconductor device. In this sense, the host SOC 130 integrates various general and/or application specific processors and processing circuits into a single integrated circuit package, reducing space. Overall, the power manager 131 of the host SOC 130 supports the host SOC 130 and the power requirements of the host SOC 130 .
- the power manager 131 of the host SOC 130 may retrieve and evaluate the power and management system status data stored in the PMU 100 , while coordinating a power up sequence for the host SOC 130 and/or the subsystems 170 - 173 with the PMU 100 .
- the power processor 132 of the power manager 131 and the PMU 100 may operate in connection with each other to power up elements in the system 10 based on the power and management system status data gathered by the PMU 100 .
- the power manager 131 and the PMU 100 may conditionally power up elements in the system 10 in various sequences or modes of operation.
- each of the power manager 131 , the application processor 140 , the modem 141 , and the graphics processor 142 may be powered by one or more power rails of the PMU 100 in the system 10 .
- the power manager 131 is powered by the power processor power rail 122
- the application processor 140 is powered by the application processor power rail 124 .
- several elements of the system 10 may be powered by one of the power rails of the PMU 100 , although individual ones of those elements may be respectively switched between powered-off and powered-on modes of operation by control signals, for example.
- Each power rail may be electrically coupled from the PMU 100 to the host SOC 130 by one or more respective power traces in the system 10 and power pins or pads of the PMU 100 and the host SOC 130 .
- Other power rails of the PMU 100 are respectively coupled to system elements in the system 10 , as necessary, for supplying power.
- the PMU 100 generally powers and releases the power manager 131 for start while the remaining processors and systems of the host SOC 130 and/or the system 10 are left without power until a later time.
- each of the application processor 140 , the modem 141 , the graphics processor 142 , and other system elements may be transitioned from a powered-off to a powered-on mode of operation at a different respective time or timing, as determined by the PMU 100 and/or the power manager 131 . Further, these elements may be powered-on according to a certain mode of operation for optimal power consumption.
- the PMU 100 and the power manager 131 may evaluate the power and management system status data which is gathered and stored by the PMU 100 , to determine an appropriate manner in which the elements, subsystems, and processors of the system 10 are powered on.
- the power manager 131 may retrieve and evaluate a system parameter stored by the PMU 100 , evaluate the system parameter, and set an operating parameter for the application processor 140 based on the evaluation of the system parameter.
- the operating parameter may be set (e.g., stored) by the power manager 131 in the register bank 150 of the host SOC 130 for reference by the application processor 140 and/or other supporting circuitry during a boot up sequence of the application processor 140 .
- the application processor 140 may be released for start (e.g., boot).
- the boot sequence of the application processor 140 may be impacted by the operating parameter which was set or stored in the register bank 150 by the power manager 131 before the application processor 140 was released for start.
- the operating parameter may indicate that the application processor 140 must boot at a certain operating frequency or speed for lower power operation because the battery voltage VBat of the system battery 182 is marginal. That is, the charge stored in the system battery 182 may be sufficient only to support a low frequency—rather than a high frequency—boot of the application processor 140 .
- the operating parameter may indicate that the application processor 140 must boot according to a certain limitation of operating power or timing, to conserve power.
- the application processor 140 may consume relatively more power than the PMU 100 and/or the power manager 131 , even in combination with each other, unless the operating parameters of the application processor 140 are configured for low power operation.
- the conditions for power up may be determined such that the current consumed by the system 10 during boot is less than the charging current provided to the system battery 182 for charging.
- the system 10 may be configured according to aspects of the embodiments described herein to consume relatively less power during boot than is currently being used to charge the system battery 182 . In this way, the system 10 may be booted, even if with certain limitations or conditions on power consumption, safely and quickly, although the system battery 182 may be substantially discharged.
- the time period from coupling the system 10 to a power source until conditional power up of the system 10 may be significantly less than would otherwise be needed, because the system 10 is configured to power up with a certain, limited, current consumption. Even after a conditional power up, however, the system 10 continues to monitor system parameters including the voltage VBus of the system battery 182 , and operating parameters of the system 10 may be adjusted over time as further described below.
- a conditional power up and continued low-power operation may be relied upon to charge a battery faster than would otherwise be possible.
- the system 10 may be powered up and operated in accordance with settings for lower power consumption, and any savings in consumed power may be directed to charging the system battery 182 more quickly. Additional examples of the evaluation of system parameters and conditional and/or directed boot modes, sequences, mode of operation, etc. in the system 10 are described in further detail below with reference to FIGS. 2A , 2 B, and 3 .
- FIGS. 2A , 2 B, and 3 process flow diagrams illustrating example processes performed by a system for power and system management information visibility. While the process flow diagrams are described in connection with the system 10 of FIG. 1 , it is noted that other systems may perform the illustrated processes. That is, in various embodiments, systems similar to the system 10 may perform the processes illustrated in FIGS. 2A , 2 B, and 3 .
- FIGS. 2A , 2 B, and 3 may be considered to depict example steps performed by the system 10 according to one or more embodiments.
- the process diagrams of FIGS. 2A , 2 B, and 3 illustrate an order, it is understood that the order may differ from that which is depicted.
- an order of two or more elements in the process may be scrambled relative to that shown, performed concurrently, or performed with partial concurrence.
- one or more of the elements may be skipped or omitted within the scope and spirit of the embodiments described herein.
- FIG. 2A illustrates a process flow diagram for a method 200 of power and system management information visibility performed by the system 10 of FIG. 1 according to an example embodiment. It may be assumed that the system 10 is in a powered-off mode of operation at the outset of the method 200 . However, even when the host SOC 130 and other elements of the system 10 are in the powered-off mode of operation, the PMU 100 of the system 10 may be maintained in a powered-on mode of operation so as to gather system parameters for the system 10 .
- the method 200 includes measuring a system parameter. That is, in the context of the system 10 of FIG. 1 , the PMU 100 may measure, identify, and/or determine one or more system parameters of the system 10 at reference numeral 202 .
- the system parameters may include one or more voltages, one or more currents, one or more temperatures, one or more feature options, or other system parameters.
- the PMU 100 may measure, identify, and/or determine any of the system parameters described herein or similar system parameters.
- the ADCs 110 - 112 of the PMU 100 may convert the VBat and VBus voltages and voltages representative of the temperature of elements in the system 10 into digital values for measurement and storage. Additionally, the PMU 100 may identify a type of battery charger or charging port coupled to the system bus 180 . The PMU 100 may also refer to the OTP map 106 to identify initial voltage settings for the power rail circuits 120 - 124 and an initial charging current supplied by the battery charger circuit 105 to the system battery 182 based on the type of battery charger or charging port coupled to the system bus 180 . These initial voltage settings may be identified by the PMU 100 as system parameters.
- the PMU 100 may identify one or more feature options.
- a feature option of the PMU 100 may be identified based on a voltage strapped to a pin or pad of the PMU 100 .
- a relatively high-impedance resistor may be used to electrically couple a logic-high voltage level to a pin or pad of the PMU 100 .
- This logic-high voltage level may be identified by the PMU 100 at reference numeral 202 .
- the logic-high voltage level may indicate to the PMU 100 that, for example, an external battery charger detection circuit is being relied upon in the system 10 , that an external wireless charging circuit is being relied upon in the system 10 , or that the system 10 is currently under test, etc.
- These feature option settings may be identified by the PMU 100 as system parameters.
- the method 200 includes storing the system parameters that were measured, identified, and/or determined at reference numeral 202 .
- the PMU 100 may store the system parameters into the PMU register bank 103 . It should be appreciated that, in various embodiments, the measuring at reference numeral 202 and the storing at reference numeral 204 may continue to be performed throughout the process flow of the method 200 and other processes of the system 10 . In other words, the PMU 100 may continue to measure, store, and evaluate system parameters of the system 10 over time, and those functions of the PMU 100 should not be considered to be limited to any period of time in the process flow of the method 200 or other processes of the system 10 .
- the method 200 includes determining whether to start the power manager 131 of the host SOC 130 .
- the PMU 100 may determine whether to start the power manager 131 , based on certain factors and considerations. For example, the determination of whether to start the power manager 131 may depend upon whether a minimum threshold of charge and/or voltage is available in the system battery 182 to supply power to the power rails (e.g., power rails 122 , 123 , etc.) that support the power manager 131 .
- the power rails e.g., power rails 122 , 123 , etc.
- the determination of whether to start the power manager 131 may depend upon a certain timing, whether a power button of the system 10 was pressed, whether a certain battery charger or port type is coupled to the system bus 180 , or combinations of these considerations, among others.
- the method 200 proceeds back to reference numeral 202 to continue to measure system parameters of the system 10 .
- the PMU 100 determines at reference numeral 206 to release the power manager 131 , then the method 200 proceeds to reference numeral 208 .
- the method 200 includes powering one or more power rails for the power manager 131 .
- the PMU 100 may refer to the OTP map 106 to identify initial voltage settings for one or more of the power rail circuits 120 - 124 , and set the one or more power rail circuits 120 - 124 to an output voltage according to the initial voltage settings.
- the one or more power rails may include only those necessary to supply power to the power processor 132 , the memory 133 , the serial interface master 134 , and certain I/O pins.
- the method 200 includes updating the system parameters.
- the PMU 100 may update or revise system parameters stored in the PMU register bank 103 on the basis of any system status parameters that have recently changed.
- the PMU 100 may update or revise the system parameters stored in the PMU register bank 103 at any time and over time throughout the process flow of the method 200 and other processes of the system 10 . In this manner, the most up-to-date system status parameters are available for retrieval and evaluation.
- the method 200 includes releasing the power manager 131 to start.
- the PMU 100 may release the power manager 131 to start by changing a logic level on a reset pin of the host SOC 130 for the power manager 131 .
- the power manager 131 boots and seeks status information on the system 10 from the PMU 100 .
- the power processor 132 may request communication of (or send a command for) system parameters from the PMU 100 via the serial interface 128 .
- the method 200 includes the PMU 100 communicating one or more system parameters to the power processor 132 via the serial interface 128 .
- the PMU controller 101 accesses the PMU register bank 103 to retrieve one or more system parameters and then communicates the system parameters back to the power processor 132 via the serial interface 128 .
- the method 200 includes evaluating one or more system parameters.
- the power processor 132 evaluates the system parameters received from the PMU 100 for various purposes, including to determine the operating conditions and environment of the system 10 .
- the evaluating at reference 214 is performed to determine whether the application processor 140 of the host SOC is ready to power on, or to assist one or more elements of the system 10 to power on in a flexible and deliberate manner, taking into consideration the current operating environment of the system 10 . Further details on the evaluating are described below with reference to FIG. 3 .
- the method 200 includes setting one or more operating parameters for one or more of the application processor 140 , the modem 141 , the graphics processor 142 , one or more of the subsystems 170 - 173 , or other elements of the system 10 , for example, based on the evaluation at reference numeral 214 . It is noted that, at reference numeral 216 , one or more operating parameters may be set for a combination of features of the application processor 140 , the modem 141 , and the graphics processor 142 , and other elements of the system 10 based on the evaluation at reference numeral 214 .
- Setting the operating parameters may be performed by the power processor 132 by storing data, flags, or logic levels, for example, in the register banks 150 - 152 .
- an operating parameter for the application processor 140 may be set by the power processor 132 in the register bank 150 . This operating parameter may identify that, when the application processor 140 is released to start or boot, it must boot at a relatively lower operating frequency than would otherwise be permitted if the voltage level VBat was higher.
- the application processor 140 may be released to start with a condition or limit on the brightness that may be set for a display of the system 10 .
- operating parameters may be set at reference numeral 216 such that an overall current consumed by the system 10 during a boot sequence is less than a current available to charge the system battery 182 .
- the application processor 140 may be permitted to start or boot earlier than would be possible otherwise. Specifically, to prevent the system 10 from crashing due to the voltage level VBat drooping below a minimum operating threshold when the application processor 140 is started, one conventional approach has been to wait until the voltage level VBat reaches or exceeds a certain high threshold. Reaching the high threshold may take a relatively significant amount of time when the system battery 182 is being charged depending upon the rate of charge.
- the power processor 132 may consider interplay among operating conditions of the system 10 . For example, if the power processor 132 identifies at reference numeral 214 that the voltage level VBat is marginal, then the power processor 132 may also take into consideration the type of battery charger currently coupled to the system bus 180 . In other words, the power processor 132 can identify the maximum amount of current available to charge the system battery 182 based on the type of battery charger currently coupled to the system bus 180 .
- the charger or port may be able to source a current of between 100 mA and 1.5 A. If the power processor 132 identifies that the type of battery charger currently coupled to the system bus 180 is one that is able to source only a relatively small amount of current (e.g., 100 mA), then the power processor 132 may recognize that it is possible to boot the application processor 140 at a marginal VBat voltage level—but with a reduced operating frequency. To achieve this faster boot of the application processor 140 with the marginal VBat voltage level, the power processor 132 may set appropriate operating settings in the register bank 150 to start the application processor 140 at the reduced operating frequency.
- a relatively small amount of current e.g. 100 mA
- the power processor 132 may recognize that it is possible to boot the application processor 140 at a nominal operating frequency even though the voltage level VBat is marginal.
- one or more operating parameters may be set for directing the application processor 140 to download a program image source from a host device over the system bus 180 .
- These operating parameters may be set based on a type of charging port (e.g., SDP or CDP port) coupled to the system bus 180 , for example, and/or the voltage VBus of the system battery 182 .
- the application processor 140 may identify that an operating parameter for image download is set. The application processor 140 may then proceed to download a program image from the host device via the system bus 180 .
- the download may be based on certain conditions even when the operating parameter for image download is set, such as continued minimum VBat voltage, a temporary halt on charging the system battery 182 , etc.
- the program image may include system software to be installed upon the system 10 during manufacture, for example, and the program image may be stored in the system memory 184 .
- the operating parameters may be set to prevent the system 10 from attempting to download the program image source, saving time at the outset of system boot.
- the method 200 includes determining whether to set a power strap option. More particularly, the power processor 132 determines, based on the system parameters, whether to couple one or more of the power rails 120 - 124 to the voltage level VBus of the system bus 180 using the strap switch 129 . At reference numeral 218 , the power processor 132 may consider the type of battery charger or charging port coupled to the system bus 180 , among other system parameters, when determining whether to set the power strap option. If the power processor 132 determines to rely upon the strap switch 129 to couple VBus, rather than VBat, to one or more of the outputs of the power rails 120 - 124 , then the method 200 proceeds to reference numeral 220 . Otherwise, if the power processor 132 determines not to rely upon the strap switch 129 , then the method 200 proceeds to reference numeral 222 .
- use of the strap switch 129 at reference numeral 218 may permit the system 10 to start or boot faster, because it is not necessary to wait for the system battery 182 to charge to a relatively higher voltage which may be required for operation of certain elements in the system 10 , such as the system memory 184 and/or a display of the system 10 , for example.
- Elements in the system 10 that do not require the relatively higher voltage may be powered by power rails supplied by the voltage VBat from the system battery 182 . After the voltage VBat of the system battery 182 reaches a voltage sufficient to support the relatively higher voltage, the strap switch 129 may again couple power from the system battery 182 to the power rails for the elements which require the relatively higher voltage.
- the method 200 includes setting a strap option for outputs of one or more of the power rails 120 - 124 using the strap switch 129 .
- the power processor 132 may communicate a command via the serial interface 128 to instruct the PMU 100 to configure the strap switch 129 in a certain way.
- the strap switch 129 may be configured by the PMU 100 to couple outputs of one or more of the power rails 120 - 124 to the voltage level VBus. That is, the power processor 132 may instruct the PMU 100 to couple the power rail for the system memory 184 or the power rail for a display of the system 10 , for example, to the voltage level VBus.
- Such a configuration may be helpful when the system battery 182 is charging, but not enough charge is present in the system battery 182 to support powering one or more of the power rails 120 - 124 at a sufficient voltage level for operation of the system memory 184 and/or a display of the system 10 .
- the PMU 100 may update or revise the system parameters stored in the PMU register bank 103 to reflect the status of the strap option. In this manner, the most up-to-date system status parameters are available, and the power processor 132 may re-evaluate the system parameters.
- the method 200 includes setting power rails for one or more of the application processor 140 , the modem 141 , the graphics processor 142 , or one or more of the subsystems 170 - 173 , for example, among other elements in the system 10 .
- power is supplied to elements of the system 10 which are about to be released to start or boot.
- the power processor 132 may communicate with the PMU 100 via the serial interface 134 to command the PMU 100 to set the power rails to the appropriate levels based on the evaluating at reference numeral 214 and the strap option settings at reference numeral 220 , for example.
- the method 200 includes releasing one or more of the application processor 140 , the modem 141 , the graphics processor 142 , or one or more of the subsystems 170 - 173 for start.
- the method 200 may include releasing the application processor 140 to start based on an operating parameter stored in the register bank 150 .
- the respective elements of the system 10 may be released for start or boot in any suitable sequence or arrangement. That is, elements of the system 10 may be released respectively in time, in combinations over time, together, etc., depending upon the system parameters and the evaluating at reference numeral 214 .
- the power processor 132 and/or the PMU 100 may determine which elements of the system 10 should be released for start or boot first, and the process 200 may repeat, in part, for other elements of the system 10 .
- the method 200 includes starting or booting the elements of the system 10 that were released at reference numeral 224 .
- the elements of the system 10 start reference may be made to the operating settings that were stored at reference numeral 204 and/or updated at reference numeral 210 ( FIG. 2A ). It should be appreciated that, based on the operating settings, when the elements of the system 10 start, the system 10 is able to start with some a priori or beforehand evaluation of the status of the system 10 .
- FIG. 3 a process flow diagram is illustrated for a method of evaluation of power and system management information performed by the system 10 of FIG. 1 according to an example embodiment.
- the evaluating by the power processor 132 at reference numeral 214 of FIG. 2B may include any one or more of the evaluating processes illustrated in FIG. 3 .
- the processes for evaluation in FIG. 3 may rely upon or correspond to certain processes for measurement performed by the PMU 100 (e.g., at reference numeral 202 of FIG. 2A ). That is, the evaluating illustrated in FIG. 3 may depend, at least in part, upon certain system parameters being measured by the PMU 100 . Further, in various embodiments, the processes for evaluation in FIG. 3 may be performed by the PMU 100 depending upon the configuration of the system 10 .
- the evaluating at reference numeral 214 may include evaluating and/or measuring the battery voltage level VBat of the system battery 182 at reference numeral 302 ; evaluating and/or detecting a type of battery charger coupled to the system bus 180 and/or the bus voltage level VBus of the system bus 180 at reference numeral 304 ; evaluating and/or measuring a temperature of a system component of the system 10 at reference numeral 306 ; and/or, at reference numeral 308 , evaluating and/or detecting a feature or option of the system 10 , such as whether a program image source is coupled to the system bus 180 , whether an external battery charger detection circuit is being relied upon in the system 10 , whether an external wireless charging circuit is being relied upon in the system 10 , or whether the system 10 is currently under test.
- the evaluation processes at one or more of reference numerals 302 , 304 , 306 , or 308 may be performed by the power processor 132 and/or the PMU 100 and include determining whether the battery voltage VBat or the bus voltage VBus is equal to or greater than a predetermined voltage, determining whether a type of battery charger or charging port coupled to the system bus 180 supports at least a predetermined threshold of output current, determining whether a system image is available for download via the system bus 180 , determining whether the system 10 is specially configured with optional circuitry or in a test mode, and/or determining whether a temperature of one or more elements of the system 10 are equal to or greater than a predetermined temperature.
- These evaluations may lead to setting or configuring one or more system operating parameters as described herein, and may be performed in combination with each other at reference numeral 310 .
- the system 10 is able to start according to a more directed approach. For example, it is not necessary for the application processor 140 to boot, read instructions from the system memory 184 , load drivers for communicating with the PMU 100 and/or the system bus 180 , communicate with the PMU 100 and/or via the system bus 180 , identify the status of the system 10 (e.g., operating voltages, peripherals coupled to the system bus 180 , etc.), and make operating decisions according to the status.
- the application processor 140 can start with certain operating settings already pre-determined and stored in the register bank 150 (via status flags, status registers, etc.).
- the operating settings relied upon during the directed boot may indicate an overall status of the system 10 for reference by the application processor 140 .
- the power processor 132 can make operating decisions for various elements of the system 10 before those elements are released for start. For example, operating parameters such as system temperature may be evaluated and stored for the modem 141 before the modem 141 is released for start. In this manner, the modem 141 may immediately identify and adjust for temperature-dependent communications parameters, for example.
- the system 10 can benefit from the system parameter measurements and evaluations performed by the power processor 132 and the PMU 100 .
- a more integrated, directed, and flexible approach to start and boot sequences for the elements of the system 10 may be achieved.
- the directed and flexible approaches to boot sequences seek to boot the system 10 as quickly as possible, especially in the case of a discharged system battery, while avoiding conditions leading to a system power crash.
- each of the PMU controller 101 , the power processor 132 , and or other processors or processing circuits of the system 10 may comprise general purpose arithmetic processors, state machines, or Application Specific Integrated Circuits (“ASICs”), for example.
- Each such processor or processing circuit may be configured to execute one or more computer-readable software instruction modules.
- each processor or processing circuit may comprise a state machine or ASIC, and the processes described in FIGS. 2A , 2 B, and 3 may be implemented or executed by the state machine or ASIC according to the computer-readable instructions.
- the memories and/or registers described herein may comprise any suitable memory devices that store computer-readable instructions to be executed by processors or processing circuits. These memories and/or registers store computer-readable instructions thereon that, when executed by the processors or processing circuits, direct the processors or processing circuits to execute various aspects of the embodiments described herein.
- the memories and/or registers may include one or more of an optical disc, a magnetic disc, a semiconductor memory (i.e., a semiconductor, floating gate, or similar flash based memory), a magnetic tape memory, a removable memory, combinations thereof, or any other known memory means for storing computer-readable instructions.
- a semiconductor memory i.e., a semiconductor, floating gate, or similar flash based memory
- a magnetic tape memory i.e., a magnetic tape memory
- removable memory i.e., a removable memory, combinations thereof, or any other known memory means for storing computer-readable instructions.
- processors or processing circuits are configured to retrieve computer-readable instructions and/or data stored on the memories and/or registers for execution.
- the processors or processing circuits are further configured to execute the computer-readable instructions to implement various aspects and features of the embodiments described herein.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Power Engineering (AREA)
- Power Sources (AREA)
- Electromagnetism (AREA)
- Radar, Positioning & Navigation (AREA)
- Automation & Control Theory (AREA)
- Information Transfer Systems (AREA)
- Charge And Discharge Circuits For Batteries Or The Like (AREA)
Abstract
Description
- This application claims the benefit of:
- U.S. Provisional Application No. 61/759,470, filed Feb. 1, 2013;
- U.S. Provisional Application No. 61/833,598, filed Jun. 11, 2013;
- U.S. Provisional Application No. 61/834,513, filed Jun. 13, 2013;
- U.S. Provisional Application No. 61/836,327, filed Jun. 18, 2013;
- U.S. Provisional Application No. 61/836,306, filed Jun. 18, 2013;
- U.S. Provisional Application No. 61/836,895, filed Jun. 19, 2013;
- U.S. Provisional Application No. 61/836,886, filed Jun. 19, 2013; and
- U.S. Provisional Application No. 61/836,903, filed Jun. 19, 2013, the entire contents of each of which are hereby incorporated herein by reference.
- This application also makes reference to:
- U.S. patent application Ser. No. ______ (Attorney Docket #50229-4880), titled “Clock Domain Crossing Serial Interface, Direct Latching, and Response Codes” and filed on even date herewith;
- U.S. patent application Ser. No. ______ (Attorney Docket #50229-4900), titled “Power Mode Register Reduction and Power Rail Bring Up Enhancement” and filed on even date herewith;
- U.S. patent application Ser. No. ______ (Attorney Docket #50229-4910), titled “Dynamic Power Profiling” and filed on even date herewith;
- U.S. patent application Ser. No. ______ (Attorney Docket #50229-4920), titled “Charger Detection and Optimization Prior to Host Control” and filed on even date herewith;
- U.S. patent application Ser. No. ______ (Attorney Docket #50229-4940), titled “Enhanced Recovery Mechanism” and filed on even date herewith; and
- U.S. patent application Ser. No. ______ (Attorney Docket #50229-4960), titled “Dynamic Power Mode Switching Per Rail” and filed on even date herewith, the entire contents of each of which are hereby incorporated herein by reference.
- Battery-powered computing systems and devices have been adopted for use in many aspects of daily life. As these systems and devices are more widely adopted and used in place of other computing systems and devices, they are designed to be more flexible and powerful, but are also more complex. With advances in the design of battery-powered computing devices, the availability of sufficient power for the devices continues to be an ongoing concern. For example, each new feature in a battery-powered computing device may require the provision of circuitry that supports a supply of power for the feature.
- In the context of system power management, some battery-powered computing systems include power management processing circuitry that manages the supply of power in the system. Over time, this power management processing circuitry may need to evolve to better adapt to battery-related concerns such as flexibility and control in battery discharging, flexibility and control in battery charging, and flexibility and control in battery charge management and conservation.
- Many aspects of the present disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, with emphasis instead being placed upon clearly illustrating the principles of the disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views.
-
FIG. 1 illustrates a system for power system management information visibility according to an example embodiment. -
FIG. 2A illustrates a process flow diagram for a method of power and system management information visibility performed by the system ofFIG. 1 according to an example embodiment. -
FIG. 2B illustrates the process flow diagram for the method of power and system management information visibility performed by the system ofFIG. 1 according to an example embodiment. -
FIG. 3 illustrates a process flow diagram for a method of evaluation of power and system management information performed by the system ofFIG. 1 according to an example embodiment. - In the context of system power management, some battery-powered computing systems include power management processing circuitry that manages the supply of power in the system. Over time, this power management processing circuitry may need to evolve to better adapt to battery-related concerns such as flexibility and control in battery discharging, flexibility and control in battery charging, and flexibility and control in battery charge management and conservation.
- Additionally, the need for power management processing circuitry to balance problems related to battery charging and discharging in the context of a user's experience is now more important. Engineers now consider a full array of problems associated with battery charging and discharging in the context of user experience. For example, even when a battery is substantially discharged, a user desires battery-powered computing systems and devices to power up promptly when coupled to power for charging, regardless of the fact that a minimum threshold of charge and/or voltage may be necessary in the battery. Similarly, engineers must consider certain aims of manufacturing and testing that achieve high volume production of battery-powered computing systems and devices.
- In this context, aspects of power and system management information visibility are described herein. In various embodiments, a system parameter of a system is measured. The system parameter may include one or more parameters such as system voltages, temperatures, options, or conditions of the system. The system parameter may be evaluated by a power manager processor. The evaluation may determine operating settings for one or more elements of the system. Based on the evaluation, one or more operating parameters for elements of the system may be set, in advance of powering up the system elements. After the operating parameters have been set, system elements may be released to start or boot based on the operating parameters. In this manner, one or more elements of the system may power on in a more flexible and deliberate manner, taking the current operating environment of the system into consideration.
- Turning now to the drawings, an introduction and general description of exemplary embodiments of a system is provided, followed by a description of the operation of the same.
- I. System Introduction
-
FIG. 1 illustrates asystem 10 for power system management information visibility according to an example embodiment. Thesystem 10 may embody a computing device that includes a number of general and/or specific purpose circuits, processing circuits, processors, registers, memories, sensors, displays, etc. In one embodiment, thesystem 10 may embody a handheld or portable computing device which is powered from charge stored in a battery. In various embodiments, thesystem 10 may be embodied as part of a cellular telephone, tablet computing device, laptop computer, or other computing device. Alternatively, because the embodiments described herein are not limited to use in handheld or portable computing devices, thesystem 10 may be embodied as part of a desktop or set top computing device, for example. Although not illustrated inFIG. 1 , it should be appreciated that thesystem 10 may include one or more displays, microphones, speakers, buttons, indicator lights, haptic feedback elements, memory card readers, etc. - Among other elements, the
system 10 includes a power management unit (PMU) 100, a host system-on-chip (SOC) 130, asystem bus 180, asystem battery 182, and asystem memory 184. Thesystem 10 also includes certain subsystems such as a bluetooth/wireless local area network (WLAN)subsystem 170, a global positioning system (GPS)subsystem 171, acamera subsystem 172, and asensor subsystem 173. The subsystems 170-173 are representative subsystems which may be included as elements of thesystem 10, and other subsystems are within the scope and spirit of the embodiments described herein. It is noted that, just as thehost SOC 130 requires power for operation, each of the subsystems 170-173, thesystem memory 184, and other elements and circuits of thesystem 10 depend on power for operation. As discussed below, this power may be supplied by and under the control of thePMU 100. - The
system bus 180 of thesystem 10 is electrically and communicatively coupled among thePMU 100 and thehost SOC 130. As discussed herein, thesystem bus 180 may be relied upon by thesystem 10 for both data communications to external computing systems and peripherals, and to electrically couple a supply of power to thesystem 10 for charging thesystem battery 182. Thesystem bus 180 may include any communications bus suitable for the application, such as the universal serial bus (USB), although the use of other serial and/or parallel bus topologies are within the scope and spirit of the embodiments described herein. - The
system battery 182 may be embodied as any rechargeable battery suitable for the application, such as a lithium-ion, nickel-metal-hydride, or other battery variant, without limitation. Thesystem memory 184 may be embodied as a volatile and/or non-volatile random access memory or combination thereof. Thesystem memory 184 may store computer-readable instructions thereon that, when executed by one or more of the processors 140-142 of thehost SOC 130, for example, direct the processors 140-142 to execute various aspects of the embodiments described herein. - In general, the
PMU 100 controls and/or facilitates control of the distribution of power from thesystem battery 182 to the elements of thesystem 10, such as thehost SOC 130, the subsystems 170-173, and thesystem memory 184, for example. As further described below, depending upon the operating state of thesystem 10 and/or other factors, thePMU 100 may control the distribution of power to one or more elements of thesystem 10, and thePMU 100 may receive instructions to control the distribution of power to one or more elements of thesystem 10. - Among other elements, the
PMU 100 includes aPMU controller 101, aserial interface slave 102, aPMU register bank 103, a charger detect/protectcircuit 104, abattery charger circuit 105, a one time programmable (OTP)map 106, a current (/)sense circuit 107, a number 0-N of analog-to-digital (ADC) circuits 110-112, and a number of power rail circuits 120-124. It is noted thatFIG. 1 illustrates a representative example of elements of thePMU 100, and it should be appreciated that thePMU 100 may include other elements in various embodiments. That is, thePMU 100 may include a number of power rail circuits in addition to the power rail circuits 120-124. For example, thePMU 100 may include an additional power rail circuit to provide power for thesystem memory 184, among other additional power rails. - Among other elements, the
host SOC 130 includes general and/or application specific processors. InFIG. 1 , thehost SOC 130 includes apower manager 131, anapplication processor 140, amodem 141, and agraphics processor 142. In various embodiments, thehost SOC 130 may omit one or more of the processors 140-142 or include processors in addition to the processors 140-142. Thehost SOC 130 also includes a system bus interface 160, a battery charger detect (BCD)circuit 161, asubsystem interface 162, andmemory interface 163. Thesubsystem interface 162, thememory interface 163, and the system bus interface 160 electrically and communicatively couple the subsystems 170-173, thesystem memory 184, and thesystem bus 180 to thehost SOC 130 and, particularly, to one or more of the processors 140-142. - As further illustrated in
FIG. 1 , each of theapplication processor 140, themodem 141, and thegraphics processor 142 includes arespective register bank register banks register banks power manager 131, generally, to set operating parameters for theapplication processor 140, themodem 141, and thegraphics processor 142, as further described below. - The
application processor 140 may be embodied as a general purpose processor for executing various applications. For example, theapplication processor 140 may execute an underlying operating system along with applications such as e-mail, short message service (SMS), telephone, camera, web-browser, and other applications, without limitation. As compared to thePMU 100 and/or thepower manager 131, theapplication processor 140 may consume relatively more power during operation. Themodem 141 may include a cellular-based (or similar) communications processor for the communication of data wirelessly in connection with radio-frequency front end circuitry, and thegraphics processor 142 may include a processor for driving a display of thesystem 10. - The
power manager 131 includes apower processor 132, amemory 133, and aserial interface master 134. Generally, thepower manager 131 may be embodied as a relatively small and low power processor or processing circuit for interfacing with thePMU 100 via aserial interface 128. In one embodiment, theserial interface master 134 of thepower manager 131 controls theserial interface 128, although thePMU 100 may control theserial interface 128 in other embodiments. Thememory 133 stores computer-readable instructions for execution by thepower processor 132. - It is noted that, in certain embodiments, the host SOC 130 (including the power manager 131) and the
PMU 100 may be combined in an integrated circuit. In this case, theserial interface 128 may be omitted. - II. System Operation
- With reference to the elements of the
system 10 introduced above, aspects of the operation of thesystem 10 are described below. - A. PMU Operation
- The
PMU 100 may be designed, adapted, and configured to perform operations that support thehost SOC 130, the subsystems 170-173, thesystem memory 184, and other elements of thesystem 10. For example, thePMU 100 may remain in a powered-on mode of operation, even when thehost SOC 130 and other elements of thesystem 10 are in a powered-off mode of operation. ThePMU 100 may be maintained in the powered-on mode of operation so as to gather system parameters for thesystem 10, such as power and management system status data (i.e., “system parameters,” “system status data”, etc.), regardless of whether thehost SOC 130 and other elements of thesystem 10 are off. - It is noted that a certain amount of overhead processing is relied upon in the
system 10, such as battery charging, maintenance of a real time clock, etc., and this overhead processing may be generally performed by thePMU 100 regardless of whether thehost SOC 130 and other elements of thesystem 10 are powered off. In this context, while thesystem 10 remains in a powered-off mode of operation (except for thePMU 100 in most cases), thePMU 100 is designed to consume a relatively small amount of power from thesystem battery 182 because power may be limited and thesystem battery 182 may be discharging. - The
PMU controller 101 generally coordinates and controls the operations of thePMU 100. ThePMU controller 101 may be embodied as a general or specific purpose circuit, processing circuit, processor, state machine, etc. ThePMU controller 101 interfaces with the charger detect/protectcircuit 104 and thebattery charger circuit 105 to charge thesystem battery 182 when power for charging is available, interfaces with theserial interface slave 102 to communicate with thehost SOC 130 over theserial interface 128, interfaces with the power rail circuits 120-124 to control power to thesystem 10, and interfaces with thePMU register bank 103 to store and access data associated with the status of thePMU 100 and thesystem 10. Additionally, thePMU controller 101 interfaces with other elements of thePMU 100, such as the ADCs 110-112, thecurrent sense circuit 107, and theOTP map 106. - The
serial interface slave 102 comprises one end of theserial interface 128 that facilitates communication between thePMU 100 and thehost SOC 130. Among various modes and states of operation of thesystem 10, theserial interface 128 is relied upon to communicate system parameters or system status data between thePMU 100 and thehost SOC 130. For example, thePMU 100 may gather data regarding a type of battery charger or charging port coupled to thesystem bus 180, a battery voltage of the system battery 182 (i.e., VBat), a bus voltage on the system bus 180 (i.e., VBus), a temperature of a component of thesystem 10, whether a feature option in thesystem 10 is set, and/or whether thesystem bus 180 is coupled to a system or device that hosts a program image source which may be retrieved by thesystem 10. In part, this system status data may be gathered using one or more of the ADCs 110-112. For example, the ADCs 110-112 may be relied upon to determine the VBat and VBus voltages, the temperature of components in thesystem 10, etc. Particularly, the ADCs 110-112 may convert analog values of the VBat and VBus voltages, and voltages representative of the temperature of components in thesystem 10, into digital values for processing and/or storage by thePMU 100. While these and other examples of power and management system parameters and system status data are described herein, other types of data representative of the status of thesystem 10 are within the scope and spirit of the embodiments. - In general, the system parameters, system status data, etc. may be representative of operational aspects of the
system 10 and may be gathered by thePMU 100 from time to time, periodically or aperiodically over time, as directed by thehost SOC 130, or at any other suitable time(s). The system status data may be stored by thePMU controller 101 in thePMU register bank 103 and, in certain embodiments described herein, communicated to thehost SOC 130 for further evaluation and processing. - In connection with the
BCD circuit 161 of thehost SOC 130, the charger detect/protectcircuit 104 may be relied upon to detect the type of battery charger or charging port coupled to thesystem bus 180 and report the type of battery charger or charging port to thePMU controller 101. The charger detect/protectcircuit 104 may determine an amount of power that a charger or port coupled to thesystem bus 180 is able to supply. For example, depending upon the type of charger or port coupled to thesystem bus 180, the charger or port may be able to source a current of between 100 mA and 1.5 A or more at a certain voltage, without collapse. - The charger detect/protect
circuit 104 may also be able to distinguish whether thesystem bus 180 is coupled to a charging downstream port (CDP), a dedicated charging port (DCP), an accessory charging adapter port (ACA), a personal system 2 (PS/2) port, or a standard downstream port (SDP). Each of these ports may be able to source a certain amount of power to thesystem 10. In certain aspects of the embodiments described herein, thesystem 10 may be able to tailor its operation based on the amount of power available to charge thesystem battery 182, for example. - When the
system 10 is coupled to charging power via thesystem bus 180, thebattery charger circuit 105 may charge thesystem battery 182 based on or in accordance with the type of battery charger or port coupled to thebus 180. For example, depending upon the amount of power available to charge thesystem battery 182, which may depend in part based on the type of battery charger or port coupled to thebus 180, thebattery charger circuit 105 may charge thesystem battery 182 relatively slowly or quickly. In addition to the VBat and VBus voltages, a charging status of thesystem battery 182 may be stored by thePMU controller 101 in thePMU register bank 103. - The
OTP map 106 includes an array of programmable fuses or similar circuit elements that may each be programmed to retain a logical value. In this context, theOTP map 106 may be programmed during an initial test of thePMU 100 after manufacture, for example, or at another suitable time. The logical values retained in theOTP map 106 may be referenced by thePMU controller 101, to direct conditional operation of thePMU controller 101. For example, the logical values retained in theOTP map 106 may be relied upon to store initial voltage settings, for example, for one or more of the power rail circuits 120-124. That is, theOTP map 106 may store voltage and/or current settings for power supplied by one or more of the system bus interface power rail 120, the BCD power rail 121, the powerprocessor power rail 122, the I/Opin power rail 123, and/or the application processor (AP)power rail 124. Depending upon the operating status of thesystem 10, thePMU controller 101 may directly set the voltage and/or current settings for one or more of the power rails 120-124 based on the logical values retained in theOTP map 106, for example, and/or other factors. Additionally or alternatively, depending upon the operating status of thesystem 10, thePMU controller 101 may set voltage and/or current settings for one or more of the power rails 120-124 based on instructions from thehost SOC 130, as further described below. - In other aspects, the
OTP map 106 may store settings associated with different battery chargers or charging ports which may be coupled to thesystem bus 180. As noted above, depending upon the type of charger or port coupled to thesystem bus 180, a current of between 100 mA and 1.5 A or more may be available for charging thesystem battery 182 and other functions of thesystem 10. In this context, theOTP map 106 may store certain settings for battery charging, rail voltages, power-up sequences, system limitations, etc., depending upon the type of charger or port coupled to thesystem bus 180. Further, the OTP map may store settings associated with other system parameters measured and/or evaluated by thePMU 100. - The
current sense circuit 107 may be relied upon by thePMU 100 to determine the current being supplied by each of the power rails 120-124. Particularly, using representative-scale replica power rail circuits, thecurrent sense circuit 107 may sense and determine instant or average current being supplied by each of the power rails 120-124 from time to time or over a period of time as directed by thePMU controller 101. Further, thecurrent sense circuit 107 may sample and convert analog representations of the current being supplied by each of the power rails 120-124 into digital values. These values may be stored by thePMU controller 101 in thePMU register bank 103 as system status data. - In certain modes and states of operation of the
system 10, thePMU 100 may rely upon astrap switch 129 to electrically couple power from the system bus 180 (i.e., VBus) to one or more of the power rails 120-124 (or other power rails), and to electrically de-couple power from the system battery 182 (i.e., VBat) from the one or more of the power rails 120-124. In this context, thestrap switch 129 may couple power from thesystem bus 180 to one or more of the power rails 120-124 if thesystem battery 182 lacks sufficient voltage for the operation of certain elements in thesystem 10 within operating requirements. In various embodiments, it is noted that thestrap switch 129 may include one or more switches, as well as protection and/or regulation circuitry that filters and/or conditions power coupled to thesystem 10 via thesystem bus 180. - As one example use of the
strap switch 129, thePMU controller 101 may control thestrap switch 129 to couple power from thesystem bus 180 to a power rail for thesystem memory 184, for at least a limited period of time, if thesystem battery 182 has not yet reached a threshold voltage (e.g., ˜3.2 V) required for stable operation of thesystem memory 184. It is noted that, among the elements in thesystem 10, certain elements may require a relatively higher voltage for operation than others. Rather than waiting for thesystem battery 182 to charge to the relatively higher voltage necessary for these elements, thestrap switch 129 may be relied upon to provide the VBus voltage, rather than the VBat voltage, to the power rails for these elements. In turn, the power rails may regulate and/or condition the VBus voltage from thesystem bus 180 to a voltage suitable for operation of the elements that require the relatively higher voltage. In this way, thesystem 10 may be started faster, because it is not necessary to wait for thesystem battery 182 to charge to the relatively higher voltage. Elements in thesystem 10 that do not require the relatively higher voltage may be powered by power rails supplied by the voltage VBat from thesystem battery 182. After the voltage VBat of thesystem battery 182 reaches a voltage sufficient to support the relatively higher voltage, thestrap switch 129 may again couple power from thesystem battery 182 to the power rails for the elements which require the relatively higher voltage. - B. Host SOC Operation
- The
host SOC 130 may be generally embodied as a full system-on-chip semiconductor device. In this sense, thehost SOC 130 integrates various general and/or application specific processors and processing circuits into a single integrated circuit package, reducing space. Overall, thepower manager 131 of thehost SOC 130 supports thehost SOC 130 and the power requirements of thehost SOC 130. - The
power manager 131 of thehost SOC 130 may retrieve and evaluate the power and management system status data stored in thePMU 100, while coordinating a power up sequence for thehost SOC 130 and/or the subsystems 170-173 with thePMU 100. As described in further detail below, thepower processor 132 of thepower manager 131 and thePMU 100 may operate in connection with each other to power up elements in thesystem 10 based on the power and management system status data gathered by thePMU 100. On the basis of the system status data, thepower manager 131 and thePMU 100 may conditionally power up elements in thesystem 10 in various sequences or modes of operation. - In the context of power up of the
host SOC 130, it is noted that each of thepower manager 131, theapplication processor 140, themodem 141, and thegraphics processor 142 may be powered by one or more power rails of thePMU 100 in thesystem 10. For example, in the embodiment illustrated inFIG. 1 , thepower manager 131 is powered by the powerprocessor power rail 122, and theapplication processor 140 is powered by the applicationprocessor power rail 124. In various embodiments, it is noted that several elements of thesystem 10 may be powered by one of the power rails of thePMU 100, although individual ones of those elements may be respectively switched between powered-off and powered-on modes of operation by control signals, for example. Each power rail may be electrically coupled from thePMU 100 to thehost SOC 130 by one or more respective power traces in thesystem 10 and power pins or pads of thePMU 100 and thehost SOC 130. Other power rails of thePMU 100 are respectively coupled to system elements in thesystem 10, as necessary, for supplying power. - According to certain aspects described herein, because the
power manager 131 of thehost SOC 130 operates as a type of partner with thePMU 100 for power management in thesystem 10, thePMU 100 generally powers and releases thepower manager 131 for start while the remaining processors and systems of thehost SOC 130 and/or thesystem 10 are left without power until a later time. - In view of the context provided above, it is noted that each of the
application processor 140, themodem 141, thegraphics processor 142, and other system elements may be transitioned from a powered-off to a powered-on mode of operation at a different respective time or timing, as determined by thePMU 100 and/or thepower manager 131. Further, these elements may be powered-on according to a certain mode of operation for optimal power consumption. According to aspects of the embodiments described herein, in the interest of overall flexibility in power-up of thesystem 10, especially in cases of low power in thesystem battery 182, high or abnormal system temperature, connection of thesystem bus 180 to a system or device that hosts an image for download, etc., thePMU 100 and thepower manager 131 may evaluate the power and management system status data which is gathered and stored by thePMU 100, to determine an appropriate manner in which the elements, subsystems, and processors of thesystem 10 are powered on. - As one example of a conditional power up, the
power manager 131 may retrieve and evaluate a system parameter stored by thePMU 100, evaluate the system parameter, and set an operating parameter for theapplication processor 140 based on the evaluation of the system parameter. The operating parameter may be set (e.g., stored) by thepower manager 131 in theregister bank 150 of thehost SOC 130 for reference by theapplication processor 140 and/or other supporting circuitry during a boot up sequence of theapplication processor 140. After thePMU 100 powers the application processor power rail 124 (and any other necessary power rails), theapplication processor 140 may be released for start (e.g., boot). - The boot sequence of the
application processor 140 may be impacted by the operating parameter which was set or stored in theregister bank 150 by thepower manager 131 before theapplication processor 140 was released for start. As one example, the operating parameter may indicate that theapplication processor 140 must boot at a certain operating frequency or speed for lower power operation because the battery voltage VBat of thesystem battery 182 is marginal. That is, the charge stored in thesystem battery 182 may be sufficient only to support a low frequency—rather than a high frequency—boot of theapplication processor 140. Alternatively, the operating parameter may indicate that theapplication processor 140 must boot according to a certain limitation of operating power or timing, to conserve power. Here, it should be appreciated that theapplication processor 140 may consume relatively more power than thePMU 100 and/or thepower manager 131, even in combination with each other, unless the operating parameters of theapplication processor 140 are configured for low power operation. - In the context of a conditional power up, generally, the conditions for power up may be determined such that the current consumed by the
system 10 during boot is less than the charging current provided to thesystem battery 182 for charging. Particularly, after the BCD detectcircuit 161 detects the type of battery charger or charging port coupled to thesystem bus 180, and the OTP map is referenced to ascertain the maximum charging current available for the charger or charging port, thesystem 10 may be configured according to aspects of the embodiments described herein to consume relatively less power during boot than is currently being used to charge thesystem battery 182. In this way, thesystem 10 may be booted, even if with certain limitations or conditions on power consumption, safely and quickly, although thesystem battery 182 may be substantially discharged. - Especially if the
system battery 182 is fully discharged, the time period from coupling thesystem 10 to a power source until conditional power up of thesystem 10 may be significantly less than would otherwise be needed, because thesystem 10 is configured to power up with a certain, limited, current consumption. Even after a conditional power up, however, thesystem 10 continues to monitor system parameters including the voltage VBus of thesystem battery 182, and operating parameters of thesystem 10 may be adjusted over time as further described below. - In other aspects, a conditional power up and continued low-power operation may be relied upon to charge a battery faster than would otherwise be possible. In other words, with a certain current available for charging the
system battery 182, thesystem 10 may be powered up and operated in accordance with settings for lower power consumption, and any savings in consumed power may be directed to charging thesystem battery 182 more quickly. Additional examples of the evaluation of system parameters and conditional and/or directed boot modes, sequences, mode of operation, etc. in thesystem 10 are described in further detail below with reference toFIGS. 2A , 2B, and 3. - Turning to
FIGS. 2A , 2B, and 3, process flow diagrams illustrating example processes performed by a system for power and system management information visibility. While the process flow diagrams are described in connection with thesystem 10 ofFIG. 1 , it is noted that other systems may perform the illustrated processes. That is, in various embodiments, systems similar to thesystem 10 may perform the processes illustrated inFIGS. 2A , 2B, and 3. - In certain aspects, the flowcharts of
FIGS. 2A , 2B, and 3 may be considered to depict example steps performed by thesystem 10 according to one or more embodiments. Although the process diagrams ofFIGS. 2A , 2B, and 3 illustrate an order, it is understood that the order may differ from that which is depicted. For example, an order of two or more elements in the process may be scrambled relative to that shown, performed concurrently, or performed with partial concurrence. Further, in some embodiments, one or more of the elements may be skipped or omitted within the scope and spirit of the embodiments described herein. -
FIG. 2A illustrates a process flow diagram for amethod 200 of power and system management information visibility performed by thesystem 10 ofFIG. 1 according to an example embodiment. It may be assumed that thesystem 10 is in a powered-off mode of operation at the outset of themethod 200. However, even when thehost SOC 130 and other elements of thesystem 10 are in the powered-off mode of operation, thePMU 100 of thesystem 10 may be maintained in a powered-on mode of operation so as to gather system parameters for thesystem 10. - At
reference numeral 202, themethod 200 includes measuring a system parameter. That is, in the context of thesystem 10 ofFIG. 1 , thePMU 100 may measure, identify, and/or determine one or more system parameters of thesystem 10 atreference numeral 202. The system parameters may include one or more voltages, one or more currents, one or more temperatures, one or more feature options, or other system parameters. In general, atreference numeral 202, thePMU 100 may measure, identify, and/or determine any of the system parameters described herein or similar system parameters. - As one example, as discussed above, the ADCs 110-112 of the
PMU 100 may convert the VBat and VBus voltages and voltages representative of the temperature of elements in thesystem 10 into digital values for measurement and storage. Additionally, thePMU 100 may identify a type of battery charger or charging port coupled to thesystem bus 180. ThePMU 100 may also refer to theOTP map 106 to identify initial voltage settings for the power rail circuits 120-124 and an initial charging current supplied by thebattery charger circuit 105 to thesystem battery 182 based on the type of battery charger or charging port coupled to thesystem bus 180. These initial voltage settings may be identified by thePMU 100 as system parameters. - As another example, the
PMU 100 may identify one or more feature options. A feature option of thePMU 100 may be identified based on a voltage strapped to a pin or pad of thePMU 100. In other words, a relatively high-impedance resistor may be used to electrically couple a logic-high voltage level to a pin or pad of thePMU 100. This logic-high voltage level may be identified by thePMU 100 atreference numeral 202. The logic-high voltage level may indicate to thePMU 100 that, for example, an external battery charger detection circuit is being relied upon in thesystem 10, that an external wireless charging circuit is being relied upon in thesystem 10, or that thesystem 10 is currently under test, etc. These feature option settings may be identified by thePMU 100 as system parameters. - At
reference numeral 204, themethod 200 includes storing the system parameters that were measured, identified, and/or determined atreference numeral 202. As described above, thePMU 100 may store the system parameters into thePMU register bank 103. It should be appreciated that, in various embodiments, the measuring atreference numeral 202 and the storing atreference numeral 204 may continue to be performed throughout the process flow of themethod 200 and other processes of thesystem 10. In other words, thePMU 100 may continue to measure, store, and evaluate system parameters of thesystem 10 over time, and those functions of thePMU 100 should not be considered to be limited to any period of time in the process flow of themethod 200 or other processes of thesystem 10. - At
reference numeral 206, themethod 200 includes determining whether to start thepower manager 131 of thehost SOC 130. For example, atreference numeral 206, thePMU 100 may determine whether to start thepower manager 131, based on certain factors and considerations. For example, the determination of whether to start thepower manager 131 may depend upon whether a minimum threshold of charge and/or voltage is available in thesystem battery 182 to supply power to the power rails (e.g., power rails 122, 123, etc.) that support thepower manager 131. Alternatively or additionally, the determination of whether to start thepower manager 131 may depend upon a certain timing, whether a power button of thesystem 10 was pressed, whether a certain battery charger or port type is coupled to thesystem bus 180, or combinations of these considerations, among others. - If the
PMU 100 determines atreference numeral 206 not to start thepower manager 131, then themethod 200 proceeds back toreference numeral 202 to continue to measure system parameters of thesystem 10. On the other hand, if thePMU 100 determines atreference numeral 206 to release thepower manager 131, then themethod 200 proceeds to reference numeral 208. - At
reference numeral 208, themethod 200 includes powering one or more power rails for thepower manager 131. Thus, atreference numeral 208, thePMU 100 may refer to theOTP map 106 to identify initial voltage settings for one or more of the power rail circuits 120-124, and set the one or more power rail circuits 120-124 to an output voltage according to the initial voltage settings. In various embodiments, the one or more power rails may include only those necessary to supply power to thepower processor 132, thememory 133, theserial interface master 134, and certain I/O pins. - At
reference numeral 210, themethod 200 includes updating the system parameters. Here, thePMU 100 may update or revise system parameters stored in thePMU register bank 103 on the basis of any system status parameters that have recently changed. In this context, it is noted that thePMU 100 may update or revise the system parameters stored in thePMU register bank 103 at any time and over time throughout the process flow of themethod 200 and other processes of thesystem 10. In this manner, the most up-to-date system status parameters are available for retrieval and evaluation. - At
reference numeral 212, themethod 200 includes releasing thepower manager 131 to start. Here, for example, thePMU 100 may release thepower manager 131 to start by changing a logic level on a reset pin of thehost SOC 130 for thepower manager 131. Upon the release, thepower manager 131 boots and seeks status information on thesystem 10 from thePMU 100. Relying upon theserial interface master 134, thepower processor 132 may request communication of (or send a command for) system parameters from thePMU 100 via theserial interface 128. Based on the request or command from thepower processor 132, at reference numeral 213, themethod 200 includes thePMU 100 communicating one or more system parameters to thepower processor 132 via theserial interface 128. Particularly, thePMU controller 101 accesses thePMU register bank 103 to retrieve one or more system parameters and then communicates the system parameters back to thepower processor 132 via theserial interface 128. - Turning to
FIG. 2B , atreference numeral 214, themethod 200 includes evaluating one or more system parameters. Particularly, thepower processor 132 evaluates the system parameters received from thePMU 100 for various purposes, including to determine the operating conditions and environment of thesystem 10. In certain aspects, the evaluating atreference 214 is performed to determine whether theapplication processor 140 of the host SOC is ready to power on, or to assist one or more elements of thesystem 10 to power on in a flexible and deliberate manner, taking into consideration the current operating environment of thesystem 10. Further details on the evaluating are described below with reference toFIG. 3 . - At
reference numeral 216, themethod 200 includes setting one or more operating parameters for one or more of theapplication processor 140, themodem 141, thegraphics processor 142, one or more of the subsystems 170-173, or other elements of thesystem 10, for example, based on the evaluation atreference numeral 214. It is noted that, atreference numeral 216, one or more operating parameters may be set for a combination of features of theapplication processor 140, themodem 141, and thegraphics processor 142, and other elements of thesystem 10 based on the evaluation atreference numeral 214. - Setting the operating parameters may be performed by the
power processor 132 by storing data, flags, or logic levels, for example, in the register banks 150-152. For example, if the evaluating atreference numeral 214 identifies that the voltage level VBat is marginal, an operating parameter for theapplication processor 140 may be set by thepower processor 132 in theregister bank 150. This operating parameter may identify that, when theapplication processor 140 is released to start or boot, it must boot at a relatively lower operating frequency than would otherwise be permitted if the voltage level VBat was higher. As another example, theapplication processor 140 may be released to start with a condition or limit on the brightness that may be set for a display of thesystem 10. According to certain aspects, operating parameters may be set atreference numeral 216 such that an overall current consumed by thesystem 10 during a boot sequence is less than a current available to charge thesystem battery 182. - In the context of the example provided above, it should be appreciated that, according to aspects of the embodiments described herein, the
application processor 140 may be permitted to start or boot earlier than would be possible otherwise. Specifically, to prevent thesystem 10 from crashing due to the voltage level VBat drooping below a minimum operating threshold when theapplication processor 140 is started, one conventional approach has been to wait until the voltage level VBat reaches or exceeds a certain high threshold. Reaching the high threshold may take a relatively significant amount of time when thesystem battery 182 is being charged depending upon the rate of charge. - When evaluating the system parameters at
reference numeral 214, thepower processor 132 may consider interplay among operating conditions of thesystem 10. For example, if thepower processor 132 identifies atreference numeral 214 that the voltage level VBat is marginal, then thepower processor 132 may also take into consideration the type of battery charger currently coupled to thesystem bus 180. In other words, thepower processor 132 can identify the maximum amount of current available to charge thesystem battery 182 based on the type of battery charger currently coupled to thesystem bus 180. - As described above, depending upon the type of charger or port coupled to the
system bus 180, the charger or port may be able to source a current of between 100 mA and 1.5 A. If thepower processor 132 identifies that the type of battery charger currently coupled to thesystem bus 180 is one that is able to source only a relatively small amount of current (e.g., 100 mA), then thepower processor 132 may recognize that it is possible to boot theapplication processor 140 at a marginal VBat voltage level—but with a reduced operating frequency. To achieve this faster boot of theapplication processor 140 with the marginal VBat voltage level, thepower processor 132 may set appropriate operating settings in theregister bank 150 to start theapplication processor 140 at the reduced operating frequency. On the other hand, if the type of battery charger is one that is able to source a relatively large amount of current (e.g., 1 A), then thepower processor 132 may recognize that it is possible to boot theapplication processor 140 at a nominal operating frequency even though the voltage level VBat is marginal. - In other aspects, at
reference numeral 216, one or more operating parameters may be set for directing theapplication processor 140 to download a program image source from a host device over thesystem bus 180. These operating parameters may be set based on a type of charging port (e.g., SDP or CDP port) coupled to thesystem bus 180, for example, and/or the voltage VBus of thesystem battery 182. In this case, when theapplication processor 140 is released for boot, theapplication processor 140 may identify that an operating parameter for image download is set. Theapplication processor 140 may then proceed to download a program image from the host device via thesystem bus 180. The download may be based on certain conditions even when the operating parameter for image download is set, such as continued minimum VBat voltage, a temporary halt on charging thesystem battery 182, etc. The program image may include system software to be installed upon thesystem 10 during manufacture, for example, and the program image may be stored in thesystem memory 184. On the other hand, if thesystem 10 is coupled to a wall charger and not a host device that provides a program image source, the operating parameters may be set to prevent thesystem 10 from attempting to download the program image source, saving time at the outset of system boot. - It should be appreciated that, in various embodiments, the processes at
reference numerals FIG. 2B . - Continuing, at
reference numeral 218, themethod 200 includes determining whether to set a power strap option. More particularly, thepower processor 132 determines, based on the system parameters, whether to couple one or more of the power rails 120-124 to the voltage level VBus of thesystem bus 180 using thestrap switch 129. Atreference numeral 218, thepower processor 132 may consider the type of battery charger or charging port coupled to thesystem bus 180, among other system parameters, when determining whether to set the power strap option. If thepower processor 132 determines to rely upon thestrap switch 129 to couple VBus, rather than VBat, to one or more of the outputs of the power rails 120-124, then themethod 200 proceeds to reference numeral 220. Otherwise, if thepower processor 132 determines not to rely upon thestrap switch 129, then themethod 200 proceeds to reference numeral 222. - As described above, use of the
strap switch 129 atreference numeral 218 may permit thesystem 10 to start or boot faster, because it is not necessary to wait for thesystem battery 182 to charge to a relatively higher voltage which may be required for operation of certain elements in thesystem 10, such as thesystem memory 184 and/or a display of thesystem 10, for example. Elements in thesystem 10 that do not require the relatively higher voltage may be powered by power rails supplied by the voltage VBat from thesystem battery 182. After the voltage VBat of thesystem battery 182 reaches a voltage sufficient to support the relatively higher voltage, thestrap switch 129 may again couple power from thesystem battery 182 to the power rails for the elements which require the relatively higher voltage. - At
reference numeral 220, themethod 200 includes setting a strap option for outputs of one or more of the power rails 120-124 using thestrap switch 129. Thepower processor 132 may communicate a command via theserial interface 128 to instruct thePMU 100 to configure thestrap switch 129 in a certain way. Thestrap switch 129, in various embodiments, may be configured by thePMU 100 to couple outputs of one or more of the power rails 120-124 to the voltage level VBus. That is, thepower processor 132 may instruct thePMU 100 to couple the power rail for thesystem memory 184 or the power rail for a display of thesystem 10, for example, to the voltage level VBus. Such a configuration may be helpful when thesystem battery 182 is charging, but not enough charge is present in thesystem battery 182 to support powering one or more of the power rails 120-124 at a sufficient voltage level for operation of thesystem memory 184 and/or a display of thesystem 10. It is noted here that, upon setting any strap option, thePMU 100 may update or revise the system parameters stored in thePMU register bank 103 to reflect the status of the strap option. In this manner, the most up-to-date system status parameters are available, and thepower processor 132 may re-evaluate the system parameters. - In
FIG. 2B , afterreference numerals method 200 continues to reference numeral 222. Atreference numeral 222, themethod 200 includes setting power rails for one or more of theapplication processor 140, themodem 141, thegraphics processor 142, or one or more of the subsystems 170-173, for example, among other elements in thesystem 10. Here, power is supplied to elements of thesystem 10 which are about to be released to start or boot. Thepower processor 132 may communicate with thePMU 100 via theserial interface 134 to command thePMU 100 to set the power rails to the appropriate levels based on the evaluating atreference numeral 214 and the strap option settings atreference numeral 220, for example. - At
reference numeral 224, themethod 200 includes releasing one or more of theapplication processor 140, themodem 141, thegraphics processor 142, or one or more of the subsystems 170-173 for start. For example, atreference numeral 224, themethod 200 may include releasing theapplication processor 140 to start based on an operating parameter stored in theregister bank 150. It is noted that, among embodiments, the respective elements of thesystem 10 may be released for start or boot in any suitable sequence or arrangement. That is, elements of thesystem 10 may be released respectively in time, in combinations over time, together, etc., depending upon the system parameters and the evaluating atreference numeral 214. Generally, thepower processor 132 and/or thePMU 100 may determine which elements of thesystem 10 should be released for start or boot first, and theprocess 200 may repeat, in part, for other elements of thesystem 10. - At
reference numeral 226, themethod 200 includes starting or booting the elements of thesystem 10 that were released atreference numeral 224. Here, when the elements of thesystem 10 start, reference may be made to the operating settings that were stored atreference numeral 204 and/or updated at reference numeral 210 (FIG. 2A ). It should be appreciated that, based on the operating settings, when the elements of thesystem 10 start, thesystem 10 is able to start with some a priori or beforehand evaluation of the status of thesystem 10. - Turning to
FIG. 3 , a process flow diagram is illustrated for a method of evaluation of power and system management information performed by thesystem 10 ofFIG. 1 according to an example embodiment. It is noted that the evaluating by thepower processor 132 atreference numeral 214 ofFIG. 2B may include any one or more of the evaluating processes illustrated inFIG. 3 . Further, it is noted that the processes for evaluation inFIG. 3 may rely upon or correspond to certain processes for measurement performed by the PMU 100 (e.g., atreference numeral 202 ofFIG. 2A ). That is, the evaluating illustrated inFIG. 3 may depend, at least in part, upon certain system parameters being measured by thePMU 100. Further, in various embodiments, the processes for evaluation inFIG. 3 may be performed by thePMU 100 depending upon the configuration of thesystem 10. - Among other aspects of the evaluating, the evaluating at
reference numeral 214 may include evaluating and/or measuring the battery voltage level VBat of thesystem battery 182 atreference numeral 302; evaluating and/or detecting a type of battery charger coupled to thesystem bus 180 and/or the bus voltage level VBus of thesystem bus 180 atreference numeral 304; evaluating and/or measuring a temperature of a system component of thesystem 10 atreference numeral 306; and/or, atreference numeral 308, evaluating and/or detecting a feature or option of thesystem 10, such as whether a program image source is coupled to thesystem bus 180, whether an external battery charger detection circuit is being relied upon in thesystem 10, whether an external wireless charging circuit is being relied upon in thesystem 10, or whether thesystem 10 is currently under test. - The evaluation processes at one or more of
reference numerals power processor 132 and/or thePMU 100 and include determining whether the battery voltage VBat or the bus voltage VBus is equal to or greater than a predetermined voltage, determining whether a type of battery charger or charging port coupled to thesystem bus 180 supports at least a predetermined threshold of output current, determining whether a system image is available for download via thesystem bus 180, determining whether thesystem 10 is specially configured with optional circuitry or in a test mode, and/or determining whether a temperature of one or more elements of thesystem 10 are equal to or greater than a predetermined temperature. These evaluations may lead to setting or configuring one or more system operating parameters as described herein, and may be performed in combination with each other at reference numeral 310. - According to aspects of the embodiments described herein, because system parameters of the
system 10 are evaluated before elements of thesystem 10 are released for start, thesystem 10 is able to start according to a more directed approach. For example, it is not necessary for theapplication processor 140 to boot, read instructions from thesystem memory 184, load drivers for communicating with thePMU 100 and/or thesystem bus 180, communicate with thePMU 100 and/or via thesystem bus 180, identify the status of the system 10 (e.g., operating voltages, peripherals coupled to thesystem bus 180, etc.), and make operating decisions according to the status. Instead, according to the more directed approach, theapplication processor 140 can start with certain operating settings already pre-determined and stored in the register bank 150 (via status flags, status registers, etc.). - It is noted that, if not for the more directed approach, which may include certain limitations on power consumption, for example, the
system 10 might otherwise crash because of power failure in certain circumstances. In conventional systems, system boot is typically postponed until an extra buffer of charge is stored in a system battery, to account for high boot-time power demands. Using the more directed approach according to the embodiments described herein, no (or less) charge or voltage buffer is required before boot of thesystem 10. - The operating settings relied upon during the directed boot may indicate an overall status of the
system 10 for reference by theapplication processor 140. In this context, it should be appreciated that thepower processor 132 can make operating decisions for various elements of thesystem 10 before those elements are released for start. For example, operating parameters such as system temperature may be evaluated and stored for themodem 141 before themodem 141 is released for start. In this manner, themodem 141 may immediately identify and adjust for temperature-dependent communications parameters, for example. - Overall, because the
power processor 132 and thePMU 100 are designed to consume relatively low power, thesystem 10 can benefit from the system parameter measurements and evaluations performed by thepower processor 132 and thePMU 100. According to aspects described herein, a more integrated, directed, and flexible approach to start and boot sequences for the elements of thesystem 10 may be achieved. Generally, the directed and flexible approaches to boot sequences seek to boot thesystem 10 as quickly as possible, especially in the case of a discharged system battery, while avoiding conditions leading to a system power crash. - In various embodiments, each of the
PMU controller 101, thepower processor 132, and or other processors or processing circuits of thesystem 10 may comprise general purpose arithmetic processors, state machines, or Application Specific Integrated Circuits (“ASICs”), for example. Each such processor or processing circuit may be configured to execute one or more computer-readable software instruction modules. In certain embodiments, each processor or processing circuit may comprise a state machine or ASIC, and the processes described inFIGS. 2A , 2B, and 3 may be implemented or executed by the state machine or ASIC according to the computer-readable instructions. - The memories and/or registers described herein may comprise any suitable memory devices that store computer-readable instructions to be executed by processors or processing circuits. These memories and/or registers store computer-readable instructions thereon that, when executed by the processors or processing circuits, direct the processors or processing circuits to execute various aspects of the embodiments described herein.
- As a non-limiting example group, the memories and/or registers may include one or more of an optical disc, a magnetic disc, a semiconductor memory (i.e., a semiconductor, floating gate, or similar flash based memory), a magnetic tape memory, a removable memory, combinations thereof, or any other known memory means for storing computer-readable instructions.
- In certain aspects, the processors or processing circuits are configured to retrieve computer-readable instructions and/or data stored on the memories and/or registers for execution. The processors or processing circuits are further configured to execute the computer-readable instructions to implement various aspects and features of the embodiments described herein.
- Although embodiments have been described herein in detail, the descriptions are by way of example. The features of the embodiments described herein are representative and, in alternative embodiments, certain features and elements may be added or omitted. Additionally, modifications to aspects of the embodiments described herein may be made by those skilled in the art without departing from the spirit and scope of the present invention defined in the following claims, the scope of which are to be accorded the broadest interpretation so as to encompass modifications and equivalent structures.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/950,725 US20140223217A1 (en) | 2013-02-01 | 2013-07-25 | Power and system management information visibility |
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361759470P | 2013-02-01 | 2013-02-01 | |
US201361833598P | 2013-06-11 | 2013-06-11 | |
US201361834513P | 2013-06-13 | 2013-06-13 | |
US201361836327P | 2013-06-18 | 2013-06-18 | |
US201361836306P | 2013-06-18 | 2013-06-18 | |
US201361836886P | 2013-06-19 | 2013-06-19 | |
US201361836895P | 2013-06-19 | 2013-06-19 | |
US201361836903P | 2013-06-19 | 2013-06-19 | |
US13/950,725 US20140223217A1 (en) | 2013-02-01 | 2013-07-25 | Power and system management information visibility |
Publications (1)
Publication Number | Publication Date |
---|---|
US20140223217A1 true US20140223217A1 (en) | 2014-08-07 |
Family
ID=51258735
Family Applications (8)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/950,769 Active 2034-11-28 US9542267B2 (en) | 2013-02-01 | 2013-07-25 | Enhanced recovery mechanisms |
US13/950,776 Abandoned US20140223214A1 (en) | 2013-02-01 | 2013-07-25 | Dynamic power mode switching per rail |
US13/950,750 Active 2033-12-06 US9342400B2 (en) | 2013-02-01 | 2013-07-25 | Dynamic power profiling |
US13/950,762 Active 2034-07-11 US9424127B2 (en) | 2013-02-01 | 2013-07-25 | Charger detection and optimization prior to host control |
US13/950,725 Abandoned US20140223217A1 (en) | 2013-02-01 | 2013-07-25 | Power and system management information visibility |
US13/950,713 Active US8996736B2 (en) | 2013-02-01 | 2013-07-25 | Clock domain crossing serial interface, direct latching, and response codes |
US13/950,738 Active 2034-07-19 US9430323B2 (en) | 2013-02-01 | 2013-07-25 | Power mode register reduction and power rail bring up enhancement |
US14/631,709 Active US9448878B2 (en) | 2013-02-01 | 2015-02-25 | Clock domain crossing serial interface |
Family Applications Before (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/950,769 Active 2034-11-28 US9542267B2 (en) | 2013-02-01 | 2013-07-25 | Enhanced recovery mechanisms |
US13/950,776 Abandoned US20140223214A1 (en) | 2013-02-01 | 2013-07-25 | Dynamic power mode switching per rail |
US13/950,750 Active 2033-12-06 US9342400B2 (en) | 2013-02-01 | 2013-07-25 | Dynamic power profiling |
US13/950,762 Active 2034-07-11 US9424127B2 (en) | 2013-02-01 | 2013-07-25 | Charger detection and optimization prior to host control |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/950,713 Active US8996736B2 (en) | 2013-02-01 | 2013-07-25 | Clock domain crossing serial interface, direct latching, and response codes |
US13/950,738 Active 2034-07-19 US9430323B2 (en) | 2013-02-01 | 2013-07-25 | Power mode register reduction and power rail bring up enhancement |
US14/631,709 Active US9448878B2 (en) | 2013-02-01 | 2015-02-25 | Clock domain crossing serial interface |
Country Status (1)
Country | Link |
---|---|
US (8) | US9542267B2 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160059725A1 (en) * | 2014-08-27 | 2016-03-03 | Hyundai Motor Company | Method and apparatus for detecting charger and method of operating the charger |
US20160209905A1 (en) * | 2013-09-04 | 2016-07-21 | Zentrum Mikroelektronik Dresden Ag | Fpga power management system |
US9479331B2 (en) * | 2014-08-20 | 2016-10-25 | Apple Inc. | Managing security in a system on a chip (SOC) that powers down a secure processor |
US9619377B2 (en) | 2014-05-29 | 2017-04-11 | Apple Inc. | System on a chip with always-on processor which reconfigures SOC and supports memory-only communication mode |
US9778728B2 (en) | 2014-05-29 | 2017-10-03 | Apple Inc. | System on a chip with fast wake from sleep |
US10031000B2 (en) | 2014-05-29 | 2018-07-24 | Apple Inc. | System on a chip with always-on processor |
US11862173B2 (en) | 2013-11-12 | 2024-01-02 | Apple Inc. | Always-on audio control for mobile device |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6285779B2 (en) * | 2014-03-31 | 2018-02-28 | ローム株式会社 | Power management controller, power management circuit using the same, and electronic equipment |
US9514020B2 (en) * | 2014-06-23 | 2016-12-06 | Dell Products L.P. | Power profile diagnostic system |
US9678550B2 (en) * | 2014-07-22 | 2017-06-13 | Empire Technology Development Llc | Dynamic router power control in multi-core processors |
JP6341795B2 (en) * | 2014-08-05 | 2018-06-13 | ルネサスエレクトロニクス株式会社 | Microcomputer and microcomputer system |
US9419624B2 (en) * | 2014-11-12 | 2016-08-16 | Xilinx, Inc. | Power management system for integrated circuits |
US9813063B2 (en) * | 2014-12-23 | 2017-11-07 | Apple Inc. | Method of using a field-effect transistor as a current sensing device |
KR102523859B1 (en) * | 2015-09-09 | 2023-04-21 | 삼성전자주식회사 | Electronic device for managing power and method for controlling thereof |
US10132844B2 (en) | 2015-11-17 | 2018-11-20 | Cirrus Logic, Inc. | Current sense amplifier with common mode rejection |
GB2544835B (en) * | 2015-11-17 | 2020-02-12 | Cirrus Logic Int Semiconductor Ltd | Current sense amplifier with common mode rejection |
CN105573932B (en) * | 2015-12-11 | 2018-04-20 | 中国航空工业集团公司西安航空计算技术研究所 | A kind of more bit wide data cross clock domain access methods based on register |
US10073511B2 (en) * | 2016-03-31 | 2018-09-11 | Qualcomm Incorporated | Apparatus and methods for embedded current measurements for performance throttling |
WO2017172987A1 (en) * | 2016-04-01 | 2017-10-05 | Intel Corporation | Power consumption measurement for system-on-chip devices |
CN105896679B (en) * | 2016-05-31 | 2019-04-19 | 合肥联宝信息技术有限公司 | A kind of charge control method and the electronic equipment using this method |
CN106329628B (en) * | 2016-08-31 | 2019-06-11 | 宇龙计算机通信科技(深圳)有限公司 | A kind of charging method and device |
CN106329631B (en) * | 2016-08-31 | 2019-06-11 | 宇龙计算机通信科技(深圳)有限公司 | A kind of charging method and device |
CN106230070B (en) * | 2016-08-31 | 2020-01-10 | 宇龙计算机通信科技(深圳)有限公司 | Charging method and device |
CN106329630B (en) * | 2016-08-31 | 2019-06-11 | 宇龙计算机通信科技(深圳)有限公司 | A kind of charging method and device |
CN106329629B (en) * | 2016-08-31 | 2019-06-11 | 宇龙计算机通信科技(深圳)有限公司 | A kind of charging method and device |
CN106300533B (en) * | 2016-08-31 | 2019-06-11 | 宇龙计算机通信科技(深圳)有限公司 | A kind of charging method and device |
CN106706997A (en) * | 2016-11-15 | 2017-05-24 | 捷开通讯(深圳)有限公司 | Current dynamic detection method and device |
CN107104478B (en) * | 2017-03-29 | 2020-05-26 | 联想(北京)有限公司 | Information processing method and electronic equipment |
US10474174B2 (en) * | 2017-04-04 | 2019-11-12 | Intel Corporation | Programmable supply generator |
CN107146009B (en) * | 2017-04-27 | 2020-09-04 | 杭州电子科技大学 | Water supply pipe network operation state evaluation method |
US11144105B2 (en) | 2018-10-30 | 2021-10-12 | Dell Products L.P. | Method and apparatus to provide platform power peak limiting based on charge of power assist unit |
US10877536B2 (en) * | 2018-10-30 | 2020-12-29 | Dell Products, L.P. | Apparatus and method for providing smooth power-on operation with power assist unit |
US11126250B2 (en) | 2018-10-30 | 2021-09-21 | Dell Products L.P. | Method and apparatus for extending power hold-up with power assist unit |
US10951051B2 (en) | 2018-10-30 | 2021-03-16 | Dell Products, L.P. | Method and apparatus to charge power assist unit |
US11199894B2 (en) | 2018-10-30 | 2021-12-14 | Dell Products L.P. | Method and apparatus for providing high bandwidth capacitor circuit in power assist unit |
US10948959B2 (en) | 2018-10-31 | 2021-03-16 | Dell Products, L.P. | Method and apparatus to control power assist unit |
US10852808B2 (en) | 2018-10-31 | 2020-12-01 | Dell Products, L.P. | Method and apparatus to distribute current indicator to multiple end-points |
US10990149B2 (en) | 2018-10-31 | 2021-04-27 | Dell Products L.P. | Method and apparatus for providing peak optimized power supply unit |
US11194684B2 (en) * | 2019-01-17 | 2021-12-07 | Dell Products L.P. | Information handling system and methods to detect power rail failures and test other components of a system motherboard |
CN111930222A (en) * | 2020-07-31 | 2020-11-13 | 联想(北京)有限公司 | Control method and device and electronic equipment |
US20230185351A1 (en) * | 2021-12-09 | 2023-06-15 | Rambus Inc. | Power management integrated circuit device having multiple initialization/power up modes |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060083095A1 (en) * | 2004-10-14 | 2006-04-20 | Broadcom Corporation | Integrated circuit chip having non-volatile on-chip memories for providing programmable functions and features |
US20080272741A1 (en) * | 2007-05-03 | 2008-11-06 | Summit Microelectronics, Inc. | Systems and methods for detecting power sources |
US20110035614A1 (en) * | 2009-08-04 | 2011-02-10 | Red Hat, Inc. | Methods for determining battery statistics using a system-wide daemon |
US20110276810A1 (en) * | 2010-05-04 | 2011-11-10 | Chia-Fa Chang | Systems and methods for monitoring and characterizing information handling system use behavior |
US20120131367A1 (en) * | 2010-11-18 | 2012-05-24 | Panasonic Corporation | Device and method for controlling secondary battery |
US20130155081A1 (en) * | 2011-12-15 | 2013-06-20 | Ati Technologies Ulc | Power management in multiple processor system |
US20140095897A1 (en) * | 2012-09-28 | 2014-04-03 | Gang Ji | Electronic device and method to extend battery life |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5218607A (en) * | 1989-06-23 | 1993-06-08 | Kabushiki Kaisha Toshiba | Computer having a resume function and operable on an internal power source |
EP0503659A1 (en) * | 1991-03-15 | 1992-09-16 | Nippon Steel Corporation | System interruption apparatus |
US5339445A (en) * | 1992-11-16 | 1994-08-16 | Harris Corporation | Method of autonomously reducing power consumption in a computer sytem by compiling a history of power consumption |
US5936520A (en) * | 1997-11-13 | 1999-08-10 | Chrysler Corporation | Analog sensor status detection single wire bus multiplex system |
FR2782430B1 (en) * | 1998-08-13 | 2004-05-28 | Bull Sa | INTERCONNECTION METHOD AND INTERFACE IMPLEMENTING HIGH-SPEED LINKS |
US6301133B1 (en) * | 1999-04-07 | 2001-10-09 | Astec International Limited | Power supply system with ORing element and control circuit |
US6725388B1 (en) * | 2000-06-13 | 2004-04-20 | Intel Corporation | Method and system for performing link synchronization between two clock domains by inserting command signals into a data stream transmitted between the two clock domains |
US7274705B2 (en) * | 2000-10-03 | 2007-09-25 | Broadcom Corporation | Method and apparatus for reducing clock speed and power consumption |
US6883102B2 (en) * | 2001-12-18 | 2005-04-19 | Arm Limited | Apparatus and method for performing power management functions |
US7107393B1 (en) * | 2003-03-28 | 2006-09-12 | Xilinx, Inc. | Systems and method for transferring data asynchronously between clock domains |
US7366921B2 (en) * | 2004-04-23 | 2008-04-29 | Hewlett-Packard Development Company, L.P. | Selecting input/output devices to control power consumption of a computer system |
US7480282B2 (en) * | 2005-03-17 | 2009-01-20 | Agere Systems Inc. | Methods and apparatus for controlling ethernet packet transfers between clock domains |
JP4428272B2 (en) * | 2005-03-28 | 2010-03-10 | セイコーエプソン株式会社 | Display driver and electronic device |
US7500044B2 (en) * | 2005-07-07 | 2009-03-03 | P.A. Semi, Inc. | Digital phase relationship lock loop |
CN101371492B (en) * | 2006-01-17 | 2012-08-15 | 美国博通公司 | Power over Ethernet controller and method for detecting and classifying power supply equipment |
WO2008022404A1 (en) * | 2006-08-25 | 2008-02-28 | Cochlear Limited | Current leakage detection method and device |
US7928602B2 (en) * | 2007-03-30 | 2011-04-19 | Steelcase Development Corporation | Power floor method and assembly |
US8867573B2 (en) * | 2007-04-23 | 2014-10-21 | Nokia Corporation | Transferring data between asynchronous clock domains |
US7984284B2 (en) * | 2007-11-27 | 2011-07-19 | Spansion Llc | SPI auto-boot mode |
US20090204835A1 (en) * | 2008-02-11 | 2009-08-13 | Nvidia Corporation | Use methods for power optimization using an integrated circuit having power domains and partitions |
US8717729B2 (en) * | 2008-02-12 | 2014-05-06 | Hewlett-Packard Development Company, L.P. | Computing devices having fail-safe mechanical shut-off switch |
JP2009301941A (en) * | 2008-06-16 | 2009-12-24 | Nec Tokin Corp | Secondary battery pack |
US20090315399A1 (en) * | 2008-06-20 | 2009-12-24 | Fujitsu Microelectronics Limited | Semiconductor device |
US8823209B2 (en) * | 2008-06-20 | 2014-09-02 | Fujitsu Semiconductor Limited | Control of semiconductor devices to selectively supply power to power domains in a hierarchical structure |
GB2472050B (en) * | 2009-07-22 | 2013-06-19 | Wolfson Microelectronics Plc | Power management apparatus and methods |
GB2472051B (en) * | 2009-07-22 | 2012-10-10 | Wolfson Microelectronics Plc | Power management apparatus and methods |
US8874277B2 (en) * | 2009-09-15 | 2014-10-28 | Denis Kouroussis | Smart-grid adaptive power management method and system with power factor optimization and total harmonic distortion reduction |
JP5703605B2 (en) * | 2010-06-28 | 2015-04-22 | 富士通セミコンダクター株式会社 | Semiconductor integrated circuit |
US20120117364A1 (en) * | 2010-11-04 | 2012-05-10 | Russell Melvin Rosenquist | Method and System for Operating a Handheld Calculator |
US9709625B2 (en) * | 2010-11-19 | 2017-07-18 | International Business Machines Corporation | Measuring power consumption in an integrated circuit |
US8898502B2 (en) * | 2011-07-05 | 2014-11-25 | Psion Inc. | Clock domain crossing interface |
US9148026B2 (en) * | 2011-09-30 | 2015-09-29 | Fairchild Semiconductor Corporation | Charger detection with proprietary charger support |
US8278997B1 (en) * | 2011-10-03 | 2012-10-02 | Google Inc. | Apparatus and methodology for controlling hot swap MOSFETs |
US20130120010A1 (en) * | 2011-11-10 | 2013-05-16 | Qualcomm Incorporated | Power Measurement System for Battery Powered Microelectronic Chipsets |
US9471121B2 (en) * | 2011-11-14 | 2016-10-18 | Texas Instruments Incorporated | Microprocessor based power management system architecture |
US9274805B2 (en) * | 2012-02-24 | 2016-03-01 | Qualcomm Incorporated | System and method for thermally aware device booting |
US20130231894A1 (en) * | 2012-03-01 | 2013-09-05 | Nokia Corporation | Method and apparatus for providing battery information |
US9026842B2 (en) * | 2012-03-20 | 2015-05-05 | Blackberry Limited | Selective fault recovery of subsystems |
US8547146B1 (en) * | 2012-04-04 | 2013-10-01 | Honeywell International Inc. | Overcurrent based power control and circuit reset |
US9048661B2 (en) * | 2012-06-27 | 2015-06-02 | Apple Inc. | Battery protection circuits |
US9058126B2 (en) * | 2012-09-10 | 2015-06-16 | Texas Instruments Incorporated | Nonvolatile logic array with retention flip flops to reduce switching power during wakeup |
US8701073B1 (en) * | 2012-09-28 | 2014-04-15 | Taiwan Semiconductor Manufacturing Co., Ltd. | System and method for across-chip thermal and power management in stacked IC designs |
-
2013
- 2013-07-25 US US13/950,769 patent/US9542267B2/en active Active
- 2013-07-25 US US13/950,776 patent/US20140223214A1/en not_active Abandoned
- 2013-07-25 US US13/950,750 patent/US9342400B2/en active Active
- 2013-07-25 US US13/950,762 patent/US9424127B2/en active Active
- 2013-07-25 US US13/950,725 patent/US20140223217A1/en not_active Abandoned
- 2013-07-25 US US13/950,713 patent/US8996736B2/en active Active
- 2013-07-25 US US13/950,738 patent/US9430323B2/en active Active
-
2015
- 2015-02-25 US US14/631,709 patent/US9448878B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060083095A1 (en) * | 2004-10-14 | 2006-04-20 | Broadcom Corporation | Integrated circuit chip having non-volatile on-chip memories for providing programmable functions and features |
US20080272741A1 (en) * | 2007-05-03 | 2008-11-06 | Summit Microelectronics, Inc. | Systems and methods for detecting power sources |
US20110035614A1 (en) * | 2009-08-04 | 2011-02-10 | Red Hat, Inc. | Methods for determining battery statistics using a system-wide daemon |
US20110276810A1 (en) * | 2010-05-04 | 2011-11-10 | Chia-Fa Chang | Systems and methods for monitoring and characterizing information handling system use behavior |
US20120131367A1 (en) * | 2010-11-18 | 2012-05-24 | Panasonic Corporation | Device and method for controlling secondary battery |
US20130155081A1 (en) * | 2011-12-15 | 2013-06-20 | Ati Technologies Ulc | Power management in multiple processor system |
US20140095897A1 (en) * | 2012-09-28 | 2014-04-03 | Gang Ji | Electronic device and method to extend battery life |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9910477B2 (en) * | 2013-09-04 | 2018-03-06 | Idt Europe Gmbh | FPGA power management system |
US20160209905A1 (en) * | 2013-09-04 | 2016-07-21 | Zentrum Mikroelektronik Dresden Ag | Fpga power management system |
US11862173B2 (en) | 2013-11-12 | 2024-01-02 | Apple Inc. | Always-on audio control for mobile device |
US9619377B2 (en) | 2014-05-29 | 2017-04-11 | Apple Inc. | System on a chip with always-on processor which reconfigures SOC and supports memory-only communication mode |
US9778728B2 (en) | 2014-05-29 | 2017-10-03 | Apple Inc. | System on a chip with fast wake from sleep |
US10031000B2 (en) | 2014-05-29 | 2018-07-24 | Apple Inc. | System on a chip with always-on processor |
US10261894B2 (en) | 2014-05-29 | 2019-04-16 | Apple Inc. | System on a chip with always-on processor which reconfigures SOC and supports memory-only communication mode |
US10488230B2 (en) | 2014-05-29 | 2019-11-26 | Apple Inc. | System on a chip with always-on processor |
US10571996B2 (en) | 2014-05-29 | 2020-02-25 | Apple Inc. | System on a chip with fast wake from sleep |
US10915160B2 (en) | 2014-05-29 | 2021-02-09 | Apple Inc. | System on a chip with fast wake from sleep |
US11079261B2 (en) | 2014-05-29 | 2021-08-03 | Apple Inc. | System on a chip with always-on processor |
US9479331B2 (en) * | 2014-08-20 | 2016-10-25 | Apple Inc. | Managing security in a system on a chip (SOC) that powers down a secure processor |
US9738171B2 (en) * | 2014-08-27 | 2017-08-22 | Hyundai Motor Company | Method and apparatus for detecting charger and method of operating the charger |
US20160059725A1 (en) * | 2014-08-27 | 2016-03-03 | Hyundai Motor Company | Method and apparatus for detecting charger and method of operating the charger |
Also Published As
Publication number | Publication date |
---|---|
US20140218078A1 (en) | 2014-08-07 |
US20140218011A1 (en) | 2014-08-07 |
US20140223214A1 (en) | 2014-08-07 |
US8996736B2 (en) | 2015-03-31 |
US9542267B2 (en) | 2017-01-10 |
US20150186209A1 (en) | 2015-07-02 |
US9430323B2 (en) | 2016-08-30 |
US20140223200A1 (en) | 2014-08-07 |
US20140223153A1 (en) | 2014-08-07 |
US9448878B2 (en) | 2016-09-20 |
US20140223031A1 (en) | 2014-08-07 |
US9342400B2 (en) | 2016-05-17 |
US9424127B2 (en) | 2016-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20140223217A1 (en) | Power and system management information visibility | |
US10476288B2 (en) | Power storage adapter for peak shift operation with a portable information handling system | |
US10275016B2 (en) | Smart power adapters and related systems and methods | |
US10181739B1 (en) | Power storage adapter using high efficiency charging for low power states | |
US10389154B2 (en) | Power storage adapter using a high efficiency charging method | |
US7987376B2 (en) | Power supply controller configured to supply power to external device and modules of computer system according to the selected power supply mode | |
KR100454014B1 (en) | Method for displaying information concerning power consumption and electronic device | |
US10175902B2 (en) | Managing host communication with a regulator in a low power mode | |
US10488906B2 (en) | Power delivery based on temperature and other factors in a power storage adapter | |
JP6799754B2 (en) | Battery control devices, electronic devices, battery packs and battery control methods | |
JP2004192350A (en) | Computer device, electric power management method and program | |
US9880610B2 (en) | Power supplying method, power supplying system, and electronic device | |
KR20120014801A (en) | Computer system and control method thereof | |
US10673271B2 (en) | Efficient charging of multiple portable information handling systems based on learned charging characteristics | |
TWI408541B (en) | Power management device for a computer system and related power management method and computer system | |
US20180373289A1 (en) | Power delivery contract establishment in a power storage adapter | |
JP5179454B2 (en) | Computer and power supply | |
US20120030487A1 (en) | Information processing apparatus and power control method | |
US8022676B2 (en) | Electronic device | |
JP5415173B2 (en) | Method for controlling power consumption of portable computer | |
JP2017117093A (en) | Electronic system, terminal equipment, function extension device, power supply management device, and power supply management program | |
JP2009151489A (en) | Information processor | |
JP7135030B2 (en) | FULL CHARGE DETECTION DEVICE, SECONDARY BATTERY, ELECTRONIC DEVICE, AND FULL CHARGE DETECTION METHOD | |
JP7032497B1 (en) | Information processing device and control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: BROADCOM CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:NABHANE, WALID;FULLERTON, MARK NORMAN;PATEL, RONAK SUBHAS;SIGNING DATES FROM 20130717 TO 20130721;REEL/FRAME:031079/0681 |
|
AS | Assignment |
Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH CAROLINA Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:037806/0001 Effective date: 20160201 Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:037806/0001 Effective date: 20160201 |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD., SINGAPORE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:041706/0001 Effective date: 20170120 Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:041706/0001 Effective date: 20170120 |
|
AS | Assignment |
Owner name: BROADCOM CORPORATION, CALIFORNIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:041712/0001 Effective date: 20170119 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |