AnsweredAssumed Answered

ENSM mode switching, MCS

Question asked by uks on May 17, 2018
Latest reply on May 18, 2018 by uks

I use two AD9361 with the no-OS-library. I have some strange problems with the multi-chip-synchronization:

When I use the ad9361_do_mcs function after initialization of both devices, both devices are in ENSM_MODE_WAIT afterwards. Even if the devices were in FDD mode before.

 

When I use this code:

 

    ad9361_set_en_state_machine_mode(ad9361_phy_a, ENSM_MODE_FDD);
    ad9361_set_en_state_machine_mode(ad9361_phy_c, ENSM_MODE_FDD);
 
    ad9361_do_mcs(ad9361_phy_a, ad9361_phy_c);

 

   ad9361_set_en_state_machine_mode(ad9361_phy_a, ENSM_MODE_FDD);
   ad9361_set_en_state_machine_mode(ad9361_phy_c, ENSM_MODE_FDD);
 

everything works fine and the synchronization works, too.

 

 

Another issue I have, is when I want to change LO frequency of both devices during execution time, I can only change the frequency of the master device, and MCS after that doesn't work, is here something missing?

    

    ad9361_set_rx_lo_freq(ad9361_phy_a, freq);
    mdelay(10);
    ad9361_set_rx_lo_freq(ad9361_phy_c, freq);

    ad9361_set_en_state_machine_mode(ad9361_phy_a, ENSM_MODE_FDD);
    ad9361_set_en_state_machine_mode(ad9361_phy_c, ENSM_MODE_FDD);
    ad9361_do_mcs(ad9361_phy_a, ad9361_phy_c);
    ad9361_set_en_state_machine_mode(ad9361_phy_a, ENSM_MODE_FDD);
    ad9361_set_en_state_machine_mode(ad9361_phy_c, ENSM_MODE_FDD);

Outcomes