Titelbild Mikrocontroller

15.4.1 Adress Paket

Nachdem der Master eine START Bedingung erzeugt hat, beginnt er die Übertragung indem der die 7 Bit Adresse und das R/W Bit in das Adressregister schreibt. Wenn der Bus besetzt ist, wartet der Master, bis er wieder frei wird, bevor er die Start Bedingung erzeugt. Abhängig von möglichen Kollisionen und dem R/W Bit sind nach dem Senden des Adresspaketes vier unterschiedliche Fälle möglich. Diese Fälle müssen durch die Software behandelt werden.

M1: Bushoheit verloren (arbitration lost) oder Busfehler während des Adresspaketes Wenn der Master während des Sendens des Adresspaketes die Hoheit über den Bus verliert, werden das master write interrupt Flag und das arbitration lost Flag gesetzt. Im Fall eines Busfehlers wird zusätzlich noch das Bus error Flag gesetzt. Der Bus Status geht von owner auf busy. Die SDA Leitung wird abgeschaltet und die SCL Leitung wird freigegeben. Der Master darf jetzt keine weiteren Operationen auf dem Bus ausführen bis der Bus Status wieder auf idle wechselt.

M2: Adresspaket komplett übertragen, Adresse von keinem Slave bestätigt. Wenn kein Slave auf die Adresse antwortet werden das master write Interrupt Flag und das master received acknowledge Flag gesetzt (ein NACK setzt das Flag). Die SCL Leitung wird auf Low gehalten um die Hoheit über den Bus zu behalten (Bus Status bleibt owner).

M3: Adresspaket komplett übertragen und bestätigt, R/W war gelöscht (Schreibvorgang) Wenn der Master ein ACK vom Slave empfängt wird das master write Interrupt Flag gesetzt und das master received acknowledge Flag gelöscht (ein ACK löscht das Flag). Die SCL Leitung bleibt auf Low und bereitet damit die weiteren Aktionen vor.

M4: Adresspaket komplett übertragen und bestätigt, R/W war gesetzt (Lesevorgang) Wenn der Master ein ACK vom Slave empfängt erwartet der Master den Empfang des nächsten Bytes vom Slave. Wenn das erste Datenbyte empfangen ist wird das master read interrupt flag gesetzt und das master received acknowledgt Flag wird gelöscht. Die SCL Leitung bleibt auf Low und bereitet damit die weiteren Aktionen vor.
« zurück:
15.4. Master Betrieb
» weiter:
15.4.2 Daten senden
Impressum