This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF51822 TEMP internal temperature sensor characteristic

I'm trying to use the internal temperature sensor of the nRF51 to know the die temperature. Its accuracy is specced as +/- 4 degC, even +/- 8 degC at the extremes. Does anyone know more properties of this uncertainty? Is it a fixed thing, that I can improve by calibrating an offset? Or is it noisy, something that I might filter out using multiple measurements?

Edit: See my own answer, the offset I measure is unusually large. Any thoughts where this might come from?

Parents
  • From this question, it seems that it is a pure offset:

    The error read on the TEMP peripheral should be pure offset error. You can calibrate the temperature value in software, i.e. if you know the temperature in your room, just add or subtract from the measured value to get the correct value.

    However, be aware that the die temperature is in general not equal to the ambient temperature.

    I did some measurements comparing the internal temperature sensor value with temperature measured by a dedicated temperature sensor (TMP112) on the same PCB, in a controlled environment. Because the application makes very little use of the CPU, I do not expect that it is significantly hotter than the environment. Plot of temperature and temperature error.

    This confirms previously made statements that the noise is low, and the accuracy is mainly distorted by an offset. To my surprise however, this offset is around 13 degrees! When corrected for the average, the accuracy is nicely within the specced +/-4 degrees. Could this large offset have something to do with having to set the temperature offset register to 0?

  • I mean to say that I would think a very cold die would have a smaller temp difference with its environment (since it gets cooled a lot), and a hot die would have a larger temperature difference since it loses less heat to the environment. There is no such effect in my measurements. EDIT: After talking to a hardware engineer, I understand that this is not how ICs work, but that there is a constant number of degrees per watt between environmental end die. The following point still holds though: Furthermore, if those 13 degrees are caused by the CPU heating the die, how would we explain the fact that out of 4 devices (identical hardware, identical software), 3 have about 13 degrees offset, and 1 has 9 degrees? While all devices respond very similar to external influences like sudden temperature changes?

Reply
  • I mean to say that I would think a very cold die would have a smaller temp difference with its environment (since it gets cooled a lot), and a hot die would have a larger temperature difference since it loses less heat to the environment. There is no such effect in my measurements. EDIT: After talking to a hardware engineer, I understand that this is not how ICs work, but that there is a constant number of degrees per watt between environmental end die. The following point still holds though: Furthermore, if those 13 degrees are caused by the CPU heating the die, how would we explain the fact that out of 4 devices (identical hardware, identical software), 3 have about 13 degrees offset, and 1 has 9 degrees? While all devices respond very similar to external influences like sudden temperature changes?

Children
No Data
Related