Um das SPI an einem Praxisbeispiel anzuwenden, schauen wir uns den RFID-Leser RFID-RC522 an. 
Der RFID Leser bietet unter anderem die Möglichkeit, über den SPI Bus zu kommunizieren. 

Auf dem RFID Leser ist der Mikrocontroller MFRC522 verbaut. Das Datenblatt dazu ist beim Hersteller abrufbar. Dort sind auch Informationen über die SPI Kommunikation dargestellt. 



Auszüge aus dem Datenblatt zum MFRC522 
Hier ist eine Beschaltungsübersicht dargestellt.
Ähnlich wie im vorherigen Abschnitt. Der Pin
NSS ist hier derselbe wie SS. Der Buchstabe "N"
wird hier lediglich hinzugefügt, um zu betonen,
dass die Slave Auswahl mit negativer Logik 
funktioniert, das heißt ein Low Pegel aktiviert 
diesen Chip, bei einem High Pegel werden alle 
Informationen über MISO und MOSI ignoriert.

SPI Verbindung zum Host
Abbildung: SPI
Quelle: BBS2 Wolfsburg

In dieser Tabelle wird erklärt, in welcher Art und 
Weise der MFRC522 auf ein empfangenes Byte 
vom Master reagiert. Dabei wird ein Byte empf-
angen, in dem eine Registeradresse enthalten 
ist. Im nächsten Takt wird dann der Inhalt dieses
Registers zurückgegeben. 


MOSI and Miso byte order
Line Byte 0 Byte 1 Byte 2 To Byte n Byte n + 1
MOSI address 0 data 0 data 1 data n - 1 data n
MISO X X X X X
 
X = Egal
Anmerkung: MSB muss zuerst gesendet werden

Zum Schreiben von Inhalten in die Register des 
MFRC522 muss zunächst ein Adressbyte und 
nachfolgend die Datenbytes per SPI an den 
Mikrocontroller übermittelt werden. Dabei 
werden keine Daten zurückgeschickt. 


MOSI and Miso byte order
Line Byte 0 Byte 1 Byte 2 To Byte n Byte n + 1
MOSI address 0 data 0 data 1 data n - 1 data n
MISO X X X X X
 
X = Egal
Anmerkung: MSB muss zuerst gesendet werden

Damit der Mikrocontroller weiß, ob gelesen 
oder geschrieben werden soll, muss das MSB 
des Adress Byte 0 mit einer 1 bzw 0 beschrieben
werden. Die Bytes 6-1 dienen zur Adressierung.
Das LSB wird mit 0 Terminiert, um das Ende des
Byte 0 zu markieren. 

Address byte 0 register; address MOSI
7 (MSB) 6 5 4 3 2 1 0 (LSB)
1 = read address 0
0 = write






Last modified: Friday, 11 September 2020, 10:37 AM