Titelbild Mikrocontroller

15. TWI des Xmega384

Das TWI ist eine bidirektionale Schnittstelle mit zwei Leitungen. Sie ist kompatibel zum I2C Bus und zum System Management Bus (SMBus). An Hardware werden lediglich zwei externe pull up Widerstände benötigt, an jeder Busleitung einer.

Ein Baustein, der an den Bus angeschlossen ist, arbeitet entweder als Master oder als Slave. Ein Master initiiert eine Übertragung indem er einen Slave adressiert und diesem mitteilt, ob er Daten schreiben oder lesen will. Der Bus kann viele Slaves haben und einen oder mehrere Master. Wenn mehrere Master zeitgleich auf dem Bus Daten senden wollen, regelt ein Ausgleichs(Schlichtungs)mechanismus (arbitration), wer als erstes darf. Oder besser: wer die Hoheit über den Bus behalten darf. Die Auflösung von solchen Konflikten ist Bestandteil des Protokolls.

Die TWI Module des Xmega unterstützen sowohl die Master als auch die Slave Funktionen. Beide Funktionen sind voneinander getrennt und können separat konfiguriert werden.

Das Master Modul unterstützt den multi Master Betrieb und den Ausgleichsmechanismus. Das Modul beinhaltet einen Baudraten Generator der 100kHz und 400kHz als Busfrequenz erzeugen kann. Zusätzlich können ein quick command und ein smart modus eingeschaltet werden, um Vorgänge automatisch zu triggern und damit die Komplexität der Software zu verringern.

Das Slave Modul beinhaltet den 7 Bit Adressvergleich und die General Call Erkennung als Hardware. Die 10 Bit Adresserkennung wird ebenfalls unterstützt. Ein dediziertes Adressmaskenregister kann als zweites Adressregister verwendet werden oder einen Adressbereich maskieren. Das Slave Modul arbeitet in allen sleep Modi. Der Baustein wacht daher aus den sleep Modi auf, wenn er seine Adresse erkannt hat. Man kann die Adresserkennung aber auch ausschalten.

Das TWI Modul erkennt START und STOP Bedingungen, Buskollisionen und Busfehler und zeigt dieses durch Status Flags getrennt für Master und Slave an.

Es ist möglich, die Zwei Draht Treiber im Baustein auszuschalten und stattdessen ein Vier Draht Interface freizuschalten, das mit externen Bustreibern verbunden wird. Das kann beispielsweise genutzt werden, wenn der Bus mit einer anderen Versorgungsspannung als der Xmega arbeitet.

Port C und Port E haben jeweils ein TWI.
Impressum