Uso de SPI en aplicaciones con respuesta en tiempo real
Importante
Esta es la documentación de Azure Sphere (heredado). Azure Sphere (heredado) se retira el 27 de septiembre de 2027 y los usuarios deben migrar a Azure Sphere (integrado) en este momento. Use el selector de versiones situado encima de la TOC para ver la documentación de Azure Sphere (integrado).
Azure Sphere es compatible con la interfaz de periféricos serie (SPI) en modo maestro. SPI es una interfaz serie que se usa para la comunicación entre periféricos y circuitos integrados. A diferencia de I2C, SPI puede usarse con dispositivos periféricos de velocidad superior más complejos.
En este tema se describe cómo usar SPI en aplicaciones con respuesta en tiempo real (RTApp). Para más información sobre el uso de SPI en aplicaciones de alto nivel, consulte Uso de SPI en aplicaciones de alto nivel.
Nota:
El sistema operativo Azure Sphere no restablece los periféricos al iniciarse. Las aplicaciones deben asegurarse de que los periféricos están en un estado conocido en el inicio o después del reinicio.
Chip Select
Chip Select administra la conexión entre una interfaz maestra de SPI y un conjunto de dispositivos subordinados, y permite a la interfaz maestra enviar y recibir datos a cada dispositivo subordinado de forma independiente. Azure Sphere admite las configuraciones activa baja y activa alta de Chip Select; activa baja es el valor predeterminado. Solo una aplicación puede usar cada interfaz maestra de SPI en un momento dado. La aplicación debe abrir la interfaz maestra SPI e identificar cada dispositivo subordinado conectado antes de realizar las operaciones de lectura y escritura en la interfaz.
Compatibilidad de MT3620 con SPI en los núcleos en tiempo real
Al configurar la placa de desarrollo MT3620, puede usar cualquier puerto ISU como interfaz maestra SPI. Puede conectar hasta dos dispositivos subordinados a cada ISU. Cuando se usa un puerto ISU como interfaz maestra SPI, no se puede usar el mismo puerto que la interfaz I2C o UART.
La placa MT3620 admite transacciones de SPI de hasta 40 MHz.
La placa MT3620 no admite operaciones SPI de lectura y escritura bidireccionales (dúplex completo) simultáneas en una sola transacción del bus.
Las especificaciones de SPI para la placa MT3620 se enumeran en Estado de compatibilidad de MT3620. En la guía del usuario de la placa de desarrollo MT3620, se describe la distribución y la función de los pines realizar el cableado.
Para registrar direcciones base, números de interrupción, frecuencia de reloj, frecuencia de muestreo y otros detalles sobre MT3620, consulte la hoja de datos MT3620 y el Manual de usuario de MT3620 M4; si las preguntas permanecen, puede solicitar detalles de Avnet enviando un correo electrónico Azure.Sphere@avnet.coma .
Configuración del manifiesto de aplicación
Para usar las API de SPI, debe agregar la funcionalidad SpiMaster
al manifiesto de aplicación y, después, especificar cada controlador maestro SPI a la funcionalidad.
"Capabilities": {
"SpiMaster": [ "ISU0", "ISU1" ] }
El manifiesto de aplicación de Azure Sphere tiene más detalles sobre el manifiesto de aplicación.
Aplicaciones de ejemplo spi
El repositorio de CodethinkLabs en GitHub contiene aplicaciones de ejemplo que muestran cómo usar los periféricos compatibles con MT3620 en aplicaciones con respuesta en tiempo real de Azure Sphere. En concreto, los ejemplos de SPI_RTApp_MT3620_BareMetal y SPI_SDCard_RTApp_MT3620_BareMetal muestran cómo incorporar un periférico SPI en una aplicación con respuesta en tiempo real.