Post Go back to editing

AD9361 Temperature Sensor conversion from Temperature Word to deg C

Category: Datasheet/Specs
Product Number: AD9361

I'm trying to reconcile some documentation on the AD9361 temperature sensor.

The AD936xTemperaturesensor app note gives an example with an offset (Register 0x00B) = 0 and a temperature word (assuming this is from Register 0x00E) = 61 decimal. The calculated temperature varies, but Example 2 gives a measurement of 46.5 deg C (worst case).

The AD9361 driver sets the offset to 0xCE = -50 decimal. So the temperature word from the above example would read 11 decimal instead of 61. The ad9361_get_temp function divides that value by 1.14 and reports that as the temperature. 11/1.14 = 9.65 deg C.

The AUXADC CODE vs Temperature graph in UG-570 provides a third interpretation. With 0x00B = 0 and an AUXADC CODE = 61, the temperature from the chart would be -3 degC. Is AUXADC in the chart the value read from 0x00E?

Which of these is the correct interpretation of a temperature word = 61 with an offset of 0? (These discrepancies are larger than the uncertainty in the temperature sensor, so I'm obviously missing something).
Is ad9361_get_temp intended to return the die (junction) temperature or the case temperature or ambient temperature?

thanks

Parents Reply Children
  • On our board with 0x00B = 0xCE and the 9361 powered up and clocking but not transmitting, we're reading 0x1A from 0x00E. The driver translates this to 22.8 C = 73.1 F. That's basically the ambient temperature in our lab. Is that a reasonable die temperature?

    The app note equations generate a die temperature of 68 C = 154 F from these values.

    We haven't had a chance to put a thermocouple on the part yet and calculate the junction temperature, but which of these sounds closer to the expected die temperature?

    What does the eval board return for a die temperature when powered but not transmitting?

    thanks.

  • Instead of reading using register writes, can you use the API ad9361_get_temp to readback the die temperature?

    What is the value that you readback using API?

    If using IIO GUI, readback the temperature using as below:

    See the DMM tab

    Check AD9361

    Check temperature. 

    Press play.