Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

03/09/2015 #1

Avatar de ingeniero18

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!!!
03/09/2015 #2

Avatar de Daniel Meza

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
03/09/2015 #3

Avatar de pandacba

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
04/09/2015 #4

Avatar de ingeniero18

Muchas gracias a todos!!! Pruebo lo que me comentaron y vuelvo...
04/09/2015 #5


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.
04/09/2015 #6

Avatar de ingeniero18

Gerson strauss dijo: Ver Mensaje
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!!!
04/09/2015 #7

Avatar de pandacba

No es que el TDA tenga una subdirección, su arquitectura responde al protocolo I2C, tal como aparece en las especificaciones del mismo
Archivos Adjuntos
Tipo de Archivo: pdf I2C-AN10216_1.pdf (4,12 MB (Megabytes), 4 visitas)
05/09/2015 #8


pandacba dijo: Ver Mensaje
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.

Solo seguí sus términos para evitar confusiones.


09/09/2015 #9

Avatar de ingeniero18

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???
10/09/2015 #10

Avatar de ingeniero18

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!!!!
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.