ADRV9009 sampling rate and CLK issue

Hello,

For the test of ADRV9009, I plan to use a sampling rate of 60MHZ. The relevant informations are as follows:

1、1 lane, lane rate=4800Mbps
2、M=4, N'=16,

3、CLK_ADRV9009=120MHz

4、Start using SD card, load profile file

5、output from TX1

It turns out that if the clock of ADRV9009 is 120MHZ, the signal output is abnormal, as shown in the figure below:

If the CLK is changed to 240MHZ, the test result is normal, why?

thank you !

  • 0
    •  Analog Employees 
    on May 18, 2021 2:47 PM

    At what offset from the tone are you seeing the spurs at the output? can you put markers on the plot and then share for both good and bad cases? Can you share the filter file that you have generated? Hope you are enabling all the tracking cals.

  • Hi,

    the  filter file is below. you can load the profile by ADI IIO Oscilloscope software.

    the spurs offset is 15MHZ .

    I have  already used tracking function, but no effect.

    the good case is:

    the bad case is :

    Tx_BW45_IR60_Rx_BW24_OR60_ORx_BW45_OR60_SampleRate60MHZ_9009CLK240MHZ_good.txt
    <profile Talise version=1 name=Tx_BW45_IR60_Rx_BW24_OR60_ORx_BW45_OR60>
     <clocks>
      <deviceClock_kHz=240000>
      <clkPllVcoFreq_kHz=9600000>
      <clkPllHsDiv=2.5>
     </clocks>
    
     <rx name=Rx 24.00MHz, OutputRate 60.00MHz, TotalDecimation 32>
    
      <rxFirDecimation=4>
      <rxDec5Decimation=4>
      <rhb1Decimation=2>
      <rxOutputRate_kHz=60000>
      <rfBandwidth_Hz=24000000>
      <rxBbf3dBCorner_kHz=40000>
      <rxDdcMode=0>
    
      <rxNcoShifterCfg>
       <bandAInputBandWidth_kHz=0>
       <bandAInputCenterFreq_kHz=0>
       <bandANco1Freq_kHz=0>
       <bandANco2Freq_kHz=0>
       <bandBInputBandWidth_kHz=0>
       <bandBInputCenterFreq_kHz=0>
       <bandBNco1Freq_kHz=0>
       <bandBNco2Freq_kHz=0>
      </rxNcoShifterCfg>
    
      <filter FIR gain_dB=-12 numFirCoefs=72>
      3
      6
      8
      6
      -5
      -24
      -46
      -59
      -46
      5
      92
      189
      249
      218
      58
      -218
      -533
      -755
      -731
      -363
      331
      1175
      1852
      1997
      1337
      -161
      -2189
      -4108
      -5088
      -4344
      -1415
      3620
      10071
      16752
      22267
      25385
      25385
      22267
      16752
      10071
      3620
      -1415
      -4344
      -5088
      -4108
      -2189
      -161
      1337
      1997
      1852
      1175
      331
      -363
      -731
      -755
      -533
      -218
      58
      218
      249
      189
      92
      5
      -46
      -59
      -46
      -24
      -5
      6
      8
      6
      3
      </filter>
    
      <rxAdcProfile num=42>
      272
      150
      181
      90
      1280
      366
      1256
      27
      1228
      17
      701
      39
      48
      45
      27
      161
      0
      0
      0
      0
      40
      0
      7
      6
      42
      0
      7
      6
      42
      0
      25
      27
      0
      0
      25
      27
      0
      0
      165
      44
      31
      905
      </rxAdcProfile>
     </rx>
    
     <obsRx name=Rx 45.00MHz, OutputRate 60.00MHz, TotalDecimation 32>
    
      <enAdcStitching=0>
      <rxFirDecimation=4>
      <rxDec5Decimation=4>
      <rhb1Decimation=2>
      <orxOutputRate_kHz=60000>
      <rfBandwidth_Hz=45000000>
      <rxBbf3dBCorner_kHz=225000>
      <orxDdcMode=0>
    
      <filter FIR gain_dB=-12 numFirCoefs=72>
      4
      28
      27
      10
      -36
      -84
      -96
      -33
      94
      219
      238
      86
      -204
      -470
      -506
      -188
      389
      907
      974
      380
      -684
      -1635
      -1773
      -734
      1153
      2874
      3189
      1388
      -2078
      -5500
      -6517
      -3250
      4608
      15318
      25586
      31860
      31860
      25586
      15318
      4608
      -3250
      -6517
      -5500
      -2078
      1388
      3189
      2874
      1153
      -734
      -1773
      -1635
      -684
      380
      974
      907
      389
      -188
      -506
      -470
      -204
      86
      238
      219
      94
      -33
      -96
      -84
      -36
      10
      27
      28
      4
      </filter>
    
      <orxLowPassAdcProfile num=42>
      272
      150
      181
      90
      1280
      366
      1256
      27
      1228
      17
      701
      39
      48
      45
      27
      161
      0
      0
      0
      0
      40
      0
      7
      6
      42
      0
      7
      6
      42
      0
      25
      27
      0
      0
      25
      27
      0
      0
      165
      44
      31
      905
      </orxLowPassAdcProfile>
    
      <orxBandPassAdcProfile num=42>
      272
      150
      181
      90
      1280
      366
      1256
      27
      1228
      17
      701
      39
      48
      45
      27
      161
      0
      0
      0
      0
      40
      0
      7
      6
      42
      0
      7
      6
      42
      0
      25
      27
      0
      0
      25
      27
      0
      0
      165
      44
      31
      905
      </orxBandPassAdcProfile>
    
     </obsRx>
    
     <lpbk>
      <rxFirDecimation=4>
      <rhb1Decimation=2>
      <outputRate_kHz=60000>
      <rfBandwidth_Hz=16000000>
      <rxBbf3dBCorner_kHz=225000>
    
      <filter FIR gain_dB=-12 num=72>
      4
      28
      27
      10
      -36
      -84
      -96
      -33
      94
      219
      238
      86
      -204
      -470
      -506
      -188
      389
      907
      974
      380
      -684
      -1635
      -1773
      -734
      1153
      2874
      3189
      1388
      -2078
      -5500
      -6517
      -3250
      4608
      15318
      25586
      31860
      31860
      25586
      15318
      4608
      -3250
      -6517
      -5500
      -2078
      1388
      3189
      2874
      1153
      -734
      -1773
      -1635
      -684
      380
      974
      907
      389
      -188
      -506
      -470
      -204
      86
      238
      219
      94
      -33
      -96
      -84
      -36
      10
      27
      28
      4
      </filter>
    
      <lpbkAdcProfile num=42>
      272
      150
      181
      90
      1280
      366
      1256
      27
      1228
      17
      701
      39
      48
      45
      27
      161
      0
      0
      0
      0
      40
      0
      7
      6
      42
      0
      7
      6
      42
      0
      25
      27
      0
      0
      25
      27
      0
      0
      165
      44
      31
      905
      </lpbkAdcProfile>
     </lpbk>
    
     <tx name=Tx 45.00MHz, InputRate 60.00MHz, TotalInterpolation 32>
    
      <dacDiv=1>
      <txFirInterpolation=4>
      <thb1Interpolation=2>
      <thb2Interpolation=2>
      <thb3Interpolation=2>
      <txInt5Interpolation=1>
      <txInputRate_kHz=60000>
      <primarySigBandwidth_Hz=16000000>
      <rfBandwidth_Hz=45000000>
      <txDac3dBCorner_kHz=187000>
      <txBbf3dBCorner_kHz=56000>
    
      <filter FIR gain_dB=6 numFirCoefs=80>
      10
      -6
      -8
      -10
      -21
      24
      34
      30
      33
      -62
      -86
      -68
      -45
      134
      184
      137
      44
      -262
      -349
      -244
      -11
      476
      622
      416
      -56
      -810
      -1038
      -661
      226
      1404
      1775
      1088
      -584
      -2616
      -3387
      -2070
      1723
      7265
      12534
      15892
      15892
      12534
      7265
      1723
      -2070
      -3387
      -2616
      -584
      1088
      1775
      1404
      226
      -661
      -1038
      -810
      -56
      416
      622
      476
      -11
      -244
      -349
      -262
      44
      137
      184
      134
      -45
      -68
      -86
      -62
      33
      30
      34
      24
      -21
      -10
      -8
      -6
      10
      </filter>
     </tx>
    </profile>
    

    Tx_BW45_IR60_Rx_BW24_OR60_ORx_BW45_OR60_SampleRate60MHZ_9009CLK120MHZ_bad.txt
    <profile Talise version=1 name=Tx_BW45_IR60_Rx_BW24_OR60_ORx_BW45_OR60>
     <clocks>
      <deviceClock_kHz=120000>
      <clkPllVcoFreq_kHz=9600000>
      <clkPllHsDiv=2.5>
     </clocks>
    
     <rx name=Rx 24.00MHz, OutputRate 60.00MHz, TotalDecimation 32>
    
      <rxFirDecimation=4>
      <rxDec5Decimation=4>
      <rhb1Decimation=2>
      <rxOutputRate_kHz=60000>
      <rfBandwidth_Hz=24000000>
      <rxBbf3dBCorner_kHz=40000>
      <rxDdcMode=0>
    
      <rxNcoShifterCfg>
       <bandAInputBandWidth_kHz=0>
       <bandAInputCenterFreq_kHz=0>
       <bandANco1Freq_kHz=0>
       <bandANco2Freq_kHz=0>
       <bandBInputBandWidth_kHz=0>
       <bandBInputCenterFreq_kHz=0>
       <bandBNco1Freq_kHz=0>
       <bandBNco2Freq_kHz=0>
      </rxNcoShifterCfg>
    
      <filter FIR gain_dB=-12 numFirCoefs=72>
      3
      6
      8
      6
      -5
      -24
      -46
      -59
      -46
      5
      92
      189
      249
      218
      58
      -218
      -533
      -755
      -731
      -363
      331
      1175
      1852
      1997
      1337
      -161
      -2189
      -4108
      -5088
      -4344
      -1415
      3620
      10071
      16752
      22267
      25385
      25385
      22267
      16752
      10071
      3620
      -1415
      -4344
      -5088
      -4108
      -2189
      -161
      1337
      1997
      1852
      1175
      331
      -363
      -731
      -755
      -533
      -218
      58
      218
      249
      189
      92
      5
      -46
      -59
      -46
      -24
      -5
      6
      8
      6
      3
      </filter>
    
      <rxAdcProfile num=42>
      272
      150
      181
      90
      1280
      366
      1256
      27
      1228
      17
      701
      39
      48
      45
      27
      161
      0
      0
      0
      0
      40
      0
      7
      6
      42
      0
      7
      6
      42
      0
      25
      27
      0
      0
      25
      27
      0
      0
      165
      44
      31
      905
      </rxAdcProfile>
     </rx>
    
     <obsRx name=Rx 45.00MHz, OutputRate 60.00MHz, TotalDecimation 32>
    
      <enAdcStitching=0>
      <rxFirDecimation=4>
      <rxDec5Decimation=4>
      <rhb1Decimation=2>
      <orxOutputRate_kHz=60000>
      <rfBandwidth_Hz=45000000>
      <rxBbf3dBCorner_kHz=225000>
      <orxDdcMode=0>
    
      <filter FIR gain_dB=-12 numFirCoefs=72>
      4
      28
      27
      10
      -36
      -84
      -96
      -33
      94
      219
      238
      86
      -204
      -470
      -506
      -188
      389
      907
      974
      380
      -684
      -1635
      -1773
      -734
      1153
      2874
      3189
      1388
      -2078
      -5500
      -6517
      -3250
      4608
      15318
      25586
      31860
      31860
      25586
      15318
      4608
      -3250
      -6517
      -5500
      -2078
      1388
      3189
      2874
      1153
      -734
      -1773
      -1635
      -684
      380
      974
      907
      389
      -188
      -506
      -470
      -204
      86
      238
      219
      94
      -33
      -96
      -84
      -36
      10
      27
      28
      4
      </filter>
    
      <orxLowPassAdcProfile num=42>
      272
      150
      181
      90
      1280
      366
      1256
      27
      1228
      17
      701
      39
      48
      45
      27
      161
      0
      0
      0
      0
      40
      0
      7
      6
      42
      0
      7
      6
      42
      0
      25
      27
      0
      0
      25
      27
      0
      0
      165
      44
      31
      905
      </orxLowPassAdcProfile>
    
      <orxBandPassAdcProfile num=42>
      272
      150
      181
      90
      1280
      366
      1256
      27
      1228
      17
      701
      39
      48
      45
      27
      161
      0
      0
      0
      0
      40
      0
      7
      6
      42
      0
      7
      6
      42
      0
      25
      27
      0
      0
      25
      27
      0
      0
      165
      44
      31
      905
      </orxBandPassAdcProfile>
    
     </obsRx>
    
     <lpbk>
      <rxFirDecimation=4>
      <rhb1Decimation=2>
      <outputRate_kHz=60000>
      <rfBandwidth_Hz=16000000>
      <rxBbf3dBCorner_kHz=225000>
    
      <filter FIR gain_dB=-12 num=72>
      4
      28
      27
      10
      -36
      -84
      -96
      -33
      94
      219
      238
      86
      -204
      -470
      -506
      -188
      389
      907
      974
      380
      -684
      -1635
      -1773
      -734
      1153
      2874
      3189
      1388
      -2078
      -5500
      -6517
      -3250
      4608
      15318
      25586
      31860
      31860
      25586
      15318
      4608
      -3250
      -6517
      -5500
      -2078
      1388
      3189
      2874
      1153
      -734
      -1773
      -1635
      -684
      380
      974
      907
      389
      -188
      -506
      -470
      -204
      86
      238
      219
      94
      -33
      -96
      -84
      -36
      10
      27
      28
      4
      </filter>
    
      <lpbkAdcProfile num=42>
      272
      150
      181
      90
      1280
      366
      1256
      27
      1228
      17
      701
      39
      48
      45
      27
      161
      0
      0
      0
      0
      40
      0
      7
      6
      42
      0
      7
      6
      42
      0
      25
      27
      0
      0
      25
      27
      0
      0
      165
      44
      31
      905
      </lpbkAdcProfile>
     </lpbk>
    
     <tx name=Tx 45.00MHz, InputRate 60.00MHz, TotalInterpolation 32>
    
      <dacDiv=1>
      <txFirInterpolation=4>
      <thb1Interpolation=2>
      <thb2Interpolation=2>
      <thb3Interpolation=2>
      <txInt5Interpolation=1>
      <txInputRate_kHz=60000>
      <primarySigBandwidth_Hz=16000000>
      <rfBandwidth_Hz=45000000>
      <txDac3dBCorner_kHz=187000>
      <txBbf3dBCorner_kHz=56000>
    
      <filter FIR gain_dB=6 numFirCoefs=80>
      10
      -6
      -8
      -10
      -21
      24
      34
      30
      33
      -62
      -86
      -68
      -45
      134
      184
      137
      44
      -262
      -349
      -244
      -11
      476
      622
      416
      -56
      -810
      -1038
      -661
      226
      1404
      1775
      1088
      -584
      -2616
      -3387
      -2070
      1723
      7265
      12534
      15892
      15892
      12534
      7265
      1723
      -2070
      -3387
      -2616
      -584
      1088
      1775
      1404
      226
      -661
      -1038
      -810
      -56
      416
      622
      476
      -11
      -244
      -349
      -262
      44
      137
      184
      134
      -45
      -68
      -86
      -62
      33
      30
      34
      24
      -21
      -10
      -8
      -6
      10
      </filter>
     </tx>
    </profile>
    

  • hello, 

    Can you give me some suggestions on this issue?

    thank you!

  • 0
    •  Analog Employees 
    on May 24, 2021 6:47 AM in reply to GChao

    Are you using custom board or evaluation board ? In Eval board , we have a 122.88 MHz crystal oscillator on AD9528 and you need to use a reference clock which is  a multiple/submultiple of same.

    For 60MHz reference you may need to change the VCXO.

    While changing reference clock have you monitored the clock chip output to see if the clock is changing.

    From the plot it looks like some harmonics are getting coupled or mixed.

  • hi!

    thank you for your reply!

    Yes, I have changed the VCXO to 120MHZ.

    I think this should not be a VCXO problem, because if I configure the CLK of the ADRV9009 to 240MHZ, the signal output is normal. My problem now is that the other configurations remain the same, only the CLK configuration of ADRV9009 is changed from 240MHZ to 120MHZ, and the signal output is abnormal.

    Moreover, I used the "Talise_Configuration_wizard" software to generate the TXT profile file(As I shared the TXT files in the previous post).