Compartir vía


Usar SPI en aplicaciones compatibles con tiempo real

Azure Sphere admite serial Peripheral Interface (SPI) en modo maestro. SPI es una interfaz serial usada para la comunicación entre periféricos y circuitos integrados. A diferencia de I2C, el IRP se puede utilizar con periféricos de velocidad más complejas.

En este tema se describe cómo usar SPI en aplicaciones compatibles con tiempo real (RTApp). Para obtener información sobre el uso de SPI en aplicaciones de alto nivel, consulte Uso de SPI en aplicaciones de alto nivel.

Nota

Azure Sphere OS no restablece los periféricos al iniciarse. Las aplicaciones deben garantizar que los periféricos estén en un estado conocido durante el inicio o después del reinicio.

Seleccionar chip

Chip select administra la conexión entre una interfaz maestra SPI y un conjunto de dispositivos subordinados; y permite que la interfaz maestra envíe y reciba datos a cada dispositivo subordinado de forma independiente. Azure Sphere admite la configuración de active-low y active-high para la selección de chips, con active-low como la configuración predeterminada. Solo una aplicación puede utilizar cada interfaz maestra SPI en cualquier momento. La aplicación debe abrir la interfaz maestra SPI e identificar cada dispositivo subordinado conectado antes de realizar operaciones de lectura y escritura en la interfaz.

Soporte MT3620 para SPI en los núcleos en tiempo real

Al configurar la placa de desarrollo MT3620, puede utilizar cualquier puerto ISU como interfaz maestra SPI. Puede conectar hasta dos dispositivos subordinados a cada ISU. Cuando utiliza un puerto ISU como interfaz maestra SPI, no puede utilizar el mismo puerto que una interfaz I2C o UART.

El MT3620 admite transacciones SPI de hasta 40 MHz.

El MT3620 no admite las operaciones de SPI de lectura y escritura bidireccional simultáneas (dúplex completo) dentro de una transacción de bus único.

Las especificaciones SPI para mt3620 se enumeran en mt3620 estado de soporte. La guía de usuario de la placa de desarrollo MT3620 describe el diseño de los pines y las funciones de cableado.

Para las direcciones base del registro, los números de interrupción, la velocidad de reloj, la frecuencia de muestreo y otros detalles sobre el MT3620, consulte la hoja de datos mt3620 y el manual de usuario mt3620 M4; si quedan preguntas, puedes solicitar detalles de Avnet por correo electrónico Azure.Sphere@avnet.com.

Configuración de manifiesto de la aplicación

Para usar las API de SPI, debe agregar la SpiMaster capacidad al manifiesto de la aplicación y, a continuación, especificar cada controlador maestro SPI a la capacidad.

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

El manifiesto de la aplicación Azure Sphere tiene más detalles sobre el manifiesto de la aplicación.

Aplicaciones de muestra de SPI

El repositorio CodethinkLabs en GitHub contiene aplicaciones de ejemplo que demuestran cómo usar periféricos compatibles con MT3620 en aplicaciones compatibles con Azure Sphere en tiempo real. Específicamente, las muestras de SPI_RTApp_MT3620_BareMetal y SPI_SDCard_RTApp_MT3620_BareMetal demuestran cómo incorporar un periférico SPI en una aplicación en tiempo real.