This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RTOS/CC2640: Battery measurement

Part Number: CC2640

Tool/software: TI-RTOS

Hi,

I have one question regarding CC2640 battery measurement. This API (AONBatMonBatteryVoltageGet()) is given in TI-RTOS to measure battery voltage. How accurately this will give the battery voltage? How does this API worked, it calculate battery volatge through ADC or some other parameters?

  • Aditya,

    The value returned from AONBatMonBatteryVoltageGet() is a measurement in a <int.frac> format size <3.8> in units of volt. 

    Integer part:
    0x0: 0V + fractional part
    ...
    0x3: 3V + fractional part
    0x4: 4V + fractional part

    Fractional part:
    0x00: .0V
    0x01: .0625V
    ...
    0x20: 1/8 = .125V
    0x40: 1/4 = .25V
    0x80: 1/2 = .5V
    ...
    0xA0: 1/2 + 1/8 = .625V
    ...
    0xFF: Max

    There is more information included here in the CC26XX Technical Reference Manual.

    The battery monitor is a small block automatically enabled at boot that monitors both the VDDS supply voltage and the temperature through an on-chip temperature sensor. The battery monitor provides voltage and temperature information to several modules, including the flash and the radio, to ensure correct operation and lowest power consumption. Therefore, it is not recommended to modify any settings in the battery monitor or turn it off.

    The battery monitor is a 6-bit SAR-like ADC running at 32 kHz that performs alternate measurements of the supply voltage and the temperature sensor. When the battery monitor has settled on its first measurement, it stops working in SAR mode and starts linear tracking of voltage and temperature. A small digital core transforms these measurements to voltage and temperature in °C, which are read directly from the BAT and TEMP registers. When a change in supply voltage or temperature is measured, the Battery Monitor will solely track the parameter that has changed until it has settled on a new constant level. The 50-mV resolution of the ADC and the 32-kHz clock speed will limit the Battery Monitors capability of measuring voltage spikes. Due to the Battery Monitor not only alternating between temperature and battery voltage, but also between checking if there has been a positive or negative change since last read, there can be a delay of 4 clock cycles between a voltage dip and the time when the ADC notices that the temperature or voltage has changed. This is important to keep in mind because the Battery Monitor is designed to measure the battery voltage; it is not designed to measure voltage spurs due to short periods of higher current consumption.

    Derrick

  • There was a suggested answer and since there has been no active on this thread for more than a week, the suggested answer was marked as verify. Please feel free to select the "Reject Answer" button and reply with more details.