Hallo
Meine Frage ist eigentlich recht simpel und zwar wenn ich einen ATmega16 über I2C Bus etwas ansteuern will muss ich nur SCL, SDA und INT verbunden werden?
MfG Snow Wolf
Hallo
Meine Frage ist eigentlich recht simpel und zwar wenn ich einen ATmega16 über I2C Bus etwas ansteuern will muss ich nur SCL, SDA und INT verbunden werden?
MfG Snow Wolf
Hallo,
die INT-Leitung ("Interrupt") musst du nicht zwangsläufig anschließen, außer du möchtest z.B. einen Portexpander anschließen, der über die INT-Leitung dem Prozessor bedeuten kann, dass sich die Eingangszustände geändert haben.
Wichtig sind noch zwei Pull-up-Widerstände zwischen SDA und +5V sowie zwischen SCL und 5V. Wähle so etwa im Bereich 2,2k...10kOhm. Interne Pull-ups gibt es zwar auch, aber die sind zu hochohmig dafür.
Die angeschlossene Hardware braucht meist auch noch Versorgungsspannung, üblicherweise wird dann I2C-Bus und Versorgungsspannung auf einem Flachbandkabel gemeinsam verkabelt.
Grüße, Bernhard
Ja, und vergiss GND nicht
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Ok das heißt ich muss folgende Leitungen in den Bus intigrieren damit alles funktioniert: SCL, SDA, INT (nur wenn ich eingänge habe), GND. Muss ich auch die Versorgungsspannung mit einschließen?
MfG Snow Wolf
Prinzipiell benötigst du nur SCL und SDA. INT ist, wie Bernhard schon erwähnt hat, rein optional und hat mit dem Bus selber nichts zu tun. Auch GND und VCC haben mit dem Bus nichts zu tun, aber wenn dein Bauteil GND und VCC Pins hat solltest du die auch dementsprechend versorgen.
Welche erweiterungen willst du überhaupt anschließen? (Ich würde auf einen pcf8574 tippen)
Du brauchst die Versorgungsspannung, damit die Schaltung versorgt wird. Damit der I2C Bus funktioniert brauchst du SCL, SDA (über Pullup Widerstände mit pos. Versorgungsspannung verbinden) und GND (hast du schon über die Versorgung. Den INT brauchst du nicht. Solltest du z.B. bei einem PCF8574 (Portexpander) wichtige Eingänge haben, kannst du den INT-Anschluss mit einem Int Eingang des µCs verbinden. Wenn die Eingänge eher unwichtig sind und du den z.B. PCF8574 zyklisch ausließt brauchst du den INT nicht. Du kannst die INT Ausgänge von mehreren I2C Bausteinen an einen INT-Eingang des µC schließen (parallel). Du musst aber einen Pullup Widerstand verwenden (es geht auch der interne des µC).
Mit dem RTC-Baustein PCF8583 kannst du z.B. jede Sekunde einen INT auslösen. So hast du am µC eine relativ genaue Zeit, die du verwenden kannst.
Noch einmal aufgeschlüsselt:
Wichtig:
>+U
>GND
>SCL
>SDA
Wenn nötig:
>INT
MfG Hannes
Ok es ist sind 2 PCA9555D Bausteine die ich verwenden will. Das heißt ich muss due +5V vom µC und GND an den Bus hängen damit alles einwandfrei funktioniert?
MfG Snow Wolf
Lesezeichen