i2cdriver icon indicating copy to clipboard operation
i2cdriver copied to clipboard

SCL low period timing too small?

Open Sabine-Schnabeltier opened this issue 5 years ago • 3 comments
trafficstars

According to table 10 of the I2C specification, for 100 kHz operation, SCL has a minimum low period of 4.7 us and a minimum high period of 4.0 us.

Checking the signals generated by the I²CDriver board, SCL is low for roughly 3.5 us and high for the remaining time of the 10 us clock cycle.

The I2C devices I am trying to control specify a 4.7 us clock low time and I suspect that this timing issue may be the reason I am unable to control them.

Sabine-Schnabeltier avatar Feb 24 '20 00:02 Sabine-Schnabeltier

Yes, from the I2C is a hardware block in the EFM8BB1 microntroller:

https://www.silabs.com/documents/public/reference-manuals/efm8bb1-rm.pdf

image

And there they confirm it. "SCL ... THIGH is typically twice as large as TLOW." Which is very close to what you measured.

I will ask about this on the Silicon Labs support forum. It seems quite clear that if configured for 100 and 400 KHz I2C would be out of spec. This is surprising for an automotive-rated part.

Unfortunately I don't really think there is much that can be done on this. Are you able to say what the I2C device is?

jamesbowman avatar Feb 24 '20 01:02 jamesbowman

It is the Cirrus Logic CS2300-CP.

Sabine-Schnabeltier avatar Feb 24 '20 03:02 Sabine-Schnabeltier

OK, thanks. I have ordered one from Digikey. I should be able to confirm it in 3-4 days.

jamesbowman avatar Feb 24 '20 18:02 jamesbowman