From: Uwe Hermann Date: Sat, 14 Sep 2013 17:06:05 +0000 (+0200) Subject: i2c: Moved extensive protocol docs to the wiki. X-Git-Tag: libsigrokdecode-0.3.0~311 X-Git-Url: https://sigrok.org/gitaction?a=commitdiff_plain;h=871b19d2c747c4baf2fcc3fbed6ca51e435a0e4a;p=libsigrokdecode.git i2c: Moved extensive protocol docs to the wiki. --- diff --git a/decoders/i2c/__init__.py b/decoders/i2c/__init__.py index 6af7ebe..2442ee1 100644 --- a/decoders/i2c/__init__.py +++ b/decoders/i2c/__init__.py @@ -24,38 +24,6 @@ I2C protocol decoder. The Inter-Integrated Circuit (I2C) bus is a bidirectional, multi-master bus using two signals (SCL = serial clock line, SDA = serial data line). -There can be many devices on the same bus. Each device can potentially be -master or slave (and that can change during runtime). Both slave and master -can potentially play the transmitter or receiver role (this can also -change at runtime). - -Possible maximum data rates: - - Standard mode: 100 kbit/s - - Fast mode: 400 kbit/s - - Fast-mode Plus: 1 Mbit/s - - High-speed mode: 3.4 Mbit/s - -START condition (S): SDA = falling, SCL = high -Repeated START condition (Sr): same as S -Data bit sampling: SCL = rising -STOP condition (P): SDA = rising, SCL = high - -All data bytes on SDA are exactly 8 bits long (transmitted MSB-first). -Each byte has to be followed by a 9th ACK/NACK bit. If that bit is low, -that indicates an ACK, if it's high that indicates a NACK. - -After the first START condition, a master sends the device address of the -slave it wants to talk to. Slave addresses are 7 bits long (MSB-first). -After those 7 bits, a data direction bit is sent. If the bit is low that -indicates a WRITE operation, if it's high that indicates a READ operation. - -Later an optional 10bit slave addressing scheme was added. - -Documentation: -http://www.nxp.com/acrobat/literature/9398/39340011.pdf (v2.1 spec) -http://www.nxp.com/acrobat/usermanuals/UM10204_3.pdf (v3 spec) -http://en.wikipedia.org/wiki/I2C - Protocol output format: I2C packet: