Issue with AD9375 ADC saturation point

Hi,

We are having an another issue with ADC saturation point. We have configured the AD9375 transceiver with TES generated script file.

We are able to get the ADC data properly from -26dBm only not from -14dBm. If we give -25dBm input to the AD9375 evaluation module, the ADC data is toggling with full scale value (Noise). For -26dBm, the ADC data max value is 4500 (With respect to 16bit). We have choosed MGC for our operation for the Rx & SNRx path. We have not applied any internal attenuation also. 

We are not able to get the proper ADC data once it is started to give full scale noise data, even with power level below -25dBm. Once if the JESD link is reinitialized with the sync, then we are getting the proper data up to -26dBm. What may be cause for this?

Kindly suggest any idea to resolve this issue

Regards

Vishnu.C



name changed
[edited by: vishnu.gopi at 6:23 AM (GMT -4) on 29 Sep 2018]
Parents Reply Children
  • 0
    •  Analog Employees 
    on Oct 4, 2018 8:48 AM over 2 years ago in reply to vishnu.gopi

    This looks strange and doesn't look like ADC saturation. Did you check this on eval board?

    What is the input power range you were able to get proper ADC output?

    Can you try changing the input source and try capturing the data multiple times?

  • Yes.we are only using Eval Board.I have attached both Time domain and Freq domain screenshots of the -50dBm CW input signal and sampled data weI have tried different input source.but the result is the same.

    Min50dBm_data.txt   

  • Hi,

    With the TES GUI & Evaluation Board we are able up to get the proper signal spectrum up to -14dBm. But it is not working with our development code. We are thinking that this is not related any interface (SPI & JESD204B) issue. Because we are able to see the signal clearly without any interference or noise up to -26dBm. Is it related anything to AD9375 configuration (Receiver AGC)?

    Kindly look in to the issue and suggest any solution to debug this issue at the earliest.

    Regards

    Loganathan N

  • 0
    •  Analog Employees 
    on Oct 10, 2018 7:27 AM over 2 years ago in reply to Loganathan.N

    What is the rx gain used. ?  Even with 0 dB attenuation are you seeing this issue of saturation post -26 dBm?

  • Hi Vinod,

    Thanks for your reply. The RX Gain Control structure is as follows.

    static mykonosRxGainControl_t rxGainControl =
    {
    MGC, /* Current Rx gain control mode setting*/
    255, /* Rx1 Gain Index, can be used in different ways for manual and AGC gain control*/
    255, /* Rx2 Gain Index, can be used in different ways for manual and AGC gain control*/
    255, /* Max gain index for the currently loaded Rx1 Gain table*/
    195, /* Min gain index for the currently loaded Rx1 Gain table*/
    255, /* Max gain index for the currently loaded Rx2 Gain table*/
    195, /* Min gain index for the currently loaded Rx2 Gain table*/
    0, /* Stores Rx1 RSSI value read back from the Mykonos*/
    0 /* Stores Rx2 RSSI value read back from the Mykonos*/
    };

    And the gain table is 

    uint8_t RxGainTable [61][4] =
    {
    /* Order: {FE table, External Ctl, Digital Gain/Atten, Enable Atten} */
    {0, 0, 0, 0}, /* Gain index 255 */
    {3, 0, 2, 1}, /* Gain index 254 */
    {6, 0, 3, 1}, /* Gain index 253 */
    {10, 0, 0, 0}, /* Gain index 252 */
    {13, 0, 1, 1}, /* Gain index 251 */
    {16, 0, 0, 0}, /* Gain index 250 */
    {18, 0, 3, 1}, /* Gain index 249 */
    {21, 0, 1, 1}, /* Gain index 248 */
    {23, 0, 3, 1}, /* Gain index 247 */
    {25, 0, 4, 1}, /* Gain index 246 */
    {28, 0, 0, 0}, /* Gain index 245 */
    {30, 0, 0, 0}, /* Gain index 244 */
    {31, 0, 5, 1}, /* Gain index 243 */
    {33, 0, 4, 1}, /* Gain index 242 */
    {35, 0, 2, 1}, /* Gain index 241 */
    {37, 0, 0, 0}, /* Gain index 240 */
    {38, 0, 4, 1}, /* Gain index 239 */
    {39, 0, 7, 1}, /* Gain index 238 */
    {41, 0, 2, 1}, /* Gain index 237 */
    {42, 0, 4, 1}, /* Gain index 236 */
    {43, 0, 6, 1}, /* Gain index 235 */
    {44, 0, 8, 1}, /* Gain index 234 */
    {45, 0, 9, 1}, /* Gain index 233 */
    {46, 0, 10, 1}, /* Gain index 232 */
    {47, 0, 10, 1}, /* Gain index 231 */
    {48, 0, 9, 1}, /* Gain index 230 */
    {49, 0, 8, 1}, /* Gain index 229 */
    {50, 0, 6, 1}, /* Gain index 228 */
    {51, 0, 3, 1}, /* Gain index 227 */
    {51, 0, 13, 1}, /* Gain index 226 */
    {52, 0, 9, 1}, /* Gain index 225 */
    {53, 0, 5, 1}, /* Gain index 224 */
    {53, 0, 15, 1}, /* Gain index 223 */
    {54, 0, 9, 1}, /* Gain index 222 */
    {54, 0, 19, 1}, /* Gain index 221 */
    {55, 0, 11, 1}, /* Gain index 220 */
    {55, 0, 21, 1}, /* Gain index 219 */
    {56, 0, 11, 1}, /* Gain index 218 */
    {56, 0, 21, 1}, /* Gain index 217 */
    {57, 0, 9, 1}, /* Gain index 216 */
    {57, 0, 19, 1}, /* Gain index 215 */
    {57, 0, 29, 1}, /* Gain index 214 */
    {58, 0, 12, 1}, /* Gain index 213 */
    {58, 0, 22, 1}, /* Gain index 212 */
    {58, 0, 32, 1}, /* Gain index 211 */
    {59, 0, 11, 1}, /* Gain index 210 */
    {59, 0, 21, 1}, /* Gain index 209 */
    {59, 0, 31, 1}, /* Gain index 208 */
    {59, 0, 41, 1}, /* Gain index 207 */
    {60, 0, 13, 1}, /* Gain index 206 */
    {60, 0, 23, 1}, /* Gain index 205 */
    {60, 0, 33, 1}, /* Gain index 204 */
    {60, 0, 43, 1}, /* Gain index 203 */
    {60, 0, 53, 1}, /* Gain index 202 */
    {61, 0, 14, 1}, /* Gain index 201 */
    {61, 0, 24, 1}, /* Gain index 200 */
    {61, 0, 34, 1}, /* Gain index 199 */
    {61, 0, 44, 1}, /* Gain index 198 */
    {61, 0, 54, 1}, /* Gain index 197 */
    {61, 0, 64, 1}, /* Gain index 196 */
    {61, 0, 74, 1}, /* Gain index 195 */
    };

    In the headless.c file also the function MYKONOS_setRx1ManualGain(&mykDevice, 255) is called with the fixed gain index of 255.

    For the input -26dBm, the digital bits are varying only +/-4500 count (With respect to 16bit). Still the digital bit representation has the margin of nearly 17dB (20log(32768/4500)) further more. Suddenly for 1dB power level increase, we are getting full scale junk data.

    Kindly suggest any idea to resolve this issue.

    Regards

    Loganathan N