-
Notifications
You must be signed in to change notification settings - Fork 225
I2C Fake tri-state generate a glitch which can be considered as a Start #405
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I've encountered this bug as well. The workaround we went with was to disable fake tristate mode ( Thanks for filing this bug; it sure saved us a lot of head-scratching. |
Avoids accidential start conditions, fixes eblot#405
Looking at this again, it seems to me that Changing Similiarly, I can confirm that Filed #414 with the fix. |
Avoids accidential start conditions, fixes eblot#405 As a side note, _clk_lo_data_input does generate a negative glitch on SDA (if it was high) before going high-impedance. This behavior is preferable over the alternative (glitching high before going high-impedance), since the device might already be driving low on the bus to provide an ACK and we don't want brief crowbar currents.
Avoids accidential start conditions, fixes eblot#405 As a side note, _clk_lo_data_input does generate a negative glitch on SDA (if it was high) before going high-impedance. This behavior is preferable over the alternative (glitching high before going high-impedance), since the device might already be driving low on the bus to provide an ACK and we don't want brief crowbar currents.
Using the fake tri-state of the device on an I2c transfer generates a glitch in the SCL and SDA signal.
After some investigation, it comes from the _clk_input_data_input commands.
Replacing this command by _idle command, solves the issue.
Here is some pictures of the stop bits and the glitch.
The text was updated successfully, but these errors were encountered: