Post Go back to editing

How to use ADRV9009 as ADRV9008-2?

Is it possible to use ADRV9009 as a ADRV9008-2?

ADRV9009 firmware does not allow RX1 and RX2 to be turned off and use all JESD204 lanes just for ORX.

However the ADRV9008-2 does not have this limitation.

Is there a way to configure ADRV9009 to act as a ADRV9008-2?

  • Are you using the the latest version of the software for configuring the chip? Use the latest version of the drivers and do the following:

    You can try switching off all the RX channels in the taliseInit_t structure and then try initializing(disable the RX related API's) in the init script. Also using taliseJesd204bFramerConfig_t, you can assign the four lanes to ORX framer.

  • We are able to configure ADRV9009 without RX but one ORX now.

    However we do not see any ADC data on JESD, just zeros. JESD lanes are okay with test data like ramp.

    We tried FramerB and working FramerA for ORX, but no change.

    Do you have any idea what's missing?

  • Are you able to see data on ORX output but not on RX output? Hope you have assigned the framer and deframer correctly. Can you share with us the JESD configuration that you have used including lane rate?

  • Sorry for getting back so late. I'm now back into the project.


    We see correct data over JESD when we select bist_framer_a_prbs = RAMP [8] for example. So this is no JESD issue. When we set bist_framer_a_prbs = ADC_DATA [0] we see only zeros in the JESD data.

    We are down to just one JESD lane with 4.915G. The same configuration with RX instead of ORX works just fine. Device Clock is 122,88MHz.

    Can you provide some sample code (like the headless C) that works on your side with the ORX?

  • Can you change the device name to ADRV9008-2, and then generate the scripts for TX and ORX accordingly. You can generate the script from TES GUI in demo mode instead of actually connecting to the board. Open the GUI and without any connection to the board, press connect and then generate script with ADRV9008 device name.

    Check the configuration settings with this ADRV9008-2 setup and compare with the ones you have used in your ADRV9009 setup. Try to keep the JESD settings same as that generated from the GUI and then try to initialize the chip. Please see if you are seeing the same issue.

  • We have already done this. While version 3.6.0.5 of the GUI tool, does not generate the code for ADRV9008-2 but only ADRV9009, version 3.6.0.6 does generate sample code for ADRV9008-2.

    However using exactly the same API calls we do not see any ADC data from ORX other than zeros.

    If we make RX and ORX the same 200MHz (IQ rate 245,76MHz, DEC 4) on ADRV9009, RX works but ORX does not work.

    Something is different for ORX setup compared to RX.

  • We are down to just one JESD lane with 4.915G.

    Can you share a snapshot of the JESD setting that you are using? How many lanes are enabled and what is your JESD configuration?

    Are you using ADRV9009 eval board for testing?

  • We found the issue:

    it's very important to use the correct TaliseStream.bin. Switching between RX and ORX setup is done by selecting Deframer A or B.

    We are now using a setup of 4 lanes at 4.915G to get the full 450MHz bandwidth of ORX.