We are designing with AD9361 in our OFDM-based communication system.
In reception mode, we should fine-tweak the sampling frequency to avoid long-term drifts between TX and RX baseband sampling XO.
We are considering fine-tuning AD9361 BBPLL frequency on a continuous basis, but since the OFDM reception is continuous (let's say, like in DVB-T standard), any disruption in BBPLL frequency is forbidden.
I considered the function ad9361_bbpll_set_rate(), but it does a lot more than just setting REG_INTEGER_BB_FREQ_WORD and REG_FRACT_BB_FREQ_WORD_1, 2 and 3, and I wonder if it can be recalled with slightly different input rates without causing output disruption (especially because a calibration is invoked).
Otherwise, is it just possible to call ad9361_bbpll_set_rate() once, then write REG_INTEGER_BB_FREQ_WORD, REG_FRACT_BB_FREQ_WORD_1, 2 and 3 with slightly modified values? Should they be written in a particular order to latch them at once?
A deeper insight of the AD9361 would be welcome.
Thanks in advance.