How do I setup and use the temperature sensor? How do I tell it to take a measurement?
How do I setup and use the temperature sensor? How do I tell it to take a measurement?
If you need to know the temperature of the AD9361 itself, the temperature sensor is a great way to get this information with simple SPI reads.
However, if the main goal is to measure system temperature (usually the PCB or air temperature in a system enclosure), the AD9361 temperature sensor is not be the best choice. Since it is on-chip, the sensor is affected by the self-heating of the transceiver which can change drastically with different operating modes. This means that changes in power dissipation (temperature) of the AD9361 will affect the temperature reading, which may or may not be related at all to the PCB or ambient temperature. For most applications, the temperature sensor does not provide the required information and is not used.
If AD9361 temperature is needed, the Auxiliary Converter and Temperature Sensor User Guide provides detailed information for temperature sensor configuration and operation but there are a few points to emphasize.
First is that the AuxADC is used when the measurement is taken. The AuxADC should be disabled (register bit 0x01D[0] set high) if the temperature sensor is used. The AuxADC will automatically power up to take the temperature measurement and then power down again until the next measurement.
Second, and to answer one of the questions above, there are two ways to take measurements. One is manually, in which a SPI Write to register bit 0x00C[0] triggers a reading. If another reading is needed, the bit must be cleared and then set again. In this case, 0x00D[0] (described below) would be cleared.
The other method of taking measurements is to use a timer in the AD9361 to take automated periodic readings. Bit 0x00D[0] set high enables this mode. The other bits in this register determine the periodic interval between measurements.
Regardless of the method used, the temperature word is obtained by reading register 0x00E. The word is related to temperature by the equation:
Temperature Word = 1.1 * Temperature + K
where "K" is a constant offset and can be determined by knowing the power dissipated, the ambient temperature, and the temperature environment (air flow velocity, etc.). A single-point measurment yields the value K.
If you need to know the temperature of the AD9361 itself, the temperature sensor is a great way to get this information with simple SPI reads.
However, if the main goal is to measure system temperature (usually the PCB or air temperature in a system enclosure), the AD9361 temperature sensor is not be the best choice. Since it is on-chip, the sensor is affected by the self-heating of the transceiver which can change drastically with different operating modes. This means that changes in power dissipation (temperature) of the AD9361 will affect the temperature reading, which may or may not be related at all to the PCB or ambient temperature. For most applications, the temperature sensor does not provide the required information and is not used.
If AD9361 temperature is needed, the Auxiliary Converter and Temperature Sensor User Guide provides detailed information for temperature sensor configuration and operation but there are a few points to emphasize.
First is that the AuxADC is used when the measurement is taken. The AuxADC should be disabled (register bit 0x01D[0] set high) if the temperature sensor is used. The AuxADC will automatically power up to take the temperature measurement and then power down again until the next measurement.
Second, and to answer one of the questions above, there are two ways to take measurements. One is manually, in which a SPI Write to register bit 0x00C[0] triggers a reading. If another reading is needed, the bit must be cleared and then set again. In this case, 0x00D[0] (described below) would be cleared.
The other method of taking measurements is to use a timer in the AD9361 to take automated periodic readings. Bit 0x00D[0] set high enables this mode. The other bits in this register determine the periodic interval between measurements.
Regardless of the method used, the temperature word is obtained by reading register 0x00E. The word is related to temperature by the equation:
Temperature Word = 1.1 * Temperature + K
where "K" is a constant offset and can be determined by knowing the power dissipated, the ambient temperature, and the temperature environment (air flow velocity, etc.). A single-point measurment yields the value K.