Skip to content

Latest commit

 

History

History
793 lines (587 loc) · 20.2 KB

aem10900.md

File metadata and controls

793 lines (587 loc) · 20.2 KB

AEM10900

Register Map

Generated from listing file: ./aem10900.yaml.

Listing file author: Silvano Cortesi.

Listing file notice:

  Licensed under LGPL-3.0
  File Version: 0.9.2
Address Register Reset Value Brief
0x00 VERSION 0x00 Version Register.
0x01 MPPTCFG 0x77 MPPT timing and ratio configuration.
0x02 VOVDIS 0x2D Overdischarge level of the storage element.
0x03 VOVCH 0x33 Overcharge level of the storage element.
0x04 TEMPCOLD 0x8F Low temperature threshold for charging. Defaults to 0 degC.
0x05 TEMPHOT 0x2F High temperature threshold for charging. Defaults to 45 degC.
0x06 PWR 0x07 Register dedicated to the power settings of the AEM10900.
0x07 SLEEP 0x01 The Sleep register enables the sleep mode and sets the conditions for entering the sleep state.
0x08 STOMON 0x00 Configures the acquisition rate of the ADC that measures STO voltage.
0x09 APM 0x00 Average Power Monitoring Control Register.
0x0A IRQEN 0x01 IRQ Enable Register.
0x0B CTRL 0x00 Control register for I2C configuration.
0x0C IRQFLG 0x00 The IRQFLG register contains all interrupt flags, corresponding to those enabled in the IRQEN register. This register is reseted when read.
0x0D STATUS 0x00 Status register of AEM10900.
0x0E APM0 0x00 APM Data Register 0.
0x0F APM1 0x00 APM Data Register 1.
0x10 APM2 0x00 APM Data Register 2.
0x11 TEMP 0x00 Temperature Data Register.
0x12 STO 0x00 Battery Voltage Register.
0x13 SRC 0x00 Source Voltage Register.
0xE0 PN0 0x30 Part Number Register 0.
0xE1 PN1 0x30 Part Number Register 1.
0xE2 PN2 0x39 Part Number Register 2.
0xE3 PN3 0x30 Part Number Register 3.
0xE4 PN4 0x31 Part Number Register 4.

Register Details

VERSION

Info:

  • Address: 0x00
  • Reset: 0x00

Register:

Bits: 7:4 3:0
Field: MAJOR MINOR
Access: R R
  • Version Register.

Fields:

  • MINOR [3:0]
    • Minor revision number.
  • [R]
  • Type: fixed 0x00
  • MAJOR [7:4]
    • Major revision number.
  • [R]
  • Type: fixed 0x00

MPPTCFG

Info:

  • Address: 0x01
  • Reset: 0x77

Register:

Bits: 7 6:4 3:0
Field: / TIMING RATIO
Access: / R/W R/W
  • MPPT timing and ratio configuration.

Fields:

  • RATIO [3:0]
    • MPP ratio
  • [R/W]
  • Type: enum RATIO
    • 0x08: R_35
    • 0x09: R_50
    • 0x03: R_60
    • 0x02: R_65
    • 0x06: R_70
    • 0x05: R_75
    • 0x07: R_80
    • 0x04: R_85
    • 0x01: R_90
    • 0x00: R_ZMPP
  • TIMING [6:4]
    • MPP Timing (T_xx_yy) with xx being T_VOC and yy being T_MPPT.
  • [R/W]
  • Type: enum TIMING
    • 0x01: T_256ms_16384ms
    • 0x05: T_2ms_128ms
    • 0x07: T_2ms_256ms
    • 0x00: T_2ms_64ms
    • 0x04: T_4ms_256ms
    • 0x06: T_4ms_512ms
    • 0x02: T_64ms_4096ms
    • 0x03: T_8ms_1024ms

VOVDIS

Info:

  • Address: 0x02
  • Reset: 0x2D

Register:

Bits: 7:6 5:0
Field: / THRESH
Access: / R/W
  • Overdischarge level of the storage element.

Fields:

  • THRESH [5:0]
    • Discharge level of the battery, set as THRESH = (V_ovdis - 0.50625) / 0.05625.
  • [R/W]
  • Type: uint

VOVCH

Info:

  • Address: 0x03
  • Reset: 0x33

Register:

Bits: 7:6 5:0
Field: / THRESH
Access: / R/W
  • Overcharge level of the storage element.

Fields:

  • THRESH [5:0]
    • Overcharge level of the battery, set as THRESH = (V_ovch - 1.2375) / 0.05625.
  • [R/W]
  • Type: uint

TEMPCOLD

Info:

  • Address: 0x04
  • Reset: 0x8F

Register:

Bits: 7:0
Field: THRESH
Access: R/W
  • Low temperature threshold for charging. Defaults to 0 degC.

Fields:

  • THRESH [7:0]
    • Cold temperature level, set as THRESH = 256*R_TH(T) / (R_TH(T) + R_DIV).
  • [R/W]
  • Type: uint

TEMPHOT

Info:

  • Address: 0x05
  • Reset: 0x2F

Register:

Bits: 7:0
Field: THRESH
Access: R/W
  • High temperature threshold for charging. Defaults to 45 degC.

Fields:

  • THRESH [7:0]
    • Hot temperature level, set as THRESH = 256*R_TH(T) / (R_TH(T) + R_DIV).
  • [R/W]
  • Type: uint

PWR

Info:

  • Address: 0x06
  • Reset: 0x07

Register:

Bits: 7:4 3 2 1 0
Field: RESERVED STOCHDIS TMONEN HPEN KEEPALEN
Access: R R/W R/W R/W R/W
  • Register dedicated to the power settings of the AEM10900.

Fields:

  • KEEPALEN [0]
    • Keep alive enable. True means VINT supplied by STO, False means VINT supplied by SRC.
  • [R/W]
  • Type: bool
  • HPEN [1]
    • High-power mode enable. True means automatic change between modes, False means disabled.
  • [R/W]
  • Type: bool
  • TMONEN [2]
    • Temperature monitoring enable. True enables monitoring of ambient temperature.
  • [R/W]
  • Type: bool
  • STOCHDIS [3]
    • Battery charging disable. True means battery charging is disabled.
  • [R/W]
  • Type: bool
  • RESERVED [7:4]
    • Write to 0x00.
  • [R]
  • Type: fixed 0x00

SLEEP

Info:

  • Address: 0x07
  • Reset: 0x01

Register:

Bits: 7:4 3:1 0
Field: / SRCTHRESH EN
Access: / R/W R/W
  • The Sleep register enables the sleep mode and sets the conditions for entering the sleep state.

Fields:

  • EN [0]
    • The field enables sleep state when set to True (depending then on source voltage).
  • [R/W]
  • Type: bool
  • SRCTHRESH [3:1]
    • This field sets the source voltage threshold below which the AEM10900 enters sleep state.
  • [R/W]
  • Type: enum SRCTHRESH
    • 0x01: V_202mV
      • Sleep threshold at 0.202V.
    • 0x02: V_255mV
      • Sleep threshold at 0.255V.
    • 0x03: V_300mV
      • Sleep threshold at 0.300V.
    • 0x04: V_360mV
      • Sleep threshold at 0.360V.
    • 0x05: V_405mV
      • Sleep threshold at 0.405V.
    • 0x06: V_510mV
      • Sleep threshold at 0.510V.
    • 0x07: V_600mV
      • Sleep threshold at 0.600V.
    • 0x00: V_mV
      • Unknown what this option means.

STOMON

Info:

  • Address: 0x08
  • Reset: 0x00

Register:

Bits: 7:3 2:0
Field: / RATE
Access: / R/W
  • Configures the acquisition rate of the ADC that measures STO voltage.

Fields:

  • RATE [2:0]
    • Acquisition Rate.
  • [R/W]
  • Type: enum RATE
    • 0x00: R_1024ms
      • Every 1.024s. Consumption is 0.4nA.
    • 0x03: R_128ms
      • Every 128ms. Consumption is 3.2nA.
    • 0x02: R_256ms
      • Every 256ms. Consumption is 1.6nA.
    • 0x01: R_512ms
      • Every 512ms. Consumption is 0.8nA.
    • 0x04: R_64ms
      • Every 64ms. Consumption is 6.4nA.

APM

Info:

  • Address: 0x09
  • Reset: 0x00

Register:

Bits: 7:4 3:2 1 0
Field: / WINDOW MODE EN
Access: / R/W R/W R/W
  • Average Power Monitoring Control Register.

Fields:

  • EN [0]
    • Enable APM. When set to True, APM is enabled.
  • [R/W]
  • Type: bool
  • MODE [1]
    • APM operating mode. Pulse Counter Mode or Power Meter Mode.
  • [R/W]
  • Type: enum MODE
    • 0x01: POWER_METER
      • Power meter mode - the number of pulses during a period is multiplied by a value to obtain the energy that has been transferred taking into account the efficiency of the AEM10900.
    • 0x00: PULSE_COUNTER
      • Pulse counter mode - the AEM10900 counts the number of current pulses drawn by the boost converter.
  • WINDOW [3:2]
    • Select the APM computation window (noted TA in Section 9.4). The energy transferred is integrated over this configurable time window. (W_xx_yy) with xx being computation window and yy being refresh rate.
  • [R/W]
  • Type: enum WINDOW
    • 0x00: W_128ms_256ms
    • 0x02: W_32ms_64ms
    • 0x01: W_64ms_128ms

IRQEN

Info:

  • Address: 0x0A
  • Reset: 0x01

Register:

Bits: 7 6 5 4 3 2 1 0
Field: / APMERR APMDONE TEMP SRCTHRESH VOVCH VOVDIS I2CRDY
Access: / R/W R/W R/W R/W R/W R/W R/W
  • IRQ Enable Register.

Fields:

  • I2CRDY [0]
    • Enable IRQ for I2C ready status.
  • [R/W]
  • Type: bool
  • VOVDIS [1]
    • Enable IRQ for overdischarge detection.
  • [R/W]
  • Type: bool
  • VOVCH [2]
    • Enable IRQ for overcharge detection.
  • [R/W]
  • Type: bool
  • SRCTHRESH [3]
    • Enable IRQ for SRC LOW threshold crossing (set in sleep register).
  • [R/W]
  • Type: bool
  • TEMP [4]
    • Enable IRQ when temperature crosses temperature limits.
  • [R/W]
  • Type: bool
  • APMDONE [5]
    • Enable IRQ for completion of APM measurement.
  • [R/W]
  • Type: bool
  • APMERR [6]
    • Enable IRQ for signaling an error in the APM.
  • [R/W]
  • Type: bool

CTRL

Info:

  • Address: 0x0B
  • Reset: 0x00

Register:

Bits: 7:3 2 1 0
Field: / SYNCBUSY RESERVED UPDATE
Access: / R R R/W
  • Control register for I2C configuration.

Fields:

  • UPDATE [0]
    • This field is used to control the source of the AEM10900 configuration (GPIO or I2C).
  • [R/W]
  • Type: enum UPDATE
    • 0x00: GPIO
      • Load configurations from the GPIOs
    • 0x01: I2C
      • Load configurations from the I2C registers
  • RESERVED [1]
    • Write 0x00.
  • [R]
  • Type: fixed 0x00
  • SYNCBUSY [2]
    • This field indicates whether the synchronization from the I2C registers to the system registers is ongoing or not.
  • [R]
  • Type: enum SYNCBUSY
    • 0x00: NSYNC
      • CTRL register not synchronizing.
    • 0x01: SYNC
      • CTRL register synchronizing.

IRQFLG

Info:

  • Address: 0x0C
  • Reset: 0x00

Register:

Bits: 7 6 5 4 3 2 1 0
Field: / APMERR APMDONE TEMP SRCTHRESH VOVCH VOVDIS I2CRDY
Access: / R R R R R R R
  • The IRQFLG register contains all interrupt flags, corresponding to those enabled in the IRQEN register. This register is reseted when read.

Fields:

  • I2CRDY [0]
    • Flag indicating I2C ready status.
  • [R]
  • Type: bool
  • VOVDIS [1]
    • Flag indicating overdischarge detection.
  • [R]
  • Type: bool
  • VOVCH [2]
    • Flag indicating overcharge detection.
  • [R]
  • Type: bool
  • SRCTHRESH [3]
    • Flag indicating SRC LOW threshold crossing (set in sleep register).
  • [R]
  • Type: bool
  • TEMP [4]
    • Flag indicating temperature crossed temperature limits.
  • [R]
  • Type: bool
  • APMDONE [5]
    • Flag indicating completion of APM measurement.
  • [R]
  • Type: bool
  • APMERR [6]
    • Flag indicating error in the APM.
  • [R]
  • Type: bool

STATUS

Info:

  • Address: 0x0D
  • Reset: 0x00

Register:

Bits: 7 6 5 4 3 2 1 0
Field: BSTDIS CHARGE RESERVED TEMP SRCTHRESH VOVCH VOVDIS /
Access: R R R R R R R /
  • Status register of AEM10900.

Fields:

  • VOVDIS [1]
    • Status indicating whether the battery is higher or lower than the overdischarge level threshold. If the battery voltage goes below VOVDIS then the field is set to true, else it is set to false.
  • [R]
  • Type: bool
  • VOVCH [2]
    • Status indicating whether the battery voltage is higher or lower than the overcharge level threshold. If the battery voltage rises above VOVCH then the field is set to 1, else it is set to 0.
  • [R]
  • Type: bool
  • SRCTHRESH [3]
    • Status indicating whether the source voltage is higher or lower than the sleep level threshold. If the source voltage is higher than the sleep level then the field is set to 0, else the field is set to 1.
  • [R]
  • Type: bool
  • TEMP [4]
    • Bit is set to 1 if the ambient temperature is outside the range defined by the TEMPCOLD and TEMPHOT registers. It is set to 0 is the temperature is within this range.
  • [R]
  • Type: bool
  • RESERVED [5]
    • Write 0x00.
  • [R]
  • Type: fixed 0x00
  • CHARGE [6]
    • Status indicating whether the AEM is currently charging the battery or not. If this bit is set to 0, the storage element is charging. If it is set to 1, the storage element is not charging.
  • [R]
  • Type: bool
  • BSTDIS [7]
    • Status indicating whether the storage charging is enabled or not via the GPIO or I2C. If this bit is set to 0, the storage element charging is enabled. If it is set to 1, the storage element charging is disabled.
  • [R]
  • Type: bool

APM0

Info:

  • Address: 0x0E
  • Reset: 0x00

Register:

Bits: 7:0
Field: DATA
Access: R
  • APM Data Register 0.

Fields:

  • DATA [7:0]
    • Lower byte of APM data.
  • [R]
  • Type: uint

APM1

Info:

  • Address: 0x0F
  • Reset: 0x00

Register:

Bits: 7:0
Field: DATA
Access: R
  • APM Data Register 1.

Fields:

  • DATA [7:0]
    • Middle byte of APM data.
  • [R]
  • Type: uint

APM2

Info:

  • Address: 0x10
  • Reset: 0x00

Register:

Bits: 7:0
Field: DATA
Access: R
  • APM Data Register 2.

Fields:

  • DATA [7:0]
    • Upper byte of APM data.
  • [R]
  • Type: uint

TEMP

Info:

  • Address: 0x11
  • Reset: 0x00

Register:

Bits: 7:0
Field: DATA
Access: R
  • Temperature Data Register.

Fields:

  • DATA [7:0]
    • Temperature data measured by the thermal monitoring circuit. (8bit, 1V REF)
  • [R]
  • Type: uint

STO

Info:

  • Address: 0x12
  • Reset: 0x00

Register:

Bits: 7:0
Field: DATA
Access: R
  • Battery Voltage Register.

Fields:

  • DATA [7:0]
    • Voltage level of the storage element (battery) connected to STO. VSTO = 4.8V * DATA / 256
  • [R]
  • Type: uint

SRC

Info:

  • Address: 0x13
  • Reset: 0x00

Register:

Bits: 7:0
Field: DATA
Access: R
  • Source Voltage Register.

Fields:

  • DATA [7:0]
    • Voltage level of the energy source connected to SRC. Conversion according to table 32 in DS v1.5
  • [R]
  • Type: uint

PN0

Info:

  • Address: 0xE0
  • Reset: 0x30

Register:

Bits: 7:0
Field: DATA
Access: R
  • Part Number Register 0.

Fields:

  • DATA [7:0]
    • Part number identification byte 0.
  • [R]
  • Type: uint

PN1

Info:

  • Address: 0xE1
  • Reset: 0x30

Register:

Bits: 7:0
Field: DATA
Access: R
  • Part Number Register 1.

Fields:

  • DATA [7:0]
    • Part number identification byte 1.
  • [R]
  • Type: uint

PN2

Info:

  • Address: 0xE2
  • Reset: 0x39

Register:

Bits: 7:0
Field: DATA
Access: R
  • Part Number Register 2.

Fields:

  • DATA [7:0]
    • Part number identification byte 2.
  • [R]
  • Type: uint

PN3

Info:

  • Address: 0xE3
  • Reset: 0x30

Register:

Bits: 7:0
Field: DATA
Access: R
  • Part Number Register 3.

Fields:

  • DATA [7:0]
    • Part number identification byte 3.
  • [R]
  • Type: uint

PN4

Info:

  • Address: 0xE4
  • Reset: 0x31

Register:

Bits: 7:0
Field: DATA
Access: R
  • Part Number Register 4.

Fields:

  • DATA [7:0]
    • Part number identification byte 4.
  • [R]
  • Type: uint