ADRV9009 automatically changes LO frequency (once every certain time)

I use adrv9009 and zc706. I want to realize the automatic switching of Rx receiving frequency, that is, switching the frequency every 300ms. At present, it is switching between 2330mhz and 1850mhz. The function to initialize LO frequency point is (adihalerr_t talise_setup (talisedevice_t * const PD, taliseinit_t * const PI);) I control through interrupt. Whenever the interrupt is set to 1, I change the global variable center_ Frequency value. The function for setting LO frequency is (talaction = talise_setrfpllfrequency (PD, tal_rf_pll, center_frequency);) But after burning the program, the center_ Frequency cannot be passed to Talise_ Setup function. Therefore, it cannot be performed again. Is there any solution

  • Please refer to the "RF PLL FREQUENCY CHANGE PROCEDURE" section in UG and follow the steps mentioned there. You need to go to radio off state before changing the RFPLL frequency.

  • Thank you very much for your answer. I have two more questions to ask you.

    (1) According to the official API document, the set API needs to be configured with radio off. Does this mean that in normal work, when an interrupt comes, you need to first radio off and then execute the set API. In addition, when the API is executed, we need to execute radio on, and the restrictive conditions of radio on are: this function is called after a full device initialization has taken place, all PLLs

    are configured and locked, Multi-Chip Sync (MCS) has taken place, and the JESD204B links are configured and operational., Does this mean that all files need to be reinitialized.

    (2) Please provide the link of "RF PLL frequency change procedure" section in UG

    Thank you.

  • Hello, there is another question. Why are you implementing Talise_ After radiooff, the program will get stuck and all subsequent functions (including talise_setrfpllfrequency) will not be executed?

  • oes this mean that in normal work, when an interrupt comes, you need to first radio off and then execute the set API. In addition, when the API is executed, we need to execute radio on, and the restrictive conditions of radio on are: this function is called after a full device initialization has taken place, all PLLs

    are configured and locked, Multi-Chip Sync (MCS) has taken place, and the JESD204B links are configured and operational., Does this mean that all files need to be reinitialized.

    Refer to the "RF PLL FREQUENCY CHANGE PROCEDURE" in UG.

    You need to go the radio off state, change the RFPLL frequency using TALISE_setRfPllFrequency API and then reset the external TX LOL channel using TALISE_resetExtTxLolChannel API and then go to radio on state. The frequency will be changed to the desired LO successfully.