mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Kurze Frage zu i2c und gemeinsame Masse


Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi
Ich habe ein paar I2C slaves die ich mit einem attiny ansteuer. Klappt 
soweit prima. Die Bauteile hängen aber alle an der selben 
Spannungsversorgung.

Jetzt möchte ich einen entfernteren AtMega zum steuern des I2C busses 
verwenden. Der hat sein eigenes Schaltnetzteil, sprich es gibt keine 
Gemeinsame Masse.

Reicht es wenn ich die Massen beider Schaltungen verbinde? Das habe ich 
getestet aber es geht nicht.
Oder muss brauche ich eine gemeinsame Versorgungsspannung und gemeinsame 
Masse?

Gruß
Christoph

Autor: I2C-User (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Hmm, irgendwie verstehe ich deine Frage nicht ganz, aber ich hoffe, dass 
dir klar ist, wenn mehrere Master auf dem Bus arbeiten, muss ein 
Arbitrationsprozess ein Chaos vermeiden.
Denn beginnen zwei Master gleichzeitig zu senden, so muss jeder Master 
den Zustand der SDA–Leitung kontrollieren. Sendet ein Master z.B. eine 1 
und detektiert aber eine 0, so muss er seine Aktivitäten am Bus 
einstellen. Der Master mit der niedrigsten Adresse gewinnt sozusagen.
Die Clock wird aufgrund der wired-And Verknüpfung der einzelnen 
Bausteine synchronisiert.

MfG

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Jetzt möchte ich einen entfernteren AtMega

Was ist bei dir 'enfernt'? Eine Masseverbindung muss auf jeden Fall 
sein.

MfG Spess

Autor: Alex22 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie Spess schon fragte: Wie weit ist dein "Master" weg? Wie lang ist der 
Bus insgesamt?

I2C (Inter-Integrated-Circuit) ist ursprünglich für die Verbindung von 
Bauteilen auf einer Platine gedacht. Nicht, um z.B. einen Hausbus 
(o.ä.) zu realisieren.

Wie ist deine Bustopologie insgesamt?
Welche Übertragungsrate benutzt du?

Schöne Grüße,
Alex

Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also es gibt einen Master und mehrer Slaves ;-)

Die Entfernung ist auch irrelevant. Ich hatte meine Schaltung mit einem 
attiny aufgebaut. Der ist für meine Software leider zu klein weswegen 
ich die selbe Software auf einen atmega abgestimmt habe. Nur der 
wiederrum passt natürlich nicht auf das Bord vom attiny und sitzt zur 
zeit auf einem entwicklungsboard mit eigener Spannungsversorgung.

Die Tatsächliche Entfernung Master-Slave beträgt ca. 30 cm und ist das 
selbe Kabel wie an dem tiny.

Also die Slaves hängen an einer eigenen und der Master an einer eigenen 
Spannungsversorgung.

Die Frage ist nun wie ich die Spannungsversorgungen brücken muss/darf. 
Reicht es hier nur Masse zu verbinden?

Gruß

Autor: Alex22 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Solange du nur die Massen verbindest sollte das ganze Funktionieren.
Hast du denn versuchsweise mal alle Geräte an die gleiche 
Spannungsversorgung angeschlossen (falls möglich)?

Autor: I2C-User (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, nochmals!

Also so war die Frage gemeint :-)

Wieviele Bausteine hängen denn am Bus überhaupt? Soweit ich noch in 
Erinnerung habe, hängt die Anzahl der Bausteine am Bus von der gesamten 
kapazitiven Belastung ab, die 400pF nicht übersteigen darf.

Ansonsten würde ich auch dasselbe, wie Alex22 geschrieben hat, 
versuchen.

MfG

Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So habs raus

Es reicht doch nur die Massen zu verbinden.

Bei mir wars eine Kombination aus falscher Taktfrequenz (falschen 
Fusebits) und nicht funktionerendem I2C (habe den "hardeware i2c" des 
mega16 genommen und wohl irgendwas wesentliches noch nicht verstanden).

Das hat man halt davon wenn man aus Geiz die Controller 
unterdimensioniert.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.