Post Go back to editing

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

Parents Reply Children
  • 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.


    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.