Titelbild Mikrocontroller

16.8.7. Multi-Master Systeme und Schiedsgericht

Wenn mehrere Master an denselben Bus angeschlossen sind, kann eine Übertragung zeitgleich von zwei oder mehreren Mastern begonnen werden. Der TWI Standard stellt sicher, dass solche Situationen so gehandhabt werden, dass nur einem Master erlaubt wird, seine Arbeit fortzusetzen und keine Daten verloren gehen. Ein Beispiel für eine Schiedsgericht-Situation ist nachfolgend beschrieben, in der zwei Master versuchen, Daten an einen Slave Empfänger zu übertragen.
Schiedsgericht-Situation

Schiedsgericht-Situation


Folgende Szenarien können während des Schiedsgerichtes auftreten:
  • Beide Master führen eine vollkommen identische Kommunikation mit dem Slave durch. In diesem Fall merkt weder der Slave noch einer von den Mastern etwas von dem gemeinsamen Zugriff auf den Bus.
  • Beide Master adressieren den gleichen Slave aber mit unterschiedlichen Daten- oder Richtungs Bit. In diesem Fall tritt das Schiedsgericht ein, nämlich bei den Read/Write Bit oder in den Datenbits. Der Master, der versucht eine 1 auf SDA auszugeben, während der andere Master eine 0 ausgibt, verliert das Schiedsgericht. Der unterlegene Master wird in den Modus eines nicht adressierten Slaves geschaltet oder wartet, bis der Bus frei ist, um dann eine neue START Bedingung zu senden. Dies hängt von der Software ab.
  • Beide Master adressieren unterschiedliche Salves. In diesem Fall tritt das Schiedsgericht schon bei den SLA Bits auf. Der Master, der versucht eine 1 auf SDA auszugeben, während der andere Master eine 0 ausgibt, verliert das Schiedsgericht. Der unterlegene Master schaltet in den Modus eines nicht adressierten Slaves und überprüft, ob er von dem überlegenen Master adressiert wurde. Wenn er selbst adressiert wurde, so schaltet er anschließend in den Slave Empfangs oder Sende Modus. Wurde der unterlegene Master nicht selber adressiert, so schaltet er in den Modus eines nicht adressierten Slaves oder wartet, bis der Bus frei ist, um dann eine neue START Bedingung zu senden. Dies hängt von der Software ab.

Zusammengefasst sind hier noch einmal die verschiedenen Möglichkeiten aufgezeigt, die Werte der möglichen Statuscodes sind in den Kreisen angegeben.
Statuscodes Schiedsgericht

Statuscodes Schiedsgericht


Impressum