Post Go back to editing

Is ADRV9009 Dynamic Profile Generation Possible?

Category: Software
Product Number: ADRV9009

We have an application where we need the TX data rates to be as close as possible to the requested rates. Our design in the PL accommodates for higher rates as long as they are multiples of the desired rate.

E.g. if we need 10.23 Mbps, it is acceptable to find an integer multiple close to the default design rate of 491.52 MSPS (2 lanes at 245.76 MHz and allows us to avoid additional complications of resampling) like so: (10.23 Mbps * 48) / 2 to Mbps = 491.04 Mbps which requires a JESD lane rate of 245.52 MHz. In that particular example we might be able to demodulate at a rate of 10.23 Mbps at the default JESD lane rate but we require fine grained control over the data rates and would prefer a sampling frequency closest to 245.52 MHz.

Another example without rebuilding HDL reboot etc, might be BPSK at 30 Mbps: (30Mbps * 16) to Mbps = 480 Mbps which requires a JESD lane rate of 240 Mbps. Running that last example at a rate of 245.76 MHz clearly won't work.

Given ADI's reference design for the adrv9009zu11eg/adrv2crr_fmc:

  1. What is our range of acceptable JESD lane rates? Is it a range or specific and requires trying all the possible rates we could deploy in kHz steps?
  2. Our Tx and Rx channel bandwidths are asymmetrical because we use Rx to monitor full bandwidth spectrum base on JESD rate but Tx typically has varying bandwidth is that workable?
  3. Could we generate a base profile for a frequency range at specific intervals and then generate the FIR coefficients based on desired output bandwidth that we swap into the base profiles?
  4. Is there a library like libad9361 for adrv9009 that we can use to dynamically generate and load profiles?
  5. If there is no library, is the source for the Matlab tool available so that we can generate C++ or python code?

Your assistance is highly appreciated.



Grammar
[edited by: EdwardK at 5:47 PM (GMT -4) on 14 Jun 2024]

Thread Notes