Compartir a través de


Uso de I2S 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 la interfaz Inter-IC Sound (I2S).

I2S es un estándar de interfaz de bus serie que se usa para conectar dispositivos de audio digitales. Un bus de I2S tiene señales de reloj y de datos en serie independientes.

En este tema se describe cómo usar I2S en aplicaciones con respuesta en tiempo real (RTApp).

Nota:

  • Actualmente no se admite I2S para su uso en aplicaciones de alto nivel.
  • 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 I2S en los núcleos en tiempo real

En esta sección se describen las opciones de I2S que solo se aplican cuando Azure Sphere se ejecuta en MT3620.

MT3620 cuenta con dos interfaces I2S: I2S0 e I2S1. Se pueden asignar al núcleo en tiempo real asignado durante la asignación de recursos después del arranque del sistema. Cada interfaz de I2S está protegida por un módulo de asignación principal que deniega el acceso desde los microcontroladores no asignados.

El módulo I2S solo admite el modo subordinado con códecs externos. No se admiten los códecs internos ni el modo maestro. Sin embargo, se proporciona un reloj maestro (I2S_MCLK) para que los códecs externos generen sincronización de las tramas de I2S (I2S_FS) y un reloj de bits de I2S (I2S_BCLK).

No se admiten códecs de audio internos ni el modo maestro. La interfaz de I2S se usa para comunicarse con los códecs de audio externos mediante el bus de I2S como dispositivo I2S subordinado.

Se admiten dos formatos de datos: protocolo estándar de I2S y multiplexación por división de tiempo (TDM).

Dos bloques de cinco pines se multiplexan entre GPIO y I2S (I2S0:GPIO56-GPIO60, I2S1:GPIO61-GPIO65).

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 la interfaz subordinada de I2S, esta debe aparecer en una aplicación con respuesta en tiempo real en la sección Funcionalidades del manifiesto de aplicación. Por ejemplo, el siguiente código agrega una interfaz de I2S a la lista de recursos a los que se puede acceder mediante una aplicación:

"Capabilities": {
 "I2sSubordinate": [ "I2S0" ]  }

Solo una aplicación con respuesta en tiempo real utiliza la interfaz subordinada de Inter-IC Sound (I2S). Esta funcionalidad no está disponible para las aplicaciones de alto nivel.

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

Aplicaciones de ejemplo de I2S

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 I2S_RTApp_MT3620_BareMetal muestra cómo incorporar un periférico I2S en una aplicación con respuesta en tiempo real.