Ich wollte euch noch eine wichtige Information hinterlassen:
Auf dem Board befinden sich die Dreifüssler mit der Aufschrift J1
SMD-Code: J1 entspricht dem Bauteil BSS138
das ist ein N-Channel Mosfet Transistor
vom Typ: Enhancement Mode Field = Anreicherungstyp = selbst sperrend
Das bedeutet ohne Ansteuerung (Gate offen) sperrt er. Die Source Drain Strecke ist dann hochohmig.
Ein wichtiger Parameter ist die
Gate Threshold Voltage, bei diesem Transi liegt sie bei maximal 1,5Volt
da fängt er mit Sicherheit an zu leiten.
Diese Spannung bestimmt auch wie weit runter er mit den Leveln arbeiten kann.
Eine 1,8 Volt Logik ist damit also noch problemlos realisierbar.
Das interessante an dieser Schaltung ist, dass sie bidirektional (also in beide Richtungen) funktioniert.
Das ist beim I2C Bus nur für die Datenleitung notwendig, da auf dieser Leitung Daten gelesen aber auch geschrieben werden.
Der Clock hingegen hat nur eine Richtung.
Normalerwesie werden auf beiden Seiten die Leitungen über die Pullupwiderstände (meist ist 10K bestückt) nach High gezogen.
! Achtung hier kann bei schnellen Übertragungsraten schon eine Problem auftreten.
Dann müssen die Widerstände runter bis auf 1K verändert werden.
Ich hab das mal bei meiner Schaltung oszillografiert:
- Pullup_10k.jpg (101.42 KiB) 4313 mal betrachtet
- Pullup_1k.jpg (98.98 KiB) 4313 mal betrachtet
Man sieht wie krum die Flanken werden wenn die Pullups zu hochohmig sind:
Wenn man also merkwürdige Datenverfälschungen hat oder es garnicht funktioniert, könnte es daran liegen.
Man kann einfach einen 1K über die bestückten 10K drüber löten, dann hat man 909 Ohm, das ist auch noch okay.
bei 1K1 wären das 991 Ohm. Spielt nicht die Geige...
und es ist richtig, wie schon erwähnt: Beide Seiten liegen normalerweise über die Pullups auf High,
mit einem Low wird geschaltet.