¿Cómo sabe este ADC de audio a qué frecuencia muestrear el audio en

2

La parte en cuestión es PCM1808 . Este dispositivo necesita un reloj de sistema externo en el pin SCKI. Desde el dispositivo maestro necesitará LRCK, BCK & DOUT. El LRCK elige los canales izquierdo / derecho. BCK es la señal de reloj enviada al ADC para expulsar los bits de DOUT. El componente tiene resolución de 24 bits.

Supongamos ahora que tengo un cristal de 16.384 MHz. De acuerdo con la Tabla 1, esto podría significar una frecuencia de muestreo de 32KHz o 64KHz. La hoja de datos dice que "El PCM1808 tiene un circuito de detección de reloj del sistema que detecta automáticamente si el reloj del sistema está funcionando a 256 fS, 384 fS o 512 fS en modo esclavo. ". Estoy perdido, ¿cómo sabe el dispositivo si quiero que muestre a 32KHz o 64KHz, automáticamente? Esto me parece ambiguo, casi como magia.

Entonces, ¿el dispositivo maestro necesita leer el ADC continuamente? Quiero decir, habrá momentos en que no será necesario leer muestras. ¿Qué pasa si no estoy leyendo el ADC en absoluto? ¿Debo enviar algún comando para hacer que se duerma y se despierte?

El dispositivo maestro es alimentado por el mismo reloj de 16.384MHz. Sin embargo, obviamente no envía la señal BCK a la misma velocidad de 16.384MHz. Si uno está utilizando el formato de datos I2S, ¿a qué velocidad lee el dispositivo maestro el ADC para obtener todas las muestras enviando BCK y leyendo datos en DOUT y cómo se garantiza esto? ¿Es mediante interrupciones de temporizador o hardware especial incorporado para transferencias de datos I2S?

    
pregunta quantum231

1 respuesta

2

Si observa la Tabla 2, verá que los pines MD0 y MD1 controlan cómo el maestro utiliza la entrada de reloj (256, 384 o 512 * fs). Una vez que seleccione una de estas opciones, puede usar su frecuencia de cristal para indicarle la frecuencia de muestreo.

Una vez que conozca la frecuencia de muestreo, puede usar la resolución para obtener la frecuencia de BCK. Esta parte en particular tiene una resolución de 24 bits. Cada "cuadro" de audio consta de dos canales, izquierdo y derecho. Cada canal tiene un valor de 24 bits. Por lo tanto, cada muestra es de 24 bits de datos. Si, por ejemplo, está utilizando una frecuencia de muestreo de 64 KHz (seleccionando 256fs con pines MD0 y MD1), puede obtener la frecuencia BCK:

24 bits / muestra * 64,000 muestras / seg = 1,536,000 bits / seg

Por lo tanto, su frecuencia BCK es 1.536 MHz. Su reloj L / R será 24 veces más lento que esto, ya que oscila cuando el canal cambia, que es cada 24 bits.

    
respondido por el crocboy

Lea otras preguntas en las etiquetas