Autor Tema: Dudas con PLL sintetizador de frecuencias SAA1057  (Leído 29571 veces)

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

Desconectado solapower

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 209
Re: Dudas con PLL sintetizador de frecuencias SAA1057
« Respuesta #15 en: 01 de Marzo de 2011, 13:19:19 »
Pues ahora que lo dices, Mario, sí que alguna vez he visto algún "extraño" en el osciloscopio al reprogramar la frecuencia en el SAA. Podría ser que intenta modificar la frecuencia y rápidamente desiste al darse cuenta de que es imposible.

Voy a intentar localizar ese chip que me indicas, seguro que me va a facilitar la vida.

Y no es para un proyecto mío, es un encargo que me han hecho, y la finalidad no es otra que la de conseguir un programa que modifique la frecuencia de trabajo del SAA. El programa ya lo tengo hecho, y estoy seguro que funciona bien, pero no puedo comprobarlo hasta que haga trabajar al SAA.


Manolo por lo que creo entender en tu ultimo párrafo el proyecto ya está hecho luego en ese proyecto después del SAA va algo más, no es así ?
Quizá ese "algo más" podría dar mas pistas o emplearlo para saber si funciona tu aplicación.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Dudas con PLL sintetizador de frecuencias SAA1057
« Respuesta #16 en: 01 de Marzo de 2011, 13:22:07 »
Pues lo desconozco, realmente únicamente me han pedido que programe el SAA y no sé nada más de lo que hay detrás.

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Dudas con PLL sintetizador de frecuencias SAA1057
« Respuesta #17 en: 01 de Marzo de 2011, 14:03:21 »
  No puedo encontrar el circuito que tenía simulado en el CircuitMaker  :5] . Pero encontré un par de link que te pueden ayudar.

  http://radiofrequencycircuit.blogspot.com/2008/06/88-108-mhz-voltage-controlled-oscilator.html
  http://electronics-diy.com/varicaps.php
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Dudas con PLL sintetizador de frecuencias SAA1057
« Respuesta #18 en: 01 de Marzo de 2011, 19:27:07 »
Os cuento novedades: conseguí el MC1648 (de tres tiendas a las que llamé, sólo en la tercera lo pude encontrar y me llevé el último que quedaba, por los pelos).

Lo he montado en esta configuración:


con la diferencia de que la bobina más pequeña que he podido conseguir es de 1uH.

Poniendo un potenciómetro entre 0V y 10V en la entrada, observo una salida que va desde los 250KHz hasta los 1.3MHz.

Pues bien, he conectado la salida de frecuencia a la entrada AM del SAA1057, y la salida de tensión del susodicho, a la entrada de este circuito. La frecuencia se ha establecido en 1.27MHz.
Y nada, sigo sin conseguir que la frecuencia cambie cuando escribo en el PLL.

Desconectado Marioguillote

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1926
    • Servisystem
Re: Dudas con PLL sintetizador de frecuencias SAA1057
« Respuesta #19 en: 01 de Marzo de 2011, 20:03:11 »
Ahora viene lo mejor !  :mrgreen:

Estudio un poco y vuelvo.

OK! He vuelto.

PIC usado?
Pines del PIC usados para Data, Clock y Enable (12, 14 y 13 del SAA)?
Trama de ejemplo que estás usando?
Cómo cambias el divisor? Reprogramando el PIC o has hecho alguna rutina de cambio con pulsadores? En qué pines del PIC?

Necesitaría esos cuatro datos para elaborar uan pequeña rutina de ensayo.

Antes del fin de semana te armás una FM con esto! :)
« Última modificación: 01 de Marzo de 2011, 20:37:36 por Marioguillote »

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Dudas con PLL sintetizador de frecuencias SAA1057
« Respuesta #20 en: 01 de Marzo de 2011, 21:41:26 »
  Como indica MarioGuillote, estaría bueno ver la trama que estás enviando al SAA.
 
  ¿El cristal de referencia para el SAA, está oscilando? tal vez hay algún drama allí y no trabaja el cristal.

  El MC44817 que también es un PLL pero empleado en sintonizadores de TV tiene una función de testeo, podrías verificar si el SAA tiene dicha función y si responde correctamente.
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Dudas con PLL sintetizador de frecuencias SAA1057
« Respuesta #21 en: 02 de Marzo de 2011, 02:44:20 »
PIC utilizado: 12F675

Conexiones entre ambos:
#define CLB          PIN_A0      
#define DATA         PIN_A5
#define DLEN         PIN_A1

Las señales de control están comprobadas una a una y llegan perfectamente al SAA.

Para el envío de una trama utilizo esta función:
Código: C
  1. // Tiempos protocolo SAA1057
  2. #define tCLBlead     1
  3. #define tTlead       1
  4. #define tCLBlag1     5
  5. #define tCLBH        5
  6. #define tCLBL        5
  7. #define tDLENhold    2
  8. #define tCLBlag2     2
  9. #define tDIST        1300
  10.  
  11. void EnviaPalabra (int16 Palabra) {
  12.  
  13.    output_low(DLEN);
  14.    output_high(CLB);
  15.    delay_us(tCLBlead);
  16.    output_low(DATA);
  17.    output_high(DLEN);
  18.    delay_us(tCLBlag1);
  19.    output_high(CLB);
  20.    delay_us(tCLBH);
  21.    output_low(CLB);
  22.    delay_us(tCLBL);  
  23.    for (i=0;i<16;i++) {
  24.       output_high(CLB);
  25.       delay_us(tCLBH);
  26.       if (bit_test(Palabra,15-i))
  27.          output_high(DATA);
  28.         else
  29.          output_low(DATA);
  30.       output_low(CLB);
  31.       delay_us(tCLBL);
  32.    }
  33.    output_low(CLB);
  34.    delay_us(tDLENhold-tCLBL);
  35.    output_low(DLEN);
  36.    delay_us(tCLBlag2);
  37.    output_high(CLB);
  38.    delay_us(tCLBH);
  39.    output_low(CLB);
  40.    delay_us(tDIST);
  41. }

Ahora mismo tengo esta palabra de inicialización, aunque he probado un millón de combinaciones distintas:
EnviaPalabra(0b1000000100000000);

El SAA lo tengo conectado así:


Esta es la trama de control que aparece en el datasheet:


Y esta es la trama que genera mi PIC, vista con una simulación Proteus:


El cristal de 4MHz que tengo conectado al SAA oscila perfectamente a 4MHz, lo veo con el osciloscopio. Y el SAA tiene una función de TEST, pero no veo nada en ese pin aunque active el bit correspondiente.



Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Dudas con PLL sintetizador de frecuencias SAA1057
« Respuesta #22 en: 02 de Marzo de 2011, 09:21:30 »
  Hola Nocturno, creo que está mal la función que va enviando los datos, fijate como está hecha....

Código: C
  1. #
  2.   for (i=0;i<16;i++) {
  3.   output_high(CLB);
  4.   delay_us(tCLBH);
  5.   if (bit_test(Palabra,15-i))
  6.     output_high(DATA);  // con esto pongo el dato en 1
  7.   else
  8.     output_low(DATA);    // con esto pongo el dato en 0
  9.   output_low(CLB);
  10.   delay_us(tCLBL);
  11. }

  ¿Así como está no vas cambiando el dato mientras el pulso de clock (CLB) está en alto?
  Y según la trama, el cambio de valor de data se tiene que dar mientras el pulso de clock (CLB) está en bajo
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado Marioguillote

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1926
    • Servisystem
Re: Dudas con PLL sintetizador de frecuencias SAA1057
« Respuesta #23 en: 02 de Marzo de 2011, 09:34:14 »
OK Manolo !

Según la página 11 (donde indica la forma de inicializar el dispositivo) te están faltando dos cosas:
Una es que faltan al menos 10 pulsos de reloj en la entrada CLB antes de enviar la palabra B
Y te está faltando la palabra A !!!  :shock:
Sólo envías la palabra B, que se encarga de preparar al SAA para recibir la palabra A (el divisor para indicar al PLL la frecuencia que queremos), pero la palabra A no está allí en ese código.
A ese código debes agregarle la palabra A (figura 3, página 6 del datasheet) luego de repetir los intervalos de fin de palabra e inicio de palabra (mandás dos palabras de 16 bits cada una). ¿Se entiende?

Cuando la figura 2 de la misma página te habla del "Bus Format" te está indicando como debe transmitirse cada palabra. Tú estás enviándo una sola con ese fragmento de código. Falta el divisor. (palabra A)

En la palabra B prueba con estos 16 bits "110111010100100"
En la palabra A diviértete seteando a uno los bits de peso mediano y dejando a cero el resto. Una vez que logres variación comienza a modificar el primero y segundo de menos peso (2 a la 0 y 2 a la 1) y allí comenzarás a tener variaciones de pocos Khz.

Tiene que funcionar.  :)

Edito:
Justo escribió Angel Gris ... Fíjate en eso también Manolo.  :)

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Dudas con PLL sintetizador de frecuencias SAA1057
« Respuesta #24 en: 02 de Marzo de 2011, 09:46:29 »
OK Manolo !

Según la página 11 (donde indica la forma de inicializar el dispositivo) te están faltando dos cosas:
Una es que faltan al menos 10 pulsos de reloj en la entrada CLB antes de enviar la palabra B
Y te está faltando la palabra A !!!  :shock:
Sólo envías la palabra B, que se encarga de preparar al SAA para recibir la palabra A (el divisor para indicar al PLL la frecuencia que queremos), pero la palabra A no está allí en ese código.
A ese código debes agregarle la palabra A (figura 3, página 6 del datasheet) luego de repetir los intervalos de fin de palabra e inicio de palabra (mandás dos palabras de 16 bits cada una). ¿Se entiende?

Cuando la figura 2 de la misma página te habla del "Bus Format" te está indicando como debe transmitirse cada palabra. Tú estás enviándo una sola con ese fragmento de código. Falta el divisor. (palabra A)

En la palabra B prueba con estos 16 bits "110111010100100"
En la palabra A diviértete seteando a uno los bits de peso mediano y dejando a cero el resto. Una vez que logres variación comienza a modificar el primero y segundo de menos peso (2 a la 0 y 2 a la 1) y allí comenzarás a tener variaciones de pocos Khz.

Tiene que funcionar.  :)

Edito:
Justo escribió Angel Gris ... Fíjate en eso también Manolo.  :)

  En cuanto a la inicialización, yo interpreto (muy probablemente en forma equivocada) que tiene que recibir al menos 10 pulsos de clock o la palabra B. No que tenga que recibir 10 pulsos de clock antes de la palabra B.

  El resto es como tu dices, sí o sí tiene que recibir primero la palabra B para configurar el dispositivo y luego la palabra A
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado Marioguillote

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1926
    • Servisystem
Re: Dudas con PLL sintetizador de frecuencias SAA1057
« Respuesta #25 en: 02 de Marzo de 2011, 10:04:57 »
En cuanto a la inicialización, yo interpreto (muy probablemente en forma equivocada) que tiene que recibir al menos 10 pulsos de clock o la palabra B. No que tenga que recibir 10 pulsos de clock antes de la palabra B.

Correcto AngleGris!   :oops:
Tienes razón!

Es una cosa "O" la otra.

Sorry ... i'm a Tarzanglish man !!!  :D :D :D

Claro. Entonces una vez inicializado con la palabra B puedes usar sólo la palabra A para cambiar de sintonía hasta que decidas cambiar de parámetros (FM a AM u otras cosas). Allí habría que volver a enviar la palabra B.
Si sólo quieres cambiar de frecuencia, envías al menos 10 pulsos de clock y luego la palabra A  ;-)

Mil disculpas por el error!
Mario

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Dudas con PLL sintetizador de frecuencias SAA1057
« Respuesta #26 en: 03 de Marzo de 2011, 03:04:12 »
Parece que no me expliqué bien. Me refería a que enviaba como palabra de inicialización la que os puse antes, pero luego enviaba la palabra de seteo de frecuencia, lógicamente.

A pesar de todo, también había probado sin éxito enviando 15 pulsos de clock al principio del programa.

De hecho, mi programa de pruebas ahora mismo es este:
Código: C
  1. EnviaPalabra(0b100111010100000);
  2.    delay_ms(100);
  3.    while (1)
  4.    for (j=0; j<0x7000; j=j+0x10) {
  5.       EnviaPalabra(j);
  6.       delay_ms(100);
  7.    }

Respecto a cambiar la escritura del dato en el pulso bajo en lugar del alto, yo interpreto el diagrama de tiempos de la datasheet al contrario, pero acabo de probarlo como me indicas, Angelgris y tampoco consigo ningún resultado.

También he probado con el seteo de configuración que me has puesto, Mario.


Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Dudas con PLL sintetizador de frecuencias SAA1057
« Respuesta #27 en: 03 de Marzo de 2011, 09:11:57 »
  Me explayo en el porque de mi interpretación de la trama.

  En la figura que adjunto, encerrado en rojo está lo que yo interpreto como cambio de dato y encerrado en verde está cuando no tiene que cambiar.

  Fijate que en lo rojo la data se cruza, eso indica que puede haber un cambio. Encerrado en lo verde la data no se cruza, hay una linea superior y una inferior, eso indica que la data tiene que permanecer estable ya sea en estado alto o en estado bajo.


  Acá un texto respecto del protocolo I2C sacado del PDF "The I2C Bus Specification Version 2.1"

"The data on the SDA line must be stable during the HIGH
period of the clock. The HIGH or LOW state of the data line
can only change when the clock signal on the SCL line is
LOW (see Fig.4)."

  y adjunto la figura que muestra la trama del I2C.


  Pero bueno, de todas maneras ya has comentado que hiciste la prueba y no funcionó. ¿Es caro el SAA1057? ¿Tenés otro como para probar? Tal vez está fallado (que por lo menos, aquí en Argentina, no es nada extraño comprar un integrado y que no funcione) y te estás volviendo loco.
« Última modificación: 03 de Marzo de 2011, 09:14:26 por AngelGris »
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Dudas con PLL sintetizador de frecuencias SAA1057
« Respuesta #28 en: 03 de Marzo de 2011, 14:13:10 »
Pues cuesta en torno a 7€, pero no es tan problema lo que vale, sino que no lo hay en mi ciudad.
Aunque después de tanta prueba, mucho me temo que voy a necesitar otro para salir de dudas.

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Dudas con PLL sintetizador de frecuencias SAA1057
« Respuesta #29 en: 03 de Marzo de 2011, 14:24:30 »
  Yo estoy releyendo y releyendo el datasheet del SAA1057 y sinceramente no encuentro nada para poder aportar. Volvi a releer el post bien detenidamente para ver si se estaba escapando algo, pero no logré ver ningún detalle más allá de todo lo que ya se ha comentado.

  Uy!! como me fastidia no poder conseguir las cosas que se necesitan!!!!!

  Voy a revisar entre tantas placas que tengo dando vueltas, si lo encuentro me pongo a hacer pruebas y comento.

  Espero que puedas solucionarlo, cualquier cosa en lo que pueda serte útil, aquí estaré

  EDITO: Ya revisé todas las placas que tenía de equipos de Audio y el único PLL que encontré es el LM7001.
« Última modificación: 03 de Marzo de 2011, 14:58:13 por AngelGris »
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas


 

anything