Hello,
We are developing a new device using CC1352R and accelerometer MC3635. The project is created with SDK 6.10.00.29. During the DVT testing, we noticed glitches during the execution of the functions I2C_Open() and I2C_Close(). This causes a serious problem with the accelerometer, because its output registers are always locked when there is a START condition on the line till to the moment when a STOP condition is detected. Those glitches generate a FALSE START condition.
This issue is already reported very well in the forum:
The official response from TI is the issue is fixed in the latest SDK 7.10, but it is not.
Today we tested this SDK. The situation is a little bit different, but the glitches exist.
1. When the default state of the pins SDA and SCL is "Input with pullup", the glitches are only after the execution of the function I2C_Close() (25us after the last STOP condition). The duration of the glitches is 200nS and additional rising time up to 200ns.
2.When the default state of the pins SDA and SCL is "Output with High state", the glitches are before the I2C transfer during the execution of the function I2C_Open() (40us before the START condition). The duration is again 200ns and additional rising time up to 200ns.
This issue is critical for us, because the output registers of the accelerometer are locked constantly after every I2C transfer.
What are your recommendations to fix this issue? Is there a way this issue to be fixed entirely in your SDKs 2 year after the moment when it was introduced?
And one last question.
Why the execution time of the function I2C_Open() is to long - 140us typ?
By the way, all functions XX_Open() have the same or similar execution time. For one SPI or I2C transfer which take 2us or 10us, we have an execution time 140us ONLY to open an instance to the module.
Thank you very much for your responses in advance.