SPI

Das Serial Peripheral Interface ist ein Bussystem für eine serielle synchrone Datenübertragung zwischen verschiedenen ICs.


Das EA uniTFT bietet eine SPI Schnittstelle: Als default ist es eine Slave-Schnittstelle. Verwenden Sie sie um mit dem Display zu arbeiten und zu kommunizieren. Alles was hierüber empfangen wird, wird als Kommando interpretiert (mit und ohne Small-Protokoll). Möchten Sie über eine SPI x-beliebige Daten senden und empfangen, verwenden Sie diese als Master-Schnittstelle. Diese bedienen Sie über die #H Befehle:


Der SPI-Bus besteht aus folgenden Leitungen:

MOSI (Master Out Slave In) auch SDO (Serial Data Out) oder DO

MISO (Master In Slave Out) auch SDI (Serial Data In) oder DI

SCK (Serial Clock) - Schiebetakt

SS (Slave Select Adressierung des Partners) auch CS (Chip Select)


SPI arbeitet mit einem bidirektionalem Übertragungsprinzip, es werden also zeitgleich Daten zwischen den Partner ausgetauscht. Jede Kommunikation wird vom Master mit Hilfe der SCK-Leitung bestimmt.

Das Protokoll für die Datenübertragung ist bei SPI nicht festgelegt, daher gibt es verschiedene Einstellmöglichkeiten. Diese werden durch die Parameter Clock Polarity, Clock Phase sowie Data Order festgelegt. Voreingestellt ist der SPI-Mode 3 mit DORD=0. Über den Befehl #XCS (Slave) bzw. #HSP (Masterschnittstelle) kann er auf einen der folgenden Modi 0..3 umgeschaltet werden. Alternativ kann der Befehl direkt in die Boot-Datei <start.emc> geschrieben werden.

Im TestMode (Bootmenü) können die eingestellten Parameter überprüft werden.


Mode

CPOL

CPHA

DORD (0) - MSB First

DORD (1) - LSB First

0

0

0

*1

*1

1

0

1

2

1

0

*1

*1

3

1

1


Die maximale Frequenz des Moduls im Slave-Modus ist 1 MHz. Die Masterschnittstelle kann ebenfalls bis zu 1 MHz übertragen. Das Modul benötigt eine bestimmte Zeit um die Daten bereit zu stellen; deshalb muss vor den zu lesenden Byte mindestens 50 μs gewartet werden (keine Aktivität auf der SCK-Leitung).


*1 ACHTUNG:

Das EA uniTFTs benötigt als Slave im Mode 0 und Mode 2 nach jedem Byte eine Negierung des SS-Signals. Eine dauerhafte Aktivierung ist nicht erlaubt.