Titelbild Mikrocontroller

16.3.3. Adressen Format

Alle Adresspakete, die auf dem TWI-Bus übertragen werden sind 9-bit lang, bestehend aus 7-bit Adresse, einem READ/WRITE Bit und dem Bestätigungsbit (acknowledge, ACK). Wenn das READ/WRITE Bit gesetzt ist, wird eine Lese-Operation ausgeführt, wenn das Bit gelöscht ist, wird eine Schreiboperation durchgeführt. Wenn ein Salve erkennt, dass er adressiert wurde, so muss er im neunten Taktzyklus (SCL) die Datenleitung (SDA) auf Low ziehen. Wenn der Slave belegt ist oder aus einem anderen Grund die Anforderung vom Master nicht beantworten kann, so muss die SDA Leitung im neuntenTakt auf High bleiben. Der Master kann dann eine Stopp Bedingung generieren oder eine Wiederholte Start Bedingung ausführen um die Datenübertragung zu starten. Ein Adresspaket, das die Salveadresse und das Read oder Write Bit enthält wird als SLA+R bzw. SLA+W bezeichnet.

Das MSB der Adresse wird zuerst übertragen. Die Salveadressen können frei durch den Programmierer gewählt werden, allerdings ist die Adresse 0000 000 für einen Rundruf reserviert.

Wenn ein Rundruf ausgeführt wird, antworten alle Slaves indem sie die SDA Leitung im ACK Takt auf Low ziehen. Ein Rundruf wird verwendet, wenn der Master an alle Bausteine im System die gleiche Nachricht schicken will. Wenn die Rundrufadresse mit dem WRITE Bit auf den Bus ausgegeben wird, ziehen alle Slaves zum Bestätigen des Rundrufs die SDA Leitung im neunten Takt auf Low. Die folgenden Datenpakete werden dann von allen Slaves empfangen, die den Rundruf bestätigt haben. Man beachte, dass eine Rundrufadresse mit einem READ Bit unsinnig ist, da dies zu Kollisionen führen wird, wenn alle Slaves mit dem Aussenden unterschiedlicher Daten beginnen würden.

Alle Adressen mit dem Format 1111 xxx sind für zukünftige Verwendungen reserviert.

Adresspaket

Adresspaket


Impressum