Fragen zu TWI Master mit ATMEGA 16

Gast #3078752
Lesenswert?
• ▲
▼
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!
Gast #3078770
Lesenswert?
• ▲
▼
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!
Gast #3078791
Lesenswert?
• ▲
▼
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.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.