Titelbild Mikrocontroller

16.2. Slave Mode

Im Slave Modus bleibt das SPI Modul so lange inaktiv und hält die MISO Leitung in tirstate wie der /SS Pin auf High ist. In diesem Status kann die Software Daten in das DATA Register schreiben, aber sie werden nicht gesendet, auch wenn ein Takt am SCK Pin ankommt, bis der /SS Pin auf Low gezogen wird. Wenn der /SS Pin auf Low ist beginnt der Slave mit dem ersten Takt, die Daten rauszuschieben. Wenn ein Byte komplett rausgeschoben wurde, wird das SPI Interrupt Flag gesetzt. Der Slave kann dann ein weiteres Byte in das DATA Register schreiben bevor er das angekommene Byte aus dem Buffer liest.

Wenn die /SS Leitung auf High gezogen wird, wird die SPI Logik resetet. Der Slave empfängt dann keine weiteren Daten und wenn das letzte empfangene Byte dann noch unvollständig war, wird es verworfen.

Da der /SS Pin verwendet wird, um Beginn und Ende einer Übertragung zu bestimmen, kann er auch dazu verwendet werden, um Pakete und einzelne Bytes zu synchronisieren und somit den Bitzähler des Slaves synchron zum Takt des Masters zu halten.

Transfer Modes

SPI Transfer

SPI Transfer


Impressum