Titelbild Mikrocontroller

15.9.1 Anwendung des MPCP

Eine MCU, die als Master MCU arbeitet, kann das 9-bit Zeichen Frame Format (UCSZ = 7) verwenden. Das neunte Bit (TXB8) muss gesetzt werden, wenn ein Adressframe (TXB8 = 1) oder gelöscht werden, wenn ein Datenframe (TXB8 = 0) gesendet wird. Die Slave MCUs müssen in diesem Fall ebenfalls in das 9-bit Zeichen Frame Format eingestellt sein.

Die folgende Prozedur sollte beim Austausch von Daten im Multiprozessor Modus verwendet werden:
1. Alle Slaves in den Multiprozessor Modus setzen (MPCM im UCSRA auf 1)

2. Der Master MCU sendet ein Adressframe, das alle Slaves empfangen und lesen. In den Slave MCU wird das RXD Flag im OCSRC Register wie gewöhnlich gesetzt.

3. Jeder Slave liest das UDR Register und bestimmt, ob er angesprochen wurde. Wenn ja, so löscht er das MPCM Bit im PCSRA Register, wenn nein, so wartet er auf das nächste Adress Byte und behält die MPCM Einstellungen.

4. Die adressierte MCU empfängt alle Datenfarmes, bis ein neues Adressframe empfangen wird. Die anderen Slave MCUs, bei denen das MPCM Bit nach wie vor gesetzt ist, ignorieren die Datenfarmes.

5. Wenn das letzte Datenframe durch die adressierte MCU empfangen wurde, setzt auch die adressierte MCU das MPCM Bit wieder auf 1 und wartet auf das nächste Adressframe vom Master. Der Vorgang wiederholt sich dann ab Schritt 2.

Das Verwenden von 5 bis 8-bit Zeichen Frame Formaten ist zwar möglich, aber unpraktisch, da der Empfänger zwischen der Verwendung von n und n+1 Zeichen Frame Format umschalten muss. Das macht voll-duplex Operationen schwierig, da der Sender und der Empfänger die gleichen Zeichenbreiten Einstellungen haben müssen. Wenn 5 bis 8-bit Zeichen Frame Formate verwendet werden, muss der Sender auf zwei Stoppbits (USBS = 1) eingestellt werden, da das erste Stoppbit zum Kennzeichnen des Frametypes verwendet wird.

Man sollte keine Lesen-Ändern-Schreiben Befehle (SBI und CBI) zum Setzen und Löschen des MPCM Bits verwenden. Das MPCM Bit ist in der gleichen I/O Speicherzelle untergebracht wie das TXC Flag und dieses kann versehentlich gelöscht werden, wenn ein SBI oder CBI Befehl ausgeführt wird.
Impressum