LTC6904: Oscilador de 1Khz. a 68Mhz. (I2C) | |||||
La muralla técnica de todo diseñador electrónico que intenta desarrollar un oscilador está compuesta por dos paredes que a veces resultan infranqueables: los límites de frecuencias “máxima y mínima de oscilación” y la amplitud constante en todo el rango de frecuencia de trabajo. Los circuitos convencionales RC o LC se encuentran siempre limitados a una pequeña (y estrecha) porción del espectro para entregar una oscilación a un nivel de tensión de salida constante. Linear Technology comercializa un chip capaz de entregarnos una oscilación variable entre 1Khz y 68Mhz. por pasos ajustables mediante bus I2C.Es decir, con un microcontrolador, un sencillo juego de instrucciones y un LTC6904 puedes lograr un oscilador muy útil para tu banco de experimentación. Es muy sencillo, compruébalo tú mismo.Disponible en un encapsulado MS8, el LTC9604 de Linear Technology es una solución muy interesante cuando buscamos un oscilador que pueda abarcar un amplio rango de frecuencias útiles para desarrollos de múltiples posibilidades. |
|||||
Con sólo leer las características de frecuencias posibles de funcionamiento nos damos cuenta de que estamos ante un gigante. El segmento inicial desde 1Khz hasta los 20-22Khz. puede ser muy útil para trabajar en BF, ya sea en la reparación como en la asistencia al diseño de circuitos de audio. Un poco más allá y hasta los 300Khz, puedes experimentar con ultrasonidos y las conocidas “ondas largas” de radio. Más arriba y en la mejor parte del campo experimental, puedes atravesar todo el espectro de las ondas medias, donde transmiten las emisoras de AM, y de las ondas cortas, capaces de alcanzar una cobertura mundial con su señal. Cuando cruzamos la barrera de los 30Mhz y nos introducimos en VHF, la situación deja de ser interesante para transformarse en imperdible y digna de experimentar. |
|||||
Microcontroladores - PIC No te pierdas este nuevo espacio donde hablamos de ... más Electrónica |
|
||||
|
Del tamaño de una moneda pequeña, el montaje resulta una herramienta fabulosa |
||||
El LTC6904 es un oscilador
integrado en un solo chip que logra alcanzar una frecuencia de trabajo
de hasta 68Mhz sin ningún componente externo más que un clásico
capacitor de 100nF acoplado a la alimentación del circuito integrado. |
|||||
La pequeña placa montada en el conector I2C de nuestro entrenador |
|||||
|
Gracias a que vamos a trabajar con un pequeño circuito integrado que consume menos de 5mA @ 5Volts, utilizaremos la misma alimentación que nuestro entrenador y esto será a través del conector USB. El montaje ideado para poder acoplar en forma mecánica esta maravillosa miniatura a nuestro entrenador es algo muy sencillo de realizar. Sólo hay que tener un poco de cuidado, prolijidad y buena voluntad. Tal como mencionamos al comienzo del artículo, utilizaremos el conector I2C de nuestro entrenador (RB0 y RB1 del 18F2550) y del lado opuesto, en la placa donde montaremos el LTC6904, dispondremos de pines dedicados a la salida de la señal de oscilación propiamente dicha y a la conexión que posee el chip para determinar su dirección dentro de un bus I2C. Tal como todos recordarán, los circuitos que se conectan a un bus I2C poseen una dirección específica para comunicar sus datos con el microcontrolador al que están acoplados. Es decir, cada dispositivo I2C tiene un “nombre” para enterarse cuándo el microcontrolador decide “conversar” con ellos. |
||||
El LTC en posición y preparado para iniciar los ensayos |
|||||
El LTC6904 está diseñado para poder determinar su dirección dentro del bus con sólo cambiar el estado lógico del pin 4 de su encapsulado. De esta manera, colocando este pin a GND (0), obtenemos la dirección 0010111 dentro del bus, mientras que si al mencionado pin lo elevamos a la tensión de alimentación, la dirección pasa a ser 0010110, o sea, sólo cambia el último bit. Estos siete bits están acompañados por un último bit indicador de escritura sobre el LTC6904. Recordemos que sólo escribiremos instrucciones dentro del chip y éste se encargará de ejecutar acciones de acuerdo a las indicaciones enviadas desde el microcontrolador. En ningún caso leeremos dato alguno desde el dispositivo por lo que este bit es inalterable y siempre será igual a cero (0). De este sencillo modo, nos queda armado el primer byte que enviaremos al bus, el que le dirá al LT6904 “A ti te hablaré y aquí están tus instrucciones”. Por supuesto que esto es un modo metafórico de expresar lo que los fríos bits hacen dentro de una comunicación de datos. |
|||||
Dirección del LTC6904 dentro del bus I2C según la conexión del pin 4 |
|||||
Los dos bytes de datos que
siguen indicarán la frecuencia que deseamos obtener a la salida. Vale
aclarar en este punto uno de los aspectos fundamentales de esta
aplicación: el circuito que estamos empleando podrá manejarse y
utilizarse obteniendo de él frecuencias preestablecidas que se rigen por
parámetros tabulados muy sencillos de comprender y de implementar dentro
del programa de nuestro entrenador. Es decir, tal vez no puedas elegir
10Mhz “exactos” sino que las tablas y los cálculos te podrán ofrecer
10,002Mhz o 9,998Mhz. (cifras seleccionadas al azar), valores que serán
siempre útiles para aplicaciones en las que decidas ensayar un circuito
a 10Mhz. Aunque te suene extraño, un cristal de cuarzo, por ejemplo,
jamás tendrá la frecuencia que expresa en su nomenclatura. Siempre
encontrarás valores de oscilación muy próximos a la indicada pero rara
vez encontrarás uno que oscile a esa frecuencia en forma exacta. Luego,
mantener la frecuencia estable es otra historia y esa es una de las
características que destacan a los osciladores basados en cristales de
cuarzo. Pero, ¡atención! Ellos sólo pueden entregarte una frecuencia
única. El LTC6904 es capaz de brindarte la frecuencia que tú desees con
una estabilidad menor al 1% hasta 68Mhz. ¿Te parece poco? |
|||||
|
Tabla que nos muestra los valores de oscilación según el dato cargado en OCT |
||||
Sabiendo soldar SMD sabrás reparar tu MP3 !! |
Luego, dentro de cada segmento seleccionado con el valor de OCT, pasaremos a la configuración del segundo mando principal (DAC) que está compuesto por una palabra de 10 bits, ubicada justo a continuación de los cuatros bits que forman el OCT. Estos 10 bits permiten dividir el bloque elegido en 1024 posiciones (0 – 1023) o valores de frecuencia de oscilación de salida. Todo esto se completa con dos bits finales que se utilizan para configurar el modo de salida que utilizaremos en los pines 5 y 6. En nuestro ejemplo, sólo conectaremos la salida CLK y bastará colocar ambos bits en cero para obtener salida útil desde el pin 6 del LTC6904. Entonces, juntando toda esta información nos quedan: 4 bits del OCT + 10 bits del DAC + 2 bits de configuración de las salidas. Todo esto equivale a 16 bits, es decir, a 2 bytes. Esos serán los bytes que completarán la instrucción de escritura sobre el chip. |
||||
Aprendé a reparar tu Equipo de Audio. |
Los dos bytes de instrucciones formados por OCT, DAC y CNF |
||||
|
De este modo, nos queda
una secuencia tradicional de comunicación entre un microcontrolador y un
dispositivo I2C. |
||||
|
La clásica comunicación I2C y la comunicación al LTC6904 formada por los tres bytes |
||||
Comencemos a programar |
|||||
Medidor de Capacitores y Resistencias |
Esquema de aplicación del LTC6904 |
||||
Para esto realizaremos dos sumadores y restadores elementales e individuales: uno para OCT y otro para DAC. Con sólo cuatro pulsadores conectados a pines libres del puerto C del entrenador, podremos avanzar a frecuencias alejadas en pocos pasos. OCT incrementará de a una unidad, es decir, 00010000 00000000 a la vez. Por su parte, DAC lo hará en una unidad equivalente a 00000000 00000100 a la vez. Recuerda que los dos últimos bits quedan siempre en cero para mantener la configuración de salida de la señal de oscilación. OCT y DAC suman o descuentan sobre una variable única (DATOS) sus valores unitarios. Por lo tanto, con dos pulsadores avanzamos (o retrocedemos) a grandes saltos y con otros dos pulsadores nos movemos como si estuviéramos manejando un mando de sintonía fina. Lo que parecía complejo, se vuelve un juego de niños al pensar en cómo resolver la operación matemática que nos mostrará la frecuencia obtenida en la salida del LTC6904, en el LCD del entrenador (ideal para aquellos que no posean un frecuencímetro). Caso contrario, nunca sabrás en qué frecuencia está trabajando el circuito. |
|||||
|
Fórmula utilizada para calcular la frecuencia de trabajo del LTC6904 |
||||
En lenguaje BASIC (Proton), la potencia se resuelve mediante la instrucción POW y el resto de las operaciones se hacen muy sencillas gracias a la posibilidad de utilizar variables del tipo FLOAT que alcanzan valores entre -1e37 hasta +1e38 y permiten además trabajar con hasta 8 decimales. En este tipo de operaciones, la potencia de un lenguaje de alto nivel nos resuelve problemas que de otro modo serían muy complejos de salvar. La operación matemática mostrada se puede resolver con apenas cinco líneas de código. Nosotros, que decidimos mostrar el resultado final de la frecuencia expresado en Khz., le agregamos una sexta línea. Observa el código que te adjuntamos al final del artículo en un bloc de notas o en cualquier editor de textos (si no tienes Proton) y notarás lo sencillo que resulta el trabajo matemático en un lenguaje de programación de alto nivel. Por supuesto que no debatiremos cuál lenguaje de programación es mejor. En este ejemplo que hoy te traemos, podemos ver que en BASIC el trabajo es muy sencillo. El resto es costumbre, comodidad y lo que supimos aprender. |
|||||
Con el monitor cardíaco que te presentamos puedes controlar, escuchar y ver tu ritmo cardíaco. |
|||||
Las recomendaciones
finales para trabajar con este tipo de circuitos hablan de su montaje y
el diseño de los circuitos que naturalmente deben seguirle. A la salida
del chip, el fabricante aconseja mantener conexiones cortas y no
“cargar” el circuito con más de dos entradas lógicas (TTL,
microcontroladores, etc.). Lo aconsejable entonces es adaptar cualquier
tipo de circuito seguidor de señal (buffer) para “aislar” el LTC6904 y
permitir su óptimo funcionamiento. Un circuito sencillo sería cualquier
puerta lógica de la familia 74HCT para prevenir diferencias de niveles
de tensión en aquellos casos en que el oscilador esté alimentado con
3,3Volts y nosotros necesitemos una amplitud de trabajo de 5Volts.
|
|||||
Indice de montajes 2 | |||||