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
Nimm mal nen kleineren Pullup, 4.7k oder 10k
Gast
#4103396
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!
Gast
#4103401
Hi
>Das ist 1..10 mal zu groß.
10..100 mal zu groß.
MfG Spess
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
Gast
#4103489
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.
Gast
#4103723
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?