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. |
- Address: 0x00
- Reset: 0x00
Bits: |
7:4 |
3:0 |
Field: |
MAJOR |
MINOR |
Access: |
R |
R |
- MINOR [3:0]
- [R]
- Type: fixed 0x00
- MAJOR [7:4]
- [R]
- Type: fixed 0x00
- Address: 0x01
- Reset: 0x77
Bits: |
7 |
6:4 |
3:0 |
Field: |
/ |
TIMING |
RATIO |
Access: |
/ |
R/W |
R/W |
- MPPT timing and ratio configuration.
- RATIO [3:0]
- [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
- Address: 0x02
- Reset: 0x2D
Bits: |
7:6 |
5:0 |
Field: |
/ |
THRESH |
Access: |
/ |
R/W |
- Overdischarge level of the storage element.
- THRESH [5:0]
- Discharge level of the battery, set as THRESH = (V_ovdis - 0.50625) / 0.05625.
- [R/W]
- Type: uint
- Address: 0x03
- Reset: 0x33
Bits: |
7:6 |
5:0 |
Field: |
/ |
THRESH |
Access: |
/ |
R/W |
- Overcharge level of the storage element.
- THRESH [5:0]
- Overcharge level of the battery, set as THRESH = (V_ovch - 1.2375) / 0.05625.
- [R/W]
- Type: uint
- Address: 0x04
- Reset: 0x8F
Bits: |
7:0 |
Field: |
THRESH |
Access: |
R/W |
- Low temperature threshold for charging. Defaults to 0 degC.
- THRESH [7:0]
- Cold temperature level, set as THRESH = 256*R_TH(T) / (R_TH(T) + R_DIV).
- [R/W]
- Type: uint
- Address: 0x05
- Reset: 0x2F
Bits: |
7:0 |
Field: |
THRESH |
Access: |
R/W |
- High temperature threshold for charging. Defaults to 45 degC.
- THRESH [7:0]
- Hot temperature level, set as THRESH = 256*R_TH(T) / (R_TH(T) + R_DIV).
- [R/W]
- Type: uint
- Address: 0x06
- Reset: 0x07
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.
- 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]
- [R]
- Type: fixed 0x00
- Address: 0x07
- Reset: 0x01
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.
- 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.
- Address: 0x08
- Reset: 0x00
Bits: |
7:3 |
2:0 |
Field: |
/ |
RATE |
Access: |
/ |
R/W |
- Configures the acquisition rate of the ADC that measures STO voltage.
- RATE [2:0]
- [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.
- Address: 0x09
- Reset: 0x00
Bits: |
7:4 |
3:2 |
1 |
0 |
Field: |
/ |
WINDOW |
MODE |
EN |
Access: |
/ |
R/W |
R/W |
R/W |
- Average Power Monitoring Control Register.
- 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
- Address: 0x0A
- Reset: 0x01
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 |
- 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
- Address: 0x0B
- Reset: 0x00
Bits: |
7:3 |
2 |
1 |
0 |
Field: |
/ |
SYNCBUSY |
RESERVED |
UPDATE |
Access: |
/ |
R |
R |
R/W |
- Control register for I2C configuration.
- 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]
- [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.
- Address: 0x0C
- Reset: 0x00
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.
- 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
- Address: 0x0D
- Reset: 0x00
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.
- 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]
- [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
- Address: 0x0E
- Reset: 0x00
Bits: |
7:0 |
Field: |
DATA |
Access: |
R |
- DATA [7:0]
- [R]
- Type: uint
- Address: 0x0F
- Reset: 0x00
Bits: |
7:0 |
Field: |
DATA |
Access: |
R |
- DATA [7:0]
- [R]
- Type: uint
- Address: 0x10
- Reset: 0x00
Bits: |
7:0 |
Field: |
DATA |
Access: |
R |
- DATA [7:0]
- [R]
- Type: uint
- Address: 0x11
- Reset: 0x00
Bits: |
7:0 |
Field: |
DATA |
Access: |
R |
- Temperature Data Register.
- DATA [7:0]
- Temperature data measured by the thermal monitoring circuit. (8bit, 1V REF)
- [R]
- Type: uint
- Address: 0x12
- Reset: 0x00
Bits: |
7:0 |
Field: |
DATA |
Access: |
R |
- Battery Voltage Register.
- DATA [7:0]
- Voltage level of the storage element (battery) connected to STO. VSTO = 4.8V * DATA / 256
- [R]
- Type: uint
- Address: 0x13
- Reset: 0x00
Bits: |
7:0 |
Field: |
DATA |
Access: |
R |
- DATA [7:0]
- Voltage level of the energy source connected to SRC. Conversion according to table 32 in DS v1.5
- [R]
- Type: uint
- Address: 0xE0
- Reset: 0x30
Bits: |
7:0 |
Field: |
DATA |
Access: |
R |
- DATA [7:0]
- Part number identification byte 0.
- [R]
- Type: uint
- Address: 0xE1
- Reset: 0x30
Bits: |
7:0 |
Field: |
DATA |
Access: |
R |
- DATA [7:0]
- Part number identification byte 1.
- [R]
- Type: uint
- Address: 0xE2
- Reset: 0x39
Bits: |
7:0 |
Field: |
DATA |
Access: |
R |
- DATA [7:0]
- Part number identification byte 2.
- [R]
- Type: uint
- Address: 0xE3
- Reset: 0x30
Bits: |
7:0 |
Field: |
DATA |
Access: |
R |
- DATA [7:0]
- Part number identification byte 3.
- [R]
- Type: uint
- Address: 0xE4
- Reset: 0x31
Bits: |
7:0 |
Field: |
DATA |
Access: |
R |
- DATA [7:0]
- Part number identification byte 4.
- [R]
- Type: uint