Hola a todos!
Y aquí viene la primera duda: ¿se puede meter una frecuencia TTL proveniente de un PIC o hay que hacer alguna adaptación?
Debieras intentar que no le llegue una onda cuadrada, como dice solarpower, lo deseable es trabajar con senoides. Para eso debieras meter algún separador y formador de onda (con un filtro RC lo pasas a senoidal fácilmente)
Por otra parte, no sé cómo ver si está funcionando o no. ¿Qué debería ver en la salida 6?, ¿un nivel de tensión o una frecuencia?
Allí vas a tener una forma de onda que variará en función de lo que introduzcas por FAM o FFM
comparado con la referencia interna que genera el cristal de
4Mhz + el PLLEsa forma de onda se suele pasar por un filtro pasabajos y se obtiene así una tensión para controlar un VCO.
--------------------------------------
El sistema trabajaría de la siguiente forma:
Tú tienes un oscilador controlado por tensión (VCO). Es decir, un oscilador que si le aplicas 0V entregará una frecuencia, si pasas a 1Volt entregará otra, 2Volts otra y así con todas las tensiones a las que esté preparado para trabajar. Yo puse el ejemplo de 0, 1 y 2 (valores enteros) pero debes contar con todos los valores intermedios y aquellos a los que pueda alcanzar el control del VCO. Ese valor lo determina el diseño del VCO.
Algunos trabajan de 0 a 5V, otros de 0 a 12V, otros de 0 a 33V y de este modo hay muchos "modelos de VCO.
Lo que debes tener en claro es: un oscilador controlado por tensión. De acuerdo a la tensión que introduzcas, obtienes una frecuencia.
El PLL que tienes posee un oscilador interno (con el cristal de 4 Mhz) y un divisor de frecuencias (conectado a ese oscilador) que logra bajar esa frecuencia a 1Khz, 2,5Khz, 5Khz o la que determines a través del bus I2C en tu caso. Esa frecuencia se usa internamente e ingresa a un
Comparador de FasePor otro lado, ese IC toma la señal que introduzcas (por FAM o FFM) y la divide según lo que le indiques mediante el bus I2C. Luego de esa division, la frecuencia resultante entra a la otra entrada del comparador de fase.
Ya tienes entonces dos señales (dos frecuencias) entrando al comparador de fase.
Una fija y que es el resultado de la división hecha al oscilador que posee el cristal. Esa frecuencia tendrá una precisión muy elevada. Recuerda que es la de un cristal y sus divisiones (éstas elevan la exactitud)
La otra es variable. Tu VCO tiene que tener "tensión de control" para saber en qué frecuencia ubicarse.
Tú le has indicado al PLL (mediante el bus I2C) que se ponga en, por ejemplo, 1Mhz.
Aquí entra en juego la salida del pin 6 donde debe haber un filtro pasabajos que te transforme en una tensión de contínua la forma de onda que entregue el comparador de fase que posee en su interior el SAA1057.
Esa tensión contínua, en su momento inicial, variará y hará variar a la frecuencia que entregue el VCO.
Una muestra de esa señal (la generada por el VCO) entrará al SAA1057 (por FAM o FFM) y luego de la división interna (que ordenaste por I2C) se compara con la generada por el cristal.
Si no son iguales, la salida del pin 6 sigue variando hasta que en un momento son iguales.
Cuando esto ocurre, la señal generada por el VCO se "clava" y se mantiene con la precisión del cristal conectado al SAA.
Si al VCO se le ocurre variar (por cualquier motivo) la salida del pin 6 variará intentando llevar al VCO al lugar de trabajo determinado por tí mediante el bus I2C.
De ese modo se cierra el PLL, el "lazo enganchado en fase", el "Phase Locked Loop".
Sobre esto publique dos artículos en NeoTeo pero referido al control de velocidad de motores brushless.
Parte I y
Parte IILa teoría de enganche de fase es la misma para un oscilador de radio que para un control de un servomotor. De su lectura puedes sacar más datos.
------------------------------------------------
Volviendo a tierra, podemos dejar en claro algunas cosas.
El PIC no es un VCO, ni tiene uno incorporado. Si tú determinas una salida de 1Mhz, obtendrás esa salida con la precisión del cristal que tenga el clock del PIC y si no usas el programa para otra cosa.
Quizás usando el TMR1 puedas lorar una buena precisión en la frecuencia obtenida pero siempre estarás sujeto a muchas variables externas.
Con un PLL eso no ocurre y tu sistema siempre funcionará a la frecuencia que el bus I2C decida.
Sé que es largo el texto y puede ser confuso, pero quedo atento a cualquier duda.
Saludos!
Mario