Forum: Mikrocontroller und Digitale Elektronik TWI Kommunikation zwischen XMega32 und ATMega168


von Ulrich (Gast)


Lesenswert?

Hallo,

ich verzweifle daran, zwischen den beiden Mikrocontrollern eine 
Kommunikation aufzubauen. Beide werden mit 3,3V betrieben.
Als Logic Analyser nutze ich den Open Workbench Logic Sniffer.

Der XMega soll Master sein, der ATMega Slave.

XMega:
Ich habe es mit 32MHz und mit 2MHz (beispielcode von ATMEL) probiert.
Beides mal zeigt der LA ein korrektes Signal an, jedoch fehlt die 
ACK-Bestätigung der Adresse des Slaves, sodass keine weiteren Daten 
gesendet werden.

ATMega:
Läuft auf 8MHz interner Takt, wurde Testweise auch mit externem Quartz 
8MHz und 12MHz getestet. Bei jedem Versuch reagierte der ATMega korrekt, 
wenn ich über einen andern ATMega (Stichwort "Bus Ninja") die I2C 
Befehle sende. Nur auf I2C Befehle des XMegas kommt keine Reaktion.
Ich habe von früher noch einen "USI-Logger" auf Basis eines ATTINY2332 
rumliegen, welcher die I2C Befehle des ATMegas anzeigt, aber die I2C 
Befehle des XMegas nicht.

Ich habe den I2C Takt des XMegas soweit heruntergedreht wie beim Bus 
Ninja; geht dennoch nicht.

Bei den mit den LA gemessenen  Paketen fällt auf, dass die 
Start-Condition beim XMega deutlich länger ist als beim ATMEga, aber ich 
wüsste a) nicht warum das schlechter sein sollte und b) nicht wie ich 
das ändern kann.

Hat jemand eine Idee?

Grüße Ulrich

von Dominik M. (lauso)


Lesenswert?

Hallo,
ich bräuchte etwas mehr Info um helfen zu können.
Habe bereits einen XMega128a1 mit einem ATmega per TWI verbunden.
Hat alles soweit geklappt.
Als nächstes wäre der Quellcode erforderlich um richtig suchen zu 
können.

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
Noch kein Account? Hier anmelden.