Autor Tema: TDA7449  (Leído 5198 veces)

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

Desconectado jlsancho

  • PIC10
  • *
  • Mensajes: 4
TDA7449
« en: 17 de Septiembre de 2007, 14:22:52 »
Hola a todos,
estoy intentando controlar y monitorizar una etapa de potencia con el integrado TDA7449 de ST. Es un integrado de control de tonos y ganancia mediante bus I2C. ¿Alguien ha trabajado con él?. No puedo ni escribir, ni leer valores a traves de I2C. El bus funciona puesto que tengo colgado un reloj DS1307 y un E2PROM, pero el TDA ni se entera. Espero vuestra ayuda. Un saludo a todos. :-)

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re: TDA7449
« Respuesta #1 en: 17 de Septiembre de 2007, 14:53:23 »
Jlsancho:

Si tiene algo que ver con C tu pregunta dejamos este hilo aquí en e sub-foro de C pero si es una consulta técnica sería mejor moverlo a otro lugar mas adecuado. ¿Te parece?

Un  saludo.
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado jdaniels

  • PIC10
  • *
  • Mensajes: 49
Re: TDA7449
« Respuesta #2 en: 17 de Septiembre de 2007, 20:48:56 »
jlsancho el circuito que armaste es el que recomiendan en el datasheet? porque no pegas el programa a ver si podemos hacer algo a ver...

Desconectado Marioguillote

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1926
    • Servisystem
Re: TDA7449
« Respuesta #3 en: 17 de Septiembre de 2007, 22:47:28 »
Hola a todos.

Sí, realmente tenemos pocos datos para considerar el origen de la falla que puedas estar teniendo jlsancho.
También coincido con Diego que, éste hilo debiera estar el el Foro Técnico, excepto que estás seguro que tu problema se origina en el soft que has armado.

Por mi parte podría consultarte:
  • Qué pin conectas a GND ? 3, 18 ó ambos ?
  • Con qué tensión manejas el bus I2C ? 5 Volts ó 3,3 Volts ?
  • Has seguido con el osciloscopio si la señal atraviesa alguna de las etapas ? Por ejemplo midiendo en pines 11, 17, 12 y 13.

Bienvenido al Foro.

Saludos
Mario

Desconectado jlsancho

  • PIC10
  • *
  • Mensajes: 4
Re: TDA7449
« Respuesta #4 en: 18 de Septiembre de 2007, 06:01:31 »
Hola a todos,
poco a poco se van aclarando las cosas. Por lo que he investigado más bien parece un problema de software. No estoy muy ducho en esto del C. Me explico. Todos los elementos del hardware funcionan OK. Tanto el pic 16f877, el DS1307, la memoria 24LC08 y el TDA7449 estan bien conectados. La cuestión es que soy capaz de enviar datos al TDA, pero cuando intento leer en los registros del trasto a traves de I2C , la señal de audio a la salida desaparece. Si reinicializo y no pido lectura de registros en el TDA todo va bien. ¿Cómo se postea el código?. Un saludo :?

Desconectado jlsancho

  • PIC10
  • *
  • Mensajes: 4
Re: TDA7449
« Respuesta #5 en: 18 de Septiembre de 2007, 13:52:52 »
Hola a todos de nuevo,
aquí sigo peleando con este TDA. He conseguido escribir en el todos los parámetros y con el osciloscopio comprobar que me obedece, pero no he conseguido leer un sólo dato coherente. Siempre leo 255 en LCD. ¿Alguien sabe algo?
Gracias :(

Desconectado Marioguillote

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1926
    • Servisystem
Re: TDA7449
« Respuesta #6 en: 18 de Septiembre de 2007, 17:04:55 »
OK jlsancho

Entonces debieras subie la parte del código con el que manejas al IC, para ver si alguien que maneje C pueda ayudarte. (Yo uso Basic, pero podría haberte ayudado en el Hard, que por lo que dices lo tienes correcto)

Para postear un código haz lo siguiente:
Escribe el código así

Entre corchetes [ ] abres con la palabra "code" y al final del listado de tu código vuelves a hacer lo mismo pero con "/code" entre corchetes [ ] (sin las comillas "")

Saludos
Mario
« Última modificación: 18 de Septiembre de 2007, 17:10:29 por Marioguillote »

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re: TDA7449
« Respuesta #7 en: 18 de Septiembre de 2007, 17:09:19 »
Ja, ja,ja  :D :D :D

Reescribo el post de Marioguillote ...

Para postear un código haz lo siguiente:
Escribe el código así

[ code ]

***AQUÍ TU LISTADO DE CÓDIGO ***

[ /code ]

Quitándole los espacios que hay a ambos lados de la palabra code entre los corchetes para que te aparezca:

Código: [Seleccionar]


***AQUÍ TU LISTADO DE CÓDIGO ***


Y para darle colores puedes probar las distintas modalidades de C's ...
(Esto lo consigues con el desplegable que pone GeSHi)  :mrgreen: :mrgreen: :mrgreen:

Con [ code=c ]

Código: C
  1. /** \brief Función que convierte un Byte (de 8 bits) a bits string ASCII.
  2.   *
  3.   * \param val Valor del Byte a convertir.
  4.   * \param[out] pF  Puntero a string_null_ended.
  5.   *
  6.   * \return void
  7.   */
  8. void int8_to_bits_string(int8 val,char* pF){
  9.  
  10.    int8 i,j;
  11.  
  12.    for(i=0,j=7;i<8;i++,j--){
  13.       pF[i]=bit_test(val,j)+'0';
  14.    }
  15.    pF[8]='\0';
  16. }

Con [ code=cpp ]

Código: C++
  1. /** \brief Función que convierte un Byte (de 8 bits) a bits string ASCII.
  2.   *
  3.   * \param val Valor del Byte a convertir.
  4.   * \param[out] pF  Puntero a string_null_ended.
  5.   *
  6.   * \return void
  7.   */
  8. void int8_to_bits_string(int8 val,char* pF){
  9.  
  10.    int8 i,j;
  11.  
  12.    for(i=0,j=7;i<8;i++,j--){
  13.       pF[i]=bit_test(val,j)+'0';
  14.    }
  15.    pF[8]='\0';
  16. }

Con [ code=csharp ]

Código: C#
  1. /** \brief Función que convierte un Byte (de 8 bits) a bits string ASCII.
  2.   *
  3.   * \param val Valor del Byte a convertir.
  4.   * \param[out] pF  Puntero a string_null_ended.
  5.   *
  6.   * \return void
  7.   */
  8. void int8_to_bits_string(int8 val,char* pF){
  9.  
  10.    int8 i,j;
  11.  
  12.    for(i=0,j=7;i<8;i++,j--){
  13.       pF[i]=bit_test(val,j)+'0';
  14.    }
  15.    pF[8]='\0';
  16. }

Con [ code=css ]

Código: CSS
  1. /** \brief Función que convierte un Byte (de 8 bits) a bits string ASCII.
  2.   *
  3.   * \param val Valor del Byte a convertir.
  4.   * \param[out] pF  Puntero a string_null_ended.
  5.   *
  6.   * \return void
  7.   */
  8. void int8_to_bits_string(int8 val,char* pF){
  9.  
  10.    int8 i,j;
  11.  
  12.    for(i=0,j=7;i<8;i++,j--){
  13.       pF[i]=bit_test(val,j)+'0';
  14.    }
  15.    pF[8]='\0';
  16. }

« Última modificación: 18 de Septiembre de 2007, 17:17:06 por RedPic »
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado Marioguillote

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1926
    • Servisystem
Re: TDA7449
« Respuesta #8 en: 18 de Septiembre de 2007, 17:12:18 »
 :D  :D  :D

Gracias Diego por salvarme ! Ya no sabía cómo probar !

 :D  :D  :D

Saludos
Mario

Desconectado jlsancho

  • PIC10
  • *
  • Mensajes: 4
Re: TDA7449
« Respuesta #9 en: 19 de Septiembre de 2007, 08:06:33 »
Hola a todos de nuevo,
creo que he acotado el problema, y es que no se como leer los datos de éste dispositivo via I2C. Haciendo caso del datasheet para escritura en el TDA7449 no hay problema, pero desconozco cual es la secuencia de lectura en I2C. En base a los datos de este integrado, ¿puede alguien explicarme la secuencia de lectura de datos en bus I2C?. Gracias por vuestra amable atención :mrgreen:

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: TDA7449
« Respuesta #10 en: 19 de Septiembre de 2007, 08:20:06 »
Hola!
Acabo de recibir un par de samples de ese bichito. Voy a mirar la hoja de datos, ya que me interesa darle uso. No te prometo nada por que vengo con un dia (semana? mes?) complicado, pero quizas a la tarde pueda hacer alguna prueba en un protoboard.

Saludos!

PD: Respecto del I2C, en la ayuda de CCS esta bastante claro.....aunque yo no lo he usado por que no hace mucho que empece a experimentar con él.

Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re: TDA7449
« Respuesta #11 en: 19 de Septiembre de 2007, 08:28:11 »
OFF topic!!

Hola a todos, y esta pregunta es para aitopes: un par de samples?? como es eso? directo de fabrica o de algun colega que a realizado el favor?

Un saludo y agradesco cualquier comentario.

Atte. CARLOS.

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: TDA7449
« Respuesta #12 en: 19 de Septiembre de 2007, 08:57:06 »
Hola Charly! Nop, directos de fabrica. ST me ha mandado un par de veces cosas. :mrgreen:

Saludos!
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado jdaniels

  • PIC10
  • *
  • Mensajes: 49
Re: TDA7449
« Respuesta #13 en: 19 de Septiembre de 2007, 09:45:57 »
En otro post djpalas pego este enlace que es de Redpic y habla del bus i2c leelo que salen las rutinas para leer y escribir http://picmania.garcia-cuervo.net/Proyectos_AUX_EEPROM_1.php