Hallo, ich habe einen ATMega16 mit einem IC verbunden. Die SDA- und SCL-Leitungen sind jeweils mit einem 100k-Pullup gegen 5 V geschaltet. Eine Übertragung über den Bus funktioniert normalerweise problemlos (Vorgehen nach Datenblatt des uCs, Seite 185). Wenn ich jedoch mit einem Oszilloskop-Tastkopf die Leitung berühre, erfolgt kein Setzen des TWINT-Bits. Demnach bleibt der Prozess in der While-Schleife hängen. Mechanische Probleme schließe ich aus; wenn ich die Leitung mit Plastik berühre, gibt es kein Problem. Das Problem tritt auch auf, wenn ich meinen Finger an die Leitung halte. Hat jemand eine Idee? Viele Grüße und lieben Dank, Kai
Hi SCL-Leitungen sind jeweils mit einem 100k-Pullup gegen 5 V geschaltet. Das ist 1..10 mal zu groß. >Wenn ich jedoch mit einem >Oszilloskop-Tastkopf die Leitung berühre, erfolgt kein Setzen des >TWINT-Bits. Demnach bleibt der Prozess in der While-Schleife hängen. Kein Wunder. Nimm mal 4,7k. MfG Spess
Zwei schnelle Antworten, beide plausibel. Der kleinere Pullup wird morgen eingebaut. Vielen Dank euch Beiden!
ich würde den Querstrom um 1mA halten, bei 5V eben 4,7k bei 3,3V eben 3,3k nur am Rande my 2ct, aber I2C ist ein Bus und kein Stern und die pullups sollten am letzten i2c Baustein sitzen
Hi >ich würde den Querstrom um 1mA halten, bei 5V eben 4,7k bei 3,3V eben >3,3k >nur am Rande my 2ct, Mehr ist der 'Rat' auch nicht wert. Dann lieber richtig ausrechnen: http://www.nxp.com/documents/user_manual/UM10204.pdf MfG Spess
spess53 schrieb: > Mehr ist der 'Rat' auch nicht wert. Dann lieber richtig ausrechnen: geiler Spruch, mit unbekannte Kabelkapzitäten -> Länge, mit unbekannten Busteilnehmer usw. logisch schaue ich in die Datenblätter aller Beteiligter ob der Strom 'runter' gezogen werden kann, ich bin nicht sicher ob das für alle I2C oder TW Bausteine gleichermaßen gilt, NXP kann ja was nettes schreiben aber stellen die alle I2C Teile der Welt her? oder meinst du wirklich alle halten sich an die Theorie? Ich habe da zu oft anders erlebt. von daher ist 1mA erst mal ne Hausnummer die vermutlich besser funktioniert als 470k.
Hi >logisch schaue ich in die Datenblätter aller Beteiligter ob der Strom >'runter' gezogen werden kann, ich bin nicht sicher ob das für alle I2C >oder TW Bausteine gleichermaßen gilt, NXP kann ja was nettes schreiben >aber stellen die alle I2C Teile der Welt her? oder meinst du wirklich >alle halten sich an die Theorie? Welche Theorie? I2C ist ein Markenzeichen von NXP. Und die vergeben die Lizenzen für dafür. Deswegen kannst du davon ausgehen das dort wo I2C draufsteht auch I2C drin ist. Umsonst heißt das Ganze z.B. bei ATMEL TWI und nicht I2C. >geiler Spruch, mit unbekannte Kabelkapzitäten -> Länge, mit unbekannten >Busteilnehmer usw. Die Eingangskapazitäten von SDA und SCL sind in den Datenblätter der mir bekannten I2C-ICs enthalten. Und für die Kabelkapazitäten gibt es auch in vielen Fällen Datenblätter. Also alles mit etwas gutem Willen kein Problem. MfG Spess
spess53 schrieb: > Und für die Kabelkapazitäten gibt es auch > in vielen Fällen Datenblätter. klar und das kann jeder rechnen der es benutzt, ich denke du bist doch vom Fach, mal zurückkommen auf dem Teppich, was denkst du wie viele I2C oder TWI nutzen ohne nur ein einzigen Ohmwert real oder imaginär rechnen zu können? spess53 schrieb: > Umsonst heißt das Ganze z.B. bei ATMEL TWI eben drum, aber die werden deiner Meinung nach nicht benutzt?
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.