Post Go back to editing

How to change sampling rate of Quad-MxFE

Category: Software

Hi expert,

I’m currently using the MATLAB example for Quad-MxFE from the following link:

wiki.analog.com/.../quickbringup

 

This example uses a 250MHz sampling rate. However, a 5MHz sampling rate is sufficient for my application. The reason I want to reduce the sampling rate is that I need to capture data for much longer duration with one 'rx()' call.

I have read some posts indicating that it is necessary to rebuild the HDL and Linux image to change the sampling rate. By following the build instructions, I was able to rebuild the HDL and the corresponding Linux image. However, I am unsure about which parameters need to be changed.

I would appreciate it if you could explain how to modify the build parameters, including the parameters in the device tree file to set the sampling rate to 5MHz.

Thread Notes

  • Hi,

    Just letting you know I saw your thread and I'll try to respond as soon as possible.

    Best regards,
    Iulia

  • Hello  ,

    Which JESD mode are you using? Is it vcu118_quad_ad9081_204c_txmode_11_rxmode_4 that is presented in the wiki page?

    Regards!

    -Filip

  • Hello Filip,

    I'm using "vcu118_quad_ad9081_204c_txmode_11_rxmode_4_revc_nz1".

    Best regards,

    Mori

  • Hello  ,

    By sampling rate you mean FADC(Range) that is measured in GSPS? Or you mean the frequency of the device_clk that is used in the JESD?

    If you want to reduce the ADC Sample Rate you can go at the minimum FADC of 50 MSPS by changing the JESD configuration! This will reduce the JESD Lane Rate and overall clocking frequencies and the data rate. This is mainly available on the JESD Configurations with L=1 with higher interpolations/decimations:

    For reducing the actual device_clk frequency you need to build a FIFO that adapts the DMA/DDS Samples to the 5Mhz clock which will require additional RTL!

    Best regards!

    Filip.

  • Hello Filip,

     

    Thank you for your answer.

    To be honest, I do not fully understand the JESD interface. From the perspective of the sample application in MATLAB, when I referred to the sampling rate, I meant the sample rate of the data stored in Rx_data when executing

    Rx_data = rx()

    Currently, this sample rate is 250MSPS, and because there is a limit to the maximum number of samples that can be obtained with a single rx() call, continuous signal capture is possible only for a very short time. Therefore, by lowering the sampling rate, I would like to obtain continuous data for a longer period by a single rx() call.

     

    From your response, I understand that it is possible to lower the rate to 50MSPS by changing the JESD parameters, but to go below that, the HDL needs to be modified. So, as the first step, I aim to set it to 50MSPS.

     

    Is it possible to achieve this by simply changing the following related parameters below in

    vcu118_quad_ad9081_204c_txmode_11_rxmode_4.dts

    and recompiling the Linux image?

     

    What should JESD_MODE be changed to?

    Which parameters need to be changed to set DCM to 48?

    Your advice would be greatly appreciated.

     

    #define AD9081_TX_JESD_MODE            11  ->  ???

    #define AD9081_TX_JESD_SUBCLASS        1

    #define AD9081_TX_JESD_VERSION         2

    #define AD9081_TX_JESD_M               16  ->  1

    #define AD9081_TX_JESD_F               8   ->  2

    #define AD9081_TX_JESD_K               32

    #define AD9081_TX_JESD_N               16

    #define AD9081_TX_JESD_NP              16

    #define AD9081_TX_JESD_CS              0

    #define AD9081_TX_JESD_L               4   ->  1

    #define AD9081_TX_JESD_S               1

    #define AD9081_TX_JESD_HD              1   ->  0

    ...

    #define AD9081_RX_JESD_MODE            4   ->  ???

    #define AD9081_RX_JESD_SUBCLASS        1

    #define AD9081_RX_JESD_VERSION         2

    #define AD9081_RX_JESD_M               8   ->  1

    #define AD9081_RX_JESD_F               8   ->  2

    #define AD9081_RX_JESD_K               32

    #define AD9081_RX_JESD_N               16

    #define AD9081_RX_JESD_NP              16

    #define AD9081_RX_JESD_CS              0

    #define AD9081_RX_JESD_L               2   ->  1

    #define AD9081_RX_JESD_S               1

    #define AD9081_RX_JESD_HD              1   ->  0

     

    Best regards,

    Mori

  • Hi  ,

    I moved this thread to Mixed-Signal Front Ends (MxFE) forum to confirm whether AD9081 can work at this sampling rate.

    Best regards,
    Iulia

  • Hi,

    If you intend to keep the same JESD modes for minor modification through editing dts file, you are allowed to change the parmaeters only within the range specified in the JESD mode table in the user guide (the RX mode 4 and Tx mode 11 are described in the page 127 and Page 164, respectively). And also the following mode selector tool would be useful to determine what parameters changes are allowed instead of examining all those entries in the table.

    https://www.analog.com/en/lp/001/jesd204-mode-selector-tool-thank-you.html

    The following results of the mode selector tool corresponds to the "vcu118_quad_ad9081_204c_txmode_11_rxmode_4_revc_nz1".configuration.

    As I tried quickly, I couldn't find the settings with lower sample rate unless I reduce the fDAC and fADC, so I suggest you to explore various configuraitons using this tool youself.

    If you don't have to start with one of the pre-built modes, then you may need cutom HDL and you can use the mode selector tool to find the best settings for your need. 

    However, I don't beleive you can get such a low sample rate for 5 MHz bandwidth for any combination becuase there are few limitations on minimum lane rate, minimum DAC/ADC clock, and maximum interpolation/decimation ratio. The MxFE may not be optimum for such a low bandwidth applications, and probably an overkill. Coud you let us know why you want to use Quad MxFE platfomr tor such a low bandwidth signal?

    -YH

  • Thank you for your reply and sorry for the delayed response. The mode selector tool seems to be very useful. I understand that The MxFE may not be optimum for such low bandwidth applications.

    Best regards,

    mori