4 ms·
If you are getting reflections at 400Kbps, you either have another problem or are way out of the standard. There’s a reason for things like RS422/485. The har
by xondono 6y ago
If you are getting reflections at 400Kbps, you either have another problem or are way out of the standard.
There’s a reason for things like RS422/485.
The hardest bug I’ve seen on an I2C bus was an implementation that every now and then dropped the lines to GND for a small period (~50ms). All I2C devices were working correctly, but because of supply chain reasons we had to introduce a PN change that was on paper 100% compatible.
The new PN was a SMBus device, and guess how SMBus signals a reset...
- mcshicks 6y agoReflections are a function of the edge rate, i.e. driver strength, not the clock rate. https://en.wikipedia.org/wiki/Signal_reflection https://en.wikipedia.org/wiki/Signal_reflection
- xondono 6y agoI know, but clock rate tends to be a good proxy, especially im cases like this. For a bus like I2C there’s basically two possibilities: 1. You are using a part with a clock rate that extends clock rate over the standard, which means you have very small pull ups on the lines because that is what the datasheet recommends for that speed (thus your rise time gets too short). 2. (And this one is way more likely) you are using I2C to communicate over a long cable.