TDA7317 e I2C

Cómo andan? Me encuentro incursionando con la transmición serie I2C y voy a hacer mi primer programa para programar un TDA7317 que consiste en un ecualizador gráfico digital el cual es programado con este protocolo.
Programo con CCS y voy a usar un PIC18f452.
Estuve leyendo en qué consiste el protocolo y sus funciones para este compilador y lo entendí muy bien, el tema es que, como es mi primera vez, no puedo interpretar bien el datasheet del TDA7317, el cual considero muy completo respecto de otros datasheets de integrados que también requieren de programaciones similares.
El tema principal es que no entiendo cómo debo enviar los datos de programación: todo junto, por separado, haciendo start y stop el I2C en cada byte enviado, etc.

Adjunto el datasheet del integrado y si quieren chequear principalmente las páginas 6, 7 y 8 me sería de gran ayuda.
Muchas gracias!!!
 

Adjuntos

  • tda7317.pdf
    829.2 KB · Visitas: 5
Hola, no se como sea en CCS pero para cada byte enviado debes de generar el bit de inicio y bit de paro a lo que el "esclavo" contestará con un bit de ack. Supogno que en C el envío de los bits de inicio y paro son transparentes para el programador, sólo debes de procurar poner primero la dirección del esclavo (0x84 o 0x86 según leo en la hoja de datos) e inmediatamente después el byte de control para modificar el volumen.

Te dejo aquí una nota de aplicación de Microchip donde se explica más a fondo el protocolo I2C

https://www.engr.usask.ca/classes/EE/331/AN734.pdf
 
Para saber eso porque no te bajas las notas de Philips en las cuales describe detalladamente ese protocolo, ya que fueron ellos los que lo introdujeron en el mercado hacer ya varias decádas
 
Yo lo hice con un TDA7449 pero no debe ser muy diferente del TDA7317. El tda tiene una dirección, una subdirección (lo que vas a controlar) y luego envías el valor de lo que quieres modificar (volumen, balance, tonos, canales, etc).

En basic proton lo hice asi:

El volumen por ejemplo.

BStart
BusOut TDA,VOLUMEN,[VOL]
BStop

La variable TDA contiene la dirección; VOLUMEN contiene la subdirección volumen y [VOL] contiene el valor para modificar la subdirección VOLUMEN.

Se hace lo mismo para todo lo demas.
 
Yo lo hice con un TDA7449 pero no debe ser muy diferente del TDA7317. El tda tiene una dirección, una subdirección (lo que vas a controlar) y luego envías el valor de lo que quieres modificar (volumen, balance, tonos, canales, etc).

En basic proton lo hice asi:

El volumen por ejemplo.

BStart
BusOut TDA,VOLUMEN,[VOL]
BStop

La variable TDA contiene la dirección; VOLUMEN contiene la subdirección volumen y [VOL] contiene el valor para modificar la subdirección VOLUMEN.

Se hace lo mismo para todo lo demas.

Muchas gracias!!!! Es justamente lo que pensaba hacer... si anda les cuento.
Gracias!!!
 
No es que el TDA tenga una subdirección, su arquitectura responde al protocolo I2C, tal como aparece en las especificaciones del mismo
 

Adjuntos

  • I2C-AN10216_1.pdf
    4.1 MB · Visitas: 8
Última edición:
No es que el TDA tenga una subdirección, su arquitectura responde al protocolo I2C, tal como aparece en las especificaciones del mismo

Si, y al responder al protocolo I2C debe este tener una subdirección para poder ser compatible con el mismo. Ellos definen las secciones Volumen, bass, treble etc como subdirecciones.:unsure:

Solo seguí sus términos para evitar confusiones. :cool:


tda7449-a.png
 
Gente!!! Ya hice mi programita y lo probé en el proteus con resultados favorables!!!
Mi siguiente pregunta: para ustedes, se podrá probar el integrado con sólo poner la circuiteria de una banda o será necesario armar todas a fin de obtener un resultado en su salida???
 
Gente!!! Les comento que el integrado anda de diez... programé el micro como me lo fueron indicando y sin ningún inconveniente logré hacerlo funcionar.

A tener en cuenta dos cosas para el que le interese: según el datasheet, el volumen está casi a cero al iniciar el TDA7317, por lo que al menos la primera vez hay que darle ganancia a este bloque, y si se quiere ensayar una sola banda, las demás deben estar cortocircuitadas para que no influyan en la salida.

Muchas gracias por todo!!!!
 
Atrás
Arriba