Compartir a través de


Uso de I2C 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 admite circuitos interintegrados (I2C) en modo maestro. I2C es un bus serie que conecta microcontroladores con periféricos de baja velocidad. I2C usa un modelo multimaestro/multisubordinado en el que un dispositivo maestro controla un conjunto de dispositivos subordinados. I2C suele usarse con periféricos que solo requieren una comunicación ligera con un microcontrolador, como los controles de configuración, interruptores de alimentación y sensores.

En este tema se describe cómo usar I2C en aplicaciones con respuesta en tiempo real. Para más información sobre el uso de I2C en aplicaciones de alto nivel, consulte Uso de I2C 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.

Compatibilidad de MT3620 con I2C en los núcleos en tiempo real

Las especificaciones de I2C para el chip 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.

Al configurar la placa de desarrollo MT3620, puede usar cualquier bloque de ISU como interfaz maestra de I2C. Cuando se usa un bloque de ISU como interfaz maestra de I2C, no se puede usar el mismo bloque que la interfaz de SPI o UART.

No se admiten direcciones de dispositivo subordinado de diez bits en la placa MT3620; solo se admiten las direcciones de 7 bits. La placa MT3620 admite velocidades de bus de 100 KHz, 400 KHz y 1 MHz, pero no 3,4 Mhz. No se admiten lecturas de I2C de cero bytes en la placa MT3620.

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 I2C, este debe aparecer en la sección Funcionalidades del manifiesto de aplicación de una aplicación con respuesta en tiempo real. Por ejemplo, la siguiente línea reserva una interfaz maestra de I2C en un chip ISU0 en una placa MT3620:

"Capabilities": {
   "I2cMaster": [ "ISU0" ] }

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

Aplicaciones de ejemplo de I2C

El repositorio de CodethinkLabs en GitHub contiene varias 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, el ejemplo de I2C_RTApp_MT3620_BareMetal muestra cómo usar un periférico I2C en una aplicación compatible en tiempo real.