Hallo! Ich möchte einen TWI / I2C Master mit einem ATMEGA 16 realisieren, der sich dann u.a. mit einem Arduino und ggf. weiteren Slaves verbindet. Auf der AVR TWI Seite ist dazu eine Atmel Dokumentation verlinkt (http://www.atmel.com/Images/doc2565.pdf). Dort auf Seite 5 befindet sich die Angabe, dass die Pullupwiderstände "typischerweise 4,7k sind", abhängig von der Versorgungsspannung. -> Frage 1: Wie genau berechnet sich denn hier der "richtige" Wert? In meinem Fall habe ich eine konstante 5V Stromquelle (USB). Der AVR hat doch auch interne Pullupwiderstände, reichen die hier nicht (oder kann ich sie nicht verwenden, wenn ich die Pins nicht als GPIO sondern für TWI benutze)? -> Frage2: In der I2C Dokumentation habe ich gelesen, dass Master und Slave(s) eine gemeinsame Masse haben müssen. Ist das zwingend notwendig? In meinem Szenario habe ich einen Batteriebetriebenen Arduino, und einen ATMEGA, der an einem USB Netzteil hängt. Soll ich die Massen von beiden hier verbinden? Vielen Dank im Voraus!
Peter Reither schrieb: > Hallo! > > Ich möchte einen TWI / I2C Master mit einem ATMEGA 16 realisieren, der > sich dann u.a. mit einem Arduino und ggf. weiteren Slaves verbindet. > > Auf der AVR TWI Seite ist dazu eine Atmel Dokumentation verlinkt > (http://www.atmel.com/Images/doc2565.pdf). Dort auf Seite 5 befindet > sich die Angabe, dass die Pullupwiderstände "typischerweise 4,7k sind", > abhängig von der Versorgungsspannung. > > -> Frage 1: Wie genau berechnet sich denn hier der "richtige" Wert? In > meinem Fall habe ich eine konstante 5V Stromquelle (USB). Der AVR hat > doch auch interne Pullupwiderstände, reichen die hier nicht (oder kann > ich sie nicht verwenden, wenn ich die Pins nicht als GPIO sondern für > TWI benutze)? Das kommt auf die Kapazität und damit auf die Länge des Kabels an. Die 4.7k sind schon OK, Du kannst auch auf 3.2k oder 2.2k runter gehen. > -> Frage2: In der I2C Dokumentation habe ich gelesen, dass Master und > Slave(s) eine gemeinsame Masse haben müssen. Ist das zwingend notwendig? > In meinem Szenario habe ich einen Batteriebetriebenen Arduino, und einen > ATMEGA, der an einem USB Netzteil hängt. Soll ich die Massen von beiden > hier verbinden? Ja, Du solltest die Massen verbinden, sonst hängt der Bus in der Luft und macht Murks. > Vielen Dank im Voraus!
Peter Reither schrieb: > -> Frage2: In der I2C Dokumentation habe ich gelesen, dass Master und > Slave(s) eine gemeinsame Masse haben müssen. Ist das zwingend notwendig? Ja, wie willst du sonst Daten über den Bus übertragen? Auf dem Bus werden die Signale als Spannungen zwischen Master und Slave übertragen. Und Spannungen werden immer zwischen zwei Punkten gemessen.
Hi >-> Frage 1: Wie genau berechnet sich denn hier der "richtige" Wert? S.55 in http://www.nxp.com/documents/user_manual/UM10204.pdf Den Rest solltest du dir auch mal zu Gemüte führen. MfG Spess
Vielen Dank für die vielen, schnellen und hilfreichen Antworten!
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.