Hallo Leute, Betreibe einen ATMEGA168 der mit einem anderen Board über TWI/I2C kommunizieren soll. Frequenz ist 100kHz. Verwendet wird der interne OScillator von 8MHz.Pull up Widerstände von 4k7. Bekomme nun auch schon die ersten Daten aus der SDA und SCL Leitung heraus. Problem ist, dass ich unterschiedliche Spannungspegel bei der SDA und SCL Leitung herausbekommen siehe Bild im Anhang. Oben Daten Unten Clock Wisst ihr was das Problem ist, was kaputt sein könnte ? Chip hab ich schon gewechselt, keine Veränderung. LG Lukas
Kann es sein, daß Du den Ausgangsport des AVR falsch konfiguriert hast? Beim I2C/TWI muß SDA als Open-Collector arbeiten d.h. starke 0 und schwache 1. In Deinem Bild könnte es sein, daß der AVR eine starke 1 auf SDA legt und der Slave eine starke 0 dagegen legt (Kurzschluß!), so daß sich eine Spannung von ca. 2,5V einstellt. Die Idee ist, daß alle an SDA angeschlossenen Treiber aktiv nur nach Masse ziehen dürfen, aber nicht nach VCC. Durch den Pullup ergibt sich ein High, wenn kein Treiber aktiv nach Masse zieht.
Hi
>Kann sein nur wie konfiguriere ich die AUsgangsport des AVR richtig?
Brauchst du nicht. Mit dem Setzen von TWEN in TWCR übernimmt das TWI die
Kontrolle über die Pins. Lediglich der interne Pull-Up-Widerstand ist
zuschaltbar.
MfG Spess
Ja dann ist die Frage was ich ändern könnte oder was kaputt ist, denn diese Spannungsunterschiede dürften nicht vorhanden sein. Bekomme auch keine Kommunikation hin. Kein ACK wird empfangen. LG Lukas
Hi >Ja dann ist die Frage was ich ändern könnte oder was kaputt ist, denn >diese Spannungsunterschiede dürften nicht vorhanden sein. Hast du die Signale mal ohne 'Gegenstelle' gemessen? Also nur Pull-Up-Widerstände. MfG Spess
Hi
>Ja hab ich.. Genau die selben Spannungspegel.
Da du den Controller schon gewechselt hast, würde ich mal die Schaltung
genau kontrollieren.
MfG Spess
Es muss aber dann eigentlich an der TWI Applikation liegen vom Controller, denn ich habe mal einfach den TWI ausgeschaltet und die PINS wo SDA und SCL sind high und low gesetzt und hab da dieselben Spannungspegel! LG Lukas
Lukas H. schrieb: > Es muss aber dann eigentlich an der TWI Applikation liegen vom > Controller, denn ich habe mal einfach den TWI ausgeschaltet und die PINS > wo SDA und SCL sind high und low gesetzt und hab da dieselben > Spannungspegel! Meinst Du mit "dieselben Spannungspegel", daß sie in diesem Fall okay sind? Oder dieselben falschen Spannungen wie in Deinem Oszi-Bild? Kannst Du die Leitung auftrennen und nachmessen? Zeig doch mal Deine Schaltung.
Nein da sinds die richtigen Spannungen. 4,6 V sowas. und Beide gleich groß! LG Lukas
Nein TWEN ist definitv nicht ausgeschaltet´. Immer eingeschaltet. Ist doch komisch oder wenn ich den TWI einschalte und er erzeugt mir solche SPannungspege und wenn ich ihn ausschalte ist alles in Ordnung.
Lukas H. schrieb: > Ist doch komisch oder wenn ich den TWI einschalte und er erzeugt mir > solche SPannungspege und wenn ich ihn ausschalte ist alles in Ordnung. Nicht unbedingt. Wenn Du den TWI ausschaltest, wird kein Slave adressiert und damit wird auch kein Slave aktiv SDA treiben. Wenn Du TWI aktivierst und dieser einen Slave adressiert, dann will der Slave antworten und treibt SDA. Falls gleichzeitig -warum auch immer- irgendjemand eine starke '1' auf SDA legt, bekommst Du diese seltsamen Pegel.
Warum? Ich bekomme auch diesen seltsamen Pegel wenn keine Kommunikation besteht, also kein SLAVE an SDA und SCL dran ist.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.