Autor Tema: I2S con Dspic como master  (Leído 2102 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado xkuerzo

  • PIC10
  • *
  • Mensajes: 1
I2S con Dspic como master
« en: 10 de Mayo de 2011, 11:32:43 »
Buenas, me presento aki aunque llevo consultando el foro durante bastante tiempo y me ha servido de gran ayuda para iniciarme en el mundo de los PIC.

El motivo de mi mensaje es un problema que me tiene atascado en un proyecto. Estoy intentando gestionar un Codec philips UDA1345TS estereo con un dsPIC33FJ128GP706. Utilizo el interfaz I2S. Muestreo a 8 KHz, por tanto la frecuencia de SCK debe ser fs=8 KHz (al ser estereo) y la de COFS el codec me permite que sea hasta 128fs(lo tengo configurado a 64 fs).

El codec actua como esclavo, es decir el dsPIC debe generar todas las señales I2S (SCK, COFS) y además el codec necesita un reloj de sistema "SYSCLK". Configuro el DCI del dsPIC en modo maestro para generar las señales y todo bien. El problema viene cuando tengo que generar el reloj del sistema "SYSCLK" del sistema:

En principio habia pensado en generarla mediante el módulo output compare, utilizando el Timer 2 y la salida por OC1. No consiguo que funcione el codec. Tras releer el datasheet veo que dice "The system clock must be locked in frequency to the audio digital interface signals". Por tanto parece que esta señal debe estar sincronizada con las del I2S, evidentemente la generada con el Timer 2 no esta sincronizada con las del I2S.

Ahora bién, no encuentro forma de detectar el sincronismo de las señales que salen del I2S, ya que tengo que generar a partir de ellas el reloj del sistema, que debe ser de 256fs o 384fs. Por tanto deberia ser 4 veces SCK.

Tiene el DCI del dsPIC alguna función para generar este tipo de relojes del sistema? se os ocurre alguna forma de generarlo?


Un saludo, Gracias