ADRV9002
Recommended for New Designs
The ADRV9002 is a highly integrated RF transceiver that has dual-channel transmitters, dual-channel receivers, integrated synthesizers, and digital signal...
Datasheet
ADRV9002 on Analog.com
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
M_Bugajski - Moved from Design Support ADRV9001 – ADRV9007 to Linux Software Drivers. Post date updated from Tuesday, February 27, 2024 12:07 AM UTC to Tuesday, February 27, 2024 4:02 PM UTC to reflect the move.
M_Bugajski - Moved from Design Support ADRV9001 – ADRV9007 to Linux Software Drivers. Post date updated from Tuesday, February 27, 2024 4:02 PM UTC to Tuesday, February 27, 2024 4:02 PM UTC to reflect the move.
Hi hsato
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á
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á
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 hsato . 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.
Hello.
My apologies. There was one mistake in my answer.
I did not use the transmit CH. And I did not see any phase shift on the receive CH.