The basics of I2C
For the basics see the I2C bus and level shifting, see:
- The I2C specifications ( bible) by NXP:
- Level shifting basic from NXP:
https://www.nxp.com/docs/en/application ... N10441.pdf
- To understand the N-MOSFET (Enhancement type are often used in a level shifter), see: http://www.learningaboutelectronics.com ... el-MOSFETs
- How a MOSFET works as part of a level switcher: https://electronics.stackexchange.com/q ... ifter-work (1/2 page)
- A link to an application note which explains in two pages "level shifting" and the power supply levels needed:
I choose this application note because it is almost similar with the configuration in the article (a 3.3V master with several 5V slave devices). The 5V and 3.3V power supplies are show explicit.
- A level shifter is binary and bi-directional. It has a low and high voltage side and it doesn't have a master or client side.
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++
- See also: Rei Vilo's pages
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!
- The impedance, the Rs and the Rp of the TXT and TX-C I2C-bus has not been not specified by in the TXT documentation from fischertechnik. However they are published on the forum:
Rp= 4k7 ohm and a Rs =100 ohm
- Connectors and additional not used overhead on a line could influence the quality of the signal in negative sense.
As comment on the article about I2C level shifting in
the FTpedia 2019-2
- Abb13 ( the black lines are Gnd and not 3.3V or 5V or 9V),
- page 44, the paragraph about the use of pin 9: see remark c in viewtopic.php?f=8&t=5310#p39013 ( 23 May 2019, 20:10)