PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : TWI senden/empfangen



yaro
20.05.2009, 00:30
Hallo Leute,

Ich habe mich gerade mit der TWI-Schnittstelle beschäftigt, und mir ist etwas nicht ganz klar: woher weiß der Master, wann er senden und wann empfangen soll? In den Codebeispielen, die ich vor mir hab, wird kein Unterschied gemacht (außer dass man das Datenregister vorher beschreibt/nachher ausliest).
Also bei der Adresse ist es ja klar, da schreibt der Master immer, aber wie ist das mit den Daten?

Gruß, Yaro

021aet04
20.05.2009, 09:36
Der Master weiß immer, wann der Bus frei ist, indem die SDA und SCL Leitung logisch 1 ist. Wenn diese Bedingung vorhanden ist, kann der Master senden. Es kann immer nur ein Master senden (bei Multimastersystem). Die anderen brechen die Übertragung ab. Dies erkennen sie an den Pegeln der Leitung.

thewulf00
20.05.2009, 12:22
Bei Singlemasterbetrieb (d.h. es gibt nur einen "Chef", der entscheidet, was gemacht wird) bestimmt allein der Master, ob gesendet oder empfangen wird. D.h. er verbindet sich mit einem Slave und sagte ihm sofort: "SENDE!" oder "EMPFANGE!". Und dementsprechend empfängt oder sendet der Master dann die Daten.
Im Multimasterbetrieb wird i.d.R. nur gesendet. Derjenige, der was zu sagen hat, sendet einfach, sofern der Bus fre ist.

Ich muss dazusagen, dass ein Singlemastersystem nach unserer Erfahrung stabiler läuft.

linux_80
20.05.2009, 20:18
Hallo,

woher weiß der Master, wann er senden und wann empfangen soll?

Da der Master der Chef am Bus ist, kann er senden wann er will. Wenn die Slaves grad nicht aufgepasst haben, Pech gehabt, muss nochmal probiert werden