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?