The platform we are using is ZC706+ADRV9026-MB/PCBZ (sub board), and the corresponding software version is 6.4.0.17。
We have made modifications to the FPFA project of ZC706+ADRV9009 and replaced the FPGA related code in ADRV9029 with the FPGA related code in ADRV9009 sdk.
The polarity of SYNCIN, SERDOUT, and SERDIN is processed in the FPGA to ensure that there are no issues.
In the process of building JESD204B, the SYNC signal has been unable to pull up. Keeping track of the states of deframer and framer gives the following:
Deframer status = 0x12; Framer status = 0x02;
1. The FPGA RX terminal pulls down the SYNC signal and sends it to ADRV9029, but the data received by the RX from ADRV9029 is not K28.5, as shown in the following figure:
Using adi_Adrv9025_FramerStatusGet(), the return value obtained is:framerSel:1--status:2-framerSyncNeCount:1--qbfStateStatus:0--syncNSel:0--
Why is the data sent by ADRV9029 not K28.5(0xbc)?
2.The FPGA TX end received a SYNC signal that was pulled low, and the TX end had already sent K28.5 to ADRV9029. However, ADRV9029 did not pull up the SYNC signal.
Using adi_adrv9025_DeframerStatusGet(), the return value obtained is:deframerSel:1--status:0x12--
3. In adi_ Board_ Adrv9025_ Default ADI in JesdTxBridgup()_ ADRV9025_ SERDES_ INIT detection, return message is' error: SERDES: Lane is powered down '.
Using adi_adrv9025_DfrmLinkConditionGet() Get ADI_ADRV9025_DEFRAMER_0,return 0.
I didn't modify the calls in the SDK, just re implemented the FPGA code in the SDK. May I ask, what is the reason for the above results?
This is the parameter for JESD 204B in the relevant file I used (using 13_nonLinkSharing to generate the corresponding main. c and inidata. c):
{ // dataInterface { // framer (array) { // framer[0] 0, // enableJesd204C 0, // bankId 1, // deviceId 0, // lane0Id 8, // jesd204M 32, // jesd204K 8, // jesd204F 16, // jesd204Np 0, // jesd204E 1, // scramble 3, // serializerLanesEnabled 0, // lmfcOffset 0, // syncbInSelect 0, // overSample 1, // syncbInLvdsMode 0, // syncbInLvdsPnInvert { // serializerLaneCrossbar 0, // lane0FramerOutSel 1, // lane1FramerOutSel 8, // lane2FramerOutSel 8 // lane3FramerOutSel }, { // adcCrossbar ADI_ADRV9025_ADC_RX1_I, // conv0 ADI_ADRV9025_ADC_RX1_Q, // conv1 ADI_ADRV9025_ADC_RX2_I, // conv2 ADI_ADRV9025_ADC_RX2_Q, // conv3 ADI_ADRV9025_ADC_DUALBAND_RX3_BAND_A_I, // conv4 ADI_ADRV9025_ADC_RX3_Q, // conv5 ADI_ADRV9025_ADC_DUALBAND_RX4_BAND_A_I, // conv6 ADI_ADRV9025_ADC_RX4_Q, // conv7 ADI_ADRV9025_ADC_DISABLE, // conv8 ADI_ADRV9025_ADC_DISABLE, // conv9 ADI_ADRV9025_ADC_DISABLE, // conv10 ADI_ADRV9025_ADC_DISABLE, // conv11 ADI_ADRV9025_ADC_DISABLE, // conv12 ADI_ADRV9025_ADC_DISABLE, // conv13 ADI_ADRV9025_ADC_DISABLE, // conv14 ADI_ADRV9025_ADC_DISABLE, // conv15 ADI_ADRV9025_ADC_DISABLE, // conv16 ADI_ADRV9025_ADC_DISABLE, // conv17 ADI_ADRV9025_ADC_DISABLE, // conv18 ADI_ADRV9025_ADC_DISABLE, // conv19 ADI_ADRV9025_ADC_DISABLE, // conv20 ADI_ADRV9025_ADC_DISABLE, // conv21 ADI_ADRV9025_ADC_DISABLE, // conv22 ADI_ADRV9025_ADC_DISABLE // conv23 }, 0, // newSysrefOnRelink 0, // sysrefForStartup 0, // sysrefNShotEnable 0, // sysrefNShotCount 0 // sysrefIgnoreWhenLinked }, { // framer[1] 0, // enableJesd204C 0, // bankId 0, // deviceId 0, // lane0Id 0, // jesd204M 0, // jesd204K 0, // jesd204F 0, // jesd204Np 0, // jesd204E 0, // scramble 0, // serializerLanesEnabled 0, // lmfcOffset 1, // syncbInSelect 0, // overSample 1, // syncbInLvdsMode 0, // syncbInLvdsPnInvert { // serializerLaneCrossbar 0, // lane0FramerOutSel 0, // lane1FramerOutSel 0, // lane2FramerOutSel 0 // lane3FramerOutSel }, { // adcCrossbar ADI_ADRV9025_ADC_DISABLE, // conv0 ADI_ADRV9025_ADC_DISABLE, // conv1 ADI_ADRV9025_ADC_DISABLE, // conv2 ADI_ADRV9025_ADC_DISABLE, // conv3 ADI_ADRV9025_ADC_DISABLE, // conv4 ADI_ADRV9025_ADC_DISABLE, // conv5 ADI_ADRV9025_ADC_DISABLE, // conv6 ADI_ADRV9025_ADC_DISABLE, // conv7 ADI_ADRV9025_ADC_DISABLE, // conv8 ADI_ADRV9025_ADC_DISABLE, // conv9 ADI_ADRV9025_ADC_DISABLE, // conv10 ADI_ADRV9025_ADC_DISABLE, // conv11 ADI_ADRV9025_ADC_DISABLE, // conv12 ADI_ADRV9025_ADC_DISABLE, // conv13 ADI_ADRV9025_ADC_DISABLE, // conv14 ADI_ADRV9025_ADC_DISABLE, // conv15 ADI_ADRV9025_ADC_DISABLE, // conv16 ADI_ADRV9025_ADC_DISABLE, // conv17 ADI_ADRV9025_ADC_DISABLE, // conv18 ADI_ADRV9025_ADC_DISABLE, // conv19 ADI_ADRV9025_ADC_DISABLE, // conv20 ADI_ADRV9025_ADC_DISABLE, // conv21 ADI_ADRV9025_ADC_DISABLE, // conv22 ADI_ADRV9025_ADC_DISABLE // conv23 }, 0, // newSysrefOnRelink 0, // sysrefForStartup 0, // sysrefNShotEnable 0, // sysrefNShotCount 0 // sysrefIgnoreWhenLinked }, { // framer[2] 0, // enableJesd204C 0, // bankId 0, // deviceId 0, // lane0Id 0, // jesd204M 0, // jesd204K 0, // jesd204F 0, // jesd204Np 0, // jesd204E 0, // scramble 0, // serializerLanesEnabled 0, // lmfcOffset 0, // syncbInSelect 0, // overSample 0, // syncbInLvdsMode 0, // syncbInLvdsPnInvert { // serializerLaneCrossbar 0, // lane0FramerOutSel 0, // lane1FramerOutSel 0, // lane2FramerOutSel 0 // lane3FramerOutSel }, { // adcCrossbar ADI_ADRV9025_ADC_DISABLE, // conv0 ADI_ADRV9025_ADC_DISABLE, // conv1 ADI_ADRV9025_ADC_DISABLE, // conv2 ADI_ADRV9025_ADC_DISABLE, // conv3 ADI_ADRV9025_ADC_DISABLE, // conv4 ADI_ADRV9025_ADC_DISABLE, // conv5 ADI_ADRV9025_ADC_DISABLE, // conv6 ADI_ADRV9025_ADC_DISABLE, // conv7 ADI_ADRV9025_ADC_DISABLE, // conv8 ADI_ADRV9025_ADC_DISABLE, // conv9 ADI_ADRV9025_ADC_DISABLE, // conv10 ADI_ADRV9025_ADC_DISABLE, // conv11 ADI_ADRV9025_ADC_DISABLE, // conv12 ADI_ADRV9025_ADC_DISABLE, // conv13 ADI_ADRV9025_ADC_DISABLE, // conv14 ADI_ADRV9025_ADC_DISABLE, // conv15 ADI_ADRV9025_ADC_DISABLE, // conv16 ADI_ADRV9025_ADC_DISABLE, // conv17 ADI_ADRV9025_ADC_DISABLE, // conv18 ADI_ADRV9025_ADC_DISABLE, // conv19 ADI_ADRV9025_ADC_DISABLE, // conv20 ADI_ADRV9025_ADC_DISABLE, // conv21 ADI_ADRV9025_ADC_DISABLE, // conv22 ADI_ADRV9025_ADC_DISABLE // conv23 }, 0, // newSysrefOnRelink 0, // sysrefForStartup 0, // sysrefNShotEnable 0, // sysrefNShotCount 0 // sysrefIgnoreWhenLinked } }, // framer (end of array) { // deframer (array) { // deframer[0] 0, // enableJesd204C 0, // bankId 1, // deviceId 0, // lane0Id 8, // jesd204M 32, // jesd204K 4, // jesd204F 16, // jesd204Np 0, // jesd204E 1, // scramble 15, // deserializerLanesEnabled 0, // lmfcOffset 0, // syncbOutSelect 1, // syncbOutLvdsMode 0, // syncbOutLvdsPnInvert 0, // syncbOutCmosSlewRate 0, // syncbOutCmosDriveLevel { // deserializerLaneCrossbar 0, // deframerInput0LaneSel 1, // deframerInput1LaneSel 2, // deframerInput2LaneSel 3 // deframerInput3LaneSel }, { // dacCrossbar ADI_ADRV9025_DEFRAMER_OUT0, // tx1DacChanI ADI_ADRV9025_DEFRAMER_OUT1, // tx1DacChanQ ADI_ADRV9025_DEFRAMER_OUT2, // tx2DacChanI ADI_ADRV9025_DEFRAMER_OUT3, // tx2DacChanQ ADI_ADRV9025_DEFRAMER_OUT4, // tx3DacChanI ADI_ADRV9025_DEFRAMER_OUT5, // tx3DacChanQ ADI_ADRV9025_DEFRAMER_OUT6, // tx4DacChanI ADI_ADRV9025_DEFRAMER_OUT7 // tx4DacChanQ }, 0, // newSysrefOnRelink 1, // sysrefForStartup 0, // sysrefNShotEnable 0, // sysrefNShotCount 0 // sysrefIgnoreWhenLinked }, { // deframer[1] 0, // enableJesd204C 0, // bankId 0, // deviceId 0, // lane0Id 0, // jesd204M 0, // jesd204K 0, // jesd204F 0, // jesd204Np 0, // jesd204E 0, // scramble 0, // deserializerLanesEnabled 0, // lmfcOffset 0, // syncbOutSelect 0, // syncbOutLvdsMode 0, // syncbOutLvdsPnInvert 0, // syncbOutCmosSlewRate 0, // syncbOutCmosDriveLevel { // deserializerLaneCrossbar 8, // deframerInput0LaneSel 8, // deframerInput1LaneSel 8, // deframerInput2LaneSel 8 // deframerInput3LaneSel }, { // dacCrossbar ADI_ADRV9025_DEFRAMER_OUT_DISABLE, // tx1DacChanI ADI_ADRV9025_DEFRAMER_OUT_DISABLE, // tx1DacChanQ ADI_ADRV9025_DEFRAMER_OUT_DISABLE, // tx2DacChanI ADI_ADRV9025_DEFRAMER_OUT_DISABLE, // tx2DacChanQ ADI_ADRV9025_DEFRAMER_OUT_DISABLE, // tx3DacChanI ADI_ADRV9025_DEFRAMER_OUT_DISABLE, // tx3DacChanQ ADI_ADRV9025_DEFRAMER_OUT_DISABLE, // tx4DacChanI ADI_ADRV9025_DEFRAMER_OUT_DISABLE // tx4DacChanQ }, 0, // newSysrefOnRelink 0, // sysrefForStartup 0, // sysrefNShotEnable 0, // sysrefNShotCount 0 // sysrefIgnoreWhenLinked } }, // deframer (end of array) { // serCfg (array) { // serCfg[0] 0, // serAmplitude 1, // serPreEmphasis 3, // serPostEmphasis 0 // serInvertLanePolarity }, { // serCfg[1] 0, // serAmplitude 1, // serPreEmphasis 3, // serPostEmphasis 0 // serInvertLanePolarity }, { // serCfg[2] 0, // serAmplitude 1, // serPreEmphasis 3, // serPostEmphasis 0 // serInvertLanePolarity }, { // serCfg[3] 0, // serAmplitude 1, // serPreEmphasis 3, // serPostEmphasis 0 // serInvertLanePolarity } }, // serCfg (end of array) { // desCfg (array) { // desCfg[0] 0, // desInvertLanePolarity 0, // highBoost 0, // configOption1 0, // configOption2 0, // configOption3 0, // configOption4 0, // configOption5 0, // configOption6 0, // configOption7 0, // configOption8 0, // configOption9 0 // configOption10 }, { // desCfg[1] 0, // desInvertLanePolarity 0, // highBoost 0, // configOption1 0, // configOption2 0, // configOption3 0, // configOption4 0, // configOption5 0, // configOption6 0, // configOption7 0, // configOption8 0, // configOption9 0 // configOption10 }, { // desCfg[2] 0, // desInvertLanePolarity 0, // highBoost 0, // configOption1 0, // configOption2 0, // configOption3 0, // configOption4 0, // configOption5 0, // configOption6 0, // configOption7 0, // configOption8 0, // configOption9 0 // configOption10 }, { // desCfg[3] 0, // desInvertLanePolarity 0, // highBoost 0, // configOption1 0, // configOption2 0, // configOption3 0, // configOption4 0, // configOption5 0, // configOption6 0, // configOption7 0, // configOption8 0, // configOption9 0 // configOption10 } }, // desCfg (end of array) { // linkSharingCfg 0, // linkSharingEnabled 0, // linkSharingM 1, // linkSharingS 0, // linkSharingNp { // linkSharingAdcCrossbar ADI_ADRV9025_ADC_DISABLE, // conv0 ADI_ADRV9025_ADC_DISABLE, // conv1 ADI_ADRV9025_ADC_DISABLE, // conv2 ADI_ADRV9025_ADC_DISABLE, // conv3 ADI_ADRV9025_ADC_DISABLE, // conv4 ADI_ADRV9025_ADC_DISABLE, // conv5 ADI_ADRV9025_ADC_DISABLE, // conv6 ADI_ADRV9025_ADC_DISABLE, // conv7 ADI_ADRV9025_ADC_DISABLE, // conv8 ADI_ADRV9025_ADC_DISABLE, // conv9 ADI_ADRV9025_ADC_DISABLE, // conv10 ADI_ADRV9025_ADC_DISABLE, // conv11 ADI_ADRV9025_ADC_DISABLE, // conv12 ADI_ADRV9025_ADC_DISABLE, // conv13 ADI_ADRV9025_ADC_DISABLE, // conv14 ADI_ADRV9025_ADC_DISABLE // conv15 }, }, { // dataCfg 0, // enable 0, // configOption1 0 // configOption2 }, 0, // channelSelect 0 // channelMode }