Changing ADRV9026 sampling rate

Hello,

We currently have a working board populated with two ADRF9026 transceiver ICs running at a sample rate of 245.76 MHz and BW of 200 MHz in both TX and RX. We need to change the DEVCLK & sample rate to 240 MHz. The bandwidth needs to remain 200 MHz. What is the correct procedure for making this transition?

Thanks!

  • 0
    •  Analog Employees 
    on Aug 25, 2021 8:53 AM

    Currently, you need to use the profiles (Use cases) that are listed in the GUI and custom sampling rates are not supported.

  • When will further customization become available? Would it be plausible to change the generated "init.c" files as needed to customize the configuration as it is a struct?

    Thanks,

    Jerry

  • 0
    •  Analog Employees 
    on Oct 6, 2021 3:53 AM in reply to jerryo

    We don't have an exact date on this but we expect it to be available in couple of months. No, it is not recommended to customize the init.c files

  • Hi @Ramarao,

    One clarifying question. This is to generate different configurations for integrating not with the ADS9 but a ZCU102 board. I see some others have been working on that as well.

    For instance we only want RX1 / LO1  + RX2 / LO2 + ORX1 / Aux LO  on the RX side framed and transmitted while varying the LOs as needed using the API.

    Does that change the answer? I thought I might be able to take a base "use case" from TES and modify it as needed.

    Thanks again.

  • 0
    •  Analog Employees 
    on Oct 8, 2021 4:31 AM in reply to jerryo
    For instance we only want RX1 / LO1  + RX2 / LO2 + ORX1 / Aux LO  on the RX side framed and transmitted while varying the LOs as needed using the API.

    Can you please elaborate this?

    Does that change the answer? I thought I might be able to take a base "use case" from TES and modify it as needed.

    Its not recommended to change the initdata c manually. If any parameter has to be changed, the changes have to be done in the GUI and generate the initdata.c file.

  • Thanks for the ongoing discussion

    For instance we only want RX1 / LO1  + RX2 / LO2 + ORX1 / Aux LO  on the RX side framed and transmitted while varying the LOs as needed using the API.

    Can you please elaborate this?

    Sure, let's say I don't change the GUI-generated init file, and the system is initialized outside of our desired parameters.

    Dynamically, using the API, I can retune as needed.

    Then I could do the following through API calls:

    • Turn off RX2, RX4 - having RX1 tuned based on LO1, RX2 tuned based on LO2.
    • Turn off all TX, and use the ORX1 with LO3 independently
    • Reconfigure the framer to set
      • RX1, RX3 IQ on one or two links
      • ORx1 on another link or two

    That would be where I need to use the system, at least in our initial use case.

    Any limitations?

  • 0
    •  Analog Employees 
    on Oct 11, 2021 9:00 AM in reply to jerryo

    Firstly, the LO config. that you are trying to do is not possible.

    RX1 & 2 can use a single LO and similarly RX3 & 4.

    Dynamically, using the API, I can retune as needed.

    Then I could do the following through API calls:

    • Turn off RX2, RX4 - having RX1 tuned based on LO1, RX2 tuned based on LO2.
    • Turn off all TX, and use the ORX1 with LO3 independently
    • Reconfigure the framer to set
      • RX1, RX3 IQ on one or two links
      • ORx1 on another link or two

    That would be where I need to use the system, at least in our initial use case.

    Any limitations?

    Once the initdata.c is generated based on the desired settings, for eg. LO configuration, you can not change them during the run time as we do not have any APIs to change the LO selection during the run time. However, the LO configuration parameters such as the LO frequency, loop bandwidth can be configured.

    Similarly, the JESD configuration changes such as lane changes during run time is not possible.

  • >> Firstly, the LO config. that you are trying to do is not possible.

    >> RX1 & 2 can use a single LO and similarly RX3 & 4.

    Sorry I misstyped - that was supposed to be RX3 on, not RX2 (which I said I'd turn off).

    >>Turn off RX2, RX4 - having RX1 tuned based on LO1, RX2 tuned based on LO2.

    This should read:

    "Turn off RX2, RX4 - having RX1 tuned based on LO1, RX3 tuned based on LO2."

    i can turn off the receivers /transmitters through the API? Even if I intend to use the ORx1 I could disable transmitters?

    >>Similarly, the JESD configuration changes such as lane changes during run time is not possible.

    So then you're saying it's not possible to reconfigure the framers? As mentioned I could live with the the initdata.c file, but want to turn off RX2, RX4, ORx2 then all TX in once use case - only flowing RX1 and RX3 through framer0 and ORX1 through framer 1. Then not using deframer 0.

    This is good information - helping me with decisions between using the AD9371 and adrv9026.

  • 0
    •  Analog Employees 
    on Oct 11, 2021 3:19 PM in reply to jerryo
    i can turn off the receivers /transmitters through the API? Even if I intend to use the ORx1 I could disable transmitters?

    Yes, that's possible. What is the application of using just the ORX, how will the ORX be connected?

    So then you're saying it's not possible to reconfigure the framers? As mentioned I could live with the the initdata.c file, but want to turn off RX2, RX4, ORx2 then all TX in once use case - only flowing RX1 and RX3 through framer0 and ORX1 through framer 1. Then not using deframer 0.

    Yes, that's possible. You can enable/ disable the channels as desired using the APIs/ Pin mode.

  • Thanks

    This is good. I am a bit uncertain about initial  (initdata.c) vs dynamic framer reconfiguration from your JESD statement above:

    "Similarly, the JESD configuration changes such as lane changes during run time is not possible."

    So if the initial configuration is forced to use 4RX/4TX and ORX1 (use case 13_nonLinkSharing) as the initialization basis,I could disable RX2 / RX4 therefore running RX1/RX3 into Framer 0 and Framer 1 supports ORx1 only so I would leave that unchanged.

    However if JESD config changes are not possible, how could I drop RX2/RX4 from the framer yet maintain JESD parameters? Would the link rate at 9.830.40 Gbps be then Idle chars for RX2/RX4 and they get removed in the JESD core?

    >>What is the application of using just the ORX, how will the ORX be connected?

    I'll try to address this but might need some clarification between our perspectives of the question. I would use ORx for spectrum management for future needs. Not sure what you mean by how it would be connected, but initially, before we add TX, this would be connected as a non-communications (no BBU / demod) receiver.