AnsweredAssumed Answered

AD9361 calibration error on custom board

Question asked by AsiQue on Sep 6, 2016
Latest reply on Sep 15, 2016 by sripad

Hey all, 


I Have a custom board where an AD9361 is connected via LVDS signals to an Altera FPGA.

The FPGA runs the latest analog hdl code + a NIOS II processor that in turn runs the latest NO-OS drivers.

The input clock for the board is a 40Mhz sine wave from a signal generator with a 1V-ptp gain, with a 49.9 resistor in parallel to ground and a 0.1uF DC filter cap to ground.


When running the default initialization the (the one from github, with clocks: {983040000, 245760000, 122880000, 61440000, 30720000, 30720000}, XO disabled) I get the following lines in the log:


ad9361_run_calibration: CAL Mask 0x1
ad9361_rfpll_int_recalc_rate: Parent Rate 70000000 Hz
ad9361_rf_dc_offset_calib : rx_freq 2399999998
ad9361_run_calibration: CAL Mask 0x2
Calibration TIMEOUT (0x16, 0x2)
ad9361_tx_quad_calib : bw_tx 9000000 clkrf 30720000 clktf 30720000
Tx NCO frequency: 1920000 (BW/4: 2250000) txnco_word 1
ad9361_run_calibration: CAL Mask 0x10
LO leakage: 1 Quadrature Calibration: 1 : rx_phase 26


(please note that for debug purposes i commented out the section that returns if the calibration fails.)


While investigating this issue i discovered that if i set OUT_CLOCK to output ADC_CLK/8 i get a 60Mhz clock output instead of the 30Mhz that should be there. I've also confirmed this on my arradio eval board and on it i get a 30Mhz output.

so it looks like BBPLL is locking on one of the harmonics of the input clock.

The BBPLL is set up to use FREF X1 and looking in register 0x5e[d7] the pll locks correctly.


Iv'e checked the power rails and they seem OK:

on main power 1.3V i get - 1.27V

on vdd interface 2.5V i gt - 2.47V

on rx vco 1.2V i get - 1.17V

on tx vco 1.2V i get - 1.17V


btw, my reference board is an Altera c5gx board with arradio that runs the same firmware / no os driver and the only difference is the pinout.


Can you please help me on this issue as I don't know how to proceed. 


Thank you

Asaf Elias