Post Go back to editing

How can I change "ADC Sample Rate" of AD9680 on FMCDAQ2

Hello.

I'm using the AD-FMCDAQ2-EBZ module for utilizing the ADC (AD9680).

The sample rate of ADC was set 1000 MSPS automatically.

I want to change the ADC sample rate to 998MSPS or 997MSPS.

But I don't know whether it is possible or not.

Please let me know how to change the ADC sample rate.

Thanks.

Parents
  • Hi Riache,

    The clock generator on AD-FMCDAQ2-EBZ is AD9523-1 and you can obtain the initialization parameters using the Evaluation software from EVAL-AD9523-1 page.  In this case the closest value I found is 995 MHz (as seen in the picture below). Because the value you want is close to 1000MSPS you only need to change the values for N DIVIDER, R DIVIDER and VCO DIVIDER 1 and the lane rate and ref rate should remain as in the case of 1000MSPS.  Here you can find details on how to calculate all the clock generator parameters.

    Thanks,

    Paul

Reply
  • Hi Riache,

    The clock generator on AD-FMCDAQ2-EBZ is AD9523-1 and you can obtain the initialization parameters using the Evaluation software from EVAL-AD9523-1 page.  In this case the closest value I found is 995 MHz (as seen in the picture below). Because the value you want is close to 1000MSPS you only need to change the values for N DIVIDER, R DIVIDER and VCO DIVIDER 1 and the lane rate and ref rate should remain as in the case of 1000MSPS.  Here you can find details on how to calculate all the clock generator parameters.

    Thanks,

    Paul

Children
  • Hi, Paul.

    Thanks a lot for reply.

     

    I tried to change ADC sample rate (1GSPS to 995MSPS) by using your suggestion.

    So, I edited some registers which you mentioned (R,N Divider) by IIO Oscilloscope tool as shown : 

     

    But, ADC capture result was still 1000 samples as shown : 

    (I counted 1000 samples by using .csv data)

    (If it is applied rightly, it must be 995 samples because time period is set 1 us.)

     

    In another way,

    I tried to change frequency in IIO Device Attributes of Debug Tab.

    However, It can't be changed too, as shown : 

    (I edited the value 1000000000 → 995000000, and then I clicked write button. But the value was returned 1000000000.)

      

    Is there a problem with the method I tried?

    Please help me.

     

    Thanks.

  • Hi Riache,

    The method you used is not appropriate in this case because the software will still read 1000 samples.

    One method to test the sample rate is:

    1. Take an external signal generator.
    2. Connect it to a RX channel.
    4. Plot the frequency domain characteristics.
    3. Read the harmonic frequency(using Peak Markers).
    4. Modify the clock generator parameters according to the previous answer.
    5. Plot the frequency domain characteristics again.
    6. Read the harmonic frequency and you will find a different value, which means that the value of the sampling rate has changed.


    If you want this test to be performed without an external source or to be performed with the IIO Oscilloscope software, then you will need to change the clock generator instantiation parameters in the devicetree(.dtsi) file.

    Here you can find the .dtsi file for arm architecture or arm64 architecture.

    I will modify this file and test the 995 MHz sampling rate and come back with a response.

    Thank,
    Paul

  • Hi Paul,

    Thanks for explanation detail.

     

    Before I do the method you told me, I just have one question.

    Is there any way to use Vitis (no-OS) by any chance?

    When I followed the "no-OS" method and then I checked the fmcdaq2.c code on Vitis,

    there was an option to change "R,N Divider" as shown : 

      

    Is it posiible to change sample rate on Vitis?

    Thanks.

  • Hi Riache,

    Yes, it is possible to change the parameters from the fmcdaq2.c file.
    In this case, if you change the parameters you highlighted and choose the profile in which the sample rate for the ADC and DAC is 1GSPS you should see in the IIO Oscilloscope a 995 MHz sampling frequency.


    I modified the parameters highlighted below and obtained using the .csv data method 995 samples for 1 μs and the sampling frequency as in the picture below.


    Thanks, 

    Paul

  • Hi, Paul.

    Thanks for your help.

     

    As your explanation,

    I edited all "adi-daq2.dtsi" files in "linux" sub folders whch paths are : 

    ./arch/microblaze/boot/dts/adi-daq2.dtsi

    ./arch/arm/boot/dts/adi-daq2.dtsi

    ./arch/arm64/boot/dts/xilinx/adi-daq2.dtsi

     

    I edited only 3 parameters shown as : 

     

     

    And then, I did "make" for exporting a "simpleImage.kcu105_fmcdaq2.strip" file as following wiki process : 

    https://wiki.analog.com/resources/eval/user-guides/ad-fmcdaq2-ebz/software/linux/microblaze

     

    After that,

    I uploaded a "bit file" and "simpleImage file", and connected to IIO Oscilloscope.

    However the "Sample Rate" was still 1000MSPS as shown that : 

     

    Did I miss something in the process I did?

    Help me a little more, please...

    Thanks.

  • I got the 995MSPS sample rate finally.

    I edited the value of "adi,pll2-m1-freq" in ".dtsi" file additionally.

     

    So, I got correct 995MSPS and I could see the sample rate in IIO Oscilloscope as shown that : 

    Then, I got the captured data of 995 samples during 1us time period.

     

    I could success due to your detail help.

    Thank you very much, Paul.

    Have a good Christmas day~!

  • Hi Riache, 

    I'm glad that I was able to help you. You too! 

         

  • Hi, 

       In this case you only need to modify a single adi-daq2.dtsi file depending on the architecture of the carrier board( arm / arm64 / microblaze). 

    Thanks,

    Paul