I²S

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 10 de noviembre de 2020; la verificación requiere 1 edición .

I²S ( en ruso ai-squaard-es/i-dva-es ) es un estándar de interfaz de bus serie eléctrico que se utiliza para conectar dispositivos de audio digital. Se utiliza para transferir datos de audio PCM entre circuitos integrados en un dispositivo electrónico. El bus I²S transporta las señales de reloj y de datos en líneas separadas, lo que resulta en una reducción de la fluctuación típica de los sistemas de comunicaciones que recuperan las señales de reloj de todo el flujo. El nombre es una abreviatura de Integrated Inter-chip Sound.

Esta norma se introdujo en 1986 y se revisó por última vez en 1996.

La interfaz I²S eléctricamente consta de 3 hilos que van del dispositivo activo al dispositivo pasivo, así como 4 señales correspondientes a ellos de la siguiente manera:

  1. Reloj de sincronización de bits (CLK)
  2. Cuadro (Palabra) Reloj de sincronización (WS)
  3. Una señal de datos que puede transmitir o recibir 2 canales separados en el tiempo. (DE) [1]

Los canales para recibir y transmitir datos están separados, es decir, hay un canal separado para recibir datos y un canal para transmitir datos. El controlador recibe los datos transmitidos por el códec de audio, pero también es posible la situación inversa.

Formatos

Hay dos formatos para la transmisión de datos a través de la interfaz de audio: I²S y DSP (Digital Signal Processing, procesamiento de señal digital), en los que hay un intercambio de datos bidireccional regulado por el dispositivo activo (controlador). En el formato I²S, el encuadre especifica un cambio de canal. Un nivel de encuadre bajo establece el canal izquierdo, un nivel alto establece el canal derecho. Las señales del reloj no cambian (no se interrumpen) a diferencia de la interfaz del instrumento. La señal del reloj se alimenta continuamente, lo que simplifica el algoritmo.

Con la llegada de una señal de sincronización de trama con un retraso de uno o dos ciclos de reloj, los datos comienzan a transmitirse o recibirse, y la transmisión comienza desde el bit más significativo. Al cambiar la duración de la sincronización de cuadros, puede cambiar el número de bits transmitidos , muestras de señal. Por lo tanto, en el caso general, habrá un número N de bits transmitidos, el número de intervalos de reloj que se utilizarán para la transmisión de datos. Pero después de que se hayan transmitido los datos de la longitud requerida, hay una pausa hasta la llegada de la siguiente transición de la señal de sincronización de cuadro. Esta transición transmite o recibe datos en otro canal. El desplazamiento relativo a la transición de trama antes del inicio de la recepción de datos se configura configurando el controlador que controla la transmisión de datos. A continuación, se transmiten bits que son iguales en número de bits del canal izquierdo y del canal derecho, esto se repite, es decir, se transmiten alternativamente las muestras de las señales izquierda y derecha.

De acuerdo con la especificación declarada, el estándar I²S tiene los siguientes parámetros

El formato DSP se comporta de manera diferente: requiere sincronización en forma de pulso con un gran ciclo de trabajo , los canales transmiten el doble de bits para simplificar la recepción y la transmisión. Y en este caso, hay una transmisión secuencial de un bit del canal izquierdo y luego sin espacios en los bits del canal derecho. Entonces llega el siguiente impulso y el ciclo se repite.

Organización del controlador

El controlador tiene dos partes, así como un bloque de salidas externas. Son responsables de los datos transmitidos y recibidos a través de un solo conductor, así como de las señales de sincronización de trama y reloj. El controlador los transmite, gestionando el proceso de intercambio. Para que el dispositivo funcione correctamente, la entrada y la salida no se pueden invertir, esto puede provocar un bucle digital .

La primera parte es el propio controlador con entradas. Para operar, necesita un generador de reloj que emita eventos de canal feed -forward . La recepción y transmisión de sonido puede llevarse a cabo no por un microprocesador, sino por un canal de acceso directo, un procesador especial para entrada / salida de datos. Este canal de acceso directo necesita eventos para comenzar a leer datos de los registros de recepción o transmitir datos a los registros de transferencia.

La segunda parte son los registros de interfaz, se proporcionan los siguientes tipos:

  1. Registros de banderas de interrupción ;
  2. Registro de habilitación de interrupción de una fuente particular (por el número de banderas de interrupción o por el número de bits del registro de habilitación de interrupción)
  3. Registro de control, que establece los modos de funcionamiento del controlador;
  4. Registro generador de frecuencia de muestreo, en el que puede configurar la señal del reloj y su frecuencia para la sincronización de bits: si se reciben datos, el registro escribe estos datos y el software puede calcularlos;
  5. Dos registros para recibir datos;
  6. Registros de transferencia de canal, que pueden tener dos registros de 32 bits transferidos secuencialmente.

Las señales de interrupción indican qué eventos han ocurrido dentro del controlador y necesitan ser procesados. Hay dos grupos de interrupciones: el primero son las interrupciones asociadas con la recepción y transmisión de datos y eventos, el segundo está asociado con el procesamiento y generación de señales de reloj. Genera señales para el canal de acceso directo y el controlador de interrupciones.

Si el dispositivo es pasivo (desempeña el papel de un esclavo), entonces las señales provienen del exterior al sincronizador. En un caso, recibe y amplifica, remodela las señales del reloj, haciéndolas suaves a lo largo del contorno en señales claras y nítidas. De lo contrario, envía una señal de reloj a un dispositivo externo. Las señales del bloque responsable de habilitar o deshabilitar la operación se generan según el estado de un bit en el registro de control.

El manejador de interrupciones primero lee el registro de indicadores de interrupción para restablecerlos. A continuación, lee o escribe datos en los registros de datos I²S, a menos que se utilice un canal de acceso directo. Después de eso, la interrupción vuelve.

Las opciones de configuración establecen la polaridad de sincronización de bits y tramas del sincronizador. Estos datos ayudan al sincronizador a seleccionar el modo de funcionamiento de la interfaz de audio.

Recepción de datos

El receptor en serie captura claramente los niveles de las señales que son sincronizadas por el sincronizador. Además, estos datos se envían poco a poco a lo largo de la línea de datos recibidos al registro de desplazamiento, que sincroniza los datos del sincronizador. Después de almacenar el registro de desplazamiento, se escribe en el búfer del registro de recepción . El tamaño del registro de desplazamiento viene dado por la longitud de la palabra. Después de que el búfer de registro registre los datos recibidos, puede ocurrir una expansión de signo. Dado que obviamente se usa el formato de punto fijo , es necesario expandir el signo a 32 bits, obteniendo 12 bits de datos. El MSB de los datos recibidos se propaga a todos los MSB del registro para que el número correcto se represente en formato fraccionario.

Transferencia de datos

Los datos del registro se leen en un circuito de desensanchamiento de signos, que descarta los bits adicionales, desensanchan el signo, extraen los datos transmitidos y los escriben en el búfer de transmisión. Estrecha el signo de diferentes partes y el número se escribe en los bits correspondientes del transmisor. Tan pronto como el registro de desplazamiento está libre, los bits de desplazamiento se escriben al mismo tiempo y comienzan a avanzar un bit, comenzando con el más alto, transfiriendo datos al transmisor, que transfiere datos al circuito de salida.

Energía del reloj

Hay un circuito que se encarga de suministrar energía de reloj al dispositivo. Para ello, proporciona un registro de lectura, es decir, un registro de configuración de puerta de potencia de reloj. Si da cero, entonces su valor se convertirá en uno y la señal se irá. Si hay una unidad, se producirá un obturador, en otras palabras, la energía del reloj en una unidad no se suministrará al dispositivo. Hay dos fórmulas: sincronización de reloj y cuadro. Cada uno de ellos toma la frecuencia que entra en la primera señal de reloj y la divide por el número de veces especificado en el registro divisor de reloj o en el registro divisor de cuadro.

Completando E/S

Para completar el proceso de E/S, debe deshabilitar secuencialmente la interrupción, borrar las banderas, detener el canal de acceso directo y quitar la energía del reloj.

Véase también

Enlaces

Notas

  1. [ http://www.compeljournal.ru/images/articles/2011_2_8.pdf Capacidades de sonido del microcontrolador STM32F] (enlace inaccesible) . compeljournal.ru . Fecha de acceso: 27 de octubre de 2011. Archivado desde el original el 7 de noviembre de 2013.