I2C Problem mit ATmega

Gast #805155
Lesenswert?
• ▲
▼
Hallo,
ich habe ein Problem mit dem I2C Bus:
Meistens endet die Übertragung bereits nach dem Senden der Adresse.
Ich erhalte noch die Statuscodes, dass Start und Adresse gesendet 
wurden, danach steht die Übertragung.

Im Anhang ist ein Screenshot von der Situation.
Was passiert denn da nach dem ACK der Adresse? Daraus, dass SCL low ist, 
schließe ich, dass der Slave die Übertragung anhält, richtig?

Warum tut er das? Ich muss doch lediglich das TWINT Flag nach Empfang 
immer wieder rücksetzen, oder?
Oder gibt es da noch etwas zu beachten?

Und warum geht nach einiger Zeit auf Daten auf low, sodass beide 
Leitungen dann low sind?

Danke und Gruß
Jan
Angehängte Dateien:
Gast #805279
Lesenswert?
• ▲
▼
Ich schließe daraus das der Master keinen Takt erzeugt und so der Slave 
keine Daten liefern kann.

Da z.B ein speicherchip wie der 24c65 keinen taktgenerator sein eigen 
nenen kann, ist er auf einen externen Takt angewiesen um seine Daten 
seriell zu senden. Diese liefert der Master über SCL. und zwar 
unabhängig davon ob der slave eine eigenetaktquelle besitzt oder nicht.


benutzt du die TWI oder generierst du I²C perbitbanging ?
Gast #805358
Lesenswert?
• ▲
▼
Das sind zwei Megas, die miteinander reden sollen.
Und zwar über die interne TWI.

Der Master erzeugt ja einen TAkt; die Adresse wird übertragen. Das ACK 
des Slaves erfolgt ja auch noch.

Aber dann geht SDA wieder auf high, während der Takt auf low bleibt.

Hält der Slave die Taktleitung auf low? Warum tut er das? :)

Gruß
Mr.Green
Gast #805427
Lesenswert?
• ▲
▼
sorry hatte einen Absturz
hier habe  ich mal einiges zur TWI übersetzt

http://de.geocities.com/postboxelektronik/box/Serielle_Zweidraht_Schnittstelle.pdf
http://de.geocities.com/postboxelektronik/box/I2C_Bus_Functions.pdf

Der Master gibt auch beim lesen eines Bytes den Takt aus.
Du musst also die TWI veranlassen ein Byte auf dem Bus zu lesen um 
Antwort vom Slave zu erhalten.

Beachte bitte, dass beim lesen des letzten Bytes das das Aknowledge 
nicht angefordert werden darf, da sich sonst die TWI aufhängt!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren