SWCS059I March 2011 – November 2014 TPS80032
PRODUCT PREVIEW Information. Product in design phase of development. Subject to change or discontinuance without notice.
The RTC is driven by the 32-kHz oscillator and provides the alarm and timekeeping functions. The RTC is supplied by the backup battery (when available) if the main battery fails and if no external power is applied.
The main functions of the RTC block are:
For security purposes, the registers related to time and calendar information are protected by restricting their write access to software running in the secure mode of the host (the MSECURE pin set to 1). Read access is always allowed, even in a nonsecured mode. However, it is possible to disable the secure mode with the MSECURE OTP bit. In this case, the read and write accesses are available regardless of the status of the MSECURE pin.
The TPS80032 device is independent of any high-frequency system clock; it provides only a 32-kHz clock to the platform. The oscillator can use an external crystal unit to generate the clock or use an external 32-kHz oscillator, in which case the internal oscillator module is bypassed.
To provide a high-performance 32-kHz clock for peripherals, like an audio device, a dedicated output buffer is implemented on the CLK32KAUDIO ball. This audio buffer uses the 1.8-V VRTC regulator as power. CLK32KAO is always active when 1.8-V I/O voltage is available, whereas the CLK32KG and CLK32KAUDIO outputs can be controlled by PREQ signals and register bits (CLK32KG_CFG_TRANS, CLK32KG_CFG_STATE, CLK32KAUDIO_CFG_TRANS, and CLK32KAUDIO_CFG_STATE).
The TPS80032 device also includes a 32-kHz RC oscillator and a 6-MHz RC oscillator, which are used internally.
The power-management state machine manages control of the state of the different resources included in the TPS80032 device depending on system activity and energy availability. It ensures the detection of external or internal triggering events that initiate a change of system power state. It controls the transition sequences required to change the system from current power state to a new power state by configuring the resources according to the desired final power state.
Host processor can access the configuration registers using the general-purpose I2C interface (CTL-I2C). Figure 5-2 shows a block diagram of the power-management system.
The TPS80032 FSM controls boot sequences, TPS80032 state changes and resources initialization. The power sequences are stored in a hard coded table (OTP memory). The FSM reacts on events, which initiates power state transitions.
A resource is an element that provides the necessary to a system to operate. Typical resources are supplies, clocks, resets, references, bias. Each resource can be addressed with its unique I2C address RES_ID (Resource Identification).
A remapping of the resource state versus the system state can be done. For example, a resource can be set either ON or OFF when the system state is SLEEP.
In order to optimize the power consumption, three operating modes may be allowed for a voltage regulator:
Three types of register can be associated to a resource:
The configuration registers are intended for resource configuration, while state registers are intended to manage the resource state transition; finally DVS registers are intended to dynamic voltage control via DVS-I2C. Configuration and state registers contribute to determine resource behavior. The state register defines to which state the resource has to switch and the timing for the transition. The configuration register defines the resource behavior in a defined state. Although both types of registers can be access by the FSM and the CTL-I2C, it is preferable to reserve I2C access to configuration registers and FSM access to state registers. Access to DVS registers is exclusively done via DVS-I2C in applications using DVS capability.
These registers can be accessed in different ways, individual access to allow accessing registers through their physical address (ID) and broadcast messages that are interpreted by individual resources in function of their configuration
Purpose of this register is to set the state of the resource. If the resource is associated to a Power request pin (PREQ1, PREQ2 or PREQ3), any state change of the Power request pin will be transmitted to all its associated resources.
Purpose of this register is to map the individual resource state to the state resulting from system states arbitration (RES_STATE).
This register is dedicated to resources belonging to the power provider category (LDO or SMPS), is used to set the voltage level of the SMPS and LDO.
This register is dedicated to DVS-SMPS. It can be accessed through DVS-I2C and power management control FSM during power on sequence. This is used to force the voltage without ramping.
This register is dedicated to DVS-SMPS; its purpose is to control the slope of voltage ramping when VSEL content is modified.
Purpose of these input balls is to select the boot sequence executed by the TPS80032 device during the startup phase. BOOT [2:0] balls provide indication on the following parameters to select the correct value for the supply voltages and detection thresholds (see PH_STS_BOOT register).
The PWRON ball is intended to be connected to a push button to control system power on / off. An internal pull up on the battery domain is implemented on this input.
Three timers are associated to this input duration:
PWRON detection is performed on both falling and rising edges (1 interrupt line, 1 interrupt status bit). The polarity is defined as following:
RPWRON is also intended to control the system power on / off. An internal pull up on the battery domain is implemented on this input. One timer is associated to this input duration:
RPWRON can be programmed with OTP bit (RPWRON_OFF_DIS) to generate a shutdown sequence. In this situation there is 1 second delay between the interrupt generation and the shutdown sequence.
RPWRON detection is performed on both falling and rising edges. The polarity is defined as following:
The power management FSM controls these output signals. These balls are activated during the power on / power off sequences. The timing of activation is dependant of the power sequence (OTP memory). REGEN1 and REGEN2 can be used to control two different external power supplies. The associated registers are:
The polarity is defined as following:
This output signal is controlled by the power management FSM, is activated during the power on / power off sequences. The timing of activation is dependant of power sequence. SYSEN can be used to control an external power supply or a slave PM device. SYSEN related registers are:
The polarity is defined as following:
ACTIVE and SLEEP state transitions are transmitted to the TPS80032 device using signal PREQ1. On a PREQ1 transition, the FSM executes an ACTIVE to SLEEP or SLEEP to ACTIVE sequence. This sequence is hardcoded in the OTP memory. FSM conveys sequence information to the resources assigned to PREQ1 (assigned by PREQ1_RES_ASS_X register), by writing in to CFG_STATE register and set each resource in a state based on the state of the PMIC and based on the translation state register setting (XXX_CFG_TRANS). The request signals PREQ2 and PREQ3 are used as enable signals for resources. The regulators and SYSEN, REGEN1, and REGEN2 signals can be assigned to PREQ2 or PREQ3 (PREQ2_RES_ASS_X and PREQ3_RES_ASS_X register), and they are controlled as enabled/disabled with PREQ2 or PREQ3 signals.
If one of the request signal requests the resource, it will be enabled. If none of the request signal requests the resource and the corresponding CFG_STATE register is cleared, it will be disabled.
By default PREQ signals are masked. System state is not affect by PREQ signals while they are masked. PREQ masks configuration bits (MSK_PREQ1, MSK_PREQ2, MSK_PREQ3) are located in the register PHOENIX_MSK_TRANSITION.
PREQ balls status are available in the STS_HW_CONDITIONS register (STS_PREQ1, STS_PREQ2 and STS_PREQ3 bits). PREQ1, PREQ2, PREQ3 are supplied on VIO voltage domain.
The polarity is defined as following:
Dedicated register bits (SENS_PREQ1, SENS_PREQ2 and SENS_PREQ3) allow reversing the PREQ balls polarity (PHOENIX_SENS_TRANSITION register).
Only SMPS DVS compliant can be accessed by the DVS-I2C.
On top of hardware commands, DVS compliant power resources (SMPS1/2/5) can receive additional commands via the DVS-I2C. The DVS-I2C port can address two types of register:
The DVS command field (2 MSB bits of xxxx_CFG_FORCE register) will be interpreted as follow:
The SLEEP Force Voltage command with the voltage value set at 000000 must be naturally interpreted as a shutdown command for the power resource.
ON FORCE / SLEEP FORCE set the voltage independently of the adaptive voltage scaling. ON / SLEEP follow the adaptive voltage scaling.
NOTE
All power resources, LDOs and non-DVS-SMPS, can be accessed by the control I2C (CTL-I2C). The control I2C allows the host processor to access all the internal registers for configuration purpose or resource commands. LDOs state can be changed by writing to the register xxx_CFG_STATE register and the output voltage level can be controlled by xxx_CFG_VOLTAGE register. The five LSBs represent a binary value used to compute the absolute voltage value to be generated by the LDO:
Absolute Voltage value = 1.0 V + 0.1 V * (binary value - 00000001)
This equation applies to all general-purposes LDOs, for all codes from 00000001 to 00011000. For the remaining codes, it has been specified dedicated output voltages:
SMPS state (on/off) can be changed by writing to the register xxx_CFG_STATE register. SMPS_OFFSET and SMPS_MULT are used to control the offset and the extended mode of the SMPS respectively. The output voltage of the SMPS is calculated based on the equations below:
This section describes the different reset triggers and the signals related to resets.
The TPS80032 device detects a request for a warm reset on the NRESWARM ball. The warm reset restarts the system without turning off the supplies. After a warm reset, the system is configured the same as after a first switch on (default configuration), except that the states of all resources are unchanged and all supply voltage values can be preserved, depending on the warm-reset sensitivity bit value (WR_S bit in SMPSx_CFG_VOLTAGE and LDOx_CFG_VOLTAGE registers):
During the power-on sequence, the TPS80032 device ignores the warm reset until the host processor releases it.
NRESWARM is an input reset signal. A peripheral or host processor can activate this signal by a software reset. A reset button can be connected to this line to generate a warm reset. The minimum duration of NRESWARM is two clock periods of 32 kHz. The polarity of NRESWARM is active low.
The warm reset affects the POWER and CHARGER registers. Registers for other modules like the USB, FUEL GAUGE, GPADC, and PWM are not affected by a warm reset.
The TPS80032 device includes a primary watchdog timer that generates a reset of the system in case of a software anomaly (no response, infinite loop). The primary watchdog is programmable from 1 to 127 seconds with 1-second steps and a default value of 32 seconds. If the primary watchdog expires, a reset with a new startup is generated. At the same time, the DEVOFF_WDT bit (in the PHOENIX_LAST_TURNOFF_STS register) is set to indicate the primary watchdog expiration. The DEVOFF_WDT bit must be cleared in order to allow a new reset/start-up sequence if a primary watchdog expires again. If the bit has not been cleared the TPS80032 device generates a reset, thus forcing the device to the WAIT-ON/OFF state. This prevents infinite looping in case of software corruption.
The watchdog is initialized to its default value when the system is in the WAIT-ON/OFF state, and starts leaving the WAIT-ON/OFF state to go to the ACTIVE/SLEEP states. The primary watchdog cannot be disabled by I2C writing if it is enabled by the MSK_WDT OTP memory bit.
The HOLD_WDG_INSLEEP bit (in the CFG_INPUT_PUPD1 register) is used to select the states in which the watchdog is running. If the bit is 0, the watchdog is running in the SLEEP and ACTIVE states, whereas if the bit is 1, the watchdog is running in the ACTIVE state and is gated in the SLEEP state.
If the die temperature gets too high, the thermal shutdown generates a reset, thus forcing the TPS80032 device to the WAIT-ON/OFF state.
The NRESPWRON output signal is the reset signal delivered to the host processor at the end of the power-on sequence. It is released when all the TPS80032 supply voltages (core and I/Os) are correctly set up. In addition, the NRESPWRON signal is gated until the 32-kHz crystal oscillator is stable and delivered to the platform. The polarity of the NRESPWRON signal is active low.
Internal hardware monitors the different energy sources (main and backup) and charging sources (VAC or VBUS). A set of comparators is dedicated to energy source selection to generate an uninterrupted power supply (UPR), which exists as soon as a valid energy source is present. The backup battery is considered to be a valid energy source after the device is first powered up. POR is released when UPR rises above to POR threshold and the voltage regulator VBRTC provides a supply for the digital control, the 32-kHz oscillators, and the low-power bandgap.
When the system voltage rises above the VSYSMIN_LO threshold, the digital control enables the checks of the startup events. When a startup event is detected, a final check of the system voltage is done versus the VSYSMIN_HI threshold to pursue the power-up sequence.
When the system is active the VSYSMIN_HI comparator can be used for system voltage monitoring (VSYS[5:0] bits in VSYSMIN_HI_THRESHOLD register) to perform checks on system voltage. It compares system voltage versus a programmable value and generates interrupt (VSYS_VLOW) when voltage rises above and drops below the programmed threshold. The comparator can be programmed from 2.3 to 4.6 V in 50-mV steps. The interrupt generation can be masked if the feature is not used.
If the system voltage drops below the VSYSMIN_LO threshold during operation, the TPS80032 system enters the WAIT-ON state.
Figure 5-3 shows a block diagram of the analog power control.
NOTE
Figure 5-4 shows the power state transition diagram.
Three thresholds of battery voltage condition the system state transitions:
NOTE
The system voltage must be above the VSYSMIN_HI threshold level in order to begin the start-up sequence. The TPS80032 device initiates the shut-down sequence if the system voltage decreases below VSYSMIN_LO. The dropout voltage requirements for the SMPSs and LDOs must be taken into account, otherwise the regulators may not fulfill their specifications.
The power resources provided by the TPS80032 device include inductor-based SMPSs and linear LDO voltage regulators. These supply resources provide the required power to the external processor cores and external components as well as to the modules embedded in the TPS80032 device.
The short-circuit current limits for all LDOs and SMPS regulators embedded in the TPS80032 device are approximately twice their respective maximum load current. For specific LDO use cases, when the output of the module is shorted to ground, the power dissipation can exceed the power dissipation requirement, if no continuous preventive action is engaged.
The short-circuit protection scheme compares an LDO/SMPS output voltage to a reference voltage and detects a short circuit if the regulator voltage drops slightly below its minimum output voltage (1 V for LDOs and 0.6 V for SMPSs). A short-circuit protection scheme is included in each power resource of the TPS80032 device to ensure that if the output of an LDO or SMPS is short-circuited, the power dissipation does not increase drastically.
All LDOs/SMPSs include this short-circuit protection that monitors the regulator output voltage and generates an interrupt when a short-circuit is detected (see interrupt mapping). The VRTC regulator is the unique power resource that cannot generate an interrupt when shorted. Therefore, this regulator includes a different analog short-circuit mechanism that does not require a switch off the regulator.
If the short-circuit is detected the SMPS_LDO_SHORT_STS register is updated and the application processor needs to clear the short-circuit interrupt (VXXX_SHORT) and turn off the associated power resource within the 10-ms default time. If the interrupt is not cleared before the counter expires, the TPS80032 device switches off automatically. In parallel, the primary watchdog can shut down the device, if the watchdog expires.
In normal use conditions, when the TPS80032 device is turned off, all LDO/SMPS resources (except VRTC/VBRTC) are turned off and their corresponding short-circuit mechanisms are reset. If a short-circuit condition persists in which all power resources should normally be off, the TPS80032 device does not power up again.
CAUTION
If the external components of the SMPSs or LDOs are not placed and the regulator is enabled, the short-circuit detection triggers. If software is unable to clear the interrupt and shut down the regulator within the short-circuit counter time, the PMIC shuts down.
To generate a succesful start-up sequence, all the regulators enabled during start up must include the external components (capacitors and coils).
The TPS80032 device includes five SMPS regulators, three of which have DVS capability and thus can be selected to provide independent core voltage domains to the host processor. Each SMPS is a high-frequency, synchronous, step-down DC-DC converter allowing the use of low-cost chip inductors and capacitors.
SMPS1 operates with a 3-MHz fixed-switching frequency and the other SMPSs operate at 6-MHz fixed-switching frequency and enters the power-save mode operation at light load currents to maintain high efficiency over the entire load current. Pulse-frequency modulation (PFM) mode extends the battery life by reducing the quiescent current to 30 µA (typical) during light load and standby operation. For noise-sensitive applications, the appropriate SMPS can be forced into fixed-frequency pulse-width modulation (PWM) mode (FORCE PWM setting in SMPSx_CFG_TRANS registers). In shutdown mode, the current consumption is reduced to less than 1 µA.
Each SMPS is a synchronous step-down converter operating with a fixed-frequency, PWM at moderate-to-heavy load currents. At light load currents, the converter operates in power-save mode with PFM. The converter uses a unique frequency locked-ring oscillating modulator to achieve best-in-class load and line response and allows the use of tiny inductors and small ceramic input and output capacitors. At the beginning of each switching cycle, the P-channel MOSFET switch is turned on and the inductor current ramps up, raising the output voltage until the main comparator trips. The control logic then turns off the switch.
One key advantage of the nonlinear architecture is the absence of a traditional feedback loop. The loop response to change in VO is essentially instantaneous, which explains its extraordinary transient response. The absence of a traditional, high-gain compensated linear loop means that the regulator is inherently stable over a wide range of L and CO. Each SMPS integrates a current limit in the P-channel MOSFET (in SMPS1 in the high-side N-channel MOSFET). When the current in the MOSFET reaches its current limit, the MOSFET is turned off and the low-side N-channel MOSFET is turned on for at least 150 ns.
With decreasing load current, the device automatically switches into pulse-skipping operation in which the power stage operates intermittently based on load demand. By running cycles periodically, the switching losses are minimized, and the device runs with a minimum quiescent current and maintains high efficiency. The converter positions the DC output voltage approximately 1% above the nominal output voltage. This voltage-positioning feature minimizes voltage drops caused by a sudden load step. When in PFM mode, the converter resumes its operation when the output voltage trips below the nominal voltage. It ramps up the output voltage with a minimum of three pulses and goes into PFM mode when the inductor current has returned to a zero steady state. Because of the dynamic voltage positioning, the average output voltage in PFM mode is slightly higher than its nominal value in PWM mode. During PFM operation, the converter operates only when the output voltage trips below a set threshold voltage. It ramps up the output voltage with several pulses and goes into PFM mode when the output voltage exceeds the nominal output voltage.
The rated output current is 5.0/3.0 A for SMPS1, 2.5 A for SMPS2, and 1.1 A for SMPS3, SMPS4, and SMPS5 regulators.
Each SMPS has an internal soft-start circuit that limits the inrush current and thus the input voltage drop during start up. The soft-start system progressively increases the on-time from a minimum pulse-width of 30 ns as a function of the output voltage. This mode of operation continues for 200 µs after enable. If the output voltage does not reach its targeted value by this time, such as in the case of heavy load, the soft-start transitions to a second mode of operation. The converter then operates in a current-limit mode, specifically the PMOS current limit is set to half the nominal limit and the N-channel MOSET remains on until the inductor current is reset. After an additional 100 µs, the device ramps up to full current-limit operation, providing that the output voltage rises above approximately 0.7 V. Therefore, the start-up time mainly depends on the output capacitor and load current.
All step-down converters are designed to operate with an effective inductance value from 0.40 to 1.30 µH and with output capacitors from 4 to 15 µF (15 to 29 µF for SMPS1 ). The maximum output capacitor value is normally used during the start-up phase, when the capacitor is still unbiased. The internal compensation is optimized to operate with an output filter of L = 1.0 µH and CO = 10 µF (SMPS2, SMPS3, SMPS4, and SMPS5) and CO = 22 µF (SMPS1 ). Larger or smaller inductor values can be used to optimize the performance of the device for specific operation conditions. If SMPS1 is used for up to 5.0-A current levels, it is recommended to use two 1.0-µH inductors in parallel.
The inductor value affects the following:
The selected inductor must be rated for its DC resistance and saturation current. The ripple current of the inductor decreases with higher inductance and increases with higher VI or VO.
In high-frequency converter applications, the efficiency is essentially affected by the inductor AC resistance (quality factor) and to a smaller extension by the inductor DCR value. To achieve high-efficiency operation, special care must be taken to select inductors featuring a quality factor above 20 at the switching frequency. Increasing the inductor value produces lower RMS currents, but degrades transient response. For a given physical inductor size, increased inductance usually results in an inductor with lower saturation current.
The total losses of the coil consist of the losses in the DC resistance and the following frequency-dependent components:
SMPS advanced fast-response voltage mode control allows the use of tiny ceramic capacitors. Ceramic capacitors, with low ESR values, provide the lowest output voltage ripple. The output capacitor requires either an X7R or an X5R dielectric. Y5V and Z5U dielectric capacitors, aside from their wide variation in capacitance over temperature, become resistive at high frequencies.
At nominal load current, the device operates in PWM mode and the overall output voltage ripple is the sum of the voltage step caused by the output capacitor ESL and the ripple current flowing through the output capacitor reactance.
At light loads, the device operates in power-save mode, and the output voltage ripple is independent of the output capacitor value. The output voltage ripple is set by the internal comparator thresholds and propagation delays.
Because the buck converter has a pulsating input current, a low ESR input capacitor must prevent large voltage transients that can cause misbehavior of the device or interferences with other circuits in the system. Although a 2.2-µF capacitor is sufficient for most applications, a 4.7-µF capacitor is recommended to improve input noise filtering.
CAUTION
Take care when using only ceramic input capacitors. When a ceramic capacitor is used at the input and the power is being supplied through long wires, such as from a wall adapter, a load step at the output can induce ringing at the VIN pin. This ringing can couple to the output and be mistaken as loop instability or could even damage the part. In this case, additional bulk capacitance (electrolytic or tantalum) must be placed between CI and the power source lead to reduce ringing that can occur between the inductance of the power source leads and CI.
The TPS80032 device includes three SMPS buck converters (SMPS1, SMPS2, and SMPS5) with DVS-control capability; their output voltages (SMPSx_CFG_FORCE registers) are independently controlled using the DVS-I2C dedicated interface. The output voltages can be also controlled using the CTL-I2C interface with SMPSx_CFG_VOLTAGE registers. Default output voltage at power up is configurable by the OTP memory. The regulators can be used, for example, for a processor or 1.8-V I/O supply.
SMPS1 has two output current ranges selectable by OTP memory bit (SMPS1_5A). A 3-A mode supports output currents up to a 3-A level and 5-A mode supports output currents up to a 5-A level. The electrical characteristics depend on the selected mode (see Table 4-1).
The TPS80032 device includes two SMPS buck converters (SMPS3 and SMPS4) that can be used, for example, for memory supply, peripheral, or preregulation.
All LDOs are integrated so that they can be connected to an internal preregulator, to an external buck boost SMPS, or to another preregulated voltage source.
The output voltages of all LDOs can be selected, regardless of the LDO input voltage level VIN. There is no hardware protection to prevent software from selecting an improper output voltage if the VIN minimum level is lower than TDCOV (total DC output voltage) + DV (dropout voltage). In such conditions, the output voltage would be lower and nearly equal to the input supply. For example, in further electrical tables, only the possible input supplies, which fulfill the electrical performances on all their range, are mentioned at each selected output.
The regulator output voltage cannot be modified on the fly, from the voltage range of 1.0 to 2.1 V to the other voltage range of 2.2 to 3.3 V and vice versa. The regulator must be restarted in these cases.
If an LDO is not needed and not turned on by software or a switch-on sequence, the external components can be removed. The TPS80032 device is not damaged by this configuration, and the other functions do not depend on the unmounted LDOs and continue to work.
The VANA voltage regulator is dedicated to supply the analog functions of the TPS80032 device, such as the GPADC, gas gauge, and other analog circuitries.
VANA can be enabled and disabled individually or when associated with a power group. This power resource control optimizes the overall SLEEP state current consumption. This regulator also can be used at platform level to supply other applications, provided they do not generate noise to the supply line and the maximum current is less than 15 mA.
The VRTC voltage regulator supplies always-on functions, such as RTC and wake-up functions. This power resource is active as soon as a valid energy source is present.
This resource has two modes:
VRTC supplies the digital part of the TPS80032 device. In BACKUP state, the VRTC regulator is in low-power mode (VBRTC) and is supplied from backup battery or from weak main battery; the digital activity is reduced to the RTC parts only and maintained in retention registers of the backup domain. The rest of the digital is under reset and the clocks are gated.
In WAIT-ON state, the turn-on events and detection mechanism are also added to the previous RTC current load and are still supplied on VRTC or VBRTC (the supply is controlled with VRTC_EN_OFF_STS bit in BBSPOR_CFG register).
In ACTIVE state, by default the VRTC switches automatically into standard power mode (the supply is controlled with VRTC_PWEN bit in BBSPOR_CFG register). The reset is released and the clocks are available.
In SLEEP state, VRTC is kept active. The reset is released and only the 32-kHz clock is available. Still, to reduce power consumption, VBRTC instead of VRTC can be used by software (VRTC_EN_SLP_STS bit in BBSPOR_CFG register).
LDO5 is a programmable linear voltage converter used to power, for example, a multimedia card (MMC) slot. On top of the normal control by the power controller, it can be turned off when card removal is detected (the LDO5_AUTO_OFF bit in the MMCCTRL register).
Voltage regulator LDO7 can be used to supply removable USIM memory. In addition to the normal control by the power controller, it can be turned off when card removal is detected (the VSIM_AUTO_OFF bit in the SIMCTRL register).
The TPS80032 device includes five general-purpose resources (LDO1, LDO2, LDO3, LDO4, and LDO6) to supply external peripherals, such as cameras sensors, display drivers, memories (eMMC), and others. When not used as a supply, LDO3 can deliver a PWM supply to drive a vibrator motor.
The LDOLN regulator supplies noise-sensitive functions. LDOLN can be preregulated by SMPS.
The LDOUSB regulator supplies the USB PHY from the PMID node of the USB VBUS input or from system supply/battery.
The TPS80032 device provides a BACKUP state in which a backup battery powers the RTC and other secure registers when no other energy source is available. The backup battery is optional and can be nonrechargeable or rechargeable. The rechargeable battery can be charged from the system supply using the backup battery charger.
The backup battery charger includes two control loops (CC and CV). A current loop limits the charging current when backup battery voltage is low and a voltage loop that gradually reduces the charging current as backup battery voltage approaches its final value. The charge current limit is fixed and the end of charge voltage is programmable (BB_SEL[1:0] bits in BBSPOR_CFG register).
The backup battery charger is controlled with BB_CHG_EN bit (in BBSPOR_CFG register) and the charging starts if the system supply voltage is 100 mV above backup battery voltage; charging stops when backup battery voltage equals either the selected end of charge voltage level or the system supply voltage, if it is below the end of the charge level programmed. Backup battery charge cannot start if system supply voltage is lower than VSYSMIN_LO. The backup battery switch controls when the system enters BACKUP state (supplied by the backup battery).
During the transition from system supply to backup battery there can be a current spike from the backup battery. If the output resistance of the backup battery is large, an additional capacitor is needed in parallel with the backup battery. See the electrical characteristics for more details.
Figure 5-5 shows a block diagram of the backup battery charger.
The TPS80032 device has an integrated switched-mode battery charger designed to generate a system supply and to charge the battery from a USB port. In addition, it can control an external battery charging IC (like BQ24159) to generate a system supply and charge the battery during hardware-controlled charging and selects the priority of the chargers so that only one is enabled at time.
Figure 5-6 shows the block diagram of the USB charging electronics. The figure shows the USB charging-related functions with external components. The device supports two charging configurations, operation with Power Path and without Power Path.
In the Power Path configuration the battery line is connected to the system supply with external PMOS transistor. The system supply is regulated by switched-mode regulator and the battery charging current and voltage are controlled with a battery charger loop and external PMOS transistor. The sense resistor at the output of switched-mode regulator is not needed. When the platform is supplied by battery the external PMOS is closed.
In the non-Power Path configuration the battery line is used as a system supply and the external PMOS is not needed because the battery current is monitored with a resistor placed between ground and negative terminal of the battery. In this configuration a sense resistor at the output of the switched-mode regulator is needed as it is used to control the battery charging current.
For information about the functions and external components related to VAC charging, see Section 5.9.12, Support for External Charging IC.
The TPS80032 device supports a wide variety of rechargeable lithium-based battery technologies. Recent battery technologies, such as Li-SiAn and LiFePo4, present a flat discharge region in the range of 3.2–3.3 V; technologies such as LiCoO2 and LiNiMnCoO2 present a flat discharge region in the range of 3.6–3.7 V. To support the different battery chemistries effectively, the TPS80032 device has programmable VSYSMIN thresholds (OTP bits).
The charger also performs monitoring functions:
The same switches and external components that are used for system supply generation in buck mode can be used to generate a 5-V USB OTG supply in boost mode. In this mode, the TPS80032 device can deliver up to 300 mA of total current for USB connector and for LDOUSB.
The VBUS input in the TPS80032 device operates up to 6.3 V; above this, level the system supply regulator is disabled. The VBUS input tolerates up to 20-V input voltages and down to –0.3-V input voltages. The negative input voltage protection can be improved with external PMOS transistor and resistor (shown in Figure 5-6 as optional components). This gives tolerance down to –14 V.
NOTE
The charging source terms are defined as follows (USB Battery Charging Specification, Rev. 1.2)
The operation of the battery charger and the system supply regulator depends on the platform configuration. There are two different configurations for hardware:
In addition, software interaction with battery charging in both configurations depends on the AUTOCHARGE OTP bit:
The operation in the four different modes has been described in Section 5.9.1.1 through Section 5.9.1.4. The flow chart for startup, shutdown, and fallback (Power Control) operates in parallel with a flow chart of the system supply regulator and battery charging (Charger Control). The safety timer and watchdog operation is described in Section 5.9.6 and the charging profile and default charging parameters are described in Section 5.9.3.
The TPS80032 device starts up for the VBUS or VAC plug insertion as soon as the system voltage is above the VSYSMIN_HI threshold level if the device is not already powered on. The hardware starts the system supply regulation and battery charging automatically if a USB Charging Port or VAC Charger is detected, or if the battery voltage is below VBATMIN_HI and the device is powered off. If the VBUS is supplied by the USB standard downstream port and the battery is above VBATMIN_HI or the device is powered on, the system supply regulator and battery charger are not started by hardware. The host processor must enumerate to the USB host, configure to a certain current level, set the VBUS input current limit, and enable the system supply regulator and battery charging.
If the system voltage drops below VSYSMIN_LO, the device shuts down and sets a fallback bit to indicate the fallback situation. A new startup is initiated when the battery is charged above the VBATMIN_HI voltage level and after startup, the host processor clears the bit. If the fallback bit is active during the shutdown, the system supply regulator and battery charging is disabled. This prevents infinite looping in a low/no battery case with a weak charger. The operation is shown in Figure 5-7.
The TPS80032 device starts up for the VBUS or VAC plug insertion as soon as system voltage is above the VSYSMIN_HI threshold level if the device is not already powered on. If the device is powered off, the hardware sets the correct VBUS input current limit and starts the system supply regulator either from VBUS or from VAC and the battery charging using the default values from OTP memory. The default charging voltage must be set to the proper battery threshold voltage level to comply with the USB standard. When the device is powered on, the host processor takes control over charging.
If the system voltage drops below VSYSMIN_LO, the device shuts down and sets a fallback bit to indicate the fallback situation. A new startup is initiated when the battery is charged above the VBATMIN_HI level and the host processor clears the bit. If the fallback bit is active during the shutdown, the system supply regulator and battery charging is disabled. This prevents infinite looping in a low/no battery case with a weak charger. The operation is shown in Figure 5-8.
The TPS80032 device starts up for the VBUS or VAC plug insertion as soon as battery voltage is above the VSYSMIN_HI threshold level if the device is not already powered on. The hardware starts the battery charging automatically if USB Charging Port or VAC Charger is detected, or if the battery voltage is below VBATMIN_HI and the device is powered off. If the VBUS is supplied by the USB standard downstream port and the battery voltage is above VBATMIN_HI or the device is powered on, the battery charger is not started by hardware. The host processor must enumerate to the USB host, configure to a certain current level, set the VBUS input current limit, and enable the battery charging.
If the battery voltage drops below VSYSMIN_LO, the device shuts down and sets a fallback bit to indicate about the fallback situation. A new startup is initiated when the battery is charged above the VSYSMIN_HI threshold level and after startup the host processor clears the bit. If the fallback bit is active during shutdown, the battery charging is disabled. This prevents infinite looping in low/no battery case with weak charger. The operation is shown in Figure 5-9.
The TPS80032 device starts up for the VBUS or VAC plug insertion as soon as battery voltage is above the VSYSMIN_HI threshold level if the device is not already powered on. If the device is powered off, the hardware sets the correct VBUS input current limit and starts the battery charging using the default values from OTP memory. The default charging voltage need to be set to good battery threshold voltage level in order to comply with the USB standard. When the device is powered on, the host processor takes control over charging.
If the battery voltage drops below VSYSMIN_LO, the device shuts down and sets a fallback bit to indicate the fallback situation. A new startup is initiated when the battery is charged above the VSYSMIN_HI threshold level and the host processor clears the bit. If the fallback bit is active during the shutdown, the battery charging is disabled. This prevents infinite looping in a low/no battery case with a weak charger. The operation is shown in Figure 5-10.
During software-controlled charging, software selects the VBUS input current limit, the VBUS input voltage collapse level, and the system supply regulation voltage. The programmable resources are:
The system supply regulation voltage can be a fixed voltage or follow the battery voltage allowing the linear battery charger to regulate the charging current and voltage (DPPM control mode).
When the Power Path configuration is used, the battery charging consists of two different regulators, the system supply regulator generating the system supply (VSYS) from the USB VBUS voltage and a linear battery charging loop regulating the battery node (VBAT) from the system supply (VSYS) using an external PMOS transistor. During the preconditioning phase, an integrated current source is used for battery charging. The use of the dedicated loop for battery charging allows monitoring of the battery current and voltage independently and minimizes the power dissipation thanks to the low-ohmic external transistor.
The TPS80032 device includes five analog loops that influence the system supply regulator's output current:
The dedicated battery charging control includes three loops that influence the battery charging current:
Figure 5-11 shows the control loops for the system supply regulation and for the battery charging.
CAUTION
Resistor R2 is used for charging current control in Power Path configuration and must be placed even if Gas Gauge is not used.
In addition, a battery current is monitored and if the termination current level (VITERM[2:0]) is detected an interrupt is generated and battery charging is stopped according to the selected operation.
The battery charging profile consists of three phases:
NOTE
The DLIN[1:0] voltage level must be selected so that the voltage is higher than the maximum dropout on the switch (maximum charging current multiplied by the maximum resistance of the switch).
Figure 5-12 shows a charging profile and the different parameters programmed in OTP memory and software programmable parameters for charging with Power Path. The charging current is usually limited by the VBUS input current loop when charging from the standard downstream port because the limit is set to 100 or 500 mA. If the charging source cannot provide the current the charger is drawing, the VBUS voltage decreases. The VBUS anticollapse loop senses the VBUS voltage and decreases the current so that the voltage does not fall below the programmed voltage level (see Section 5.9.4).
When the non-Power Path configuration is used, the battery charging is controlled by switched-mode regulator from the USB VBUS voltage.
The TPS80032 device includes six analog loops that influence the output current:
Figure 5-13 shows the control loops for the battery charging.
In addition, a battery current is monitored and if the termination current level (VITERM[2:0]) is detected an interrupt is generated and battery charging is stopped according to the selected operation.
The battery charging profile consists of three phases:
Figure 5-14 shows a charging profile and the different parameters programmed in OTP memory and software programmable parameters for HW controlled operation (AUTOCHARGE=1) and Figure 5-15 shows a charging profile and the different parameters programmed in OTP memory and software programmable parameters for SW controlled operation (AUTOCHARGE=0). The charging current is usually limited by the VBUS input current loop when charging from the standard downstream port because the limit is set to 100 or 500 mA. If the charging source cannot provide the current the charger is drawing, the VBUS voltage decreases. The VBUS anticollapse loop senses the VBUS voltage and decreases the current so that the voltage does not fall below the programmed voltage level (see Section 5.9.4).
During preconditioning, the battery voltage is below the VBAT_SHORT level and the charging current is limited to 30 mA (IBAT_SHORT). If the system supply in Power Path configuration decreases during the preconditioning phase, the preconditioning current is automatically reduced. In this mode, the charger uses a linear charging operation mode. This phase detects a defective (shorted) battery and brings the battery voltage to a level acceptable for higher charging current. If the battery is defective (shorted) and the battery voltage doesn't increase above VBAT_SHORT level the charger stays in preconditioning phase. As soon as the battery voltage is above VBAT_SHORT, a precharging phase is entered automatically. In Power Path configuration the VBAT_SHORT level is programmed by OTP memory (VBAT_SHORT[1:0] bits).
The precharging phase is used when the battery voltage is between VBAT_SHORT and VBAT_FULLCHRG (VSYSMIN_HI without Power Path). If the system supply in Power Path configuration decreases during the precharge phase, the precharge current is automatically reduced (DPPM loop). During precharging, the charging current is limited to decrease the power dissipation in the external PMOS. The precharging current is programmed in OTP memory (VICHRG_PC[1:0] bits).
The precharge current level is controlled by monitoring the voltage across the sense resistor. The default currents are available with resistor R9 = 68 mΩ without Power Path and R2 = 20 mΩ with Power Path.
The full-charge phase starts when the battery voltage is above VBAT_FULLCHRG and the system supply is regulated from a charging source (without Power Path, the threshold level is VSYSMIN_HI).
With Power Path, the transition from a fixed system supply level into a tracking system supply level is done when the battery voltage is at the VBATMIN_HI level. The VBATMIN_HI level is the same as VSYSMIN_HI level (defined by OTP memory bits, VSYSMIN_HI[5:0]) except that the level is limited to 3.7 V. This means that if the VSYSMIN_HI is programmed above the 3.7-V level, the transition is done at the 3.7-V level. VBATMIN_HI is defined in the VBATMIN_HI_THRESHOLD register and the host processor can change the level. The threshold is updated with the default value from OTP memory during startup.
If the system voltage decreases during the full-charge phase, the charging current is automatically reduced (DPPM loop) to a value keeping the dropout voltage higher than 50% of the dropout voltage setting (programmed with the DLIN[1:0] bits in the CONTROLLER_VSEL_COMP register), to ensure proper operation of the charging circuitry.
The full-charge current level is controlled by monitoring the voltage across the sense resistor. The default currents are available with resistor R9 = 68 mΩ without Power Path and R2 = 20 mΩ with Power Path.
The battery current is monitored during CV-charging and if the termination current level is triggered in the Power Path configuration, the battery charging is gated but the system voltage regulation from the VBUS input continues. If the battery voltage decreases 120 mV below the charging voltage (VOREG) level, the full-charge phase is continued.
In the non-Power Path configuration the operation during termination current level detection is defined by the CHARGE_ONCE and TERM bits. If the CHARGE_ONCE bit is 1, the battery charging is terminated when the termination current threshold is triggered. If the CHARGE_ONCE bit is 0 and TERM bit is 1, the battery charging is gated when the termination current level is triggered. If the battery voltage decreases 120 mV below the charging voltage (VOREG) level, the full-charge phase is continued.
The termination current level is monitored by measuring the voltage across the sense resistor. The default currents are available with resistor R9 = 68 mΩ without Power Path and R2 = 20 mΩ with Power Path.
There are two different anticollapsing loops; one monitoring the VBUS input and controlling the switched-mode regulator and another one with Power Path operation (DPPM) monitoring the VSYS line and controlling the linear battery charger loop.
The anticollapse loop of the VBUS input operates so that the VBUS input voltage is monitored continuously and the current of the switched-mode regulator is controlled by an analog loop to maintain the defined VBUS input voltage (programmed with the BUCK_VTH[2:0] bits in the ANTICOLLAPSE_CTRL1 register). If the VBUS source cannot deliver high enough current and the VBUS voltage drops, the VBUS input current is decreased by the analog loop so that the VBUS voltage stays at programmed level. If an external PMOS is used to protect the VBUS input against negative voltage, then the VBUS voltage at the connector can be slightly different because the anticollapse loop monitors the voltage at the PMIC input.
The anticollapse loop of the linear battery charger (DPPM) monitors the system voltage (VSYS) and controls the battery charging current. If battery voltage is below the VBATMIN_HI the threshold, the level for the DPPM loop is 3.4 V, whereas if the battery voltage is above VBATMIN_HI, the VSYS voltage tracks the VBAT voltage and the DPPM threshold is 50% of the programmed tracking voltage.
Figure 5-16 shows an example of DPPM loop and supplement mode operation. The charging current is set to 1 A and the VBUS input current limit is 1.5 A. When the system load is small the 1000 mA charging current can be generated with around 750 mA VBUS current, thanks to the efficient DCDC converter. If the system load is increased to around 900 mA level, the 1500 mA VBUS input current limit is reached and the DPPM loop decreases the battery charging current in order to maintain 50% of the programmed tracking voltage across the external FET. If the system load is increased further up to around 1900 mA level, the battery charging current decreases to 0 mA and the supplement mode is enabled. Increasing the system load above 1900 mA level directly affects the battery discharge current level. When the system load is decreased the operation is opposite entering from supplement mode into DPPM loop operation and finally out from VBUS input current limit mode.
JEITA requirements define the maximum battery charging current and voltage at different temperature ranges for Li-Ion batteries. The TPS80032 device supports the JEITA requirements with hardware-based temperature measurement gating the battery charging below and above the preset temperature values (typically 0°C and 60°C). Between these limits host processor must monitor the battery temperature using the integrated general-purpose analog-to-digital converter (GPADC) and setting the charging current and voltage accordingly. Figure 5-17 shows the voltage and current limits at different temperatures.
Figure 5-17 allows two options for charging between 0°C and 10°C. As shown in the figure, #1 allows charging up to 4.10 V with 1C current and #2 allows charging up to 4.25 V with 0.5C current. The term 1C defines the charging current related to the battery capacity. For a 1200-mA-h battery 1C corresponds to a 1.2-A current.
The battery temperature is measured using an external NTC resistor. The measurement is enabled before the charging starts and the temperature is constantly monitored during charging. If the battery temperature is outside of the valid range, the charging is gated; if the temperature returns to the valid range, the charging continues. In Power Path mode the system supply regulation is continued when the battery charging is gated. The gating of the charging can be disabled with an OTP memory bit (EN_BAT_TEMP) if needed. The temperature measurement circuitry is enabled if VBUS or an external charger is detected. An interrupt (CHRG_CTRL) is always generated when the battery temperature crosses the temperature limits in both directions. The interrupt generation can be masked if needed.
Figure 5-18 shows the battery temperature measurement circuitry.
Because the NTC characteristics are highly nonlinear, it is combined with two resistors allowing linearization of its characteristics and making the sensitivity of the system more constant over a wide temperature range. The resulting voltage at GPADC_IN1 can be measured using the GPADC and is also monitored by two comparators that enable the charge of the battery only when the temperature is within a specified window, typically 0°C to 60°C. Resistors RX and RY are used to set the desired temperature threshold levels.
The TPS80032 device includes a safety timer, the timing of which depends on the charging control mode and the USB Charging Port detection result. During hardware-controlled charging, the period for the USB charging port and the USB standard downstream port is approximately 6 minutes; for customer-specific chargers, this period is approximately 14 minutes. Longer values can be selected with the OTP memory (CHWDT_DEP0 bit), 11 minutes instead of 6 minutes and 29 minutes instead of 14 minutes. Charger source dependency on the timer values can be enabled and disabled by OTP memory (CHWDT_DEP_DETN bit). If disabled, the timer value is always set as for the USB standard downstream port and for the customer-specific charger (longer timer value). During software-controlled charging the safety timer is replaced by charging watchdog (SW WDT), host processor can select the watchdog time up to 127 seconds. The transition from safety timer to software-controlled watchdog occurs when software updates the WDG_RST, WDT[6:0], VICHRG[3:0], VOREG[5:0] bits or CONTROLLER_CTRL1 register. The different safety timer and watchdog times are summarized in the EPROM bits Application Note. If the AUTOCHARGE mode is selected by OTP memory bit, the fixed 8-hour watchdog (HW WDT) is taken into use when the battery voltage is above the VBATMIN_HI level.
If the safety timer or watchdog expires, the battery charging is gated and interrupt is sent to host processor. In Power Path configuration, the system supply regulator still continues to operate when the battery charging is gated.
The operation of the safety timer and watchdog is presented in Figure 5-19.
During the full-charge phase, host processor sets the charging voltage and current. However, the device limits the current and voltage to a level that is defined in the limit registers (CHARGERUSB_CTRLLIMIT1 and CHARGERUSB_CTRLLIMIT2). The limit registers in the device must be written just after the startup. Host processor must check the battery type and define the maximum charging current and voltage for the battery being used, write the limit values, and lock the limit registers with the LOCK_LIMIT bit, so that these cannot be changed when the device is powered on. This ensures that third-party software or a virus cannot set a charging current or voltage that is too high. The limit values are reset during power off by the NRESPWRON signal and they must be written by host processor during every power up. Figure 5-20 shows the structure of the limit and programming registers.
The TPS80032 device supports battery detection. The presence of the battery can be detected with the GPADC_IN0 input signal. The interface has two different functions:
Battery pack removal is detected by a comparator that monitors GPADC_IN0. The battery pack must have a pull-down resistor (RBRI) and the device has a current source (IBRI) in the line. If the battery pack is removed, GPADC_IN0 rises above the comparator threshold level, the battery removal is detected, and the device sends an indication (BAT interrupt) to the host processor. In addition, battery charging is terminated if the battery is not present. Battery removal is detected with a comparator and a current source supplied on the VRTC supply domain. This supply scheme allows detection in a dead battery case configuration, because the VRTC can be supplied from the VBUS or VAC lines. The battery presence detection module is enabled during the charging and during the ACTIVE and SLEEP states.
Figure 5-21 shows a block diagram of the battery presence detection circuitry.
CAUTION
If the GPADC_IN0 line is not used for battery presence detection in the Power Path configuration (POP_APPSCH OTP bit is 1), the capacitance of the VBAT line must be below 100 µF. Otherwise a fully discharged battery cannot be detected correctly by the battery charging loop.
The device has an indicator LED driver that indicates charging is ongoing during hardware-controlled charging. During hardware-controlled charging, the LED driver is enabled only if the charging is ongoing and it is turned off if the battery is not charged. The supply for the charging indicator LED driver is generated from CHRG_PMID or VAC, depending on the active charging path. The CHRG_PMID pin is used instead of the VBUS line so that the LED indicator current is included into the VBUS input current limit.
During power on, host processor can control the indicator LED regardless of the charging with register bits (LED_PWM_CTRL1 and LED_PWM_CTRL2). The supply for the LED can be selected as CHRG_PMID, VAC, or CHRG_LED_IN. The current level can also be selected and the dimming function can be used. Dimming is done with a 128-Hz PWM signal, which has 255 linear steps. The LED output pin has a selectable pulldown when the module is disabled; the pulldown is enabled by default.
The indicator LED driver is also used to indicate if the device cannot power on after a key press (PWRON). If the battery voltage is too low for startup, the LED driver gives three 300-ms pulses with a 300-ms duration between the pulses.
The following chargers are supported with the integrated switched-mode charger from the USB connector:
To configure the system supply regulator and charger for proper operation mode depending on the charging source characteristics, the charging source type must be detected and identified. The detection of the charger attached to the USB connector is made inside the device by detecting a voltage greater than VINmin on the charger input.
To minimize the capacitance of the data lines, the type of the charger connected to the USB connector can be identified by the USB PHY and the information of the maximum current drawn from the charging source can be transmitted to the device with a dedicated signal (CHRG_DET_N). The TPS80032 device enables detection by delivering the LDOUSB supply (selectable by OTP memory bit, AUTO_LDOUSB_DIS). The charger detection circuitry must deliver at least a 1.8-V voltage level to the CHRG_DET_N input pin, by default a high logic level indicating that a USB charging port is detected. The polarity of the charger detection signal can be selected with an OTP memory (DET_N_POL bit). The accessory charger adapter (ACA) is identified in the TPS80032 device. A typical connection of the PMIC and USB PHY is shown in Figure 5-22.
The device can be interfaced with an ACA (external to the terminal) to support charging from the USB Charging Port and USB communication to other USB devices from the USB port. For a description of ACA detection, see USB OTG, USB OTG.
The TPS80032 device includes a HZ_MODE bit which is usable, for example during USB suspend periods. The benefit of the bit is that it can be used to gate the charging without changing any charging parameters. When the suspend period ends, clearing the bit continues the battery charging.
The TPS80032 device can be interfaced with an auxiliary stand-alone charger device to support the following use cases:
In the Power Path configuration the battery charging is always controlled by the TPS80032 device and the external IC only generates the system supply which is needed for the battery charging. In the non-Power Path configuration the external IC is used for battery charging. Figure 5-23 shows the connections between TPS80032 device, application processor and external charging IC (BQ24159) in Power Path configuration.
The external IC is enabled with a 1.8-V CMOS level signal, CHRG_EXTCHRG_ENZ. A low logic level indicates that the regulator is enabled. The system supply regulation / battery charging status is indicated with the CHRG_EXTCHRG_STATZ signal. An external IC pulls the signal down during operation.
The integrated USB regulator can be associated with an external VAC regulator. For that reason, the VAC wall charger input is connected to the device to define the priorities. These priorities are controlled by hardware when the device is powered off (NRESPWRON=0):
If there is a fault condition on a charger during hardware-controlled operation and the fault condition continues for at least 2.5 seconds, the input source is changed for a lower priority input. The change into a lower priority input only prevents infinite looping between inputs. If only one charger is attached, the regulator is not disabled in a fault condition, and if the fault condition does not disappear; the input is terminated when the watchdog expires.
NOTE
In the Power Path mode the system voltage level is regulated according to the voltage level set in the BQ24159. There is no automatic tracking of the battery voltage like when integrated DCDC is used for system supply regulation. The voltage tracking must be done by host processor in order to maintain high enough dropout for the external PMOS transistor and on the other hand to limit the power dissipation in the PMOS transistor.
Figure 5-24 shows the system supply regulator and battery charger interrupt handling structure.
When the INT interrupt signal is set, host processor must read the reason of the interrupt by reading the three interrupt status registers (INT_STS_A, INT_STS_B, and INT_STS_C). The battery charging related register bits (CHRG_CTRL, EXT_CHRG, and INT_CHRG) are in the INT_STS_C register. The source of the interrupt is
The CHRG_CTRL indication can be further identified from the CONTROLLER_STAT1 register. This register shows the actual status of the different interrupt sources, so if the situation disappears before software can read it, software cannot know the real reason for the interrupt.
The origin of the external charger interrupt must be read from the external charging IC. The CHRG_EXTCHRG_STATZ bit shows the actual level of the status signal.
The source for the INT_CHRG interrupt must be further clarified in the CHARGERUSB_INT_STATUS register, which stores the latched information. The bits in the CHARGERUSB_INT_STATUS register are cleared by read access.
As an example, if the battery temperature goes above threshold level the BAT_TEMP_OVRANGE bit in CONTROLLER_STAT1 register is high. This sets LINCH_GATED bit in CONTROLLER_STAT1 register to high which sets CHRG_CTRL interrupt bit high and sets INT line low. Host processor detects the interrupt and reads INT_STS_A, INT_STS_B, INT_STS_C, CONTROLLER_STAT1 and LINEAR_CHRG_STS registers and finds the reason for the interrupt.
The interrupt sources are described in the following lists, together with the actions software must take.
The charger controller interrupts are:
The external charger interrupt is:
The internal charger interrupts are:
WARNING
The thermal regulation loop does not work if the CIN_LIMIT[5:0] VBUS input current limit is set to unlimited. The thermal regulation loop shares the same analog loop as the VBUS input current limit and it is disabled in this situation. However, the high temperature detection still operates and it gates the DC-DC operation if triggered.
NOTE
The thermal regulation loop generates an interrupt when the DC-DC in Power Path mode and the battery charger in non-Power Path mode is enabled. The host processor must check the TMREG bit to see if the thermal regulation loop is active to identify and clear the false interrupt.
The device embeds all hardware analog mechanisms associated to VBUS and ID lines. The other aspects of the OTG system, such as the OTG controller (hardware/software) or the USB data line (DP/DM) with HNP and SRP signaling, are embedded in the USB PHY, which can be either integrated into the application processor or there is stand-alone USB OTG PHY.
The device supports the Battery Charging Specification Revision 1.2 and it includes hardware required for both OTG 1.3 and OTG 2.0 standards.
The device supports the following functions.
FUNCTION/FEATURE | REGISTER/REGISTER BIT | OTG
Rev. |
MODE/STATE | SUPPLIES
NEEDED |
SRP – Pulsing method VBUS charge on VSYS |
VBUS_CHRG_VSYS | OTG 1.3 | ACTIVE | VRTC VSYS |
SRP – Pulsing method VBUS charge on PMID |
VBUS_CHRG_PMID | OTG 1.3 | ACTIVE | VRTC CHRG_PMID |
SRP – Pulsing method VBUS discharge |
VBUS_DISCHRG | OTG 1.3 | ACTIVE | VRTC |
ADP – Probing VBUS charge |
VBUS_IADP_SRC, VADP_PRB | OTG 2.0 | ACTIVE | VRTC VANA |
ADP – Probing VBUS discharge |
VBUS_IADP_SINK, VADP_PRB | OTG 2.0 | ACTIVE | VRTC |
ADP – Sensing | VADP_SNS | OTG 2.0 | SLEEP ACTIVE |
VRTC |
VBUS detection | VA_VBUS_VLD, VA_SESS_VLD, VB_SESS_VLD, VB_SESS_END, VOTG_SESS_VLD | OTG 1.3 OTG 2.0 |
SLEEP ACTIVE |
VRTC VANA |
VBUS wake-up detection | Always enabled if VBUS or VAC is present | – | PRECHARGE/OFF SLEEP/ACTIVE |
VRTC |
VBUS GPADC measurement | VBUS_MEAS | – | ACTIVE | VRTC VANA |
ID 220-kΩ pullup on LDOUSB | ID_PU_220K | – | ACTIVE | VRTC LDOUSB |
ID 100-kΩ pullup on LDOUSB | ID_PU_100K | – | ACTIVE | VRTC LDOUSB |
ID ground drive | ID_GND_DRV | – | ACTIVE | VRTC |
ID 16-µA source current | ID_SRC_16U | BC 1.2 | PRECHARGE SLEEP/ACTIVE |
VRTC LDOUSB |
ID 5-µA source current | ID_SRC_5U | – | ACTIVE | VRTC LDOUSB |
ID detection | ID_GND, ID_A, ID_B, ID_C, ID_FLOAT | BC 1.2 OTG 1.3 OTG 2.0 |
PRECHARGE SLEEP/ACTIVE |
VRTC LDOUSB |
ID wake-up detection | ID_WK_UP_COMP | – | OFF SLEEP/ACTIVE |
VRTC |
ID GPADC measurement | ID_MEAS | – | ACTIVE | VRTC VANA |
NOTE
There are two types of VBUS and ID comparators, referred to throughout this section as wake-up (normally used in TPS80032 SLEEP state) and active comparators (generally activated in TPS80032 ACTIVE state). Those comparators are not exclusively working in respective TPS80032 SLEEP, and ACTIVE states, but can also pretend to additional usages’ conditions. Indeed, the wake-up comparators are targeting low power consumptions, whereas the active comparators are intended for accurate level detections:
The USB Battery Charging Specification describes the operation of the ACA. The RID_A, RID_B, and RID_C resistors are related only to the different ACA operations, whereas the grounded and floating IDs (ROTG_A, ROTG_B = RID_FLOAT) are related to the connections of the USB OTG standard plugs (See "Battery Charging Specification, Revision 1.2"). When either of the RID_A, RID_B, or RID_C resistance is in place, the VBUS is delivered by the ACA. This allows the device to wake up from VBUS or ID. The host can then enable the ID active comparators by writing ID_ACT_COMP bit (in USB_ID_CTRL_SET register) to correctly identify the different RID values. In addition, an interrupt is generated if the resistance on the ID ball is changing.
During hardware-controlled charging, the TPS80032 device monitors if an ACA is connected and sets the corresponding VBUS input current limit.
The following pullup and pulldown resistors and current sources can be connected to the ID line:
The ID wake-up comparator is used when the TPS80032 device is in the WAIT-ON or SLEEP state. It allows start up of the TPS80032 device when a USB cable A-plug is attached (A-plug has a pulldown resistor, ROTG_A, to ground on the ID line).
Four comparators, supplied on the LDOUSB regulator, are implemented to evaluate the proper external ID resistor. Additional logic between those comparators allows the detection of the five debounced interrupts (fixed 30-ms debouncing):
It is possible to use the GPADC to monitor the voltage on the ID line (channel 14). A 6.875-V maximum voltage on the ID line corresponds to a 1.25-V maximum dynamic at the input stage of the GPADC converter, allowing a 6.0-V maximum measurement.
Figure 5-25 shows the block diagram of the ID resistance detection and the decoding.Table 5-1 lists the ID resistance interrupt decoding.
ID pin level | RID Resistance | Interrupt |
---|---|---|
VID < VID_CMP1 | RID < 1 kΩ | ID_GND |
VID_CMP1 < VID < VID_CMP2 | 36 kΩ < RID < 37 kΩ | ID_C |
VID_CMP2 < VID < VID_CMP3 | 67 kΩ < RID < 69 kΩ | ID_B |
VID_CMP3 < VID < VID_CMP4 | 122 kΩ < RID < 126 kΩ | ID_A |
VID > VID_CMP4 | RID > 220 kΩ | ID_FLOAT |
The VBUS wake-up comparator is used when the TPS80032 device is in the PRECHARGE, WAIT-ON, SLEEP, or ACTIVE state. It allows startup of the TPS80032 device when a USB cable plug is attached with a VBUS voltage level of 3.6 V minimum being present on the VBUS line.
The LDOUSB regulator, the ACA comparators and 16-µA current source can be selected to be controlled by the VBUS wake-up comparator until the first I2C write access to the LDOUSB resource state register (LDOUSB_CFG_STATE) (by setting the AUTO_LDOUSB_DIS OTP bit to 0).
The following pullup and pulldown resistors and current sinks/sources can be connected to the VBUS line:
Related to the OTG 1.3 revision, four comparators supplied on the VANA regulator are implemented to evaluate the proper voltage level on the VBUS line.
In the OTG 2.0 revision, only one comparator is required for the session valid detection (VOTG_SESS_VLD) supplied also on the VANA domain. Still, the VA_VBUS_VLD comparator can be used to detect a possible VBUS short-circuit condition.
The TPS80032 device embeds the OTG 2.0 optional features related to the VBUS ADP probing and sensing, and hence with two additional comparators supplied on VANA (VADP_PRB and VADP_SNS).
Seven comparators allow the detection of the four OTG 1.3 and the three OTG 2.0 debounced interrupts:
It is possible to use the GPADC to monitor the voltage on the VBUS line (channel 10), see GENERAL-PURPOSE ADC for more information.
NOTE
The ADP lets the device detect when a remote device is attached or detached with a low power consumption. The ADP detects the change in the VBUS capacitance that occurs when two devices are attached or detached. The capacitance is detected by first discharging (VBUS_IADP_SINK) the VBUS line and then measuring the time it takes for VBUS to charge to a VADP_PRB voltage level with a VBUS_IADP_SRC current source. The change in the capacitance is detected by looking for a change in the T_ADP_RISE charge time. This procedure is called ADP probing.
If an A-device is attached to a B-device, and both support ADP features, the A-device performs ADP probing and the B-device performs ADP sensing. During ADP sensing, the B-device looks for ADP probing activity on the VBUS line. If ADP probing activity is detected, the B-device determines that the A-device is still attached.
As shown in Figure 5-26, the ADP module has timing register bits (T_ADP_HIGH, T_ADP_LOW, and T_ADP_RISE), control logic, a current source (VBUS_IADP_SRC), a current sink (VBUS_IADP_SINK), and two comparators (VADP_PRB [ADP probing] and VADP_SNS [ADP sensing]).
Figure 5-27 shows the ADP timing diagram.
ADP_MODE[1:0] | OPERATION |
---|---|
00 | ADP digital module is disabled. |
01 | ADP sensing mode is enabled. |
10 | ADP probing mode as an A-device is enabled. |
11 | ADP probing mode as a B-device is enabled. |
The limit registers (T_ADP_LOW[7:0] and T_ADP_HIGH[7:0]) and the last measurement time (T_ADP_RISE[7:0]) are reset when the digital module is disabled.
During the ADP sensing mode, the VADP_SNS comparator is used. The digital module monitors the comparator output to ensure that it toggles and the time duration between the rising edge of the comparator output signal is shorter than T_ADP_SNS. If there is no new rising edge within the T_ADP_SNS period, the module generates an ADP interrupt.
Figure 5-28 shows the ADP sensing timing diagram.
During ADP probing, the VADP_PRB comparator is used. The time interval measurement counter is reset and the VBUS_IADP_SINK current sink is turned on for T_ADP_SINK. The T_ADP_SINK time is long enough to discharge the VBUS voltage below VADP_DSCHG. There is no comparator to monitor the discharge level. After that, the current sink is turned off, the current source VBUS_IADP_SRC is turned on, and the time interval measurement counter starts to count 32.768-kHz crystal clock cycles. When the VBUS voltage reaches VADP_PRB voltage level the current source is turned off, and the time interval measurement counter is stopped. If the VADP_PRB voltage is not reached before counter value is 255, the counter value is stopped to 255. The current source is disabled when the voltage reaches VADP_PRB level or the next current sink period starts. If the measured time interval value is lower than T_ADP_LOW[7:0] or higher than T_ADP_HIGH[7:0], an interrupt is generated. The host processor sets the limit values so that the operation fulfills the requirements of the OTG 2.0 specification. Figure 5-29 shows the ADP probing timing diagram.
The gas gauge, also called the current gauge, measures the current from the battery or the current into the battery. An ADC (Coulomb counter) is required to measure the voltage over the external sense resistor, R2. This resistor is connected to the negative side of the battery. The integration period of the ADC is programmable from 3.9 to 250 ms with CC_ACTIVE_MODE[1:0] bits (in FG_REG_00 register). The gas gauge works continuously, which means that the new measurement starts immediately after the previous result becomes available. The accumulated result is calculated by the TPS80032 digital module but requires host processor to calculate the battery energy (See ).
Figure 5-30 shows a block diagram of the gas gauge.
Autocalibration is enabled by host. During autocalibration, the gas gauge performs eight measurements so that the inputs for the ADC are short-circuited. The result indicates the offset error of the gas gauge. The result is stored in the CC_OFFSET[9:0] bits and the completion of the measurement procedure is indicated with the CC_AUTOCAL interrupt. Software must read the offset error result (CC_OFFSET[9:0] bits in FG_REG_08 and FG_REG_09 registers) and use that to compensate the actual measurement results. The CC_CAL_EN bit self-clears when the calibration completes. The gas gauge must be enabled (FGS bit TOGGLE1 register) before starting the calibration. The temperature variation changes the offset error, so the recalibration is preferred during operation.
The auto-clear function is used in the sequence of changing from one integration period to another. Before changing the integration period, the CC_PAUSE bit must be set to 1. Setting the CC_AUTOCLEAR bit to 1 clears the CC_OFFSET[9:0], CC_SAMPLE_CNTR[23:0], and CC_ACCUM[31:0] bit fields. The CC_AUTOCLEAR bit self-clears when the registers are reset.
Setting CC_PAUSE to 1 keeps the analog from updating the integrator, accumulator, and sample counter registers. The integrator continues to run. If an integration period ends while the CC_PAUSE bit is 1, the value that is normally written to these registers is lost and the next integration period starts automatically.
The FGDITHS bit is set to 1 to enable dithering in the ADC, which keeps idle tones from being generated with a DC input value. FGDITHS is not affected by the CC_AUTOCLEAR bit. Use the FGDITHR bit to disable the dithering. The dithering feature status is available in the FGDITH_EN bit.
In order to start the current gauging the host processor must first set the correct integration period (CC_ACTIVE_MODE[1:0] bits), enable the gas gauge (FGS toggle bit), and perform the calibration (CC_CAL_EN bit) to get the offset error and use that to make corrections to the measurement results. The current gauge enters normal operation automatically when calibration completes. After that, host processor can read the sample counter (CC_SAMPLE_CNTR[23:0] bits) and accumulator (CC_ACCUM[31:0] bits) results and calculate the energy accordingly.
To record the current consumption waveform,the host must use an interrupt (CC_EOC) to detect when the integration sample result is ready. The integration register CC_INTEG[13:0] always stores the result of the last measurement.
WARNING
Anti-aliasing filter (RC-filtering) is not allowed with Charger Power Path configuration. The charger senses the battery current using the same resistor as Gas Gauge and RC filtering affects the charger loops and may generate stability problems.
The GPADC consists of a 12-bit sigma-delta ADC combined with a 19-input analog multiplexer. The GPADC enables the host processor to monitor a variety of analog signals using analog-to-digital conversion on the input source. After the conversion completes, an interrupt is generated (GPADC_RT_EOC or GPADC_SW_EOC) for the host processor and it can read the result of the conversion through the I2C interface.
The GPADC supports 19 analog inputs: 7 of these inputs are available on external balls and the remaining 12 are dedicated to internal resource monitoring. Two of the seven external inputs are associated with current sources allowing measurements of resistive elements (battery type and temperature or other thermal sensor). The reference voltage (GPADC_VREF) is available when the GPADC is enabled.
GPADC_IN0 is associated with a current source of 7 µA. An additional 15-µA current source can be enabled by register bit (GPADC_ISOURCE_EN bit in GPADC_CTRL register). A comparator connected to this input is intended to detect the presence or absence of the battery (resistance to ground is less than 130 kΩ in the battery pack). The removal and insertion of the battery pack generates an interrupt and the detection result is also available at the BATREMOVAL ball.
GPADC_IN1 and GPADC_IN4 are associated with a voltage reference equal to the ADC reference and are intended to measure temperature with an NTC sensor. In addition, a detection module is connected to GPADC_IN1 to permanently monitor the temperature and gate the charge for the battery.
GPADC_IN3 is associated with the three selectable current sources and can be used, for example, to measure a voltage across an external resistor or diode. The selectable current levels are 10 µA, 400 µA, and 800 µA and the current is controlled by a register bits (GPADC_REMSENSE[1:0] bits in GPADC_CTRL2 register).
Figure 5-31 shows the block diagram of the GPADC.
For all the measurements performed by the monitoring ADC, the means to scale of the signal to be measured to the ADC input range are integrated in the TPS80032 device (voltage dividers, current to voltage converters, and current source).
The conversion requests are initiated by the host processor, either by software through the I2C or by hardware through a dedicated external ball GPADC_START. This last mode is useful when real-time conversion is required. An interrupt signal is generated when the conversion result is ready.
There are three kinds of conversion requests with the following priority:
Before starting the measurement, the software can enable channels, scalers, current sources and select other parameters:
The real-time conversion is requested with the GPADC_START signal. Before requesting the conversion, software must enable the required channels, scalers, and current sources. In addition, software must enable the GPADC with the GPADCS bit in the TOGGLE1 register and select one or two channels for conversion with the RTSELECT_LSB, RTSELECT_ISB, and RTSELECT_MSB register bits. If more than two channels are selected for the conversion, the two lowest input numbers are converted. At the end of the conversions, the GPADC writes the conversion results into the results register (RTCH0_LSB, RTCH0_MSB, RTCH1_LSB, and RTCH1_MSB) and sets the GPADC_RT_EOC interrupt (if interrupt is unmasked).
If a GPADC_START real-time request occurs while a software-initiated conversion or BCM internal conversion is running, the ongoing conversion is aborted, the real-time conversion is started, and a new software-initiated or BCM internal conversion is rescheduled after the real-time conversion is ready.
Software can also request a conversion asynchronously with respect to the GPADC_START signal. This conversion is not critical in terms of start-of-conversion positioning.
Software enables the required channels, scalers, current sources, enables the GPADC with GPADCS bit in TOGGLE1 register and selects the channel to be converted with GPSELECT_ISB register bits. The conversion is requested with SP1 bit in the CTRL_P1 register. When the conversion is ready a GPADC_SW_EOC interrupt is generated (if interrupt is unmasked) and the conversion result is available in GPCH0_LSB and GPCH0_MSB registers. A GPADC_START-initiated conversion (RT) and BCM internal conversion have higher priority than the software-initiated conversion.
If a software request occurs while a GPADC_START-initiated sequence (RT) or BCM internal conversion is running, the software request is placed on hold and the ongoing conversion continues until it completes and the converted data is stored. A GPADC_RT_EOC interrupt is then generated and sent to the processor in case of RT sequence. The digital control executes the software request when the higher priority conversion are completed. A GPADC_SW_EOC interrupt is then generated.
The GPADC is automatically enabled when an internal BCM request is asserted. When this occurs, the GPADC input channel 17 is selected for a conversion. At the end of the conversion, the GPADC result is passed internally to the BCM digital control. Interrupt is not generated at the end of the BCM conversion request.
GPADC_START-initiated conversion (RT) has a higher priority than the BCM-initiated conversion.
The different ADC channels are summarized in the following table.
CHANNEL | TYPE | INPUT VOLTAGE FULL RANGE(1) | INPUT VOLTAGE PERFORMANCE RANGE(2) | OPERATION |
---|---|---|---|---|
0 | External | 0–1.25 V(3) | 0.01–1.215 V | Battery type, resistor value |
1 | External | 0–1.25 V(3) | 0.01–1.215 V | Battery temperature, NTC resistor value |
2 | External | 0–1.875 V(3) | 0.015–1.822 V | Audio accessory/general purpose |
3 | External | 0–1.25 V(3) | 0.01–1.215 V | Temperature with external diode/general purpose |
4 | External | 0–1.25 V(3) | 0.01–1.215 V | Temperature measurement/general purpose |
5 | External | 0–1.25 V(3) | 0.01–1.215 V | General purpose |
6 | External | 0–1.25 V(3) | 0.01–1.215 V | General purpose |
7 | Internal | 0–5 V or 0–6.25 V | 0.04–4.86 V or 0.05–6.075 V | System supply |
8 | Internal | 0–6.25 V | 0.05–4.8 V | Backup battery |
9 | Internal | 0–11.25 V | 2.0–10.0 V | External charger input |
10 | Internal | 0–27.25 V | 0.01–6.0 V | VBUS |
11 | Internal | 0–1.875 A | 0.015–1.5 A | VBUS DC-DC output current (available only without power path, OTP memory bit POP_APPSCH = 0, R9 = 68 mΩ) |
12 | Internal | 0–1.25 V | 0.01–1.215 V | Die temperature |
13 | Internal | 0–1.25 V | 0.01–1.215 V | Die temperature |
14 | Internal | 0–6.875 V | 0.055–6.68 V | USB ID line |
15 | Internal | 0–6.25 V | 0.05–6.075 V | Test network |
16 | Internal | 0–4.75 V | 0.038–4.617 V | Test network |
17 | Internal | 0–7.8125 A | 0–1.5 A | Battery charging current (with 20-mΩ sense resistor) (available only with power path, OTP memory bit POP_APPSCH = 1) |
18 | Internal | 0–5 V or 0–6.25 V | 0.04–4.86 V or 0.05–6.075 V | Battery voltage |
The GPADC channels are calibrated in the production line using a two point calibration method. The channels are measured with two known values (X1 and X2) and the difference (D1 and D2) to the ideal values (Y1 and Y2) are stored in OTP memory. The principle of the calibration is shown in Figure 5-32.
The corrected result can be calculated using the following equations.
Gain: k = 1 + ((D2 – D1) / (X2 – X1))
Offset: b = D1 – (k - 1) × X1
If the measured code is a, the corrected code a' is:
a' = (a – b) / k
Some of the GPADC channels can use the same calibration data. Table 5-3 lists the parameters X1 and X2, and the register of D1 and D2 needed in the calculation for all the channels.
CHANNEL | X1 | X2 | D1(1) | D2(1) | COMMENTS |
---|---|---|---|---|---|
0, 1, 3, 4, 5, 6, 12, 13 | 1441 (0.44 V) |
3276 (1.0 V) |
GPADC_TRIM3[4:0] * 4 + GPADC_TRIM1[2:1], sign = GPADC_TRIM1[0] | GPADC_TRIM4[5:0] * 4 + GPADC_TRIM2[2:1], sign = GPADC_TRIM2[0] | Channel 3 trimming is used |
2 | 1441 (0.66 V) |
3276 (1.5 V) |
GPADC_TRIM3[4:0] * 4 + GPADC_TRIM1[2:1], sign = GPADC_TRIM1[0] | GPADC_TRIM4[5:0] * 4 + GPADC_TRIM2[2:1], sign = GPADC_TRIM2[0] | Channel 3 trimming is used |
8 | 1441 (2.2 V) |
3276 (5.0 V) |
(GPADC_TRIM3[4:0] * 4 + GPADC_TRIM1[2:1], sign = GPADC_TRIM1[0]) + (GPADC_TRIM8[4:3] * 16 + GPADC_TRIM7[4:1], sign = GPADC_TRIM7[0]) | (GPADC_TRIM4[5:0] * 4 + GPADC_TRIM2[2:1], sign = GPADC_TRIM2[0]) + (GPADC_TRIM10[4:0] * 4 + GPADC_TRIM8[2:1], sign = GPADC_TRIM8[0]) | Channel 3 and channel 8 trimming is combined |
9 | 1441 (3.96 V) |
3276 (9.0 V) |
(GPADC_TRIM3[4:0] * 4 + GPADC_TRIM1[2:1], sign = GPADC_TRIM1[0]) + (GPADC_TRIM14[4:3] * 16 + GPADC_TRIM12[4:1], sign = GPADC_TRIM12[0]) | (GPADC_TRIM4[5:0] * 4 + GPADC_TRIM2[2:1], sign = GPADC_TRIM2[0]) + (GPADC_TRIM16[4:0] * 4 + GPADC_TRIM14[2:1], sign = GPADC_TRIM14[0]) | Channel 3 and channel 9 trimming is combined |
10 | 150 (1.0 V) |
751 (5.0 V) |
GPADC_TRIM11[3:0] * 8 + GPADC_TRIM9[3:1], sign = GPADC_TRIM9[0] | GPADC_TRIM15[3:0] * 8 + GPADC_TRIM13[3:1], sign = GPADC_TRIM13[0] | Dedicated trimming |
11 | 1441 (0.66 A) |
3276 (1.5 A) |
GPADC_TRIM3[4:0] * 4 + GPADC_TRIM1[2:1], sign = GPADC_TRIM1[0] | GPADC_TRIM4[5:0] * 4 + GPADC_TRIM2[2:1], sign = GPADC_TRIM2[0] | Channel 3 trimming is used |
14 | 1441 (2.42 V) |
3276 (5.5 V) |
GPADC_TRIM3[4:0] * 4 + GPADC_TRIM1[2:1], sign = GPADC_TRIM1[0] | GPADC_TRIM4[5:0] * 4 + GPADC_TRIM2[2:1], sign = GPADC_TRIM2[0] | Channel 3 trimming is used |
7, 18 | 1441 (2.2 V) |
3276 (5.0 V) |
(GPADC_TRIM3[4:0] * 4 + GPADC_TRIM1[2:1], sign = GPADC_TRIM1[0]) + (GPADC_TRIM5[6:1], sign = GPADC_TRIM5[0]) | (GPADC_TRIM4[5:0] * 4 + GPADC_TRIM2[2:1], sign = GPADC_TRIM2[0]) + (GPADC_TRIM6[7:1], sign = GPADC_TRIM6[0]) | Channel 3 and channel 18 trimming is combined, input voltage range is 0–6.25 V |
17 | Icharge = (a – GPADC_TRIM20[7:0]) * (1 + GPADC_TRIM21[5:0] / 512) * 1.25 V / 4096 / 8 / R2 ; a = measured code, GPADC_TRIM20[7:0] is an unsigned value, in GPADC_TRIM21[5:0] the bit 5 is the sign and bits[4:0] are the magnitude |
Dedicated equation |
The LDO3 regulator can be used as a generic voltage supply or as a vibrator motor driver. The output voltage level is controlled with the LDO3_CFG_VOLTAGE register and the regulator provides output current up to 200 mA.
The vibrator mode is selected with the SEL_VIB bit in the MISC2 register. The duty cycle and frequency are controlled with the DSEL[1:0] and FREQ[1:0] bits in the VIBCTRL and VIBMODE registers. The vobrator is started with the VIBS bit and stopped with the VIBC bit in the TOGGLE2 register. The vibrator driver allows a soft turn on (500-µs maximum) and turn off (2-ms maximum).
Figure 5-33 shows a block diagram of the vibrator motor driver.
The PWM1 and PWM2 digital outputs provide PWM signals on the 1.8-V I/O domain. The current drive capability of both PWM buffer is 4 mA and the outputs can also be active when the system is in the SLEEP state.
The period of the PWM signals can be selected separately with the PWM1_LENGTH and PWM2_LENGTH bits in the PWM1ON and PWM2ON registers. The selection of 128 clock cycles results as a 256-Hz PWM signal and the selection of 64 cycles results as 512-Hz PWM signal. Both PWM signals have dedicated counters. The counters are started by first enabling the 32768-Hz clock inputs with the PWM1EN and PWM2EN bits in the TOGGLE3 register and then setting the PWM1S and PWM2S bits. The rising and falling-edge positions are selected with the PWM1ON[6:0], PWM1OFF[6:0], PWM2ON[6:0], and PWM2OFF[6:0] bits in the PWM1ON, PWM1OFF, PWM2ON, and PWM2OFF registers as shown in Figure 5-34.
NOTE
The clock inputs for generation of PWM signals are enabled with the PWM1EN and PWM2EN bits in the TOGGLE3 register. The start and stop of the PWM signal generation is controlled with the PWM1S, PWM2S, PWM1C, and PWM2C bits in the TOGGLE3 register. To get a clean start and stop, the clock input must be enabled before starting PWM signal generation and the PWM signal generation must be stopped before disabling the clock input. The CLK1 and CLK2 counters can be synchronized by setting both the PWM1S and PWM2S bits high with the same I2C write.
The PWM signal is constantly high if PWMxON[6:0] is equal to PWMxOFF[6:0].
The following rules must be fulfilled for the PWMxON and PWMxOFF settings:
The TPS80032 device supports the following detection functions:
The TPS80032 device supports SIM card and MMC card insertion and extraction detections with programmable debounce times. The debounce times are programmed with SIMDEBOUNCING and MMCDEBOUNCING registers. When the SIM card or MMC card is inserted, a mechanical contact connected on the TPS80032 device terminal SIM or MMC is tripped, and after debouncing an interrupt is generated. The SIM card and MMC card presence detection logic is active even when the system is in idle mode; the debouncing logic (programmable) is based on the 32-kHz clock. When a card insertion is detected, the required regulator must be enabled by host processor. When a card is extracted, the LDO7 for SIM card and LDO5 for MMC card can be selected to turn off automatically. These are controlled by SIMCTRL and MMCCTRL registers. An interrupt is generated when a plug or unplug is detected.
The SIM card or MMC card plug and battery insertion/extraction are detected in SLEEP and ACTIVE states. Both card detections and battery detection have dedicated maskable interrupts (MMC, SIM, and BAT).
The TPS80032 device includes several different thermal monitoring functions:
A thermal protection module inside the TPS80032 device monitors the temperature of the device. It generates a warning to the system when excessive power dissipation occurs and shuts down the TPS80032 device if the temperature rises to a value at which damage can occur.
CAUTION
The silicon technology used to build the TPS80032 device supports a maximum operating temperature of 150°C. Regarding packaging technology, a continuous operation above 125°C requires special packaging and must be avoided.
By default, thermal protection is always enabled except in the BACKUP or OFF state.
The TPS80032 device integrates two HD detection mechanisms to monitor and alert the host that the junction temperature is rising and must take action to reduce consumption. Those mechanisms are placed on two opposite sides of the chip and closed to the LDOs and SMPSs. Even if there are two identical thermal feature instances on the chip, it is always considered through the specification to be unique. In addition to those HD detections, there is another HD feature embedded in the system supply regulator. This HD is specified in Section 5.9, Battery Charging, and does not behave exactly as described in the following section.
The HD detector monitors the temperature of the die and provides a warning to the host processor through the interrupt (HOT_DIE) when temperature reaches a critical value. The temperature threshold value is programmable with the THERM_HD_SEL[1:0] bits in the TMP_CFG register. The threshold has typically 10°C hysteresis to avoid the generation of multiple interrupts.
When an interrupt is triggered by the power-management software, immediate action to reduce the amount of power drawn from the TPS80032 device must be taken (for example, noncritical applications must be closed).
The thermal shutdown detector monitors the temperature on the die. If the junction reaches a temperature at which damage can occur, a switch-off transition is initiated and a thermal shutdown event is written into a status register.
To avoid interrupts at restart, the system cannot be restarted until the die temperature falls below the HD threshold.
The thermal shutdown monitor function is integrated to generate an immediate, unconditional TPS80032 device switch off when an overtemperature condition exists. This function must be distinguished with the early warning provided to host processor by the HD monitor function.
In the TPS80032 device, the threshold (TJ rising) of the thermal shutdown is 148°C nominal. The thermal shutdown hysteresis is 10°C in typical conditions. The reset generation is debounced. The thermal shutdown function can be masked only in the SLEEP state (the TMP_CFG_TRANS register) and in test mode.
The GPADC_IN1 and GPADC_IN4 channels can be used to measure a temperature with an external NTC resistor. External pullup and pulldown resistors can be connected to the input to linearize the characteristics of the NTC resistor. GPADC_IN1 can be used to gate the battery charging at invalid temperatures. The temperature limits are set by external resistors.
GPADC_IN3 can be used to measure the temperature with external diode. The input channel has three selectable current sources.
A general-purpose serial control interface (CTL-I2C) allows read-and-write access to the configuration registers of all resources of the system.
A second serial control interface (DVS-I2C) is dedicated to dynamic voltage scaling (DVS).
Both control interfaces comply with the HS-I2C specification and support the following features:
The following features are not supported:
Certain registers of the TPS80032 device can be protected by restricting their access in write mode to software running in the secure mode. Read access to protected registers is always possible. Secure access is enabled or disabled by the MSECURE control signal.
The following components or actions can be protected:
The read accesses are independent to the MSECURE value.
When MSECURE is logical level 1, all read and write accesses are authorized; when MSECURE is logical level 0, only read accesses are authorized.
The MSECURE detection security feature is enabled and disabled by an OTP bit.
For compatibility purpose, the I2C interface of the TPS80032 device uses the same read/write protocol based on an internal register size of 8 bits as do other TI power ICs. Supported transactions are described in the following sections.
A write access is initiated by a first byte including the address of the device (7 most-significat bits [MSBs]) and a write command (least-significant bit [LSB]), a second byte provided the address (8 bits) of the internal register, and the third byte represents the data to be written in the internal register.
Figure 5-35 shows a write access single-byte timing diagram.
A read access is initiated by:
The device replies by sending a fourth byte representing the content of the internal register.
Figure 5-36 shows a read access single-byte timing diagram.
A write access is initiated by:
The following N bytes represent the data to be written in the internal register, starting at the base address and incremented by 1 at each data byte.
Figure 5-37 shows a write access multiple-byte timing diagram.
A read access is initiated by:
The device replies by sending a fourth byte representing the content of the internal registers, starting at the base address and next consecutive ones.
Figure 5-38 shows a read acces multiple-byte timing diagram.
The INT signal (active low) indicates the host processor of events occurring on the TPS80032 device. The host processor then reads the interrupt status registers (INT_STS_A, INT_STS_B, and INT_STS_C) through I2C to identify the interrupt source. Each interrupt source can be individually masked through the interrupt mask registers. If the source is masked with mask line register (INT_MSK_LINE_A, B, C) then the INT signal is not generated for host processor but the interrupt status register (INT_STS_A, B, C) is set in case of source event. If the source is masked with mask status register (INT_MSK_STS_A, B, C) then the INT signal is not generated and the status register is not set in case of source event. The block diagram of the interrupt handler is shown in Figure 5-39.
In order to clear the status registers and the interrupt signal, a write in any of the status registers (INT_STS_A, B, or C) must be done. Each write has the same effect (interrupt line goes high and all status registers are cleared). This requires that the three status registers must be read before acknowledging the interrupt to avoid losing any interrupt sources.
If additional interrupt or interrupts occur while the status registers and interrupt line are not cleared, the status registers are not updated immediately. Instead, the interrupts are held pending in a shadow registers. When the previous interrupt(s) are cleared, the interrupt line goes high and the content of the shadow registers is moved to status registers. If there are new unmasked events the interrupt signal is set to low again.
If the unmasked source event occurs when the INT signal is high, the interrupt status bit is set without using the shadow register.
NOTE
# | REG | BIT | SECTION | INTERRUPT | Description |
00 | A | 0 | PM | PWRON | PWRON detection: Power-on button pressed and released. Detection performed on falling and rising edges. Interrupt sent in the SLEEP or ACTIVE state only, not in WAIT-ON. |
01 | A | 1 | PM | RPWRON | RPWRON detection: Remote power on signal change. Interrupt sent in the SLEEP or ACTIVE state only, not in WAIT-ON. |
02 | A | 2 | PM | VSYS_VLOW | System voltage low: System voltage decreasing and crossing VSYSMIN_HI |
03 | A | 3 | RTC | RTC_ALARM | RTC alarm event: Occurs at programmed determinate date and time |
04 | A | 4 | RTC | RTC_PERIOD | RTC periodic event: Occurs at programmed regular period of time (every second or minute) |
05 | A | 5 | Thermal monitoring and shutdown | HOT_DIE | At least one of the two embedded thermal monitoring modules detects a die temperature above the HD detection threshold. |
06 | A | 6 | SMPS/LDO | VXXX_SHORT | At least one of the following power resources has its output shorted: SMPS1, SMPS2, SMPS3, SMPS4, SMPS5, VANA, LDO1, LDO2, LDO3, LDO4, LDO5, LDO6, LDO7, LDOLN, LDOUSB |
07 | A | 7 | PM | SPDURATION | PWRON short press duration |
08 | B | 0 | PM | WATCHDOG | Warning of primary watchdog expiration |
09 | B | 1 | Detection | BAT | Battery detection plug/unplug |
10 | B | 2 | Detection | SIM | SIM card plug/unplug |
11 | B | 3 | Detection | MMC | MMC card plug/unplug |
12 | B | 4 | GPADC | GPADC_RT_EOC | End of conversion: Completion of a real-time conversion cycle; result available |
13 | B | 5 | GPADC | GPADC_SW_EOC | End of conversion: Completion of a software (SW) conversion cycle; result available |
14 | B | 6 | Gas gauge | CC_EOC | End of conversion: Completion of gas gauge measurement (end of integration period); result available |
15 | B | 7 | Gas gauge | CC_AUTOCAL | Calibration procedure finished and the result is available in the register. |
16 | C | 0 | OTG | ID_WKUP | ID wake-up event (from WAIT-ON/SLEEP states) |
17 | C | 1 | OTG | VBUS_WKUP | VBUS wake-up event (from WAIT-ON/SLEEP states) |
18 | C | 2 | OTG | ID | ID event detection in SLEEP/ACTIVE states |
19 | C | 3 | OTG | VBUS | VBUS event detection in SLEEP/ACTIVE states |
20 | C | 4 | Charger | CHRG_CTRL | Charger controller |
21 | C | 5 | Charger | EXT_CHRG | External charger fault |
22 | C | 6 | Charger | INT_CHRG | Internal USB charger fault |
23 | C | 7 | Reserved |