AnsweredAssumed Answered

How to Initialize two AD9361s

Question asked by achernock on Feb 7, 2018
Latest reply on May 21, 2018 by achernock

I have a couple other questions, these about AD9361 initialization.


I’m using the FMCOMMS5 eval board with two 9361 devices, and I initialized Device A successfully, but Device B is giving me a division by zero error in my equivalent of the function ad9361_rx_adc_setup().


That happens because I get these values when I read the three registers that provide parameters for the calibration:


Reg                        Device A              Device B

0x1EB                    0x00                       0x00

0x1EC                    0x07                       0x08

0x1E6                    0x01                       0x00


Then I calculate invrc_tconst_1e6, which I call “RC” for simplicity, and it comes out to zero.  Some of the calculations in the setup function divide by RC, causing the error.


I compared the initialization of Devices A and B.  The first point where they differ is in the Rx RF charge pump calibration.  For both devices, before running the CP cal, I set the bits in reg 0x014 that are supposed to put the device in ENSM Alert state.  Device A goes into Alert state, but Device B stays in ENSM state 4.  Yet at the end of CP calibration, the Cal Status reg (0x244) in both devices shows that the calibration finished successfully.


In the Rx RF VCO calibration, Device A is still in Alert state, and Device B is still in state 4.  But again both devices finish the calibration with reg 0x247 showing that the Rx PLL locked.


From that point until the ADC setup function, both devices behave the same.


So my questions are:


1)  I’m running the exact same programming sequence on both devices, but I finish initializing Device A before I start Device B.  The fact that B is in state 4 sounds like it may be trying to do something during the initialization of A.  Do I need to use the RESETB pin to hold Device B in a reset state while I initialize A?  I tried the software reset mechanism on B (reg 0x000 = 0x81), but it didn’t help.


2)  Are there any other reasons why one device would be stuck in state 4 while I’m able to put the other device in Alert state?


Thanks much!