I2C: Unterschied zwischen den Versionen

Aus m-wiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
== Einführung ==
== Einführung ==
Die [https://de.wikipedia.org/wiki/I%C2%B2C I<sup>2</sup>C]-Schnittstelle wird in vielen [[IoT-Anwendungen|IoT-Geräten]] verwendet. So auch im [[Raspberry Pi|Raspi]] und [[Arduino]].
Die [https://de.wikipedia.org/wiki/I%C2%B2C I<sup>2</sup>C]-Schnittstelle wird in vielen [[IoT-Anwendungen|IoT-Geräten]] verwendet. So auch im [[Raspberry Pi|Raspi]] und [[Arduino]].
Der Bus muss jeweils mit einem 4.7k [[Elektronik#Widerstand|Widerstand]] zur Betriebsspannung abgeschlossen werden. Jeweils SCL (Serial Clock) und SDA (Serial Data) separat. Diese geschieht direkt beim Master. Je nach Gerät hat dieses auch integrierte PullUp-Widerstände in der korrekten Höhe, wie etwa der FPGA Max1000.


== Adresse ==
== Adresse ==

Version vom 16. März 2024, 22:48 Uhr

Einführung

Die I2C-Schnittstelle wird in vielen IoT-Geräten verwendet. So auch im Raspi und Arduino. Der Bus muss jeweils mit einem 4.7k Widerstand zur Betriebsspannung abgeschlossen werden. Jeweils SCL (Serial Clock) und SDA (Serial Data) separat. Diese geschieht direkt beim Master. Je nach Gerät hat dieses auch integrierte PullUp-Widerstände in der korrekten Höhe, wie etwa der FPGA Max1000.

Adresse

Da es sich um eine Master-Slave-Schnittstelle handelt, braucht jedes Gerät eine eigene Adresse. Normalerweise besitzt daher der Empfangsbaustein eine Grundadresse, welche dann mit Lötpunkten erhöht werden kann, welche jeweils eine binäre Zahl bedeuten. Die Lötpunkte sind meist mit A0 bis Ax beschriftet. Bei 3 Lötpunkten sind entsprechend 23 = 8 Adressen möglich, wobei A2 dann für die 4 steht. Somit besitzt ein Gerät mit Adresse 70 und geschlossenen Lötpunkten A0 und A2 die Adresse 70 + 1 + 4 = 75. Auf Grund dieses Aufbaus können an einem System mit gleichem Chip nur eine maximale Anzahl angeschlossen werden, da sonst doppelte Adressen resultieren.

HT16K33 (LED-Driver)

Dieser Baustein besitzt folgende Merkmale:

  • Betriebsspannung von 5V.
  • Anschluss über I2C.
  • Reset wenn VDD für min. 20 Milliseunden auf 0V.
  • I2C-Adresse lässt sich über die Lötbrücken A0, A1 und A2 auf die Adressen 0x70 bis 0x77 einstellen.
  • Die Anschlüsse können bei Bedarf durchgeschlauft werden.
  • Der Baustein arbeitet mit 400kHz.
  • Das Modul lässt sich mit einem "S"-Bit-Befehl in den Standby-Betrieb bringen und von dort wieder holen.
  • Es gibt einen 16x8-Bit RAM-Speicher, welcher die Zustände der LEDs speichert und sich entsprechend auslesen lässt
  • Dimmen der LED in 16 Stufen über PWM möglich. Leider geht dies nur jeweils fürs gesamte Board, so dass man es nicht für einzelne LEDs nutzen kann.
  • Blinken der LED wäre in 3 Stufen möglich, doch leider auch nur das gesamte Board. Entsprechend kann man nur Effekte hervorrufen, wenn man einzelne LEDs über den Code blinken lässt, doch hier muss man herausfinden, wie schnell und genau dies funktioniert.

Datei:Ht16K33v110.pdf