PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : I2C-Bus(TWI) mit Atmega16



Bluesky
28.02.2007, 14:02
Hallo,
ich möchte gerne 3 bis 4 mega16 Boards über I2C (TWI) ansteuern können. Wie geht das am einfachsten und kann ich 2 Mega16 auch als Master laufen lassen und die andern als Slave. Kenne mich mit den atmega16 nich so aus, da ich bis jetzt immer nur etwas mit dem 89C51 gemacht habe und da auch nur immer über Asambler-Programmierung.

Pascal
28.02.2007, 16:13
Es sieht so aus, dass maximal ein Teilnehmer am Bus Master sein kann, aber diese Rolle kann wechseln. Also jeder Teilnehmer kann (nacheinander) Master sein.
Für alles weitere benutzt du bitte das wiki oder die Forensuche, zu dem Thema gab es in letzter Zeit soviele threads.

Ratber
28.02.2007, 16:41
Es sieht so aus, dass maximal ein Teilnehmer am Bus Master sein kann, aber diese Rolle kann wechseln. Also jeder Teilnehmer kann (nacheinander) Master sein.

Damit meinst du sicher das zu einem Zeitpunkt immer nur ein Master seine Operation durchziehen kann.


@Bluesky


I2C ist Multimasterfähig.
Es können ohne Problem mehrere Master am Bus arbeiten.
Dafür gibt es extra spezielle Mechnismen die verhindern das mehrere Master sich gegenseitig stören.



Such mal nach "Multimasterprotokoll" und "Arbitration"

Oder schau mal in dieses Dokument (http://home.arcor.de/ratber/spezifikation.pdf) unter Punkt 8
Da ist es beschrieben.

Im Wissensbereich findet sich auch noch etwas Praktisches (https://www.roboternetz.de/wissen/index.php/TWI_Praxis_Multimaster) dazu.

Zapo.
28.02.2007, 19:46
oder versuchs mal hiermit:

www.mcselec.com
auf der download seite für Software

I2CSLAVE Library (Download version)
It allows you to turn the AVR micro into an I2C slave chip. Replace expensive I2C chips with your own cheap AVR-slave. Product Details...

ein ADD ON .... ich kenns zwar nicht, aber das hört sich so an als würde es deine Probleme lösen!

Zapo.