AnsweredAssumed Answered

DCXO temperature compensation

Question asked by emi11 on Jun 21, 2016
Latest reply on Jun 22, 2016 by emi11

OS: Linux

Board: FMCOMMS3

 

The board is equipped with an 40 MHz DCXO. I calibrated the DCXO with an frequency counter attached to CLK_OUT by adjusting dcxo_tune_coarse & dcxo_tune_fine.

However over time the CLK_OUT changes due to temperature change of the board.

In AD9361 WIKI there is an hint to compensate this behaviour using the on board temperature sensor.

I found that the temperature can be calcuted using XADC device (not sure if this is correct):

(raw-offset)/scale

Example:

root@analog:/sys/bus/iio/devices/iio:device2# cat in_temp0_raw

2669

root@analog:/sys/bus/iio/devices/iio:device2# cat in_temp0_offset

-2219

root@analog:/sys/bus/iio/devices/iio:device2# cat in_temp0_scale

123.040771484

This gives 39.7 C

Is there a formula available for DCXO tuning based board temperature or do I have to measure and build a lookup table by interpolation??

Outcomes