Temperature driver implementation for the CC26X2 family.
============================================================================
The temperature driver on CC26X2 is a part of the battery monitoring system in AON (always on). It periodically takes measurements of the temperature of the chip and will issue interrupts if the configured upper limit or lower limit is crossed.
The temperature measurement is active while in standby power mode as well. The interrupt used by the temperature module is capable of bringing the device out of standby and into active mode to handle it. That means that an application will not miss a change in temperature just because the device has transitioned to standby power mode. While in standby, the temperature will only be sampled during a VDDR recharge pulse. This means that the sampling frequency in standby will be determined by the temperature as leakage increases with temperature and requires more frequent recharging of VDDR.
There is an inherent inaccuracy in the temperature measurements reported by the device for any given chip temperature. This inaccuracy varies by chip. In order to set accurate threshold values and act upon provided temperatures, the following table provides a 99% confidence interval for the upper and lower bounds of the measured temperature by true temperature. These figures are given across the range of manufacturing variances.
Ambient Temperature | -40 | -30 | -20 | -10 | 0 | 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100 | 110 | 120 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Upper | -28 | -20 | -12 | -3 | 7 | 17 | 26 | 36 | 46 | 56 | 65 | 75 | 85 | 95 | 105 | 115 | 125 |
Lower | -45 | -36 | -26 | -16 | -5 | 4 | 14 | 24 | 35 | 45 | 54 | 65 | 75 | 85 | 94 | 104 | 113 |
For each chip, there is a distribution of temperature readings each measurement will yield for each true temperature. This means that if a notification threshold close to the current temperature is chosen, the hardware may cause an interrupt only for the driver to read out the temperature again with a value that does not cross the set threshold. In this case, the driver will not issue a notification. This does cost cpu cycles and energy though.
Because of this measurement-to-measurement variability, it is not recommended to set a threshold closer than 5 degrees to the current temperature when registering a notification.
Go to the source code of this file.
Data Structures | |
struct | TemperatureCC26X2_Config |
Temperature driver configuration struct for CC26X2. More... | |