Freigeben über


Verwenden von SPI in Echtzeitanwendungen

Azure Sphere unterstützt die serielle Peripherieschnittstelle (Serial Peripheral Interface, SPI) im master Modus. SPI ist eine serielle Schnittstelle, die für die Kommunikation zwischen Peripheriegeräten und integrierten Schaltungen verwendet wird. Im Gegensatz zu I2C kann SPI mit komplexeren Peripheriegeräten mit höherer Geschwindigkeit verwendet werden.

In diesem Thema wird die Verwendung von SPI in Echtzeitanwendungen (RTApp) beschrieben. Informationen zur Verwendung von SPI in allgemeinen Anwendungen finden Sie unter Verwenden von SPI in allgemeinen Anwendungen.

Hinweis

Das Azure Sphere-Betriebssystem setzt Peripheriegeräte beim Start nicht zurück. Ihre Anwendungen sollten sicherstellen, dass sich Peripheriegeräte beim Start oder nach dem Neustart in einem bekannten fehlerfreien Zustand befinden.

Chipauswahl

Chip Select verwaltet die Verbindung zwischen einer SPI-master-Schnittstelle und einer Reihe von untergeordneten Geräten und ermöglicht der master-Schnittstelle, Daten unabhängig voneinander an jedes untergeordnete Gerät zu senden und zu empfangen. Azure Sphere unterstützt die Einstellungen Aktiv/Niedrig und Aktiv/Hoch für die Chipauswahl, wobei Aktiv/Niedrig als Standardeinstellung verwendet wird. Jede SPI-master-Schnittstelle kann jederzeit nur von einer Anwendung verwendet werden. Die Anwendung muss die SPI-master-Schnittstelle öffnen und jedes verbundene untergeordnete Gerät identifizieren, bevor Lese- und Schreibvorgänge für die Schnittstelle ausgeführt werden.

MT3620-Unterstützung für SPI auf den Echtzeitkernen

Wenn Sie das MT3620-Entwicklungsboard konfigurieren, können Sie einen beliebigen ISU-Port als SPI-master-Schnittstelle verwenden. Sie können bis zu zwei untergeordnete Geräte mit jeder ISU verbinden. Wenn Sie einen ISU-Port als SPI-master-Schnittstelle verwenden, können Sie nicht denselben Port wie eine I2C- oder UART-Schnittstelle verwenden.

Der MT3620 unterstützt SPI-Transaktionen mit bis zu 40 MHz.

Der MT3620 unterstützt keine gleichzeitigen bidirektionalen Lese- und Schreibvorgänge (Vollduplex)-SPI-Vorgänge innerhalb einer einzelnen Bustransaktion.

Die SPI-Spezifikationen für das MT3620 sind unter MT3620-Supportstatus aufgeführt. Im Benutzerhandbuch des MT3620-Entwicklungsboards werden das Pinlayout und die Funktionen für die Verdrahtung beschrieben.

Informationen zur Registrierung von Basisadressen, Interruptnummern, Taktfrequenz, Samplinghäufigkeit und anderen Details zum MT3620 finden Sie im MT3620-Datenblatt und im MT3620 M4-Benutzerhandbuch. Wenn Fragen bestehen, können Sie Details von Avnet anfordern, indem Sie eine E-Mail senden Azure.Sphere@avnet.com.

Anwendungsmanifesteinstellungen

Um die SPI-APIs verwenden zu können, müssen Sie die SpiMaster Funktion dem Anwendungsmanifest hinzufügen und dann jeden SPI-master Controller für die Funktion angeben.

"Capabilities": {
   "SpiMaster": [ "ISU0", "ISU1" ] }

Das Azure Sphere-Anwendungsmanifest enthält weitere Details zum Anwendungsmanifest.

Die SPI-Beispielanwendungen

Das CodethinkLabs-Repository auf GitHub enthält Beispielanwendungen, die veranschaulichen, wie MT3620-unterstützte Peripheriegeräte in Azure Sphere-Echtzeitanwendungen verwendet werden. Insbesondere die beispiele für SPI_RTApp_MT3620_BareMetal und SPI_SDCard_RTApp_MT3620_BareMetal veranschaulichen, wie sie ein SPI-Peripheriegerät in eine Echtzeitanwendung integrieren.