I2S Clock in Audio Codec en la placa de desarrollo, ¿cómo funciona?

0

Estoy usando una placa de desarrollo, la keil mcb4300 . En el esquema, el códec de audio UDA1380HN hace que el BCKI vaya al SYSCLOCK.

Segúnlahojadedatosdelcodec:

BCKI:entradaderelojdebits

SYSCLOCK:entradadelrelojdelsistema256fs,384fs,512fso768fs

fs,eslafrecuenciademuestreo.Simuestroa8,000muestrasporsegundo,asumoqueelSYSCLOCKmásbajoquepuedoteneres256*8,000=2.048MHz.

Deacuerdoconla wiki en I2S , BCLK debe ser: frecuencia * ancho de palabra * número de canales

En mi caso, eso sería 8,000 (Hz) * 16 (bits) * 1 (mono) = 128,000Hz

128KHz ni siquiera está cerca de 2.048MHz.

Cuando mido esta configuración en el alcance, veo un reloj de 512 KHz en BCKI. Es posible que tenga una frecuencia de muestreo más alta de lo que creo, y hay un problema de firmware. En cualquier caso, está funcionando a un reloj de 512 kHz. ¿Cómo es eso posible? ¿Qué estoy entendiendo mal?

    
pregunta Michael

1 respuesta

1

En primer lugar, probablemente NO esté alimentando la cosa mono, el controlador se convertirá a un flujo de bits estéreo, y para I2S apostaría a que la longitud real de la palabra es de 32 bits (posiblemente con solo 16 o 24 de ellos que tengan algún significado) y está ejecutando el códec como una parte estéreo, en cuyo caso hago bclk 8000 * 32 * 2 = 512Khz, que es lo que está viendo.

Mirando las páginas 11 y amp; 12 en la hoja de datos, está claro que el códec puede producir un reloj viable internamente a partir de una señal aplicada a la entrada WSI, lo cual es probable que esté sucediendo aquí, parece probable que el códec esté actuando como maestro de audio usando la entrada WSI como referencia.

En general, incluso sin este tipo de cosas, la nomenclatura de la sincronización de audio dentro de I2S y cosas relacionadas es un desastre, tanto SCLK / BCLK se usan como nombres, pero las frecuencias y los significados deseados varían entre los proveedores, muy molesto.

    
respondido por el Dan Mills

Lea otras preguntas en las etiquetas