PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : I2C-Bus mit AVR abhören



Jaecko
20.11.2008, 15:05
Moin.

Diese Frage war hier glaub ich schon mal; nur find ich den Thread nicht mehr.
Falls jemand grad nen Link dazu hat, einfach posten.

Es geht darum, die Kommunikation auf einem I2C-Bus mitzuschreiben.
Wenn ich nen AVR (z.B. ATMega8) nun "normal" als Slave konfiguriere, reagiert er ja nur dann, wenn Daten gesendet werden, die mit seiner SlaveID zusammenpassen.

Wie müsste ich das ganze jetzt anstellen, damit ich mit dem AVR alle SlaveIDs empfangen kann? So dass nicht nur alle Daten empfangen werden, sondern auch (wichtig!) noch unterschieden werden kann, an welche SID diese gesendet werden.

mfG

robin
20.11.2008, 15:20
hi,

der mega168 hat ne adress maske, mit der reagiert der auf mehrere adressen, vlt. klappts damit.

mfg robin

Jaecko
20.11.2008, 15:32
Hab grad mal im Datenblatt gesucht.
Das Register TWAM ist diese Maske, d.h. einfach alle Bits auf 1 setzen und schon werden alle SID empfangen. Soweit schon mal nicht schlecht.

Nur bleibt noch ein Problem: Wie krieg ich dann raus, welche SID angesprochen wurde?

robin
20.11.2008, 15:39
des weiß ich auch nicht, tut mir leid...

ich bin z.Z. damit beschäftigt, überhaupt mal eine übertragung zwischen zwei m168 hinzubekommen.... und scheiter schon dabei.

Aber ich hab vorgehabt, mir später auch mal eine Überwachung der twi leitungen zu basteln und die gesendeten pakete dann entweder auf ner sd-karte oder auf einem lcd auszugeben. nur so wies zur Zeit aussieht, bin ich davon ein ganzes stück entfernt.

Eine andere möglichkeit, wäre aber mit den externen interrupts des mega8 zu arbeiten un immer wenn SCL high ist, SDA anzuschauen, da gibts ja bestimmte zustände, wie zb start, die man ganz einfach auslesen können sollte.

mfg robin

robin
24.11.2008, 21:04
hi,

ich glaub ich hab da was auf meiner suche, mein twi problem zu lösen gefunden, dass du suchst.

http://www.mikrocontroller.net/topic/103600#new

mfg robin