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
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
Hi
>Jetzt möchte ich einen entfernteren AtMega
Was ist bei dir 'enfernt'? Eine Masseverbindung muss auf jeden Fall
sein.
MfG Spess
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
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ß
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)?
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
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.
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.