This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AFE7903: ADC or DAC JESD not okay

Part Number: AFE7903

Tool/software:

Hi

The c-library (CAFE) supports a function to check the device health (tiAfe79_controls :: checkDeviceHealth). The returned status indicates if the JESD DAC or ADC link is ok or not. 

What actions must be taken if there is a problem with the DAC-JESD-RX or ADC-JESD-TX link?

What c-library function should be invoked as reaction to those malfunctions?

BR, Frederik

  • Hi Frederik,

    If the checkDeviceHealth function reports that the link is not up then the next step is to find the exact error that is being seen. This can be done by reading the JESD alarms in the AFE and checking the alarms statuses on the FPGA.

    Our recommendation is to reference the app note below which covers debugging the AFE79xx devices.

    https://www.ti.com/lit/an/sbaa637/sbaa637.pdf 

    Regards,

    David Chaparro 

  • Hi David

    I have seen in the c-api, the function "checkDeviceHealth" invokes the "getJesdRxAlarms" function, which logs all JESD link related errors. Based on your attached application note, it recommends to clear and then read the JESD RX alarms. Would you also recommend to clear the alarms before invoking the "checkDeviceHealth" function?

    Can you also give me a recommendation on which specific JESD RX lane errors to use "adcDacSync" to troubleshoot?

    BR, Frederik

  • Hi Frederik,

    For the first check you do not need to clear the alarms but if you are debugging then I would recommend you can clear the errors after modifying the AFE settings. 

    The 'adcDacSync' is simply used to resync the AFE JESD block. This is helpful when debugging the bad RBD JESD alarm as it can be used after setting a good RBD value, which can be done using the setManualRbd function. 

    Regards,

    David Chaparro 

  • Hi David

    It is still not clear under what circumstances the "adcDacSync" should be used.

    For instance, if we reset the JESD TX core inside the FPGA, would it be necessary to call "adcDacSync" to resync the AFE JESD block?

    Another example, if we periodically monitor the JESD RX alarms ("getJesdRxAlarms") and due to what ever reason any of those is active,  would it be necessary to call "adcDacSync" to fix the problem?

    BR, Frederik