Hello,
I want to share the same framer between rx data and orx data, my orx I/Q sample rate is same as the rx sample rate(245.76MHz).
I set taliseInit_t.rx.framerSel=TAL_FRAMER_A, and taliseInit_t.obsRx.framerSel=TAL_FRAMER_A.
After the initialization is done, when I execute function TALISE_setRxTxEnable to set rx enable,talAction = TALISE_setRxTxEnable(&talDevice, TAL_RX1RX2_EN, TAL_TX1TX2);, rx path works well. But when I set orx enable,talAction = TALISE_setRxTxEnable(&talDevice, TAL_ORX1ORX2_EN, TAL_TX1TX2);, the orx data is all zero.
Here is my rx and orx configuration:
/* Rx settings */
.rx =
{
.rxProfile =
{
.rxFir =
{
.gain_dB = -12, /* filter gain +6, 0, -6, -12 */
.numFirCoefs = 48, /* number of coefficients in the FIR filter 24, 48, 72 */
.coefs = &rxFirCoefs[0]
},
.rxFirDecimation = 2, /* Rx FIR decimation (1,2,4) */
.rxDec5Decimation = 4, /* Decimation of Dec5 or Dec4 filter (5,4) */
.rhb1Decimation = 1, /* RX Half band 1 decimation (1 or 2) */
.rxOutputRate_kHz = 245760, /* Rx output data rate in kHz */
.rfBandwidth_Hz = 200000000,/* The Rx RF passband bandwidth for the profile */
.rxBbf3dBCorner_kHz = 200000,/* Rx BBF 3dB corner in kHz. 20,000 to 200,000 */
.rxAdcProfile = { /* pointer to custom ADC profile */
185, 141, 172, 90, 1280, 942, 1332, 90, 1368, 46, 1016, 19,
48, 48, 37, 208, 0, 0, 0, 0, 52, 0, 7, 6, 42, 0, 7, 6, 42,
0, 25, 27, 0, 0, 25, 27, 0, 0, 165, 44, 31, 905},
.rxDdcMode = TAL_RXDDC_BYPASS, /* Rx DDC mode */
.rxNcoShifterCfg =
{
.bandAInputBandWidth_kHz = 0,
.bandAInputCenterFreq_kHz = 0,
.bandANco1Freq_kHz = 0,
.bandANco2Freq_kHz = 0,
.bandBInputBandWidth_kHz = 0,
.bandBInputCenterFreq_kHz = 0,
.bandBNco1Freq_kHz = 0,
.bandBNco2Freq_kHz = 0
}
},
.framerSel = TAL_FRAMER_A, /* Rx JESD204b framer configuration */
.rxGainCtrl =
{
.gainMode = TAL_MGC, /* taliserxGainMode_t gainMode; */
.rx1GainIndex = 255, /* uint8_t rx1GainIndex */
.rx2GainIndex = 255, /* uint8_t rx2GainIndex */
.rx1MaxGainIndex = 255, /* uint8_t rx1MaxGainIndex; */
.rx1MinGainIndex = 195, /* uint8_t rx1MinGainIndex; */
.rx2MaxGainIndex = 255, /* uint8_t rx2MaxGainIndex; */
.rx2MinGainIndex = 195 /* uint8_t rx2MinGainIndex; */
},
.rxChannels = TAL_RX1RX2 /* The desired Rx Channels to enable during initialization */
},
/* ObsRx settings */
.obsRx =
{
.orxProfile =
{
.rxFir =
{
.gain_dB = -12, /* filter gain */
.numFirCoefs = 48, /* number of coefficients in the FIR filter */
.coefs = &rxFirCoefs[0]
},
.rxFirDecimation = 2, /* Rx FIR decimation (1,2,4) */
.rxDec5Decimation = 4, /* Decimation of Dec5 or Dec4 filter (5,4) */
.rhb1Decimation = 1, /* RX Half band 1 decimation (1 or 2) */
.orxOutputRate_kHz = 245760, /* ORx output data rate in kHz */
.rfBandwidth_Hz = 200000000,/* The Rx RF passband bandwidth for the profile */
.rxBbf3dBCorner_kHz = 200000, /* Rx BBF 3dB corner in kHz */
.orxLowPassAdcProfile = {185 ,141 ,172 ,90 ,1280,942 ,1332,90 ,
1368,46 ,1016,19 ,48 ,48 ,37 ,208 ,
0 ,0 ,0 ,0 ,52 ,0 ,7 ,6 ,
42 ,0 ,7 ,6 ,42 ,0 ,25 ,27 ,
0 ,0 ,25 ,27 ,0 ,0 ,165 ,44 ,
31 ,905 },
.orxBandPassAdcProfile = {185 ,141 ,172 ,90 ,1280,942 ,1332,90 ,
1368,46 ,1016,19 ,48 ,48 ,37 ,208 ,
0 ,0 ,0 ,0 ,52 ,0 ,7 ,6 ,
42 ,0 ,7 ,6 ,42 ,0 ,25 ,27 ,
0 ,0 ,25 ,27 ,0 ,0 ,165 ,44 ,
31 ,905 },
.orxDdcMode = TAL_ORXDDC_DISABLED, /* ORx DDC mode */
.orxMergeFilter = {-98,413,-310,-382,987,-488,-1131,2215,-622,-4016,9277,21173}
},
.orxGainCtrl =
{
.gainMode = TAL_MGC,
.orx1GainIndex = 255,
.orx2GainIndex = 255,
.orx1MaxGainIndex = 255,
.orx1MinGainIndex = 195,
.orx2MaxGainIndex = 255,
.orx2MinGainIndex = 195
},
.framerSel = TAL_FRAMER_A, /* ObsRx JESD204b framer configuration structure */
.obsRxChannelsEnable = TAL_ORX1ORX2, /* The desired ObsRx Channels to enable during initialization */
.obsRxLoSource = TAL_AUX_PLL /* The ORx mixers can use the TX_PLL*/
},
Please tell me what's wrong.
Thank you very much!