Post Go back to editing

ADRV9002: MCS setting on the IIO oscilloscope

Category: Software
Product Number: ADRV9002
Software Version: 2021_R2

I am testing MCS with EVAL-ADRV9002 and ZCU102.
UG-1828 has the following description and I figured that even with one ADRV9002 I would need to use MCS to phase match RX1 and RX2.

"MCS is needed when an application requires deterministic latency among datapaths within one ADRV9001 device or multiple ADRV9001 devices."

I have created a json file with MCS enabled.


I loaded the json file on IIO oscilloscope, MCS is now enabled, but the local oscillator of RX cannot be changed from 2400MHz.

(Local frequency could be changed when MCS is disabled.)

I am trying to run MCS using the following procedure, is there a mistake in the procedure?
1. load Json file with MCS enabled in IIO Oscilloscope.
2. Change the local frequency in IIO Oscilloscope.
3. control the MCS pin.

Best regards

hsato

Thread Notes

Parents
  • Hi  

    This is Ivan, thank you for reaching out and bringing the matter to our attention. I have received your inquiry and am currently looking into the issue. I will get back at you as soon as possible. 

    Regards

  • Hi,

    First, I would recommend for you to move to the 2022_R2 release as we fixe the LO stuff. But actually note, that was a workaround because there are two fundamental issues with MCS (apparently at the FW level) at this point:

    1) The issue you're already facing with changing the LO;

    2) In our tests, MCS only works once. Meaning, if you try to run it a second time, it will get stuck at some point point.

    - Nuno Sá

Reply
  • Hi,

    First, I would recommend for you to move to the 2022_R2 release as we fixe the LO stuff. But actually note, that was a workaround because there are two fundamental issues with MCS (apparently at the FW level) at this point:

    1) The issue you're already facing with changing the LO;

    2) In our tests, MCS only works once. Meaning, if you try to run it a second time, it will get stuck at some point point.

    - Nuno Sá

Children
  • Thanks for the reply.
    I have verified that I can change the local frequency with MCS enabled on my 2022_R2.
    I then entered 6 pulses on the MCS pin with the following shell script, but MCS does not appear to be running.

    echo 465 > /sys/class/gpio/export
    echo "out" >  /sys/class/gpio/gpio465/direction
    echo 1 >  /sys/class/gpio/gpio465/value
    echo 0 >  /sys/class/gpio/gpio465/value
    sleep 0.001
    echo 1 >  /sys/class/gpio/gpio465/value
    echo 0 >  /sys/class/gpio/gpio465/value
    sleep 0.001
    echo 1 >  /sys/class/gpio/gpio465/value
    echo 0 >  /sys/class/gpio/gpio465/value
    sleep 0.001
    echo 1 >  /sys/class/gpio/gpio465/value
    echo 0 >  /sys/class/gpio/gpio465/value
    sleep 0.001
    echo 1 >  /sys/class/gpio/gpio465/value
    echo 0 >  /sys/class/gpio/gpio465/value
    sleep 0.001
    echo 1 >  /sys/class/gpio/gpio465/value
    echo 0 >  /sys/class/gpio/gpio465/value
    sleep 0.001
    echo 465 > /sys/class/gpio/unexport
    


    1. Is there a mistake in the procedure I am executing?
    2. is there any way to verify that MCS is running?

    Best regards
    hsato

  • Hi

    You need to first set the device in the MCS read state by doing `echo 1 > /sys/bus/iio/devices/iio\:device1/multi_chip_sync`. Since, you're doing it from a script you need to do the echo from the background like `echo 1 > /sys/bus/iio/devices/iio\:device1/multi_chip_sync &`  and then send the pulses. The reason is that the echo will block because the driver will do a busy poll waiting for the 6 pulses and return to you when MCS is done. There's also timeout of 10 seconds for you to send the pulses. If MCS is not done in 11 seconds the poll will timeout.

    - Nuno Sá

  • Thank you for your thoughtful response.
    I performed the MCS using the procedure you described and was able to make the phases of RX1 and RX2 constant.

    Best regards
    hsato

  • Hi  . I have same setup as yours and  I'm using this command to send 1 to multi_chip_sync attribute: echo 1 > /sys/bus/iio/devices/iio:device1/multi_chip_sync &. And then I use this bash script to send the pulses:

    echo 465 > /sys/class/gpio/export
    echo "out" > /sys/class/gpio/gpio465/direction
    echo 1 > /sys/class/gpio/gpio465/value
    echo 0 > /sys/class/gpio/gpio465/value
    sleep 0.001
    echo 1 > /sys/class/gpio/gpio465/value
    echo 0 > /sys/class/gpio/gpio465/value
    sleep 0.001
    echo 1 > /sys/class/gpio/gpio465/value
    echo 0 > /sys/class/gpio/gpio465/value
    sleep 0.001
    echo 1 > /sys/class/gpio/gpio465/value
    echo 0 > /sys/class/gpio/gpio465/value
    sleep 0.001
    echo 1 > /sys/class/gpio/gpio465/value
    echo 0 > /sys/class/gpio/gpio465/value
    sleep 0.001
    echo 1 > /sys/class/gpio/gpio465/value
    echo 0 > /sys/class/gpio/gpio465/value
    sleep 0.001
    echo 465 > /sys/class/gpio/unexport

    But I get the error -bash: echo: write error: Connection timed out.

    One more thing that I noticed:

    I have attached an ILA to the GPIO 53 in hdl design. When I run the above script standalone, the pulses are recieved on the ILA. But when I run the echo 1 > /sys/bus/iio/devices/iio:device1/multi_chip_sync  command, the hardware manager in Vivado stops working saying that the clocks have stopped and the ILA is closed. And the whole system needs to be rebooted for the hardware manager to open again. i.e. the clock are stopped permenantly. I have tested this by connecting ps 100Mhz clock and the ref_clk going to the adrv9002 axi ip to the ILA in hdl, but same behaviour in both cases.

    Kindly let me know if you faced any similar issue. Thanks.

  • Hello.

    I have checked MCS using 2021_R2 provided by Analog Devices. The procedure is as follows
    1. load the json file with MCS enabled.
    2. run multi_chip_sync.
    3. Toggle the GPIOs 6 times within 10 seconds.
    I was able to run MCS with this procedure. (I have not checked the GPIO toggling by ILA.) I hope this will be helpful.

  • Thanks. Can you please share the json file if its not a problem?

    Also how are you changing the state of adrv9002 to calibrated? Have you made changes in the driver or are you changing it from the IIO oscilloscope application?

  • Hello.

    Attached is the json file. I have changed the extension to txt because uploading was not allowed if the file type was json.

    I loaded the json on my IIO oscilloscope.
    The driver has not been changed.

    {
      "clocks": {
        "deviceClock_kHz": 38400,
        "clkPllVcoFreq_daHz": 884736000,
        "clkPllHsDiv": 0,
        "clkPllMode": 0,
        "clk1105Div": 2,
        "armClkDiv": 6,
        "armPowerSavingClkDiv": 1,
        "refClockOutEnable": true,
        "auxPllPower": 2,
        "clkPllPower": 2,
        "padRefClkDrv": 0,
        "extLo1OutFreq_kHz": 0,
        "extLo2OutFreq_kHz": 0,
        "rfPll1LoMode": 0,
        "rfPll2LoMode": 0,
        "ext1LoType": 0,
        "ext2LoType": 0,
        "rx1RfInputSel": 0,
        "rx2RfInputSel": 0,
        "extLo1Divider": 2,
        "extLo2Divider": 2,
        "rfPllPhaseSyncMode": 0,
        "rx1LoSelect": 2,
        "rx2LoSelect": 2,
        "tx1LoSelect": 1,
        "tx2LoSelect": 1,
        "rx1LoDivMode": 1,
        "rx2LoDivMode": 1,
        "tx1LoDivMode": 1,
        "tx2LoDivMode": 1,
        "loGen1Select": 1,
        "loGen2Select": 1
      },
      "rx": {
        "rxInitChannelMask": 195,
        "rxChannelCfg": [ {
            "profile": {
              "primarySigBandwidth_Hz": 38000000,
              "rxOutputRate_Hz": 61440000,
              "rxInterfaceSampleRate_Hz": 61440000,
              "rxOffsetLo_kHz": 490,
              "rxNcoEnable": true,
              "outputSignaling": 0,
              "filterOrder": 1,
              "filterOrderLp": 1,
              "hpAdcCorner": 20000000,
              "lpAdcCorner": 0,
              "adcClk_kHz": 2211840,
              "rxCorner3dB_kHz": 40000,
              "rxCorner3dBLp_kHz": 40000,
              "tiaPower": 2,
              "tiaPowerLp": 2,
              "channelType": 1,
              "adcType": 1,
              "lpAdcCalMode": 0,
              "gainTableType": 0,
              "rxDpProfile": {
                "rxNbDecTop": {
                  "scicBlk23En": 0,
                  "scicBlk23DivFactor": 1,
                  "scicBlk23LowRippleEn": 0,
                  "decBy2Blk35En": 0,
                  "decBy2Blk37En": 0,
                  "decBy2Blk39En": 0,
                  "decBy2Blk41En": 0,
                  "decBy2Blk43En": 0,
                  "decBy3Blk45En": 0,
                  "decBy2Blk47En": 0
                },
                "rxWbDecTop": {
                  "decBy2Blk25En": 0,
                  "decBy2Blk27En": 0,
                  "decBy2Blk29En": 0,
                  "decBy2Blk31En": 0,
                  "decBy2Blk33En": 0,
                  "wbLpfBlk33p1En": 0
                },
                "rxDecTop": {
                  "decBy3Blk15En": 1,
                  "decBy2Hb3Blk17p1En": 0,
                  "decBy2Hb4Blk17p2En": 0,
                  "decBy2Hb5Blk19p1En": 0,
                  "decBy2Hb6Blk19p2En": 0
                },
                "rxSincHBTop": {
                  "sincGainMux": 1,
                  "sincMux": 4,
                  "hbMux": 4,
                  "isGainCompEnabled": 0,
                  "gainComp9GainI": [ 16384, 16384, 16384, 16384, 16384, 16384 ],
                  "gainComp9GainQ": [ 0, 0, 0, 0, 0, 0 ]
                },
                "rxNbDem": {
                  "dpInFifo": {
                    "dpInFifoEn": 0,
                    "dpInFifoMode": 0,
                    "dpInFifoTestDataSel": 0
                  },
                  "rxNbNco": {
                    "rxNbNcoEn": 0,
                    "rxNbNcoConfig": {
                      "freq": 0,
                      "sampleFreq": 0,
                      "phase": 0,
                      "realOut": 0
                    }
                  },
                  "rxWbNbCompPFir": {
                    "bankSel": 0,
                    "rxWbNbCompPFirInMuxSel": 0,
                    "rxWbNbCompPFirEn": 1
                  },
                  "resamp": {
                    "rxResampEn": 0,
                    "resampPhaseI": 0,
                    "resampPhaseQ": 0
                  },
                  "gsOutMuxSel": 1,
                  "rxOutSel": 0,
                  "rxRoundMode": 0,
                  "dpArmSel": 0
                }
              },
              "lnaConfig": {
                "externalLnaPresent": false,
                "gpioSourceSel": 0,
                "externalLnaPinSel": 0,
                "settlingDelay": 0,
                "numberLnaGainSteps": 0,
                "lnaGainSteps_mdB": [ 0, 0, 0, 0 ],
                "lnaDigitalGainDelay": 0,
                "minGainIndex": 0,
                "lnaType": 0
              },
              "rxSsiConfig": {
                "ssiType": 2,
                "ssiDataFormatSel": 4,
                "numLaneSel": 1,
                "strobeType": 0,
                "lsbFirst": 0,
                "qFirst": 0,
                "txRefClockPin": 0,
                "lvdsIBitInversion": false,
                "lvdsQBitInversion": false,
                "lvdsStrobeBitInversion": false,
                "lvdsUseLsbIn12bitMode": 0,
                "lvdsRxClkInversionEn": false,
                "cmosDdrPosClkEn": false,
                "cmosClkInversionEn": false,
                "ddrEn": true,
                "rxMaskStrobeEn": false
              }
            }
          }, {
            "profile": {
              "primarySigBandwidth_Hz": 38000000,
              "rxOutputRate_Hz": 61440000,
              "rxInterfaceSampleRate_Hz": 61440000,
              "rxOffsetLo_kHz": 490,
              "rxNcoEnable": true,
              "outputSignaling": 0,
              "filterOrder": 1,
              "filterOrderLp": 1,
              "hpAdcCorner": 20000000,
              "lpAdcCorner": 0,
              "adcClk_kHz": 2211840,
              "rxCorner3dB_kHz": 40000,
              "rxCorner3dBLp_kHz": 40000,
              "tiaPower": 2,
              "tiaPowerLp": 2,
              "channelType": 2,
              "adcType": 1,
              "lpAdcCalMode": 0,
              "gainTableType": 0,
              "rxDpProfile": {
                "rxNbDecTop": {
                  "scicBlk23En": 0,
                  "scicBlk23DivFactor": 1,
                  "scicBlk23LowRippleEn": 0,
                  "decBy2Blk35En": 0,
                  "decBy2Blk37En": 0,
                  "decBy2Blk39En": 0,
                  "decBy2Blk41En": 0,
                  "decBy2Blk43En": 0,
                  "decBy3Blk45En": 0,
                  "decBy2Blk47En": 0
                },
                "rxWbDecTop": {
                  "decBy2Blk25En": 0,
                  "decBy2Blk27En": 0,
                  "decBy2Blk29En": 0,
                  "decBy2Blk31En": 0,
                  "decBy2Blk33En": 0,
                  "wbLpfBlk33p1En": 0
                },
                "rxDecTop": {
                  "decBy3Blk15En": 1,
                  "decBy2Hb3Blk17p1En": 0,
                  "decBy2Hb4Blk17p2En": 0,
                  "decBy2Hb5Blk19p1En": 0,
                  "decBy2Hb6Blk19p2En": 0
                },
                "rxSincHBTop": {
                  "sincGainMux": 1,
                  "sincMux": 4,
                  "hbMux": 4,
                  "isGainCompEnabled": 0,
                  "gainComp9GainI": [ 16384, 16384, 16384, 16384, 16384, 16384 ],
                  "gainComp9GainQ": [ 0, 0, 0, 0, 0, 0 ]
                },
                "rxNbDem": {
                  "dpInFifo": {
                    "dpInFifoEn": 0,
                    "dpInFifoMode": 0,
                    "dpInFifoTestDataSel": 0
                  },
                  "rxNbNco": {
                    "rxNbNcoEn": 0,
                    "rxNbNcoConfig": {
                      "freq": 0,
                      "sampleFreq": 0,
                      "phase": 0,
                      "realOut": 0
                    }
                  },
                  "rxWbNbCompPFir": {
                    "bankSel": 2,
                    "rxWbNbCompPFirInMuxSel": 0,
                    "rxWbNbCompPFirEn": 1
                  },
                  "resamp": {
                    "rxResampEn": 0,
                    "resampPhaseI": 0,
                    "resampPhaseQ": 0
                  },
                  "gsOutMuxSel": 1,
                  "rxOutSel": 0,
                  "rxRoundMode": 0,
                  "dpArmSel": 0
                }
              },
              "lnaConfig": {
                "externalLnaPresent": false,
                "gpioSourceSel": 0,
                "externalLnaPinSel": 0,
                "settlingDelay": 0,
                "numberLnaGainSteps": 0,
                "lnaGainSteps_mdB": [ 0, 0, 0, 0 ],
                "lnaDigitalGainDelay": 0,
                "minGainIndex": 0,
                "lnaType": 0
              },
              "rxSsiConfig": {
                "ssiType": 2,
                "ssiDataFormatSel": 4,
                "numLaneSel": 1,
                "strobeType": 0,
                "lsbFirst": 0,
                "qFirst": 0,
                "txRefClockPin": 0,
                "lvdsIBitInversion": false,
                "lvdsQBitInversion": false,
                "lvdsStrobeBitInversion": false,
                "lvdsUseLsbIn12bitMode": 0,
                "lvdsRxClkInversionEn": false,
                "cmosDdrPosClkEn": false,
                "cmosClkInversionEn": false,
                "ddrEn": true,
                "rxMaskStrobeEn": false
              }
            }
          }, {
            "profile": {
              "primarySigBandwidth_Hz": 12500,
              "rxOutputRate_Hz": 0,
              "rxInterfaceSampleRate_Hz": 0,
              "rxOffsetLo_kHz": 0,
              "rxNcoEnable": false,
              "outputSignaling": 0,
              "filterOrder": 1,
              "filterOrderLp": 1,
              "hpAdcCorner": 0,
              "lpAdcCorner": 0,
              "adcClk_kHz": 0,
              "rxCorner3dB_kHz": 0,
              "rxCorner3dBLp_kHz": 0,
              "tiaPower": 2,
              "tiaPowerLp": 2,
              "channelType": 0,
              "adcType": 1,
              "lpAdcCalMode": 0,
              "gainTableType": 0,
              "rxDpProfile": {
                "rxNbDecTop": {
                  "scicBlk23En": 0,
                  "scicBlk23DivFactor": 0,
                  "scicBlk23LowRippleEn": 0,
                  "decBy2Blk35En": 0,
                  "decBy2Blk37En": 0,
                  "decBy2Blk39En": 0,
                  "decBy2Blk41En": 0,
                  "decBy2Blk43En": 0,
                  "decBy3Blk45En": 0,
                  "decBy2Blk47En": 0
                },
                "rxWbDecTop": {
                  "decBy2Blk25En": 0,
                  "decBy2Blk27En": 0,
                  "decBy2Blk29En": 0,
                  "decBy2Blk31En": 0,
                  "decBy2Blk33En": 0,
                  "wbLpfBlk33p1En": 0
                },
                "rxDecTop": {
                  "decBy3Blk15En": 0,
                  "decBy2Hb3Blk17p1En": 0,
                  "decBy2Hb4Blk17p2En": 0,
                  "decBy2Hb5Blk19p1En": 0,
                  "decBy2Hb6Blk19p2En": 0
                },
                "rxSincHBTop": {
                  "sincGainMux": 1,
                  "sincMux": 0,
                  "hbMux": 4,
                  "isGainCompEnabled": 0,
                  "gainComp9GainI": [ 16384, 16384, 16384, 16384, 16384, 16384 ],
                  "gainComp9GainQ": [ 0, 0, 0, 0, 0, 0 ]
                },
                "rxNbDem": {
                  "dpInFifo": {
                    "dpInFifoEn": 0,
                    "dpInFifoMode": 0,
                    "dpInFifoTestDataSel": 0
                  },
                  "rxNbNco": {
                    "rxNbNcoEn": 0,
                    "rxNbNcoConfig": {
                      "freq": 0,
                      "sampleFreq": 0,
                      "phase": 0,
                      "realOut": 0
                    }
                  },
                  "rxWbNbCompPFir": {
                    "bankSel": 0,
                    "rxWbNbCompPFirInMuxSel": 0,
                    "rxWbNbCompPFirEn": 0
                  },
                  "resamp": {
                    "rxResampEn": 0,
                    "resampPhaseI": 0,
                    "resampPhaseQ": 0
                  },
                  "gsOutMuxSel": 1,
                  "rxOutSel": 0,
                  "rxRoundMode": 0,
                  "dpArmSel": 0
                }
              },
              "lnaConfig": {
                "externalLnaPresent": false,
                "gpioSourceSel": 0,
                "externalLnaPinSel": 0,
                "settlingDelay": 0,
                "numberLnaGainSteps": 0,
                "lnaGainSteps_mdB": [ 0, 0, 0, 0 ],
                "lnaDigitalGainDelay": 0,
                "minGainIndex": 0,
                "lnaType": 0
              },
              "rxSsiConfig": {
                "ssiType": 0,
                "ssiDataFormatSel": 0,
                "numLaneSel": 0,
                "strobeType": 0,
                "lsbFirst": 0,
                "qFirst": 0,
                "txRefClockPin": 0,
                "lvdsIBitInversion": false,
                "lvdsQBitInversion": false,
                "lvdsStrobeBitInversion": false,
                "lvdsUseLsbIn12bitMode": 0,
                "lvdsRxClkInversionEn": false,
                "cmosDdrPosClkEn": false,
                "cmosClkInversionEn": false,
                "ddrEn": false,
                "rxMaskStrobeEn": false
              }
            }
          }, {
            "profile": {
              "primarySigBandwidth_Hz": 12500,
              "rxOutputRate_Hz": 0,
              "rxInterfaceSampleRate_Hz": 0,
              "rxOffsetLo_kHz": 0,
              "rxNcoEnable": false,
              "outputSignaling": 0,
              "filterOrder": 1,
              "filterOrderLp": 1,
              "hpAdcCorner": 0,
              "lpAdcCorner": 0,
              "adcClk_kHz": 0,
              "rxCorner3dB_kHz": 0,
              "rxCorner3dBLp_kHz": 0,
              "tiaPower": 2,
              "tiaPowerLp": 2,
              "channelType": 0,
              "adcType": 1,
              "lpAdcCalMode": 0,
              "gainTableType": 0,
              "rxDpProfile": {
                "rxNbDecTop": {
                  "scicBlk23En": 0,
                  "scicBlk23DivFactor": 0,
                  "scicBlk23LowRippleEn": 0,
                  "decBy2Blk35En": 0,
                  "decBy2Blk37En": 0,
                  "decBy2Blk39En": 0,
                  "decBy2Blk41En": 0,
                  "decBy2Blk43En": 0,
                  "decBy3Blk45En": 0,
                  "decBy2Blk47En": 0
                },
                "rxWbDecTop": {
                  "decBy2Blk25En": 0,
                  "decBy2Blk27En": 0,
                  "decBy2Blk29En": 0,
                  "decBy2Blk31En": 0,
                  "decBy2Blk33En": 0,
                  "wbLpfBlk33p1En": 0
                },
                "rxDecTop": {
                  "decBy3Blk15En": 0,
                  "decBy2Hb3Blk17p1En": 0,
                  "decBy2Hb4Blk17p2En": 0,
                  "decBy2Hb5Blk19p1En": 0,
                  "decBy2Hb6Blk19p2En": 0
                },
                "rxSincHBTop": {
                  "sincGainMux": 1,
                  "sincMux": 0,
                  "hbMux": 4,
                  "isGainCompEnabled": 0,
                  "gainComp9GainI": [ 16384, 16384, 16384, 16384, 16384, 16384 ],
                  "gainComp9GainQ": [ 0, 0, 0, 0, 0, 0 ]
                },
                "rxNbDem": {
                  "dpInFifo": {
                    "dpInFifoEn": 0,
                    "dpInFifoMode": 0,
                    "dpInFifoTestDataSel": 0
                  },
                  "rxNbNco": {
                    "rxNbNcoEn": 0,
                    "rxNbNcoConfig": {
                      "freq": 0,
                      "sampleFreq": 0,
                      "phase": 0,
                      "realOut": 0
                    }
                  },
                  "rxWbNbCompPFir": {
                    "bankSel": 0,
                    "rxWbNbCompPFirInMuxSel": 0,
                    "rxWbNbCompPFirEn": 0
                  },
                  "resamp": {
                    "rxResampEn": 0,
                    "resampPhaseI": 0,
                    "resampPhaseQ": 0
                  },
                  "gsOutMuxSel": 1,
                  "rxOutSel": 0,
                  "rxRoundMode": 0,
                  "dpArmSel": 0
                }
              },
              "lnaConfig": {
                "externalLnaPresent": false,
                "gpioSourceSel": 0,
                "externalLnaPinSel": 0,
                "settlingDelay": 0,
                "numberLnaGainSteps": 0,
                "lnaGainSteps_mdB": [ 0, 0, 0, 0 ],
                "lnaDigitalGainDelay": 0,
                "minGainIndex": 0,
                "lnaType": 0
              },
              "rxSsiConfig": {
                "ssiType": 0,
                "ssiDataFormatSel": 0,
                "numLaneSel": 0,
                "strobeType": 0,
                "lsbFirst": 0,
                "qFirst": 0,
                "txRefClockPin": 0,
                "lvdsIBitInversion": false,
                "lvdsQBitInversion": false,
                "lvdsStrobeBitInversion": false,
                "lvdsUseLsbIn12bitMode": 0,
                "lvdsRxClkInversionEn": false,
                "cmosDdrPosClkEn": false,
                "cmosClkInversionEn": false,
                "ddrEn": false,
                "rxMaskStrobeEn": false
              }
            }
          }, {
            "profile": {
              "primarySigBandwidth_Hz": 38000000,
              "rxOutputRate_Hz": 61440000,
              "rxInterfaceSampleRate_Hz": 61440000,
              "rxOffsetLo_kHz": 0,
              "rxNcoEnable": false,
              "outputSignaling": 0,
              "filterOrder": 1,
              "filterOrderLp": 1,
              "hpAdcCorner": 50000000,
              "lpAdcCorner": 0,
              "adcClk_kHz": 2211840,
              "rxCorner3dB_kHz": 100000,
              "rxCorner3dBLp_kHz": 100000,
              "tiaPower": 2,
              "tiaPowerLp": 2,
              "channelType": 64,
              "adcType": 1,
              "lpAdcCalMode": 0,
              "gainTableType": 0,
              "rxDpProfile": {
                "rxNbDecTop": {
                  "scicBlk23En": 0,
                  "scicBlk23DivFactor": 1,
                  "scicBlk23LowRippleEn": 0,
                  "decBy2Blk35En": 0,
                  "decBy2Blk37En": 0,
                  "decBy2Blk39En": 0,
                  "decBy2Blk41En": 0,
                  "decBy2Blk43En": 0,
                  "decBy3Blk45En": 0,
                  "decBy2Blk47En": 0
                },
                "rxWbDecTop": {
                  "decBy2Blk25En": 0,
                  "decBy2Blk27En": 0,
                  "decBy2Blk29En": 0,
                  "decBy2Blk31En": 0,
                  "decBy2Blk33En": 0,
                  "wbLpfBlk33p1En": 0
                },
                "rxDecTop": {
                  "decBy3Blk15En": 1,
                  "decBy2Hb3Blk17p1En": 0,
                  "decBy2Hb4Blk17p2En": 0,
                  "decBy2Hb5Blk19p1En": 0,
                  "decBy2Hb6Blk19p2En": 0
                },
                "rxSincHBTop": {
                  "sincGainMux": 1,
                  "sincMux": 4,
                  "hbMux": 2,
                  "isGainCompEnabled": 0,
                  "gainComp9GainI": [ 16384, 16384, 16384, 16384, 16384, 16384 ],
                  "gainComp9GainQ": [ 0, 0, 0, 0, 0, 0 ]
                },
                "rxNbDem": {
                  "dpInFifo": {
                    "dpInFifoEn": 0,
                    "dpInFifoMode": 0,
                    "dpInFifoTestDataSel": 0
                  },
                  "rxNbNco": {
                    "rxNbNcoEn": 0,
                    "rxNbNcoConfig": {
                      "freq": 0,
                      "sampleFreq": 0,
                      "phase": 0,
                      "realOut": 0
                    }
                  },
                  "rxWbNbCompPFir": {
                    "bankSel": 1,
                    "rxWbNbCompPFirInMuxSel": 0,
                    "rxWbNbCompPFirEn": 0
                  },
                  "resamp": {
                    "rxResampEn": 0,
                    "resampPhaseI": 0,
                    "resampPhaseQ": 0
                  },
                  "gsOutMuxSel": 1,
                  "rxOutSel": 0,
                  "rxRoundMode": 0,
                  "dpArmSel": 0
                }
              },
              "lnaConfig": {
                "externalLnaPresent": false,
                "gpioSourceSel": 0,
                "externalLnaPinSel": 0,
                "settlingDelay": 0,
                "numberLnaGainSteps": 0,
                "lnaGainSteps_mdB": [ 0, 0, 0, 0 ],
                "lnaDigitalGainDelay": 0,
                "minGainIndex": 0,
                "lnaType": 0
              },
              "rxSsiConfig": {
                "ssiType": 2,
                "ssiDataFormatSel": 4,
                "numLaneSel": 1,
                "strobeType": 0,
                "lsbFirst": 0,
                "qFirst": 0,
                "txRefClockPin": 0,
                "lvdsIBitInversion": false,
                "lvdsQBitInversion": false,
                "lvdsStrobeBitInversion": false,
                "lvdsUseLsbIn12bitMode": 0,
                "lvdsRxClkInversionEn": false,
                "cmosDdrPosClkEn": false,
                "cmosClkInversionEn": false,
                "ddrEn": true,
                "rxMaskStrobeEn": false
              }
            }
          }, {
            "profile": {
              "primarySigBandwidth_Hz": 38000000,
              "rxOutputRate_Hz": 61440000,
              "rxInterfaceSampleRate_Hz": 61440000,
              "rxOffsetLo_kHz": 0,
              "rxNcoEnable": false,
              "outputSignaling": 0,
              "filterOrder": 1,
              "filterOrderLp": 1,
              "hpAdcCorner": 50000000,
              "lpAdcCorner": 0,
              "adcClk_kHz": 2211840,
              "rxCorner3dB_kHz": 100000,
              "rxCorner3dBLp_kHz": 100000,
              "tiaPower": 2,
              "tiaPowerLp": 2,
              "channelType": 128,
              "adcType": 1,
              "lpAdcCalMode": 0,
              "gainTableType": 0,
              "rxDpProfile": {
                "rxNbDecTop": {
                  "scicBlk23En": 0,
                  "scicBlk23DivFactor": 1,
                  "scicBlk23LowRippleEn": 0,
                  "decBy2Blk35En": 0,
                  "decBy2Blk37En": 0,
                  "decBy2Blk39En": 0,
                  "decBy2Blk41En": 0,
                  "decBy2Blk43En": 0,
                  "decBy3Blk45En": 0,
                  "decBy2Blk47En": 0
                },
                "rxWbDecTop": {
                  "decBy2Blk25En": 0,
                  "decBy2Blk27En": 0,
                  "decBy2Blk29En": 0,
                  "decBy2Blk31En": 0,
                  "decBy2Blk33En": 0,
                  "wbLpfBlk33p1En": 0
                },
                "rxDecTop": {
                  "decBy3Blk15En": 1,
                  "decBy2Hb3Blk17p1En": 0,
                  "decBy2Hb4Blk17p2En": 0,
                  "decBy2Hb5Blk19p1En": 0,
                  "decBy2Hb6Blk19p2En": 0
                },
                "rxSincHBTop": {
                  "sincGainMux": 1,
                  "sincMux": 4,
                  "hbMux": 2,
                  "isGainCompEnabled": 0,
                  "gainComp9GainI": [ 16384, 16384, 16384, 16384, 16384, 16384 ],
                  "gainComp9GainQ": [ 0, 0, 0, 0, 0, 0 ]
                },
                "rxNbDem": {
                  "dpInFifo": {
                    "dpInFifoEn": 0,
                    "dpInFifoMode": 0,
                    "dpInFifoTestDataSel": 0
                  },
                  "rxNbNco": {
                    "rxNbNcoEn": 0,
                    "rxNbNcoConfig": {
                      "freq": 0,
                      "sampleFreq": 0,
                      "phase": 0,
                      "realOut": 0
                    }
                  },
                  "rxWbNbCompPFir": {
                    "bankSel": 3,
                    "rxWbNbCompPFirInMuxSel": 0,
                    "rxWbNbCompPFirEn": 0
                  },
                  "resamp": {
                    "rxResampEn": 0,
                    "resampPhaseI": 0,
                    "resampPhaseQ": 0
                  },
                  "gsOutMuxSel": 1,
                  "rxOutSel": 0,
                  "rxRoundMode": 0,
                  "dpArmSel": 0
                }
              },
              "lnaConfig": {
                "externalLnaPresent": false,
                "gpioSourceSel": 0,
                "externalLnaPinSel": 0,
                "settlingDelay": 0,
                "numberLnaGainSteps": 0,
                "lnaGainSteps_mdB": [ 0, 0, 0, 0 ],
                "lnaDigitalGainDelay": 0,
                "minGainIndex": 0,
                "lnaType": 0
              },
              "rxSsiConfig": {
                "ssiType": 2,
                "ssiDataFormatSel": 4,
                "numLaneSel": 1,
                "strobeType": 0,
                "lsbFirst": 0,
                "qFirst": 0,
                "txRefClockPin": 0,
                "lvdsIBitInversion": false,
                "lvdsQBitInversion": false,
                "lvdsStrobeBitInversion": false,
                "lvdsUseLsbIn12bitMode": 0,
                "lvdsRxClkInversionEn": false,
                "cmosDdrPosClkEn": false,
                "cmosClkInversionEn": false,
                "ddrEn": true,
                "rxMaskStrobeEn": false
              }
            }
          }, {
            "profile": {
              "primarySigBandwidth_Hz": 12500,
              "rxOutputRate_Hz": 0,
              "rxInterfaceSampleRate_Hz": 0,
              "rxOffsetLo_kHz": 0,
              "rxNcoEnable": false,
              "outputSignaling": 0,
              "filterOrder": 1,
              "filterOrderLp": 1,
              "hpAdcCorner": 0,
              "lpAdcCorner": 0,
              "adcClk_kHz": 0,
              "rxCorner3dB_kHz": 0,
              "rxCorner3dBLp_kHz": 0,
              "tiaPower": 2,
              "tiaPowerLp": 2,
              "channelType": 0,
              "adcType": 1,
              "lpAdcCalMode": 0,
              "gainTableType": 0,
              "rxDpProfile": {
                "rxNbDecTop": {
                  "scicBlk23En": 0,
                  "scicBlk23DivFactor": 0,
                  "scicBlk23LowRippleEn": 0,
                  "decBy2Blk35En": 0,
                  "decBy2Blk37En": 0,
                  "decBy2Blk39En": 0,
                  "decBy2Blk41En": 0,
                  "decBy2Blk43En": 0,
                  "decBy3Blk45En": 0,
                  "decBy2Blk47En": 0
                },
                "rxWbDecTop": {
                  "decBy2Blk25En": 0,
                  "decBy2Blk27En": 0,
                  "decBy2Blk29En": 0,
                  "decBy2Blk31En": 0,
                  "decBy2Blk33En": 0,
                  "wbLpfBlk33p1En": 0
                },
                "rxDecTop": {
                  "decBy3Blk15En": 0,
                  "decBy2Hb3Blk17p1En": 0,
                  "decBy2Hb4Blk17p2En": 0,
                  "decBy2Hb5Blk19p1En": 0,
                  "decBy2Hb6Blk19p2En": 0
                },
                "rxSincHBTop": {
                  "sincGainMux": 1,
                  "sincMux": 0,
                  "hbMux": 4,
                  "isGainCompEnabled": 0,
                  "gainComp9GainI": [ 16384, 16384, 16384, 16384, 16384, 16384 ],
                  "gainComp9GainQ": [ 0, 0, 0, 0, 0, 0 ]
                },
                "rxNbDem": {
                  "dpInFifo": {
                    "dpInFifoEn": 0,
                    "dpInFifoMode": 0,
                    "dpInFifoTestDataSel": 0
                  },
                  "rxNbNco": {
                    "rxNbNcoEn": 0,
                    "rxNbNcoConfig": {
                      "freq": 0,
                      "sampleFreq": 0,
                      "phase": 0,
                      "realOut": 0
                    }
                  },
                  "rxWbNbCompPFir": {
                    "bankSel": 0,
                    "rxWbNbCompPFirInMuxSel": 0,
                    "rxWbNbCompPFirEn": 0
                  },
                  "resamp": {
                    "rxResampEn": 0,
                    "resampPhaseI": 0,
                    "resampPhaseQ": 0
                  },
                  "gsOutMuxSel": 1,
                  "rxOutSel": 0,
                  "rxRoundMode": 0,
                  "dpArmSel": 0
                }
              },
              "lnaConfig": {
                "externalLnaPresent": false,
                "gpioSourceSel": 0,
                "externalLnaPinSel": 0,
                "settlingDelay": 0,
                "numberLnaGainSteps": 0,
                "lnaGainSteps_mdB": [ 0, 0, 0, 0 ],
                "lnaDigitalGainDelay": 0,
                "minGainIndex": 0,
                "lnaType": 0
              },
              "rxSsiConfig": {
                "ssiType": 0,
                "ssiDataFormatSel": 0,
                "numLaneSel": 0,
                "strobeType": 0,
                "lsbFirst": 0,
                "qFirst": 0,
                "txRefClockPin": 0,
                "lvdsIBitInversion": false,
                "lvdsQBitInversion": false,
                "lvdsStrobeBitInversion": false,
                "lvdsUseLsbIn12bitMode": 0,
                "lvdsRxClkInversionEn": false,
                "cmosDdrPosClkEn": false,
                "cmosClkInversionEn": false,
                "ddrEn": false,
                "rxMaskStrobeEn": false
              }
            }
          }, {
            "profile": {
              "primarySigBandwidth_Hz": 12500,
              "rxOutputRate_Hz": 0,
              "rxInterfaceSampleRate_Hz": 0,
              "rxOffsetLo_kHz": 0,
              "rxNcoEnable": false,
              "outputSignaling": 0,
              "filterOrder": 1,
              "filterOrderLp": 1,
              "hpAdcCorner": 0,
              "lpAdcCorner": 0,
              "adcClk_kHz": 0,
              "rxCorner3dB_kHz": 0,
              "rxCorner3dBLp_kHz": 0,
              "tiaPower": 2,
              "tiaPowerLp": 2,
              "channelType": 0,
              "adcType": 1,
              "lpAdcCalMode": 0,
              "gainTableType": 0,
              "rxDpProfile": {
                "rxNbDecTop": {
                  "scicBlk23En": 0,
                  "scicBlk23DivFactor": 0,
                  "scicBlk23LowRippleEn": 0,
                  "decBy2Blk35En": 0,
                  "decBy2Blk37En": 0,
                  "decBy2Blk39En": 0,
                  "decBy2Blk41En": 0,
                  "decBy2Blk43En": 0,
                  "decBy3Blk45En": 0,
                  "decBy2Blk47En": 0
                },
                "rxWbDecTop": {
                  "decBy2Blk25En": 0,
                  "decBy2Blk27En": 0,
                  "decBy2Blk29En": 0,
                  "decBy2Blk31En": 0,
                  "decBy2Blk33En": 0,
                  "wbLpfBlk33p1En": 0
                },
                "rxDecTop": {
                  "decBy3Blk15En": 0,
                  "decBy2Hb3Blk17p1En": 0,
                  "decBy2Hb4Blk17p2En": 0,
                  "decBy2Hb5Blk19p1En": 0,
                  "decBy2Hb6Blk19p2En": 0
                },
                "rxSincHBTop": {
                  "sincGainMux": 1,
                  "sincMux": 0,
                  "hbMux": 4,
                  "isGainCompEnabled": 0,
                  "gainComp9GainI": [ 16384, 16384, 16384, 16384, 16384, 16384 ],
                  "gainComp9GainQ": [ 0, 0, 0, 0, 0, 0 ]
                },
                "rxNbDem": {
                  "dpInFifo": {
                    "dpInFifoEn": 0,
                    "dpInFifoMode": 0,
                    "dpInFifoTestDataSel": 0
                  },
                  "rxNbNco": {
                    "rxNbNcoEn": 0,
                    "rxNbNcoConfig": {
                      "freq": 0,
                      "sampleFreq": 0,
                      "phase": 0,
                      "realOut": 0
                    }
                  },
                  "rxWbNbCompPFir": {
                    "bankSel": 0,
                    "rxWbNbCompPFirInMuxSel": 0,
                    "rxWbNbCompPFirEn": 0
                  },
                  "resamp": {
                    "rxResampEn": 0,
                    "resampPhaseI": 0,
                    "resampPhaseQ": 0
                  },
                  "gsOutMuxSel": 1,
                  "rxOutSel": 0,
                  "rxRoundMode": 0,
                  "dpArmSel": 0
                }
              },
              "lnaConfig": {
                "externalLnaPresent": false,
                "gpioSourceSel": 0,
                "externalLnaPinSel": 0,
                "settlingDelay": 0,
                "numberLnaGainSteps": 0,
                "lnaGainSteps_mdB": [ 0, 0, 0, 0 ],
                "lnaDigitalGainDelay": 0,
                "minGainIndex": 0,
                "lnaType": 0
              },
              "rxSsiConfig": {
                "ssiType": 0,
                "ssiDataFormatSel": 0,
                "numLaneSel": 0,
                "strobeType": 0,
                "lsbFirst": 0,
                "qFirst": 0,
                "txRefClockPin": 0,
                "lvdsIBitInversion": false,
                "lvdsQBitInversion": false,
                "lvdsStrobeBitInversion": false,
                "lvdsUseLsbIn12bitMode": 0,
                "lvdsRxClkInversionEn": false,
                "cmosDdrPosClkEn": false,
                "cmosClkInversionEn": false,
                "ddrEn": false,
                "rxMaskStrobeEn": false
              }
            }
          } ]
      },
      "tx": {
        "txInitChannelMask": 12,
        "txProfile": [ {
            "primarySigBandwidth_Hz": 38000000,
            "txInputRate_Hz": 61440000,
            "txInterfaceSampleRate_Hz": 61440000,
            "txOffsetLo_kHz": 0,
            "validDataDelay": 0,
            "txBbf3dBCorner_kHz": 50000,
            "outputSignaling": 0,
            "txPdBiasCurrent": 1,
            "txPdGainEnable": 0,
            "txPrePdRealPole_kHz": 1000000,
            "txPostPdRealPole_kHz": 530000,
            "txBbfPower": 2,
            "txExtLoopBackType": 0,
            "txExtLoopBackForInitCal": 0,
            "txPeakLoopBackPower": 0,
            "frequencyDeviation_Hz": 0,
            "txDpProfile": {
              "txPreProc": {
                "txPreProcSymbol0": 0,
                "txPreProcSymbol1": 0,
                "txPreProcSymbol2": 0,
                "txPreProcSymbol3": 0,
                "txPreProcSymMapDivFactor": 1,
                "txPreProcMode": 1,
                "txPreProcWbNbPfirIBankSel": 0,
                "txPreProcWbNbPfirQBankSel": 1
              },
              "txWbIntTop": {
                "txInterpBy2Blk30En": 0,
                "txInterpBy2Blk28En": 0,
                "txInterpBy2Blk26En": 0,
                "txInterpBy2Blk24En": 0,
                "txInterpBy2Blk22En": 0,
                "txWbLpfBlk22p1En": 0
              },
              "txNbIntTop": {
                "txInterpBy2Blk20En": 0,
                "txInterpBy2Blk18En": 0,
                "txInterpBy2Blk16En": 0,
                "txInterpBy2Blk14En": 0,
                "txInterpBy2Blk12En": 0,
                "txInterpBy3Blk10En": 0,
                "txInterpBy2Blk8En": 0,
                "txScicBlk32En": 0,
                "txScicBlk32DivFactor": 1
              },
              "txIntTop": {
                "interpBy3Blk44p1En": 1,
                "sinc3Blk44En": 0,
                "sinc2Blk42En": 0,
                "interpBy3Blk40En": 1,
                "interpBy2Blk38En": 0,
                "interpBy2Blk36En": 0
              },
              "txIntTopFreqDevMap": {
                "rrc2Frac": 0,
                "mpll": 0,
                "nchLsw": 0,
                "nchMsb": 0,
                "freqDevMapEn": 0,
                "txRoundEn": 1
              },
              "txIqdmDuc": {
                "iqdmDucMode": 0,
                "iqdmDev": 0,
                "iqdmDevOffset": 0,
                "iqdmScalar": 0,
                "iqdmThreshold": 0,
                "iqdmNco": {
                  "freq": 0,
                  "sampleFreq": 61440000,
                  "phase": 0,
                  "realOut": 0
                }
              }
            },
            "txSsiConfig": {
              "ssiType": 2,
              "ssiDataFormatSel": 4,
              "numLaneSel": 1,
              "strobeType": 0,
              "lsbFirst": 0,
              "qFirst": 0,
              "txRefClockPin": 1,
              "lvdsIBitInversion": false,
              "lvdsQBitInversion": false,
              "lvdsStrobeBitInversion": false,
              "lvdsUseLsbIn12bitMode": 0,
              "lvdsRxClkInversionEn": false,
              "cmosDdrPosClkEn": false,
              "cmosClkInversionEn": false,
              "ddrEn": true,
              "rxMaskStrobeEn": false
            }
          }, {
            "primarySigBandwidth_Hz": 38000000,
            "txInputRate_Hz": 61440000,
            "txInterfaceSampleRate_Hz": 61440000,
            "txOffsetLo_kHz": 0,
            "validDataDelay": 0,
            "txBbf3dBCorner_kHz": 50000,
            "outputSignaling": 0,
            "txPdBiasCurrent": 1,
            "txPdGainEnable": 0,
            "txPrePdRealPole_kHz": 1000000,
            "txPostPdRealPole_kHz": 530000,
            "txBbfPower": 2,
            "txExtLoopBackType": 0,
            "txExtLoopBackForInitCal": 0,
            "txPeakLoopBackPower": 0,
            "frequencyDeviation_Hz": 0,
            "txDpProfile": {
              "txPreProc": {
                "txPreProcSymbol0": 0,
                "txPreProcSymbol1": 0,
                "txPreProcSymbol2": 0,
                "txPreProcSymbol3": 0,
                "txPreProcSymMapDivFactor": 1,
                "txPreProcMode": 1,
                "txPreProcWbNbPfirIBankSel": 2,
                "txPreProcWbNbPfirQBankSel": 3
              },
              "txWbIntTop": {
                "txInterpBy2Blk30En": 0,
                "txInterpBy2Blk28En": 0,
                "txInterpBy2Blk26En": 0,
                "txInterpBy2Blk24En": 0,
                "txInterpBy2Blk22En": 0,
                "txWbLpfBlk22p1En": 0
              },
              "txNbIntTop": {
                "txInterpBy2Blk20En": 0,
                "txInterpBy2Blk18En": 0,
                "txInterpBy2Blk16En": 0,
                "txInterpBy2Blk14En": 0,
                "txInterpBy2Blk12En": 0,
                "txInterpBy3Blk10En": 0,
                "txInterpBy2Blk8En": 0,
                "txScicBlk32En": 0,
                "txScicBlk32DivFactor": 1
              },
              "txIntTop": {
                "interpBy3Blk44p1En": 1,
                "sinc3Blk44En": 0,
                "sinc2Blk42En": 0,
                "interpBy3Blk40En": 1,
                "interpBy2Blk38En": 0,
                "interpBy2Blk36En": 0
              },
              "txIntTopFreqDevMap": {
                "rrc2Frac": 0,
                "mpll": 0,
                "nchLsw": 0,
                "nchMsb": 0,
                "freqDevMapEn": 0,
                "txRoundEn": 1
              },
              "txIqdmDuc": {
                "iqdmDucMode": 0,
                "iqdmDev": 0,
                "iqdmDevOffset": 0,
                "iqdmScalar": 0,
                "iqdmThreshold": 0,
                "iqdmNco": {
                  "freq": 0,
                  "sampleFreq": 61440000,
                  "phase": 0,
                  "realOut": 0
                }
              }
            },
            "txSsiConfig": {
              "ssiType": 2,
              "ssiDataFormatSel": 4,
              "numLaneSel": 1,
              "strobeType": 0,
              "lsbFirst": 0,
              "qFirst": 0,
              "txRefClockPin": 1,
              "lvdsIBitInversion": false,
              "lvdsQBitInversion": false,
              "lvdsStrobeBitInversion": false,
              "lvdsUseLsbIn12bitMode": 0,
              "lvdsRxClkInversionEn": false,
              "cmosDdrPosClkEn": false,
              "cmosClkInversionEn": false,
              "ddrEn": true,
              "rxMaskStrobeEn": false
            }
          } ]
      },
      "sysConfig": {
        "duplexMode": 1,
        "fhModeOn": 0,
        "numDynamicProfiles": 1,
        "mcsMode": 1,
        "mcsInterfaceType": 2,
        "adcTypeMonitor": 1,
        "pllLockTime_us": 750,
        "pllPhaseSyncWait_us": 0,
        "pllModulus": {
          "modulus": [ 8388593, 8388593, 8388593, 8388593, 8388593 ],
          "dmModulus": [ 8388593, 8388593 ]
        },
        "warmBootEnable": false
      },
      "pfirBuffer": {
        "pfirRxWbNbChFilterCoeff_A": {
          "numCoeff": 128,
          "symmetricSel": 0,
          "tapsSel": 3,
          "gainSel": 2,
          "coefficients": [ 475, 312, -782, -39, 1201, -777, -1182, 1981, 177, -2874, 1941, 2393, -4416, 225, 5594, -4581, -3668, 8650, -1992, -9342, 9646, 4213, -15137, 6404, 13615, -18199, -2610, 23969, -15142, -17198, 31204, -3269, -34604, 30213, 17955, -49337, 16361, 45636, -53954, -12567, 72920, -40769, -54562, 89506, -4148, -102269, 83183, 57280, -142874, 41767, 139213, -158628, -45955, 231679, -125964, -193870, 320642, -4532, -442087, 390927, 347244, -1055854, 429729, 4391599, 4391599, 429729, -1055854, 347244, 390927, -442087, -4532, 320642, -193870, -125964, 231679, -45955, -158628, 139213, 41767, -142874, 57280, 83183, -102269, -4148, 89506, -54562, -40769, 72920, -12567, -53954, 45636, 16361, -49337, 17955, 30213, -34604, -3269, 31204, -17198, -15142, 23969, -2610, -18199, 13615, 6404, -15137, 4213, 9646, -9342, -1992, 8650, -3668, -4581, 5594, 225, -4416, 2393, 1941, -2874, 177, 1981, -1182, -777, 1201, -39, -782, 312, 0 ]
        },
        "pfirRxWbNbChFilterCoeff_B": {
          "numCoeff": 128,
          "symmetricSel": 0,
          "tapsSel": 3,
          "gainSel": 2,
          "coefficients": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8388608, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
        },
        "pfirRxWbNbChFilterCoeff_C": {
          "numCoeff": 128,
          "symmetricSel": 0,
          "tapsSel": 3,
          "gainSel": 2,
          "coefficients": [ 475, 312, -782, -39, 1201, -777, -1182, 1981, 177, -2874, 1941, 2393, -4416, 225, 5594, -4581, -3668, 8650, -1992, -9342, 9646, 4213, -15137, 6404, 13615, -18199, -2610, 23969, -15142, -17198, 31204, -3269, -34604, 30213, 17955, -49337, 16361, 45636, -53954, -12567, 72920, -40769, -54562, 89506, -4148, -102269, 83183, 57280, -142874, 41767, 139213, -158628, -45955, 231679, -125964, -193870, 320642, -4532, -442087, 390927, 347244, -1055854, 429729, 4391599, 4391599, 429729, -1055854, 347244, 390927, -442087, -4532, 320642, -193870, -125964, 231679, -45955, -158628, 139213, 41767, -142874, 57280, 83183, -102269, -4148, 89506, -54562, -40769, 72920, -12567, -53954, 45636, 16361, -49337, 17955, 30213, -34604, -3269, 31204, -17198, -15142, 23969, -2610, -18199, 13615, 6404, -15137, 4213, 9646, -9342, -1992, 8650, -3668, -4581, 5594, 225, -4416, 2393, 1941, -2874, 177, 1981, -1182, -777, 1201, -39, -782, 312, 0 ]
        },
        "pfirRxWbNbChFilterCoeff_D": {
          "numCoeff": 128,
          "symmetricSel": 0,
          "tapsSel": 3,
          "gainSel": 2,
          "coefficients": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8388608, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
        },
        "pfirTxWbNbPulShpCoeff_A": {
          "numCoeff": 128,
          "symmetricSel": 0,
          "tapsSel": 3,
          "gainSel": 2,
          "coefficients": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
        },
        "pfirTxWbNbPulShpCoeff_B": {
          "numCoeff": 128,
          "symmetricSel": 0,
          "tapsSel": 3,
          "gainSel": 2,
          "coefficients": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
        },
        "pfirTxWbNbPulShpCoeff_C": {
          "numCoeff": 128,
          "symmetricSel": 0,
          "tapsSel": 3,
          "gainSel": 2,
          "coefficients": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
        },
        "pfirTxWbNbPulShpCoeff_D": {
          "numCoeff": 128,
          "symmetricSel": 0,
          "tapsSel": 3,
          "gainSel": 2,
          "coefficients": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
        },
        "pfirRxNbPulShp": [ {
            "numCoeff": 128,
            "symmetricSel": 0,
            "taps": 128,
            "gainSel": 2,
            "coefficients": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8388608, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
          }, {
            "numCoeff": 128,
            "symmetricSel": 0,
            "taps": 128,
            "gainSel": 2,
            "coefficients": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8388608, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
          } ],
        "pfirRxMagLowTiaLowSRHp": [ {
            "numCoeff": 21,
            "coefficients": [ -12, 83, -293, 734, -1489, 2594, -3965, 5403, -6516, 5868, 27957, 5868, -6516, 5403, -3965, 2594, -1489, 734, -293, 83, -12 ]
          }, {
            "numCoeff": 21,
            "coefficients": [ -12, 83, -293, 734, -1489, 2594, -3965, 5403, -6516, 5868, 27957, 5868, -6516, 5403, -3965, 2594, -1489, 734, -293, 83, -12 ]
          } ],
        "pfirRxMagLowTiaHighSRHp": [ {
            "numCoeff": 21,
            "coefficients": [ -62, 194, 80, -829, 201, 1857, -179, -4602, -1259, 11431, 19102, 11431, -1259, -4602, -179, 1857, 201, -829, 80, 194, -62 ]
          }, {
            "numCoeff": 21,
            "coefficients": [ -62, 194, 80, -829, 201, 1857, -179, -4602, -1259, 11431, 19102, 11431, -1259, -4602, -179, 1857, 201, -829, 80, 194, -62 ]
          } ],
        "pfirRxMagHighTiaHighSRHp": [ {
            "numCoeff": 21,
            "coefficients": [ 39, -229, 714, -1485, 2134, -1844, -219, 4147, -8514, 8496, 26292, 8496, -8514, 4147, -219, -1844, 2134, -1485, 714, -229, 39 ]
          }, {
            "numCoeff": 21,
            "coefficients": [ 39, -229, 714, -1485, 2134, -1844, -219, 4147, -8514, 8496, 26292, 8496, -8514, 4147, -219, -1844, 2134, -1485, 714, -229, 39 ]
          } ],
        "pfirRxMagLowTiaLowSRLp": [ {
            "numCoeff": 21,
            "coefficients": [ -12, 83, -293, 733, -1488, 2593, -3963, 5401, -6514, 5870, 27953, 5870, -6514, 5401, -3963, 2593, -1488, 733, -293, 83, -12 ]
          }, {
            "numCoeff": 21,
            "coefficients": [ -12, 83, -293, 733, -1488, 2593, -3963, 5401, -6514, 5870, 27953, 5870, -6514, 5401, -3963, 2593, -1488, 733, -293, 83, -12 ]
          } ],
        "pfirRxMagLowTiaHighSRLp": [ {
            "numCoeff": 21,
            "coefficients": [ -62, 194, 80, -828, 201, 1855, -180, -4597, -1254, 11428, 19093, 11428, -1254, -4597, -180, 1855, 201, -828, 80, 194, -62 ]
          }, {
            "numCoeff": 21,
            "coefficients": [ -62, 194, 80, -828, 201, 1855, -180, -4597, -1254, 11428, 19093, 11428, -1254, -4597, -180, 1855, 201, -828, 80, 194, -62 ]
          } ],
        "pfirRxMagHighTiaHighSRLp": [ {
            "numCoeff": 21,
            "coefficients": [ 39, -229, 712, -1481, 2128, -1841, -215, 4131, -8490, 8497, 26266, 8497, -8490, 4131, -215, -1841, 2128, -1481, 712, -229, 39 ]
          }, {
            "numCoeff": 21,
            "coefficients": [ 39, -229, 712, -1481, 2128, -1841, -215, 4131, -8490, 8497, 26266, 8497, -8490, 4131, -215, -1841, 2128, -1481, 712, -229, 39 ]
          } ],
        "pfirTxMagComp1": {
          "numCoeff": 21,
          "coefficients": [ 69, -384, 1125, -2089, 2300, -165, -5248, 12368, -13473, 4864, 34039, 4864, -13473, 12368, -5248, -165, 2300, -2089, 1125, -384, 69 ]
        },
        "pfirTxMagComp2": {
          "numCoeff": 21,
          "coefficients": [ 69, -384, 1125, -2089, 2300, -165, -5248, 12368, -13473, 4864, 34039, 4864, -13473, 12368, -5248, -165, 2300, -2089, 1125, -384, 69 ]
        },
        "pfirTxMagCompNb": [ {
            "numCoeff": 13,
            "coefficients": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
          }, {
            "numCoeff": 13,
            "coefficients": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
          } ],
        "pfirRxMagCompNb": [ {
            "numCoeff": 13,
            "coefficients": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
          }, {
            "numCoeff": 13,
            "coefficients": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
          } ]
      }
    }

  • Thanks alot. I will test with this. Regarding the calibrated state, did you change it from IIO scope application or did you not change it at all? Also which stream file did you used along with the json profile.?

    Thanks again.

  • Hello.
    I have not done any calibration. I just performed the following three steps.
    1. load the json file with MCS enabled.
    2. run multi_chip_sync.
    3. Toggle the GPIOs 6 times within 10 seconds.

    I did not use a stream file and used AXI_ADRV9002's DDS to transmit.

  • Thanks. MCS is done now and I have phase synchronication. But the delay is still not synchronized. It changes upto 2 cycles randomly between power cycles. I am using RFPLL Phase mode for MCS.

    Did you face this issue??

    Thanks.