I2C and level shifting simple explained

The basics of I2C

For the basics see the I2C bus and level shifting, see:

Fischertechnik and I2C

Both the TX-C and the TXT controllers from fischertechnik have an I2C bus.

The TXT controller has also a programming mechanisme, called SLI, to extend the RoboPro with downloadedble modules programmed in C/C++

I2C line lengths

Additional note about I2C device and line (wires) impedance, signal quality and their relation with the length of the line :

The value of the Rp ( the pull-up resistor), the optional device serial resistors (Rs) and the length and quality of the connection line are very often underexposed in the FTC publications about the use of the I2C bus.
On the fast speed (400 khz) this issues become more and more important.
The device and line impedances are important and they are well describe in the NXP I2C bible (for example: chapter 7).
See also: http://dsscircuits.com/articles/effects … -resistors

In case your lines between the TXT or TX-C (or I2C level-shifter) and the I2C device(s) in your model are too long and it is slowing down the performance of your I2C-bus, it could be helpful to make use of a real I2C bus-extender like the P82B715. Read the overview of this extender in: https://www.nxp.com/products/analog/int … er:P82B715 and also the application notes (under the tab documentation)
Remarks: This I2C bus-extender is not the same as an I2C level shifter!

General remarks:

  1. The impedance, the Rs and the Rp of the TXT and TX-C I2C-bus has not been specified by in the TXT documentation from fischertechnik. However they are published on the forum:
    Rp= 4k7 ohm and a Rs =100 ohm
  2. Connectors and additional not used overhead on a line could influence the quality of the signal in negative sense.

See also an article about I2C  level shifting in the FTpedia 2019-2 pag 44

Print Friendly, PDF & Email