Share via


Usare SPI in applicazioni in tempo reale

Azure Sphere supporta SPI (Serial Peripheral Interface) in modalità master. SPI è un'interfaccia seriale utilizzata per la comunicazione tra periferiche e circuiti integrati. A differenza di I2C, SPI può essere utilizzato con periferiche più complesse ad alta velocità.

Questo argomento descrive come usare SPI in applicazioni in tempo reale (RTApp). Per informazioni sull'utilizzo di SPI in applicazioni di alto livello, vedere Uso di SPI in applicazioni di alto livello.

Nota

Il sistema operativo Azure Sphere non reimposta le periferiche all'avvio. Le applicazioni devono verificare che le periferiche siano in uno stato noto all'avvio o dopo il riavvio.Your applications should ensure that peripherals are in a known-good state on start-up or after restart.

Selezione del chip

Chip select gestisce la connessione tra un'interfaccia master SPI e un set di dispositivi subordinati; e consente all'interfaccia master di inviare e ricevere dati a ogni dispositivo subordinato in modo indipendente. Azure Sphere supporta le impostazioni active-low e active-high per la selezione del chip, con valore attivo-basso come impostazione predefinita. Solo un'applicazione può utilizzare ogni interfaccia master SPI in qualsiasi momento. L'applicazione deve aprire l'interfaccia master SPI e identificare ogni dispositivo subordinato connesso prima di eseguire operazioni di lettura e scrittura sull'interfaccia.

Supporto di MT3620 per SPI sui core in tempo reale

Quando configuri la scheda di sviluppo MT3620, puoi utilizzare qualsiasi porta ISU come interfaccia master SPI. È possibile connettere fino a due dispositivi subordinati a ogni ISU. Quando si utilizza una porta ISU come interfaccia master SPI, non è possibile usare la stessa porta di un'interfaccia I2C o UART.

MT3620 supporta transazioni SPI fino a 40 MHz.

Mt3620 non supporta simultaneamente operazioni SPI di lettura e scrittura bidirezionale (full-duplex) all'interno di una singola transazione bus.

Le specifiche SPI per MT3620 sono elencate nello stato di supporto di MT3620. Il manuale dell'utente della scheda di sviluppo MT3620 descrive il layout dei piedini e le funzioni per il wiring.

Per gli indirizzi di base del registro, i numeri di interrupt, la frequenza di clock, la frequenza di campionamento e altri dettagli sull'MT3620, vedi il foglio dati MT3620 e il manuale dell'utente di MT3620 M4; se le domande rimangono, è possibile richiedere dettagli a Avnet inviando un messaggio di posta elettronica.Azure.Sphere@avnet.com

Impostazioni del manifesto dell'applicazione

Per utilizzare le API SPI, è necessario aggiungere la SpiMaster funzionalità al manifesto dell'applicazione e quindi specificare ogni controller master SPI alla funzionalità.

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

Il manifesto dell'applicazione Azure Sphere ha maggiori dettagli sul manifesto dell'applicazione.

Le applicazioni di esempio SPI

Il repository CodethinkLabs su GitHub contiene applicazioni di esempio che dimostrano come usare le periferiche supportate da MT3620 nelle applicazioni che supportino Azure Sphere in tempo reale. In particolare, i campioni di SPI_RTApp_MT3620_BareMetal e SPI_SDCard_RTApp_MT3620_BareMetal dimostrano come incorporare una periferica SPI in un'applicazione in grado di supportare in tempo reale.