npm1300

System Monitor

The chip includes a 10-bit ADC which is used for measuring internal parameters. It can be used in the following measurement modes:

  • Single-shot
  • Automatic
  • Timed

Measurement request priority

When multiple measurement requests happen at the same time, the priority is as follows:

  1. VBAT
  2. Battery temperature, TBAT
  3. Battery current, IBAT
  4. Die temperature, TDIE
  5. VSYS
  6. VBUS

If a measurement has been requested but the measurement has not started, a higher priority can be requested.

When a low priority measurement is requested and the system has started the measurement, a higher priority can be requested. The system will complete the lower priority measurement before the higher priority measurement.

Single-shot measurements

Single-shot measurements are triggered by a task specific for each measurement.

Table 1. Tasks for single-shot measurements
Value Task
Battery temperature TASKNTCMEASURE
Battery voltage, Single-shot mode and Burst mode

TASKVBATMEASURE

ADCCONFIG

VSYS voltage TASKVSYSMEASURE
Battery current ADCIBATMEASEN (occurs after VBAT measurement)
VBUS voltage TASKVBUS7MEASURE
Die temperature TASKTEMPMEASURE
A VBAT measurement triggered in Burst mode performs four consecutive measurements, with each result available separately. Conversions are run back-to-back and complete in tCONV.
Note: To repeat a measurement, it must be requested once the previous request is complete. Repeat measurement requests are lost when made while the previous conversion is still ongoing. Alternate measurements can be requested, which are queued. See Priority for more information.

Automatic measurements

Automatic measurements for battery voltage are enabled in register ADCCONFIG. The default interval is 1024 ms.

Automatic measurements during charging

Battery temperature and die temperature are measured automatically at regular intervals when the battery is charging. The host software can read this value and returns the latest measurement.

The measurement intervals are as follows:
  • Battery temperature – once every 64, 128, or 1024 ms. This information is used by the charging FSM.
  • Die temperature – once every 4 ms, see Charger thermal regulation.
Note: To enable automatic thermistor and die temperature monitoring, set register TASKAUTOTIMUPDATE. This should also be set after changing the automated period.

Timed measurements

Timed measurements for battery voltage in Single-shot mode and Burst mode are initiated in register ADCDELTIMCONF. See Monitor battery state of charge for more information.

Measurement results

Results from the ADC are stored in registers according to the following table. Some registers hold alternate results when that feature is requested. Host software must concatenate the LSB to the MSB of the result register for full accuracy.

Table 2. ADC measurements
Value/alternate result Register
VBAT ADCVBATRESULTMSB
Battery temperature ADCNTCRESULTMSB
Die temperature ADCTEMPRESULTMSB
VSYS Single-shot mode ADCVSYSRESULTMSB
LSBs for Single-shot mode VSYS, Die temperature, NTC thermistor, and VBAT ADCGP0RESULTLSBS
Burst mode VBAT0 ADCVBAT0RESULTMSB
Burst mode VBAT1 ADCVBAT1RESULTMSB

Burst mode VBAT2

Battery current IBAT

ADCVBAT2RESULTMSB

Burst mode VBAT3

Single-shot mode VBUS

ADCVBAT3RESULTMSB
LSBs for Burst mode VBAT0, VBAT1, VBAT2, and VBAT3 ADCGP1RESULTLSBS

The following equations can be used to read the results.

VBAT

The equation for VBAT is given by the following:

Here, VBATADC is the ADC value from the VBAT register and VFSVBAT is the full scale voltage for measuring VBAT.

VBUS

The equation for VBUS is given by the following:

Equation for VBUS

Here, VBUSADC is the ADC value from the VBUS register and VFSVBUS is the full scale voltage for measuring VBUS.

VSYS

Equation for VSYS is given by the following:

Equation for VSYS

Here, VSYSADC is the ADC value from the VBUS register and VFSVSYS is the full scale voltage for measuring VBUS.

Battery temperature (Kelvin)

The battery temperature TBAT (in Kelvin) is given by the following equation:

Equation for battery temperature

Here, T0 = 298.15 K and TBATADC is the ADC value from the battery temperature register ADCNTCRESULTMSB.

Die temperature in °C

The die temperature, TD (in °C), is given by the following equation:

Equation for die temperature

Here, KDIETEMP is the temperature limit code variable.

Events and interrupts

An event register and interrupt are available for each measurement and are issued once the measurement has been completed.

See registers EVENTSADCSET, EVENTSADCCLR, INTENEVENTSADCSET, and INTENEVENTSADCCLR.

Battery temperature measurement

Before using a battery temperature measurement, the appropriate NTC thermistor must be configured. See Monitor battery temperature for information about suitable thermistors and how to configure.

Monitor battery state of charge

The host runs the fuel gauge algorithm and periodically requests measurements from the ADC. These measurements update the algorithm parameters and allow the state of charge to be determined.

The algorithm must be provided with the battery model parameters for accurate fuel gauge readings. The battery model parameters can be created from the nPM PowerUP application.

Once the battery is modeled over the operating temperature range, the fuel gauge algorithm is optimized to operate over the full range of battery voltages, temperatures, and application currents.

Battery current measurement

Host software can request a VBAT measurement by setting bit IBAT.MEAS.ENABLE to 1 in register ADCIBATMEASEN. This allows consecutive VBAT and IBAT measurements. When both measurements are available in the ADC registers, the ADCIBATRDY event is generated. See register ADCIBATMEASSTATUS for more information about the IBAT measurement.

Measurements are invalid and a new measurement is needed when bit IBAT.MEASE.INVALID is set.

Direction of current flow is shown in bit BCHARGER.MODE.

A value of 01 means the battery is discharging. During a discharge, the full scale current is the sum of registers BCHGISETDISCHARGEMSB and BCHGISETDISCHARGELSB.

A value of 11 means the battery is charging. When charging, the full scale current is the sum of registers BCHGISETMSB and BCHGISETLSB multiplied by 1.25.

Electrical specification

Table 3. System Monitor electrical specification
Symbol Description Min. Typ. Max. Unit
VFSVBAT Full scale voltage for VBAT measurement   5.0   V
VBATACCUR

Accuracy of the VBAT measurement

(3 V < VBAT < 4.5V)

-1   +1 %
VFSVBUS Full scale voltage for VBUS measurement   7.5   V
VBUSACCUR

Accuracy of the VBUS measurement

  1.5   %
VFSVSYS Full scale voltage for VSYS measurement   6.375   V
VSYSACCUR

Accuracy of the VSYS measurement

  1.5   %
CBATNTC Capacitance in parallel with the thermistor 0   100 pF
VFSTEMP Full scale for battery and die temperature measurements   1.5   V
tCONV Conversion time   250   μs
DNL Differential non-linearity   < 0.5   LSB
IADCAUTO Current consumption, automatic measurements active       μA
IADCDIE Current consumption during die temperature measurement       μA

Registers

Instances

Instance Base address Description
ADC 0x00000500

SAADC registers

ADC register map

Register overview

Register Offset Description
TASKVBATMEASURE 0x0

Task Take VBAT measurement

TASKNTCMEASURE 0x1

Task Take NTC measurement

TASKTEMPMEASURE 0x2

Task Take Die Temperature measurement

TASKVSYSMEASURE 0x3

Task Take VSYS measurement

TASKIBATMEASURE 0x6

Task Take IBATmeasurement

TASKVBUS7MEASURE 0x7

Task Take VBUS 7V range measurement

TASKDELAYEDVBATMEASURE 0x8

Task Take delayed VBAT measurement

ADCCONFIG 0x9

ADC Configuration

ADCNTCRSEL 0xA

Select Battery NTC register

ADCAUTOTIMCONF 0xB

Auto measurement intervals

TASKAUTOTIMUPDATE 0xC

update toggle for NTC and Die temp AutoTime register bits

ADCDELTIMCONF 0xD

Vbat Delay timer control

ADCIBATMEASSTATUS 0x10

Battery current measurement status

ADCVBATRESULTMSB 0x11

ADC VBAT measurement result MSB

ADCNTCRESULTMSB 0x12

ADC NTC measurement result MSB

ADCTEMPRESULTMSB 0x13

ADC DIE TEMP measurement result MSB

ADCVSYSRESULTMSB 0x14

ADC VSYS measurement result MSB

ADCGP0RESULTLSBS 0x15

ADC result LSB's (Vbat, Ntc, Temp and Vsys)

ADCVBAT0RESULTMSB 0x16

ADC VBAT0 Burst measurement result MSB

ADCVBAT1RESULTMSB 0x17

ADC VBAT1 Burst measurement result MSB

ADCVBAT2RESULTMSB 0x18

ADC VBAT2 Burst measurement result MSB

ADCVBAT3RESULTMSB 0x19

ADC VBAT3 Burst or VBUS measurement result MSB

ADCGP1RESULTLSBS 0x1A

ADC result LSB's (Vbat_burst0, 1, 2 and 3)

ADCIBATMEASEN 0x24

Enable auto IBAT measurement

TASKVBATMEASURE

Address offset: 0x0

Task Take VBAT measurement

Bit number 7 6 5 4 3 2 1 0
ID               A
Reset 0x00 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A

W

TASKVBATMEASURE

 

Start VBAT Measurement

     

NOEFFECT

0

no effect

     

TRIGGER

1

Trigger task

TASKNTCMEASURE

Address offset: 0x1

Task Take NTC measurement

Bit number 7 6 5 4 3 2 1 0
ID               A
Reset 0x00 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A

W

TASKNTCMEASURE

 

Start Battery NTC thermistor Measurement

     

NOEFFECT

0

no effect

     

TRIGGER

1

Trigger task

TASKTEMPMEASURE

Address offset: 0x2

Task Take Die Temperature measurement

Bit number 7 6 5 4 3 2 1 0
ID               A
Reset 0x00 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A

W

TASKTEMPMEASURE

 

Start Die Temperature Measurement

     

NOEFFECT

0

no effect

     

TRIGGER

1

Trigger task

TASKVSYSMEASURE

Address offset: 0x3

Task Take VSYS measurement

Bit number 7 6 5 4 3 2 1 0
ID               A
Reset 0x00 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A

W

TASKVSYSMEASURE

 

Start VSYS Measurement

     

NOEFFECT

0

no effect

     

TRIGGER

1

Trigger task

TASKIBATMEASURE

Address offset: 0x6

Task Take IBATmeasurement

Bit number 7 6 5 4 3 2 1 0
ID               A
Reset 0x00 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A

W

TASKIBATMEASURE

 

Start IBAT Measurement

     

NOEFFECT

0

no effect

     

TRIGGER

1

Trigger task

TASKVBUS7MEASURE

Address offset: 0x7

Task Take VBUS 7V range measurement

Bit number 7 6 5 4 3 2 1 0
ID               A
Reset 0x00 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A

W

TASKVBUS7MEASURE

 

Start VBUS 7Volt range Measurement

     

NOEFFECT

0

no effect

     

TRIGGER

1

Trigger task

TASKDELAYEDVBATMEASURE

Address offset: 0x8

Task Take delayed VBAT measurement

Bit number 7 6 5 4 3 2 1 0
ID               A
Reset 0x00 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A

W

TASKDLYDVBATMEASURE

 

Start delayed VBAT Measurement

     

NOEFFECT

0

no effect

     

TRIGGER

1

Trigger task

ADCCONFIG

Address offset: 0x9

ADC Configuration

Bit number 7 6 5 4 3 2 1 0
ID             B A
Reset 0x00 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A

RW

VBATAUTOENABLE

 

Enable VBAT Auto measurement every 1 Second

     

NOAUTO

0

Single measurement when triggered

     

AUTOENABLE

1

Make measurement every 1s

B

RW

VBATBURSTENABLE

 

Enable VBAT Burst mode VBAT0, VBAT1, VBAt2, VBAT3

     

SINGLEMODE

0

Make a Single measurement

     

BURSTMODE

1

Make 4 consecutive measurements

ADCNTCRSEL

Address offset: 0xA

Select Battery NTC register

Bit number 7 6 5 4 3 2 1 0
ID             A A
Reset 0x01 0 0 0 0 0 0 0 1
ID R/W Field Value ID Value Description
A

RW

ADCNTCRSEL

 

Select value and TRIM to match Battery NTC resistance

     

Hi_Z

0

No thermistor

     

10K

1

NTC10K

     

47K

2

NTC47K

     

100K

3

NTC100K

ADCAUTOTIMCONF

Address offset: 0xB

Auto measurement intervals

Bit number 7 6 5 4 3 2 1 0
ID         B B A A
Reset 0x03 0 0 0 0 0 0 1 1
ID R/W Field Value ID Value Description
A

RW

NTCAUTOTIM

 

NTC thermistor measurement interval during Charging

     

4MS

0

4ms

     

64MS

1

64ms

     

128MS

2

128ms

     

1024MS

3

1024ms

B

RW

TEMPAUTOTIM

 

Die Temp measurement interval during Charging

     

4MS

0

4ms

     

8MS

1

8ms

     

16MS

2

16ms

     

32MS

3

32ms

TASKAUTOTIMUPDATE

Address offset: 0xC

update toggle for NTC and Die temp AutoTime register bits

Bit number 7 6 5 4 3 2 1 0
ID               A
Reset 0x00 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A

W

TASKAUTOTIMUPDATE

 

update toggle, handshake signal to flag NtcAutoTim and TempAutoTim change

     

NOEFFECT

0

no effect

     

UPDATEAUTOTIM

1

Register new NtcAutoTim, TempAutoTim value

ADCDELTIMCONF

Address offset: 0xD

Vbat Delay timer control

Bit number 7 6 5 4 3 2 1 0
ID A A A A A A A A
Reset 0x00 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A

RW

VBATDELTIM

 

Delayed Vbat measurement control 4ms(value 0) to 514ms(value 255) and the step size is 2ms.

ADCIBATMEASSTATUS

Address offset: 0x10

Battery current measurement status

Bit number 7 6 5 4 3 2 1 0
ID       C B B A A
Reset 0x00 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A

R

BCHARGERICHARGE

 

Battery current charge

B

R

BCHARGERMODE

 

Battery charger mode

C

R

IBATMEASEINVALID

 

Ibat mesaurement Invalid flag

ADCVBATRESULTMSB

Address offset: 0x11

ADC VBAT measurement result MSB

Bit number 7 6 5 4 3 2 1 0
ID A A A A A A A A
Reset 0x00 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A

R

VBATRESULTMSB

 

ADC VBAT measurement result upper 8-bits

ADCNTCRESULTMSB

Address offset: 0x12

ADC NTC measurement result MSB

Bit number 7 6 5 4 3 2 1 0
ID A A A A A A A A
Reset 0x00 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A

R

NTCRESULTMSB

 

ADC NTC thermistor Battery measurement result upper 8-bits

ADCTEMPRESULTMSB

Address offset: 0x13

ADC DIE TEMP measurement result MSB

Bit number 7 6 5 4 3 2 1 0
ID A A A A A A A A
Reset 0x00 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A

R

TEMPRESULTMSB

 

ADC Die Temperature measurement result upper 8-bits

ADCVSYSRESULTMSB

Address offset: 0x14

ADC VSYS measurement result MSB

Bit number 7 6 5 4 3 2 1 0
ID A A A A A A A A
Reset 0x00 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A

R

VSYSRESULTMSB

 

ADC VSYS measurement result upper 8-bits

ADCGP0RESULTLSBS

Address offset: 0x15

ADC result LSB's (Vbat, Ntc, Temp and Vsys)

Bit number 7 6 5 4 3 2 1 0
ID D D C C B B A A
Reset 0x00 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A

R

VBATRESULTLSB

 

VBAT measurement result LSBs

B

R

NTCRESULTLSB

 

Battery NTC thermistor measurement result LSBs

C

R

TEMPRESULTLSB

 

Die Temperature measurement result LSBs

D

R

VSYSRESULTLSB

 

VSYS measurement result LSBs

ADCVBAT0RESULTMSB

Address offset: 0x16

ADC VBAT0 Burst measurement result MSB

Bit number 7 6 5 4 3 2 1 0
ID A A A A A A A A
Reset 0x00 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A

R

VBAT0RESULTMSB

 

ADC VBAT0 Burst measurement result upper 8-bits

ADCVBAT1RESULTMSB

Address offset: 0x17

ADC VBAT1 Burst measurement result MSB

Bit number 7 6 5 4 3 2 1 0
ID A A A A A A A A
Reset 0x00 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A

R

VBAT1RESULTMSB

 

ADC VBAT1 Burst measurement result upper 8-bits

ADCVBAT2RESULTMSB

Address offset: 0x18

ADC VBAT2 Burst measurement result MSB

Bit number 7 6 5 4 3 2 1 0
ID A A A A A A A A
Reset 0x00 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A

R

VBAT2RESULTMSB

 

ADC VBAT2 Burst measurement result upper 8-bits

ADCVBAT3RESULTMSB

Address offset: 0x19

ADC VBAT3 Burst or VBUS measurement result MSB

Bit number 7 6 5 4 3 2 1 0
ID A A A A A A A A
Reset 0x00 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A

R

VBAT3RESULTMSB

 

If TASK_VBAT_MEASURE is triggered in BURST mode, this register will contain ADC VBAT3 Burst measurement result upper 8-bits If TASK_VBUS7_MEASURE is triggered, this register will contain VBUS measurement result upper 8-bits

ADCGP1RESULTLSBS

Address offset: 0x1A

ADC result LSB's (Vbat_burst0, 1, 2 and 3)

Bit number 7 6 5 4 3 2 1 0
ID D D C C B B A A
Reset 0x00 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A

R

VBAT0RESULTLSB

 

Burst VBAT0 measurement result LSBs

B

R

VBAT1RESULTLSB

 

Burst VBAT1 measurement result LSBs

C

R

VBAT2RESULTLSB

 

Burst VBAT2 measurement result LSBs

D

R

VBAT3RESULTLSB

 

Burst VBAT3 measurement result LSBs

ADCIBATMEASEN

Address offset: 0x24

Enable auto IBAT measurement

Bit number 7 6 5 4 3 2 1 0
ID               A
Reset 0x00 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A

RW

IBATMEASENABLE

 

Enable Auto IBAT measurement after VBAT task