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.
Tool/software:
Hello,
We are running TI-RTOS on the AM5718 using I2C to read data from an ADC. Due to noise, the ADC sometimes generates an incorrect signal that can be read as a stop or repeated start condition during read operations. I am looking to find what status codes will be returned by the I2C_transfer function will be under these conditions.
The following two waveforms are from a 1-byte write / 2-byte read from the ADC and show incorrect behavior from the ADC and the response of the AM5718.
False start condition:
False stop condition:
What does the I2C module return under these conditions and is there any way of detecting the error in software?
Thank you
Hi,
Need to check this internally. Will get back to you by wednesday.
Regards,
Parth
Hello Parth,
Thanks for your reply. Just wanted to check where things are on finding an answer to this?
Best,
Vikesh
Hello Parth,
We have concluded that repeated starts return I2C_STS_SUCCESS. We are still trying to determine how to detect this condition and reject the invalid data being returned. Do you have any insight on how we can do this?
Thanks,
Vikesh
Hi,
Sorry for the delay, Could you please share the detailed steps you are following for this? We are attempting to reproduce the error on our end.
Regards,
Karthik
Hi Karthik, Thanks for your message! Though this problem is caused by EMI in our system, we have been able to recreate it by using an external microcontroller (pi pico) to generate the fault condition. We configured a GPIO to send the necessary acknowledge signals and generate the issue.
Hi,
Though this problem is caused by EMI in our system, we have been able to recreate it by using an external microcontroller (pi pico) to generate the fault condition
Is assistance still needed for this thread?
Regards,
Karthik