0% encontró este documento útil (0 votos)
1 vistas70 páginas

Reynerio de Jesus Hernandez Zayas

Descargar como pdf o txt
Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1/ 70

Facultad de Ingeniería Eléctrica

Título: Diseño y simulación de un generador de funciones para


laboratorio.

Autor: Reynerio de Jesús Hernández Zayas.

Tutores: Msc. Ing. Miguel Fabars Zamora.

Msc. Alcibiades Lara Lafargue.

Ing. Osbeida López Almarales.

Santiago de Cuba año 2013


Agradecimientos.
Agradezco a todas aquellas personas que han aportado su incondicional
dedicación y entrega todos estos años, especialmente a:

 Mis padres, mis hermanos, mis tías, mi abuela y a mi novia, por haberme
brindado su ayuda y apoyo durante todos estos años.
 Mis tutores, quienes han aportado tiempo, conocimiento y han sabido
guiarme en el desarrollo de este trabajo.
 A todos mis compañeros de estudio durante estos años y en especial a
Deinier Cruz por mantenernos unidos durante todo el tiempo de carrera,
y a Marilis Giménez por su ayuda durante toda la carrera.

Y a todos aquellos que han aportado un grano de arena en la culminación de


este trabajo y de mi carrera.
RESUMEN
En este trabajo se propone el diseño de un generador de funciones para
laboratorios, el cual puede generar señales sinusoidales, triangulares y
cuadradas, adamas variar la amplitud (0V – 10V) y la frecuencia (0Hz -20MHz)
de las mismas. Para el diseño se utiliza la técnica de síntesis digital directa
(SDD) y la técnica de lazo de enganche de fase (PLL), también se utiliza un
microcontrolador PIC para la programación y control del instrumento.
ABSTRACT
In this paper we propose the design of a function generator for laboratories,
which can generate sinusoidal signals, triangular and square also can vary the
amplitude (0V - 10V) and frequency (0Hz -20MHz) thereof. For the design it is
used Direct digital synthesis technique (SDD) and the technique of phase
locked loop (PLL), also it is used a PIC microcontroller for programming and
control of the instrument.
Índice
INTRODUCCION...............................................................................................................1
CAPITULO 1: Fundamentos teóricos sobre los generadores de ondas. .........................6
1.1 Generador de funciones. .............................................................................................6
1.2 Síntesis Digital Directa. ...............................................................................................7
1.2.1 Característica de rendimiento de la SDD. .......................................................... 10
1.2.2 El conversor en la síntesis digital directa. .......................................................... 11
1.2.3 El filtro de reconstrucción. .................................................................................. 14
1.3 Lazo de Engancho de Fase (PLL). ........................................................................... 15
1.3.1 Principio básico del funcionamiento de los PLL:................................................ 16
1.3.2 Rangos de funcionamiento. ................................................................................ 19
1.3.3 Efectos del filtro pasa bajos................................................................................ 20
1.3.4 Aplicaciones del PLL: ......................................................................................... 21
1.4 Generación de las diferentes formas de onda. ......................................................... 21
1.4.1 Generación de la sinusoide. .............................................................................. 22
1.4.2 Generación de la onda cuadrada. ...................................................................... 22
1.4.3 Generación de ondas triangular. ........................................................................ 22
1.5 Microcontrolador PIC. ................................................................................................ 23
1.5.1 Arquitectura......................................................................................................... 23
1.5.2 Segmentación. .................................................................................................... 24
1.5.3 Formato de instrucciones. .................................................................................. 24
Conclusiones del capítulo 1. ........................................................................................... 24
Capítulo 2: Diseño del generador de funciones.............................................................. 25
2.1 Descripción del generador de funciones diseñado. .................................................. 25
2.2 Diseño del módulo de SDD. ...................................................................................... 26
2.2.1 Metodología seguida para los cálculos del diseño del DDFS. ......................... 27
2.2.1 Selección del cristal de cuarzo a utilizar. ........................................................... 27
2.2.2Cálculos para el diseño del SDD......................................................................... 28
2.2.3 Módulo de Conversión........................................................................................ 29
2.2.4 Módulo de filtrado. .............................................................................................. 31
2.2.3 Reloj del módulo de SDD. .................................................................................. 34
2.2.4 Esquema general del SDD. ................................................................................ 34
2.3 Diseño del PLL. ......................................................................................................... 34
2.3.1 Diseño del bloque N. .......................................................................................... 38
2.4 Diseño del módulo de conformación de señales. ..................................................... 39
2.4.1 Diseño del Bloque convertidor de señal sinusoidal a cuadrada. ....................... 39
2.5 Diseño del módulo de amplificación.......................................................................... 40
2.6 Bloque de control y comunicación. ........................................................................... 41
2.6.1 Interfaz del microcontrolador PIC con Display de Cristal Líquido y Teclado
Hexadecimal. ............................................................................................................... 41
2.6.2 Algoritmo del software implementado para el PIC............................................ 41
2.7 Fuente de alimentación del dispositivo. .................................................................... 44
2.7.1 Filtros de línea. ................................................................................................... 44
Conclusiones del capítulo II............................................................................................. 45
Conclusiones generales. ................................................................................................. 46
Recomendaciones. .......................................................................................................... 47
Bibliografía ....................................................................................................................... 48
Anexos............................................................................................................................... 50
Generador de Funciones

INTRODUCCION

En la actualidad un elemento indispensable en los laboratorios y en dispositivos


electrónicos, son los generadores de funciones o el bien conocido como
generadores de ondas y osciladores. Se denomina Generador de Ondas, al
dispositivo electrónico que puede generar ondas de diferentes frecuencias.
Estos dispositivos son aparatos de laboratorio, es decir, un equipo que puede
generar diferentes ondas, en función de lo que se necesite, para probar, medir
o poner en marcha otros equipos electrónicos.

Los generadores de onda normales, generan ondas sinusoidales (las más


simples), cuadradas y triangulares. Las ondas cuadradas son las que se
denominan pulsos y se utilizan en electrónica digital, las triangulares se utilizan
para 'bases de tiempo' sobre todo en TV tradicionales y otros dispositivos.

Los generadores de onda poseen una banda de frecuencia de operación, así


se encuentran generadores de audio frecuencia, cuyas ondas se generan entre
los 0 Hz y los 100 kHz o 500 kHz, y generadores de radio frecuencia, los cuales
generan ondas desde los 100 kHz hasta varios MHz (mega Hertz). En
particular los generadores de radio frecuencia son especiales, pues su banda
de frecuencia puede ser muy amplia, así se producen para diferentes bandas
como de HF, VHF o micro-ondas. Los generadores para microondas superan
los 1000 MHz (es decir 1 GHz), pudiendo llegar a 40 o 100 GHz. Mientras más
elevada su frecuencia, más elevado su costo.

Desde la década de 1980, los generadores de señal se fueron complicando,


pues la electrónica permitió incluirles nuevas funcionalidades, al incorporarles
procesadores de señal. Un generador de señal de alta gama puede generar
señales con forma de onda muy complejas, (y no solo la sinusoidal, cuadrada y
triangular), en donde el usuario puede controlar y hasta programar, la forma de
onda que desea, e inclusive una secuencia de formas de ondas y de frecuencia
que desea generar en sucesión, para probar algún equipo en particular. La
limitación siempre es la banda de frecuencia del generador, solo los
generadores muy costosos poseen la banda completa, desde los 0 Hz hasta
los 100 GHz o más.

Página 1
Generador de Funciones

Saliendo del equipo de laboratorio, un generador de onda es todo aquel circuito


que genera la onda que un equipo necesita. Básicamente se denominan
osciladores, para generar la frecuencia deseada, y conformadores, para
generar la forma de onda requerida.

Para el diseño e implementación de estos generadores de ondas, se emplean


distintos métodos, como son:

 Síntesis de frecuencia.
 Oscilador controlado por voltaje.
 Osciladores RC.
 Osciladores LC.
 Osciladores a cristal.
Estos y otros métodos son empleado según la necesidad.
En la actualidad la síntesis de frecuencia son los que más se utilizan en las
aplicaciones más complejas, su uso es cada vez mayor. La síntesis de
frecuencia es ahora tan natural, que todos los diseños de radio la utilizan ya
que sólo sintetizan señal para la generación y control. Otras razones incluyen el
aumento de la complejidad de la modulación, el espectacular incremento en
uso y el aumento de la comodidad. No marcación y más ajuste de precisión;
basta con pulsar el botón, y el canal está bloqueado con una precisión que no
requiere corrección.

La síntesis de frecuencia, por lo tanto, ha entrado en la edad en la que se


utiliza en aplicaciones tales como: radios militares, satélites, comunicaciones
terminales, y los radares, así como en las radios de banda y equipo de música,
electrónica de consumo. No es posible considerar la enorme aceleración de la
telefonía celular y los mercados emergentes todavía de la tecnología
inalámbrica y los servicios de comunicaciones personales (PCS) sin el uso de
síntesis de frecuencia.
Síntesis de frecuencia es una disciplina tecnológica fascinante, ya que incluye
tanto las tecnologías analógicas y digitales. Para diseñar un sintetizador se
tiene que aplicar una gran variedad de disciplinas tales como: osciladores
controlados por voltaje, osciladores, amplificadores, filtros, detectores de fase,
la lógica y bajo nivel de ruido de amplificación de corriente continua con filtro.

Página 2
Generador de Funciones

Ha habido obviamente una tendencia a la digitalización en los últimos años, ya


que brinda mayor versatilidad que la tecnología analógica; las tecnologías
digitales ofrecen repetitividad excelente, mucha mejor exactitud, mejor
ejecución, y repetitividad en producción.

Esta tendencia no ha sido ignorada por tecnologías de la generación de la


frecuencia. Ha habido adelantos mayores en dos importante tecnologías. A las
cuales se les conocen cómo síntesis directa digital y lazo de enganche de
fase.

La Síntesis Digital Directa es un método de producir una forma de onda


analógica, por lo general una onda sinusoidal por una generación de variables
en el tiempo en formato digital tras la cual se realiza una conversión digital -
analógica.
Los SDD están constituidos básicamente por un acumulador de fase y un
conversor fase amplitud. Un sistema SDD trabaja sobre el principio de que una
forma de onda digitalizada se puede generar acumulando cambios de fase a
una frecuencia mayor o igual al doble de la razón de Nyquist. Con estos se
obtienen altas purezas espectrales y rapidez de cambio de frecuencia sin salto
de frecuencia.

Actualmente son dispositivos muy compactos y robustos, dignos a tener en


cuenta en diferentes aplicaciones. Por eso ha ganado aceptación, incluso a
nivel de industria, para la solución de problemas de generación de frecuencia,
porque con un solo dispositivo programable se pueden generar ondas
analógicas de forma sencilla con alta precisión.

Los DDS se programan a través de una serie de interfaz de periféricos (SPI), y


solo necesitan un reloj externo para generar ondas sinusoidales simples.
Es necesario mencionar que no se limitan exclusivamente a la generación de
sinusoides, también pueden generar pulsos triangulares o rectangulares.

El PLL u oscilador enganchado en fase, como también se le conoce en


algunas bibliografías; es un sistema de realimentación que consiste en un
detector de fase, un filtro pasa bajo y un oscilador controlado por tensión (VCO)
del cual parte el camino de la realimentación. Es un circuito que permite que

Página 3
Generador de Funciones

una señal de referencia externa controla la frecuencia y la fase de un oscilador.


El primer uso documentado de un PLL fue en 1923, en un receptor sincrodino,
pero no fue hasta los años 60, con la aparición de los circuitos integrados que
se les comenzó a utilizar profusamente.

Un generador de funciones diseñado con estas dos tecnologías, podría llegar


alcanzar un barrido en una amplia gama de frecuencia (1Hz-20MHz) y una
buena resolución (0.2Hz). En algunos laboratorios de la Universidad de
Oriente donde es necesario el trabajo con estos dispositivos, específicamente
para las prácticas de laboratorio de la asignatura de Microcomputadora de la
carrera de automática, se carece de este dispositivo. Por lo que:

Problema de la Investigación: La necesidad que existe de tener en el


laboratorio de Microcomputadora un Generador de funciones (triangulares,
cuadrada, sinusoidal) con el fin de poder comprobar el funcionamiento de
equipos y sistemas.

Objeto: La generación de ondas eléctricas.

Objetivo de la Investigación: Diseño de un Generador de funciones.

Campo de acción: Técnicas y procedimiento para generar ondas, empleando


el método de síntesis de frecuencia y PLL.

Hipótesis: Si se diseña e implementa el generador de funciones, se resolvería


la situación de los laboratorios que utilizan este tipo de instrumento para probar
otros equipos.

Tareas de la investigación:

- Fundamentar el problema de la investigación.

- Caracterizar histórica y gnoseológicamente los generadores de onda

- Estudiar la documentación sobre los PIC.

- Estudiar los amplificadores con ganancia variable.

- Estudiar la síntesis digital directa (SDD).

Página 4
Generador de Funciones

- Estudiar los Lazos Enganchados de Fase (PLL).

- Estudiar los circuitos que permiten convertir las ondas sinusoidales a


ondas triangulares y cuadradas.

- Diseñar el instrumento.

- Implementar el programa del PIC que permita el control del dispositivo

Métodos de la investigación utilizados:

-Análisis de documentos.
-Métodos de análisis y síntesis.
-Simulación.
-Criterio de expertos.

La estructura del informe esta basada fundamentalmente en dos capítulos. En


el Capítulo 1 se estudian los fundamentos teóricos de los conceptos
fundamentales que sirven de base a la investigación, enmarcándose
especialmente en las técnicas de SDD, del PLL y también un breve estudio
sobre los microcontroladores PIC.

En el Capítulo 2 se describe la metodología y el diseño de los módulos


fundamentales que conforman el Generador de ondas, se describe el
hardware utilizado para la síntesis digital directa, para el PLL y control e interfaz
del dispositivo.

Página 5
Generador de Funciones

CAPITULO 1: Fundamentos teóricos sobre los generadores de


ondas.

En este capítulo se exponen los conceptos y la teoría necesaria que sirven


como base para el posterior entendimiento del diseño del generador de
funciones, además se hace referencia a las diferentes técnicas que se utilizan
en la actualidad para la generación de ondas.

1.1 Generador de funciones.

Un generador de señales, de funciones o de formas de onda es un dispositivo


electrónico de laboratorio que genera patrones de señales periódicas o no
periódicas tanto analógicas como digitales. Se emplea normalmente en el
diseño, prueba y reparación de dispositivos electrónicos; aunque también
puede tener usos artísticos. [18]
Hay diferentes tipos de generadores de señales según el propósito y
aplicación. Tradicionalmente los generadores de señales eran dispositivos
estáticos apenas configurables, pero actualmente permiten la conexión y
control desde un PC. Con lo que pueden ser controlados mediante software
hechos a medida, según la aplicación, aumentando la flexibilidad. [18]
Los generadores de funciones se usan de forma muy amplia. Además de
laboratorios de investigación, pueden usarse en talleres eléctricos. Su manejo
sencillo le permite trabajar de forma rápida y segura. Las formas de onda
generadas digitalmente le garantizan una alta estabilidad.
A los generadores de funciones se le pueden realizar diversos ajustes, tales
como la simetría, desplazamiento, amplitud y el ancho de pulso. Los
generadores de funciones modernos también disponen de una memoria para
almacenar formas de señales. La memoria también puede ser utilizada para el
almacenamiento de las curvas de tensión individuales. Estas pueden ser
creadas por un generador arbitrario.
Anteriormente los generadores de funciones, para producir funciones de
señales individuales, usaron circuitos complejos con oscilador, filtro,
comparador, etc. Sin embargo en la era moderna de la arquitectura del micro-

Página 6
Generador de Funciones

procesador, un solo procesador maneja estas funciones. Este calcula el valor


de la función internamente en los generadores de función, como el de una
función de seno. Esta función, calculada por los generadores de funciones, se
convierte a través de un convertidor A / D en una tensión de salida. Por lo cual
la generación de señal es simple y la construcción compacta, estos
generadores de funciones controlados por microcontroladores tienen la ventaja
de operar a una frecuencia de reloj fija, que es mucho más fácil y estable de
producir que la que se produce con un disparador convencional Schmitt. Esto
asegura una alta precisión con poco esfuerzo. Su manejo fácil permite un
trabajo rápido y fiable. La forma de señal digitalmente generada garantiza una
alta estabilidad.

1.2 Síntesis Digital Directa.

El proceso de síntesis de frecuencia involucra varios métodos que se han


sucedido a medida que ha evolucionado la tecnología de los circuitos
integrados de alta velocidad. Este ha sido utilizado desde tiempos atrás a la
hora de envíos y recepción de señales. En la actualidad se pueden destacar
dos métodos que se encuentran bien definidos:

 Analógico, con el empleo de lazos controlados de fase (PLL).

 Digital, mediante el empleo de la Síntesis Digital Directa.

Tanto la técnica PLL como la SDD, tienen sus ventajas y desventajas que
deben ser consideradas para un propósito particular de manera cuidadosa, sin
embargo existe un problema que no resulta fácil de resolver con el empleo del
PLL y es el aumento de la resolución. Este y otros problemas quedan resueltos
de forma muy simple haciendo uso de la SDD. El cual tiene la ventaja de que
si el oscilador base es muy estable, también lo serán las distintas frecuencias
de salida.

La SDD está constituida básicamente por un acumulador de fase y un


conversor fase amplitud. Un sistema de SDD trabaja sobre el principio de que
una forma de onda digitalizada se puede generar acumulando cambios de fase

Página 7
Generador de Funciones

a una frecuencia mayor o igual al doble de la razón de Nyquist. Con estos se


obtienen altas purezas espectrales y rapidez de cambio de frecuencia sin salto
de frecuencia.

En los últimos años se han desarrollados circuitos integrados de alta velocidad


para propósitos de síntesis digital directa de frecuencia, capaces de operar
hasta los 500MHz, lográndose además resoluciones del orden de 1 Hz , con
tiempos de conmutación limitados solamente por la velocidad de la tecnología
empleada. Con este procedimiento, se aprovecha la flexibilidad y rapidez de la
técnica digital.

La síntesis digital directa consiste en la generación de una representación


digital de la señal deseada y luego usando conversores digital-analógico
(DAC), convertir esta representación en una forma de onda analógica. Los
recientes avances en la microelectrónica de alta velocidad, particularmente los
microcontroladores y los PLD (dispositivo lógico programable) hacen a la SDD
práctica a alta frecuencia. Los sistemas resultan compactos, consumen poca
potencia, proporcionan un alto grado de resolución de frecuencia y gran pureza
espectral. La SDD es muy popular debido a la alta exactitud de generación y
representación de señales digitales armónicamente puras, además de su
compatibilidad con la computación y fácil diseño [1].

En la técnica DDS la señal es generada digitalmente con buena inmunidad al


ruido y excelente estabilidad, mediante el uso de técnicas de procesamiento
digital de señales (PDS).

No se debe dejar de mencionar que la SDD puede generar frecuencias


espurias debido a imperfecciones en el DAC tales como: no linealidades,
aparición de pulsos durante la conmutación y a tiempos de establecimiento
limitados. La aparición de frecuencias espurias se puede reducir haciendo una
buena elección del DAC y un diseño eficiente del filtro de reconstrucción.

Un sintetizador por SDD consta de dos partes fundamentales (figura 1.1): el


acumulador de fase y el Conversor Fase-Amplitud (CFA). El acumulador de
fase genera los valores de fase correspondientes al período fundamental de la

Página 8
Generador de Funciones

sinusoide y es el que determina la frecuencia de salida y la precisión en el


DDFS El CFA transforma los valores de salida del acumulador de fase en
valores de amplitud y define el comportamiento espectral del DDFS.

Figura 1. 1. Esquema de principio del SDD.

La frecuencia de salida f0 y la resolución frecuencial Δf están definidas como:

f
f0  fS (1.1)
2W
fS
f  (1.2)
2W

Dónde:

f0: Frecuencia de salida.

fs : Frecuencia de muestreo

Δf: Incremento de fase

W: Número de bit del acumulador.

La pureza espectral viene dada por:

SQNR[dB]  6.02 B  1.76 (1.3)

Página 9
Generador de Funciones

WCSM [dB ]  6.02 P; P  4 (1.4)

Dónde:

SQNR: Relación señal a ruido de cuantificación:

Se define como error de cuantificación o ruido de cuantificación a la señal en


tiempo discreto y amplitud continua introducida por el proceso de cuantificación
(uno de los procesos que intervienen en la conversión analógica-digital, que
sigue al de muestreo y precede al de codificación) y que resulta de igualar los
niveles de las muestras de amplitud continua a los niveles de cuantificación
más próximos.

WCSM: Mayor nivel de armónicos esperados.

B: Ancho de palabra del CFA

P: Número de bits del acumulador de fase que se emplean en el CFA.

1.2.1 Característica de rendimiento de la SDD.


La mayoría de las soluciones integradas para sintetizadores digitales directos
proporcionan un mínimo de 24 bit de resolución en frecuencia, y algunos llegan
hasta 48 bits. Muchos acumuladores de fase están diseñados en cascada para
aumentar la resolución de frecuencia. Los sintetizadores digitales directos
proporcionan no sólo una frecuencia de resolución muy precisa, sino que
también proporcionan una amplia gama de frecuencias.

La figura 1.2 ilustra otra de las características de la SDD, su velocidad de


sintonización de frecuencia. Si la fase de entrada se cambia, el acumulador de
fase instantáneamente cambia a la nueva frecuencia en el próximo ciclo de
reloj.

Página
10
Generador de Funciones

FRECUENCIA
f2

CONMUTACION
f1 DDS

SOBREPASO f2
CONMUTACION
PLL
f1
TIEMPO
CONMUTACION

TIEMPO

Figura 1. 2. Comparación de las características del PLL y del SDD.

1.2.2 El conversor en la síntesis digital directa.

En el mundo real las señales analógicas varían constantemente, pueden variar


lentamente como la temperatura o muy rápidamente como una señal de audio.
Lo que sucede con las señales analógicas es que son muy difíciles de
manipular, guardar y después recuperar con exactitud. Si esta información
analógica se convierte a información digital, se podría manipular sin problema.

La información manipulada puede volver a tomar su valor analógico si se desea


con un DAC (Convertidor Digital a Analógico)

El DAC realiza una representación discretizada en amplitud de la señal


deseada basada en valores digitales, además es un factor limitante en el
comportamiento respecto a los espurios de un sistema SDD. Como cualquier
DAC puede ser empelado con un SDD; en particular se hace difícil predecir el
nivel de ruido de la señal generada.

En aplicaciones en las que se emplean relojes muy rápidos, el mejor rango


dinámico libre de espurios se obtiene empleando DAC con transitorios de
conmutación muy bajos y tiempo de establecimientos pequeños. En la práctica,
un comportamiento aceptable significa el uso de DAC con al menos 10 bits de
resolución. Muchos conversores pueden parecer apropiados para sistemas

Página
11
Generador de Funciones

específicos, pero la única forma de compararlos y validar su comportamiento es


construyendo un circuito de pruebas con ellos [7].

El conversor es un dispositivo conceptualmente muy simple; sin embargo, en la


práctica este puede tener una implementación compleja. Básicamente la idea
es obtener una señal analógica a la salida, que sea proporcional a la palabra
de dato digital que entra al conversor [14].

Generalmente esta palabra tiene una extensión de 8, 10 o 12 bits. Es muy


usual que la salida del DAC sea de corriente para hacer de la conversión un
proceso más lineal, pero el diseñador puede convertirla en voltaje en
dependencia de la linealidad que tolere su aplicación.

El número de bits de la palabra de entrada del conversor determina la


resolución de amplitud y las características de ruido a la salida. El DAC no tiene
efecto en la frecuencia de la señal generada, este simplemente aproxima el
valor de amplitud de la palabra de entrada en cada ciclo de reloj.

Existen cuatro características fundamentales de los DAC que hay que tener en
cuenta:

 Resolución.

 Exactitud.

 Velocidad.

 Pureza espectral.
La resolución indica cuantos niveles analógicos discretos existirán sobre el
rango de salida. En teoría mientras más bits se tomen se pueden tener
mayores resoluciones, pero en la práctica las fuentes de ruido la limitan.

El tiempo de establecimiento indica cuanto tiempo necesita el DAC para


alcanzar el valor deseado y mantenerlo bajo cierta tolerancia como se observa
en la figura 1.3.

Página
12
Generador de Funciones

Tiempo de
establecimiento

Figura 1. 3. Transición en la salida del conversor.

Para obtener una adecuada pureza espectral deben tenerse en cuenta tres
aspectos esenciales:

1. Energía impulsiva: Impulso que ocurre cuando dos entradas digitales


cambian de estado. Mientras menor sea esta energía más limpia será la salida
del DAC.
2. Distorsión armónica total (TDH): No es más que la relación de la suma
de los armónicos de salida sobre el valor fundamental, usualmente se incluye
hasta el quinto armónico. Da cuenta de en qué medida un conversor puede
generar una onda sinusoidal sin armónicos.

V22  V32  V42  V52


THD  20 Log 1.5
V1

Dónde:

V1 es el valor RMS de amplitud del armónico fundamental.

V2, V3, V4, V5: son las amplitudes RMS de armónicos individuales.

3. Relación señal a ruido (SQNR): Indica la cantidad de ruido que el DAC


pone en la salida.

Página
13
Generador de Funciones

SQNR = 6.02 n +1.76 1.6

Dónde:

n es la resolución del DAC.

Teniendo en cuenta que el tipo, la velocidad y las características de


funcionamiento del DAC son críticas en el funcionamiento de los SDD, estos
están siendo desarrollados teniendo en cuenta su aplicación en esta rama de la
electrónica.

1.2.3 El filtro de reconstrucción.


El filtro de reconstrucción es conceptualmente tan importante como el DAC ya
que las componentes no deseadas de frecuencia son generadas como parte
del proceso de muestreo en el SDD. Confirmando el teorema de Nyquist estas
componentes aparecen en pares igualmente espaciadas a cada lado de la
frecuencia de reloj. Además de estas aparecerán otras a cada lado de los
armónicos de la señal de reloj, que se pueden despreciar si eliminamos la
primera componente no deseada de frecuencia. La componente fundamental
de frecuencia es difícil de extraer limpiamente sin un filtro práctico adecuado.
Una consideración práctica efectiva consiste en limitar la frecuencia máxima de
salida a un valor cercano al 40% de la frecuencia del reloj.

Los componentes del filtro requieren de una elección cuidadosa según la banda
de frecuencia en que se va a trabajar, debido a que los inductores y
capacitores al trabajar a frecuencias superiores a 10 MHz no se comportan
como tal. Se pueden utilizar filtros a cristal como es el caso del SE36-9M-5010
que es un filtro antialiasing que opera en el rango de 10 k

Hz. a 20 MHz. La elección de la frecuencia de corte no está sujeta a esta regla


en particular, si el sintetizador va a ser empleado en una frecuencia inferior al
límite, la de corte del filtro puede ser otra.

Como se mencionó anteriormente, en la SDD se generan espurios estando no


solo sujeto a los problemas de conversión, sino también a los de filtrado. Como
estos son sintetizadores que pueden operar en un amplio ancho de banda, el

Página
14
Generador de Funciones

filtro puede atenuar los espurios a la frecuencia de corte del mismo, pero en
frecuencias alejadas a esta, no realiza un gran efecto debido a que se opera en
la banda de paso del filtro.

1.3 Lazo de Engancho de Fase (PLL).

El PLL u oscilador enganchado en fase como también se le conoce en


algunas bibliografías; es un sistema de realimentación que consiste en un
detector de fase, un filtro pasa bajo y un oscilador controlado por tensión (VCO)
del cual parte el camino de la realimentación. Es un circuito que permite que
una señal de referencia externa, controla la frecuencia y la fase de un
oscilador. (Ver figura 1.4). El primer uso documentado de un PLL fue en 1923,
en un receptor homodino o sincrodino, pero no fue hasta los años 60, con la
aparición de los circuitos integrados que se les comenzó a utilizar
profusamente. [18]

Figura 1. 4. Diagrama en bloques de un sistema básico de PLL.

Quizás el punto más importante a tener en cuenta cuando se diseña el PLL es


que consiste en un sistema de realimentación como cualquier otro, por lo que
se deduce, que está caracterizado matemáticamente con las mismas
ecuaciones que se le aplican a los otros sistemas con realimentación más
convencionales. Sin embargo, los parámetros de las ecuaciones son algo
diferentes, ya que en los PLL la señal de error de realimentación es un error de
fase, mientras que en los convencionales es una señal de error de voltaje o
corriente.

Página
15
Generador de Funciones

El detector de fase, como su propio nombre lo indica, es capaz de determinar el


desfasaje existente entre dos señales. Existe una gran variedad de ellos, entre
los que destacan los siguientes: detectores de fase de muestreo y retención,
detectores de fase de tipo discriminador, detectores de fase de tipo
multiplicador y detectores de fase digitales.

Para elegir un detector u otro hay que tener en cuenta, principalmente, dos
factores: el tipo de señal de entrada y el intervalo de error de fase de entrada
en el cual la salida es lineal. Dependiendo del tipo de señal de entrada que se
va a aplicar al PLL se usa un tipo de detector de fase u otro ya que, por
ejemplo, una entrada cosenoidal y una entrada digital requieren detectores de
fase diferentes. Por otra parte, según sea el intervalo de error de fase de la
entrada en el cual la salida es lineal, también se utiliza un detector de fase u
otro. Cuanto más amplio sea dicho intervalo más útil va a ser el detector de
fase para controlar el lazo, y además el ruido va a afectar menos. Los
detectores de fase de tipo multiplicador y los digitales son los que más se
utilizan. Los primeros son útiles cuando la señal de entrada es de tipo
cosenoidal y los segundos, son usados para señales de entrada de tipo digital.

Dentro del lazo de realimentación de un PLL, aparte de un filtro y de un


detector de fase, se encuentra un VCO. Hay varios tipos de VCO que se
pueden usar en los PLL: osciladores de cristal, osciladores LC y
multivibradores RC. Al igual que con los detectores de fase se va a usar un
VCO u otro dependiendo del tipo de aplicación que se le dé al PLL. Los dos
factores que se analizan para elegir el tipo de VCO más adecuado son, la
estabilidad de fase y el intervalo de control. La frecuencia del VCO está sujeta
a la señal de entrada, pero la relación de fase de salida del oscilador con la
entrada va a depender de la frecuencia natural del oscilador. Por lo tanto, va a
influir mucho el tipo de VCO que se utilice.

1.3.1 Principio básico del funcionamiento de los PLL:


El principio básico del funcionamiento de los lazos enganchados en fase
puede explicarse según sus estados de funcionamiento: [6]
 Estado de corrida libre.

Página
16
Generador de Funciones

Cuando no hay señal aplicada a la entrada del sistema o hay una señal de

entrada a la cual el lazo no tiene posibilidades de enganchar. La tensión Vd


V
Vd  DD
que controla el VCO tiene un valor cero o 2 , cuando el dispositivo se

alimenta con una fuente de tensión Vd no partida. El VCO oscila libremente a


una frecuencia determinada por una red RC o LC, conocida como frecuencia

de corrida libre f 0 , (equivalente en radianes a  0 ).

 Estado fijo.

Es el que corresponde cuando el lazo está enganchado en fase ( f s  f 0 ) salvo

una diferencia de fase finita  d .Cuando un lazo está enganchado por cada ciclo
de la señal de entrada, hay uno y solo un ciclo de la señal de salida. Si el
comparador de fase no excede su rango lineal se asegura el cumplimiento de
esta condición.
Cuando se aplica una señal a la entrada del sistema, el detector de fase
compara la fase y la frecuencia de dicha señal con la frecuencia del VCO y

genera un voltaje de error Ve que es proporcional a la diferencia de fase y


frecuencia entre las dos señales. Este voltaje de error entonces se filtra y se
aplica a la entrada de control del VCO. De esta manera, la tensión de control
Vd
proporciona que la frecuencia de oscilación del VCO varíe de manera que
f0 fs
reduzca la diferencia de frecuencia entre y la señal de entrada . Si la
fs f0
frecuencia de entrada está suficientemente próxima a , la naturaleza de
la realimentación del PLL provoca que el VCO sincronice y enganche con la
señal entrante. Una vez sincronizado, la frecuencia del VCO es idéntica a la de
la señal de entrada a excepción de una diferencia de fase finita.
Fe Fe F0
Esta diferencia de fase neta es , donde: = - Fs ; que es la diferencia
Vd
de fase necesaria para generar el voltaje de error corrector para conseguir
el desplazamiento de la frecuencia libre del VCO para igualarse a la frecuencia
fs
de la señal de entrada y así mantener el PLL sincronizado. Esta capacidad

Página
17
Generador de Funciones

de auto corrección del sistema también le permite al PLL "encarrilar" los


cambios de frecuencia con la señal de entrada una vez que se ha sincronizado.
La gama de las frecuencias sobre las que el PLL puede mantener el
sincronismo con una señal de entrada se define como “gama de enganche o
cierre” del sistema. La banda de las frecuencias sobre las que el PLL puede
engancharse con una señal de entrada es conocida como “gama de captura”
del sistema y nunca es mayor que la gama de enganche.
 Enganche y Captura.
Considerando ahora el caso en que el bucle no está aún enganchado, el
comparador de fase (que se comporta como un mezclador cuando excede su
rango lineal [6], mezcla nuevamente las señales de la entrada y del VCO

produciendo componentes suma y diferencia de frecuencias; ( f s + f 0 ) y ( f s -


f 0 ). Sin embargo, la componente diferencia puede caer fuera del ancho de

banda del filtro paso bajo y anularse al mismo tiempo con la componente de
frecuencia suma. Si este es el caso, no se transmite ninguna información al
VCO y este permanece en su frecuencia libre inicial.
Cuando la frecuencia de entrada se aproxima a la del VCO, la componente
diferencia de frecuencias disminuye y se acerca el borde de la banda del filtro
paso bajo. Ahora, alguna componente de la diferencia de frecuencias pasará,
haciendo que la frecuencia del VCO se acerque a la frecuencia de la señal de
entrada. Esto producirá, a la vez que disminuya la frecuencia de la componente
diferencial, el paso de más información a través del filtro paso bajo hacia el
VCO.
Esto es esencialmente un mecanismo de realimentación positiva que provoca
que el VCO sincronice con la señal de entrada. Teniendo en cuenta lo dicho, se
puede definir nuevamente el término “gama de captura” como „la gama de
frecuencia alrededor de la cual, la frecuencia libre inicial del VCO puede
enganchar con la señal de entrada‟. La gama de captura es una medida de qué
frecuencias de señal de entrada se debe tener para sincronizar al VCO. Esta
“gama de captura” puede llegar a tener cualquier valor dentro de la gama de
enganche y depende en primer lugar, del flanco del ancho de banda del filtro
paso bajo, y en segundo lugar de la ganancia del lazo-cerrado del sistema.

Página
18
Generador de Funciones

Es este fenómeno de captura de señal, el que le da al PLL las propiedades


selectivas de frecuencia.

Cuando el lazo está sincronizado ( f s = f 0 ); entonces f i + f 0 = 2 f s , y f s - f 0


=0 de ahí que, a la salida del comparador de fase solamente se tenga una
componente DC que pasará siempre a través del filtro paso bajo y ataca al
VCO. Así, la gama de enganche estará limitada por la gama de voltaje de error
que puede generarse y la correspondiente desviación de frecuencia producida
por el VCO. La gama de enganche es esencialmente un parámetro DC y no
está afectada por el ancho de banda del filtro paso bajo.

1.3.2 Rangos de funcionamiento.


Es conveniente definir los rangos de funcionamiento (Ver figura 1.5) a partir de

las variaciones de Vd cuando se varía la frecuencia de la señal de referencia


[18].

Figura 1. 5. Rangos de funcionamiento.

ff
: Frecuencia de corrida libre.

2 fc
: Rango de captura.

2fp
: Rango de tracción.

2 f L : Rango de seguimiento.

Página
19
Generador de Funciones

2f
Siempre se cumple que 2 f c < p < 2 f L .

El rango de seguimiento 2 f L no depende de las características del filtro. Los


límites superior y/o inferior quedan definidos por el dispositivo que primero se
sature, puede ser el comparador de fase, el VCO o algún otro dispositivo activo
del lazo.
2fp
El rango de captura 2 f c y el rango de tracción dependen entre otras
cosas, del filtro paso bajo.

Las características del filtro, entre otras cosas, limitan la rapidez en que el
estado fijo puede ser alcanzado, ya que la tensión del condensador del filtro
paso bajo no puede cambiar instantáneamente, asegurando una rápida
recaptura de la señal, si el sistema sale de sincronismo por un transitorio de
ruido.
El proceso de adquisición del estado fijo, es complicado, no lineal, y de difícil
análisis, por lo cual acá solo se analizará el PLL ya en estado fijo.
Una vez que el proceso de corrección (o adquisición del sincronismo en el lazo,
o fijación del lazo) se ha completado, el PLL va a seguir automáticamente las
variaciones de la señal de entrada.
Si esta señal es más bien estable, con poco ruido y disturbios, el lazo necesita
muy poca información para reproducirla fielmente. El uso del PLL reduce
tremendamente el contenido de ruido de la señal de entrada.
El lazo funciona como un filtro de frecuencia variable y de pequeño ancho de
banda, que puede seguir automáticamente una señal de referencia, aun
cuando esta posea una relación señal / ruido muy pobre [6].

1.3.3 Efectos del filtro pasa bajos.


En la manera de comportarse el lazo, el filtro paso bajo actúa con una doble
función. La primera es atenuar y rechazar las componentes de alta frecuencia
fs f0 fs f0
a la salida del detector de fase, tales como + , armónicas de y
fs f0 f0 fs
dejando pasar solo la componente de baja frecuencia – o - cuando

Página
20
Generador de Funciones

se está adquiriendo el estado fijo; mejorando las características de rechazo de


interferencias.
La segunda es proporcionar durante un breve tiempo, información (memoria
del filtro) al PLL asegurando un rescate rápido de la señal si el sistema se sale
del enganche debido a algún ruido transitorio considerándose el bloque más
importante en la determinación de las características dinámicas del sistema [6].
La disminución del ancho de banda del filtro paso bajo tiene efectos sobre el
rendimiento de sistema (constante de tiempo grande). El proceso de captura
llega a ser más lento, y el pull-in-time aumenta. La gama de frecuencias de
captura disminuye. Las propiedades de rechazo de interferencias del PLL
mejoran ya que el voltaje de error ocasionado por una frecuencia perturbadora
adicional se atenúa por el filtro paso bajo. La respuesta transitoria del bucle (la
respuesta del PLL a los cambios súbitos de la frecuencia de entrada dentro de
la gama de captura) llega a ser muy amortiguado [6].

1.3.4 Aplicaciones del PLL:


Desde sus inicios los PLL han tenido múltiples funciones en varios campos de
la ciencia. Estos dispositivos se emplean básicamente como: [6]

 Generadores de portadoras para emisión con modulación de ángulo o no.


 Generación de osciladores locales en recepción.
 Sintetizadores de frecuencia.
 Demoduladores de señales moduladas en ángulo.
 Recuperación de impulsos de reloj en transmisiones digitales.
 Circuitos de sincronismo para barrido horizontal y vertical en receptores de
televisión.
 Recepción de señales satelitales de satélites no geoestacionarios.
 Demodulador de AM, FM, FSK entre otras.

1.4 Generación de las diferentes formas de onda.

Los generadores de funciones tienen más versatilidad entre mayor sea el


número de funciones que se obtengan a su salida. En la mayoría de los casos

Página
21
Generador de Funciones

se hace necesario apoyarse en circuitos capaces de transformar una forma de


onda en otra

Entre las diferentes formas de ondas que pueden generarse encontramos:

 Sinusoidal.
 Cuadrada.
 Triangular.

1.4.1 Generación de la sinusoide.


Existen variadas formas para generar la onda sinusoidal, se podrían mencionar
algunos ejemplos, como son:

 Osciladores para ondas sinusoidales.


 Método de la SDD.
 El dinamo.
 CI ICL8038

1.4.2 Generación de la onda cuadrada.


La onda cuadrada se puede obtener a partir de un comparador regenerativo,
que consiste en un circuito biestable (dos estados). Como pudieran ser.

 Oscilador con CI 555.

 Conformador de onda Schmitt-Trigger.

 Detector de cruce por cero.

 CI ICL8038

1.4.3 Generación de ondas triangular.


Para la obtención de la onda triangular también existen muchos métodos,
como los mencionados a continuación.

 CI ICL8038

 Método de la SDD.

Página
22
Generador de Funciones

 Con oscilador empleando un CI 555 y un circuito RC.

1.5 Microcontrolador PIC.

Los microcontroladores, junto a las memorias y los dispositivos lógicos, son los
constituyentes básicos para el diseño de los generadores de funciones.
Seguidamente se profundiza en los microcontroladores PIC que constituyen
uno de los máximos exponentes de su desarrollo y el principal soporte físico de
este trabajo.

Los PIC tienen algo que fascina a los diseñadores, puede ser la velocidad de
trabajo, el precio, la facilidad de uso, la información, las herramientas de apoyo,
entre otros.

Se pude constatar que para las aplicaciones más habituales (casi un 90%) la
elección de una versión adecuada de PIC es la mejor solución. Ya estos
proporcionan facilidades como son:

1-Sencillez de manejo: tienen un juego de instrucciones reducido; 35 en la


gama media.

2-Buena información, fácil de conseguir y económica.

3-Precio: su costo es comparativamente inferior al de sus competidores.

4-Poseen una elevada velocidad de funcionamiento. Buen promedio de


parámetros: velocidad, consumo, tamaño, alimentación y código compacto.

5-Herramientas de desarrollo fáciles y baratas. Muchas herramientas software


se pueden recoger libremente desde Microchip.

1.5.1 Arquitectura.
Los microcontroladores son familias de circuitos integrados producidos por la
empresa Microchip Tecnology Inc., de alta escala de integración que
incorporan la mayor parte de los elementos que configuran un controlador.

La arquitectura del procesador sigue el modelo Harvard. En esta la CPU se


conecta de forma independiente y con buses distintos con la memoria de

Página
23
Generador de Funciones

instrucciones y con la de datos. Esta arquitectura permite a la CPU acceder


simultáneamente a las dos memorias. Además, propicia numerosas ventajas al
funcionamiento del sistema. Ver anexo 1.

Está basada en un banco de registros lo que significa que todos los objetos del
sistema (puertas de E/S, temporizadores, posiciones de memoria y otros.)
están implementados físicamente como registros. [8][9][15]

1.5.2 Segmentación.
Se aplica la técnica de segmentación en la ejecución de las instrucciones. La
segmentación permite al procesador realizar al mismo tiempo la ejecución de
una instrucción y la búsqueda del código de la siguiente. De esta forma se
puede ejecutar cada instrucción en un ciclo (un ciclo de instrucción equivale a
cuatro ciclos de reloj).

1.5.3 Formato de instrucciones.


Todas las instrucciones de los microcontroladores de la gama baja tienen una
longitud de 12 bits. Las de la gama media tienen 14bits y las de la gama alta
tienen más. Esta característica es muy ventajosa en la optimización de la
memoria de instrucciones y facilita enormemente la construcción de
ensambladores y compiladores.

Los modelos de la gama baja disponen de un repertorio de 33 instrucciones, 35


los de la gama media y alrededor de 60 los de la alta. Todas las instrucciones
son ortogonales, es decir que cualquiera pude manejar cualquier elemento de
la arquitectura como fuente o destino.

Conclusiones del capítulo 1.

En este capitulo se han expuesto conceptos y teoría para la comprensión del


capitulo dos. Teniendo en cuenta las ventajas y desventajas de los métodos
PLL y la SDD, se decidió un generador de función hibrido, con el fin de emplear
lo mejor de ambos métodos, para con ellos generar la función principal del
sistema que es la sinusoide. Además se seleccionaron los métodos de detector
de cruce por cero para la obtención de la onda cuadrada, así como el
microcontrolador PIC para el control del dispositivo.

Página
24
Generador de Funciones

Capítulo 2: Diseño del generador de funciones.

En este capítulo se desarrollan los esquemas y cálculos con el fin de lograr el


diseño y control de cada uno de los módulos que integran el generador de
funciones.

2.1 Descripción del generador de funciones diseñado.

El generador de funciones es capaz de entregar tres tipos de ondas a la cuales


se le puede variar su frecuencia entre 0.2Hz y 20MHz, además se puede
modificar la amplitud de la señal según se desee entre 1V y 10V.Este equipo
está compuesto por varios bloques o módulos como se muestra en la figura
2.1

Figura 2. 1. Esquema en bloque del generador de funciones.

Como se puede apreciar, el primer bloque es el sintetizador digital en el cual


se empleó el método de SDD, en el mismo se generara la función principal del
sistema, que es la onda sinusoidal con un valor determinado de frecuencia, el
está entre 0.2Hz y 1MHz. Le sigue el bloque PLL con el fin de brindar una señal
con un valor de frecuencia mayor de 1MHz, que se encuentra entre 1MHz y
20MHz. Continúa el bloque convertidor de onda, este tiene la finalidad de
cambiar la onda sinusoidal a cuadrada o triangular según desee el usuario.
Posteriormente está el amplificador con el cual se puede variar la amplitud de
la señal según se desee entre los valores de 1V a 10V. Además se cuenta con

Página
25
Generador de Funciones

los bloques M, estos son conmutadores digitales que permiten la selección se


algunas funcionalidades, por ejemplo M2 conecta con el PLL si la señal que se
quiere obtener es con un valor de frecuencia mayor a 1MHz, de lo contrario
conecta el otro contacto por donde se salta el modulo del PLL y se obtienen
señales con frecuencia menor a 1MHz. M4 realiza una acción parecida a M2.
Y M6 permite la selección de la forma de onda requerida. Se tiene el bloque de
control compuesto por un microcontrolador el cual permite manipular el resto de
los bloques. Por último, el bloque de interface cuenta con un display y un
teclado para que el usuario pueda interactuar con el equipo.

2.2 Diseño del módulo de SDD.

Los SDD se programan a través de varios registros, y solo necesitan un reloj


externo para generar ondas sinusoidales simples. Para entender el
funcionamiento del SDD, en la figura 2.2 se muestra un diagrama en bloques
del dispositivo. Este consta de un acumulador de fase, registro de fase, un
convertidor de fase-amplitud, un conversor digital-analógico y finalmente un
filtro. [17]

Figura 2. 2. Esquema en bloque del SDD.

La frecuencia producida por el SDD depende de dos elementos, el reloj de


referencia y un número programado en el registro (palabra de sintonización).
Se necesita de un registro para acumular la palabra de incremento de fase de
24 bit (tres CI 74LS273) pues el microcontrolador tiene un bus de datos de 8
bit.

Página
26
Generador de Funciones

Los datos de la palabra de incremento se almacenan en el acumulador de fase,


para esto se implementa el acumulador con seis sumadores binarios con
acarreo, el 74LS283, concatenando los tres envíos de 8 bit en una palabra de
24 bit, la cual se almacena en el acumulador. Para almacenar el valor
acumulado se colocan tres 74LS273 a la salida de los sumadores los cuales
adquieren un nuevo valor en cada ciclo de reloj, de estos tres registros se toma
se toman los 8 bits más significativos para rastrear la memoria (EEPROM
27C256). En cada ciclo de reloj la memoria entrega un valor digital de amplitud
al conversor D/A (DAC0808), este convierte la señal digital en analógica y se la
entrega al filtro y así se obtiene finalmente la señal sinusoidal analógica.

2.2.1 Metodología seguida para los cálculos del diseño del DDFS.

1. Selección del cristal de cuarzo a utilizar.

2. Cálculo para el diseño del DDFS.

 Cálculo para el diseño del acumulador de fase (cálculo de W).

 Cálculo para el diseño del conversor fase amplitud (cálculos de B y P)

3. Selección del conversor digital analógico

4. Diseño del filtro de reconstrucción.

Características del sintetizador para el Generador de funciones.

 Precisión frecuencial: 0.2Hz.


 Frecuencia máxima de trabajo: 1MHz.
 Error de cuantificación: SQNR (dB) = 43dB.
 Máximo nivel de espurios: WCSM= 60dB

2.2.1 Selección del cristal de cuarzo a utilizar.

La frecuencia del reloj del sistema fC queda relacionada directamente con la


frecuencia máxima fMAX a la salida del SDDF con el siguiente criterio.

Página
27
Generador de Funciones

2.1

Si fMAX es 1MHz teniendo en cuenta la ecuación 2.1, fC es 4MHz con lo cual se


garantiza un correcto funcionamiento el sistema.

2.2.2Cálculos para el diseño del SDD.


La frecuencia de salida del módulo SDD está dada por la ecuación 2.2. [2]

fC
f0  M
2W
2.2

Dónde:

f0: es la frecuencia de salida del módulo.

M: palabra binaria de sintonización.

W: número de bits del acumulador.

Se puede obtener W luego de trabajar con la ecuación 2.2 para M=1 y obtener
la ecuación2.3, teniendo en cuenta que f0 debe ser el valor mínimo deseado: [2]

f 
W  log 2  C 
 f0  2.3

Para fc =4 MHz y f0=0.2Hz, W = 24 bits. El incremento de fase se puede cargar


en el SDD empleando una interfaz de (8 bits) en tres transferencias, pues el
bus de datos del PIC es de 8 bits, esta operación no causa problemas debido a
que cuando esto se realiza generalmente no importa el valor de salida.

La pureza espectral del SDD está dada por el ruido de cuantificación y los
espurios generados, producto del truncamiento de fase. [4]

Fijando el error de cuantificación SQNR (dB) = 43dB y WCSM = 60dB B y P


se calculan mediante la ecuación (1.3) y (1.4) como:

Página
28
Generador de Funciones

SQNR  1.76
B  6.68  7 bit 2.4
6.02

WCSM
P  9.97  10 bit 2.5
6.02

Para implementar el CFA se almacena un período de la sinusoide en la


memoria EEPROM.

2.2.3 Módulo de Conversión.

Luego de la etapa de síntesis viene la etapa de conversión digital analógica, se


seleccionó el DAC0808 por ser un conversor digital analógico de 8 bit, de alta
velocidad de conversión, Compatible con dispositivos TTL, tiene un bajo
impulso glitch de 1.5pV y tiempo de establecimiento de 150ns a un 1LSB, con
un error máximo de ±0.19%, potencia máxima de consumo 33mW a 5v, puede
trabajar con una alimentación de 4.5 a 18v. Ver la figura 2.2.

Figura 2. 3. Conversor digital analógico DAC 0808.

Esta unidad tiene un encapsulado plástico de 16 pines DIPS, capaz de operar


en un rango de temperatura de 0 °C a 75 °C [14]. Las entradas del dato a
convertir A 1 – A8. Todas las conexiones se hicieron siguiendo lo estipulado en
la hoja de datos que brinda el fabricante. Debido a que la salida de este
convertidor es de corriente se implementa un circuito conversor de corriente a
voltaje, figura 2.3, compuesto por un amplificador operacional de los cuatro que
posee el TL084. Los tres restantes se utilizan en el filtro de reconstrucción.

Página
29
Generador de Funciones

Esta configuración de la conexión del DAC es la típica aplicación de este


dispositivo, fue tomada de la hoja de datos del dispositivo [4].

Figura 2. 4. Convertidor de corriente a voltaje.

La salida Vo del DAC esta dada por la ecuación 2.6:

 A1 A2 A8 
V0  10V    .... 
 2 4 256  2.6

Cuando todos los bit de entrada al conversor sean cero, entonces de la salida
V0= 0.

Cuando todos los bit de entrada sean uno, la salida V0= 9.96 V. (máximo voltaje
de salida unipolar).

Con esta configuración tomando la referencia en la tierra la salida quedaría


unipolar de 0 a 10v, para obtener una onda teniendo como centro cero se le
pone un voltaje de -5v en la entrada positiva del conversor de corriente a
voltaje, teniendo así una onda en un rango de -5 a 5v, luego se conecta la
etapa de filtrado, formado por un filtro pasa bajo Butterworth 5to orden.

Página
30
Generador de Funciones

2.2.4 Módulo de filtrado.


 Diseño del filtro de reconstrucción.

Se diseña un filtro Butterworth pasa bajas de quinto orden, donde su función es


dejar pasar las frecuencias de DC hasta una frecuencia deseada y atenúa
las frecuencias altas, f0 se conoce como frecuencia de corte. El rango de
frecuencia baja de 0 a f0 se conoce como banda de paso o ancho de banda, y
el rango de frecuencia alta de f0 a infinito se conoce como banda de atenuación
completa.

Debido que para el diseño de un filtro de orden dos en adelante toma una alta
complejidad, es recomendable usar filtros de primero y segundo órdenes como
bloques básicos para construir filtros de mayor orden. Por tanto se diseña un
filtro de primer orden y luego otro de segundo orden.

 Diseño de un filtro Butterworth pasa bajas de primer orden.

Se desea que el filtro atenué las frecuencias que se encuentran por encima de
la frecuencia de corte (f0), que en este diseño es de 1MHz. Fijando un valor de
C1 = 10pf, de la ecuación 2.7 se obtiene el de R1:

1
f  2.7
2RC

Despejando R se tiene la ecuación 2.8:

1
R 2.8
2fC

Haciendo los cálculos correspondiente R=15915,5, debido que este valor de


resistencia no es comerciable se usa un potenciómetro de 20k para ajustar el
valor deseado de R.

Seleccionar Ri y Rf de acuerdo a la ganancia K deseada, ecuación 2.9.

 Rf 
K  1   2.9
 Ri 

Página
31
Generador de Funciones

De la ecuación 2.9, para una ganancia unitaria (K=1) Rf =Ri=0.

En la figura 2.5 se muestra el esquema eléctrico del filtro Butterworth pasa


bajo, con una atenuación de -20 dB/dec. Para el cual se utiliza un operacional
del CI TL084.

Figura 2. 5. Filtro Butterworth de 1er orden.

 Diseño de un filtro Butterworth pasa bajo de segundo orden.

La frecuencia de corte f0= 1MHz y el factor de calidad (Q= 0.5) para lograr una
respuesta máximamente plana. Para simplificar los cálculos de diseño, R2=R3
=R y C2=C3=C, con C=10pF de la ecuación 2.8, R=15915,5.

Debido que este valor de resistencia no es comerciable se utiliza un


potenciómetro de 20k para ajustar el valor deseado de R.

De la ecuación 2.10 se tiene que:

1
K  3
Q 2.10

Para ganancia unitaria, el factor de calidad Q=0.5.

En la figura 2.6 se muestra el esquema eléctrico de filtro Butterworth pasa


bajo de segundo orden, con una atenuación de -40 dB/dec.

Página
32
Generador de Funciones

Figura 2. 6. Filtro Butterworth de 2do orden.

Para lograr el filtro de 5to orden, se ponen tres etapas en cascadas, una de
primer orden seguido por dos de segundo orden, con una razón de -100dB/dec
como se muestra en la figura 2.7.

Figura 2. 7. Filtro Butterworth de 5to orden.

Página
33
Generador de Funciones

2.2.3 Reloj del módulo de SDD.

Para la SDD es necesario un reloj. El reloj es un elemento crucial en los


sistemas digitales, de la precisión de este elemento depende la exactitud de los
sistemas digitales, por tal causa se usa en este diseño un oscilador a cristal,
con una frecuencia de 4MHz. En la figura 2.8 Se muestra el esquema eléctrico.
Para implementar el circuito se emplea un cristal de cuarzo de 4MHz y un CI
74LS09.

Figura 2. 8. Esquema eléctrico del reloj del la SDD.

2.2.4 Esquema general del SDD.


Al mesclar todos los elementos diseñado para la síntesis digital directa se
obtiene el resultado que se muestra en el anexo 2.

2.3 Diseño del PLL.

El circuito PLL se diseña, con el objetivo de lograr mejores prestaciones, en


cuanto al ancho de banda del generador de ondas. En este diseño, se utiliza el
CI NE564 (ver figura 2.10) el cual puede proporcionar valores de frecuencias
de 1MHz a 50MHz a su salida. Aunque aquí solo se trabaja hasta 20MHz.

Página
34
Generador de Funciones

Figura 2. 9. Configuración de pines de NE564.

Este circuito integrado puede ser configurado de diversas formas según la


aplicación para la cual se necesite, ya que a través de los pines es posible la
configuración de cada uno de sus bloques individualmente ver figura 2.10. [12]

Figura 2. 10. Configuración interna de NE564.

El NE564 se podría ser configurado como:

 Modulador
 Demodulador

Página
35
Generador de Funciones

 Sintetizador de frecuencia

En el caso particular de este diseño se utiliza como multiplicador de


frecuencia. Para tal caso el fabricante muestra una configuración en su hoja de
datos, ver figura 2.11. [12]

Figura 2. 11. Configuración del NE654 como multiplicador.

Como se puede apreciar en la figura 2.12, para usar el PLL como multiplicador,
solo es necesario el cálculo del capacitor externo (C 0) ajuste de frecuencia de
corrida libre y el calculo del factor de multiplicación de frecuencia N, [13].

Cálculo de los parámetros:

Frecuencia de salida: 1MHz a 20MHz

Vcc = 5V

Para calcular el valor del capacitor C 0 se hace a través de la ecuación 2.11.

1 2.11
C0 
2200 * f 0

Página
36
Generador de Funciones

Donde:

f 0 : Frecuencia de corrida libre.

Para f 0 = 5MHz C 0 = 90pf.

Para determinar el valor de N se utiliza la ecuación 2.12.

f  N * ft 2. 12

Donde:

ft : Frecuencia de entrada.

f : Frecuencia de salida.

Para ft = 50kHz y f = 1MHz, N=20.

Cuando se hace uso del PLL como multiplicador, N es un bloque externo. El


cual queda colocado en el camino de la realimentación ver figura 1.4, este
bloque también es conocido como divisor de frecuencia, como el propio nombre
lo indica su función es dividir la frecuencia de la señal de salida del VCO entre
N y entregarla al comparador de fase. De ahí la posibilidad de que el
comparador de fase entregue una señal de error de fase, que es el resultado
de comparar la fase del VCO/N con la fase da la señal de entrada, de esta
forma se logra que la frecuencia del VCO sea 20 veces mayor que la
frecuencia de entrada, con la resolución del SDD.

Cuando se trabaja con señales por encima de 1MHz hay que tener cuidado con
la interferencia, por lo tanto se deben realizar las siguientes acciones con
respecto al modulo del PLL.

 Para las conexiones de entrada y salida deben emplearse cable coaxial.


 Hacer un encapsulado metálico a este bloque y que el mismo quede
cerrado lo mas herméticamente posible,

Página
37
Generador de Funciones

 Aterrar este encapsulado.

2.3.1 Diseño del bloque N.

A continuación se muestra el diseño del bloque N para el cual se usa un


contador 74LS393 y un CI lógico 74S09 (AND).Ver figura2.12. [10][11]

Figura 2. 12. Esquema eléctrico del Bloque N.

El CI 74LS393 es contador de base 16, por lo que es necesario poner en la


salida de U3:A una lógica para que solo cuente hasta 10 una y otra vez, a la
salida se coloca otro contador (U3:B) y una lógica para que este otro cuente
hasta dos, logrando así un circuito capaz de dar un solo ciclo a la salida por
cada 20 ciclos en su entrada. Como se muestra en la figura 2.13.

Figura 2. 13. Simulación del bloque N.

Página
38
Generador de Funciones

2.4 Diseño del módulo de conformación de señales.

En la actualidad se utiliza una gran variedad de circuitos eléctricos para


conformar las ondas en las funciones deseadas.

2.4.1 Diseño del Bloque convertidor de señal sinusoidal a cuadrada.

 Detector de cruce por cero.

Para obtener la señal de referencia para el PLL, se utiliza un detector de cruce


por cero. Con el cual se convierte la señal sinusoidal de entrada en onda
cuadrada. Se utiliza el circuito integrado (CI) LM339.ver Figuera 2.14.

Figura 2. 14. Detector de cruce por cero.

Como se observa en la figura 2.15, la salida del comparador tal y como se


deseaba, es una onda cuadrada.

Figura 2. 15. Salida del detector de cruce por cero.

Página
39
Generador de Funciones

2.5 Diseño del módulo de amplificación.

Para el amplificador se utiliza la tecnología de los micro-circuitos. Los cuales


están diseñados para el trabajo con frecuencia en el orden de los MHz y GHz.
Este tipo de circuito (MAN-1) ya viene construido con su encapsulado metálico,
herméticamente cerrados. Para evitar la interferencia. Ver figura 2.16. [34]

Figura 2. 16. Esquema de aplicación del amplificador.

 Distribución de los pines.


 1- Entrada de señal.
 8- Salida de señal.
 2, 3, 4, 6 – tierra (GND).
 5- CD
 7- no se usa.

 Características
 Ancho de banda, 0.5 a 500 MHz.
 Bajo ruido, 4.5 dB typ.
 Encapsulado metálico, herméticamente sellado.
 DC 12.5 V max.
 Salida 50 Ω.

La amplitud de la señal de salida se controlara variando la señal de entrada


suministrada al circuito. Para lograr la variación se utiliza como atenuador un
potenciómetro digital X9C104P. Ver figura 2.17,[13].

Página
40
Generador de Funciones

Figura 2. 17. Esquema eléctrico del módulo amplificador.

2.6 Bloque de control y comunicación.

2.6.1 Interfaz del microcontrolador PIC con Display de Cristal Líquido y


Teclado Hexadecimal.
Para que el usuario pueda interactuar con el equipo, es necesario realizar la
interfaz con el microcontrolador PIC 18F452, la cual dispone de un teclado
matricial 4x4, un codificador de teclado (M74C922) y un display (LCD 16x4).
Ver figura 2.18.

Figura 2. 18. Esquema eléctrico del bloque de interfaz.

2.6.2 Algoritmo del software implementado para el PIC.

Página
41
Generador de Funciones

El programa está realizado en lenguaje C y se implementa sobre el compilador


C18 v3.3 que corre sobre MPLAB v8.4. A continuación se detalla brevemente
el funcionamiento y configuración del programa.

El programa inicia con la configuración de los pines de entrada salida para las
señales digitales, además se inicializan los valores de las variables globales, se
configura el oscilador a 4MHz. Luego el programa prosigue con la
configuración de los puertos como entrada o salida, puerto A como entrada,
puerto B, C, D como salida. Una vez configurados los mismos se activa la
interrupción externa INT0 por flanco de subida, mediante los registros INTCON
y INTCON2, para atender el teclado, terminada esta etapa, el programa
arranca visualizando en el LCD un cartel de inicio y luego otro informativo,
espera a que se produzca una interrupción externa propiciada por el usuario,
mediante el teclado y así continuará dando notas informativas y el usuario
interactuando con el teclado, hasta quedar configurados los parámetros de la
onda a generar. Una vez terminada la configuración de la onda, se mandan
palabras de control a través de el puerto D de forma multiplexada a cada uno
de los bloques, la selección de los bloques se realiza a través del puerto C. Se
comienza a generar la onda y el programa se queda preguntando por el botón
de finalizar. Cuando se finaliza se muestra en el display las instrucciones a
seguir para salir, iniciar una nueva configuración de onda y repetir la onda ya
configurada. (Anexo 3). Ver el diagrama de flujo en la figura 2.19.

Página
42
Generador de Funciones

Figura 2. 19. Diagrama de flujo del software implementado.

Página
43
Generador de Funciones

2.7 Fuente de alimentación del dispositivo.


En el diseño de este dispositivo se utilizan CI de la tecnología TTL, CMOS y
amplificadores operacionales, los cuales requieren de una alimentación de 5V,
12V, ±5V y ±12V. Por tanto es necesario diseñar una fuente de alimentación
capaz de suministrar estos valores de voltaje.

Se utilizan los CI LM7805, LM7812, LM7905 y LM7912. Ver figura 2.20. [3]

Figura 2. 20. Esquema eléctrico de la fuente de alimentación.

2.7.1 Filtros de línea.

El fin de este dispositivo es el trabajo con frecuencias (0.2Hz a 20MHz), por


esta razón se deben evitar las interferencias, ya sea del exterior hacia el equipo
o del equipo hacia el exterior, por este motivo una de las medidas es el empleo
de un filtro de línea.

Los filtros de línea son dispositivos que permiten eliminar el ruido eléctrico
generado por otros equipos, ellos constan en su construcción de bobinas,
condensadores y en algunos casos varistores, como se aprecia en la figura
2.22.

Página
44
Generador de Funciones

Figura 2. 22. Esquema eléctrico interno del filtro de línea.

Como se puede apreciar su construcción es muy sencilla y solo consta de 2


condensadores de 0.1uF y de tensión suficiente, y una bobina realizada sobre
un núcleo de ferrita y con ambos bobinados enrollados en el mismo sentido,
tanto el alambre como el núcleo para la bobina deben ser de la sección
adecuada a la intensidad que por ellos a de pasar. Aunque estos módulos ya
vienen elaborados de fabrica y son fáciles de adquirir. Su forma es la que se
aprecia en la figura 2.23.

Figura 2. 23. Filtro de línea comerciado.

Conclusiones del capítulo II

En este capítulo se logra el diseño de los módulos, SDD, PLL, fuente de


alimentación y control e interfaz.

El control del dispositivo se realiza mediante la programación del


microcontrolador PIC 18f452 con la ayuda de los software, compilador C18
v3.3 que corre sobre MPLAB v8.4 y el Proteus para los esquema eléctricos y
simulación.

Página
45
Generador de Funciones

Conclusiones generales.

 Con este trabajo se logra el diseño un dispositivo que es de gran


necesidad para el trabajo en los laboratorios.
 El instrumento propuesto, es útil además, no solo para el trabajo docente
educativo, sino para la investigación.
 Es un instrumento de bajo costo, que fácilmente puede ser generalizado.

Página
46
Generador de Funciones

Recomendaciones.

Por la importancia de este trabajo se recomienda:

 Disponer de los componentes para la implementación del dispositivo.


 De igual manera garantizar los componentes más avanzados que
permitan mejorar el desempeño y lograr la compactación del dispositivo.
 Introducir el instrumento en la docencia y la investigación.

Página
47
Generador de Funciones

Bibliografía

[1]. Acosta, C, R, “Diseño de un sintetizador de frecuencia sobre PLD para el


Estimulador Electromagnético Local NaK”, Trabajo de Diploma 2004.

[2]. Analog Device, Applications Reference Manual.1993.

[3]. Garrido, D., & Guillán, E. . APLICACIONES DE LA ELECTRÓNICA.


SANTIAGO DE CUBA. 2010.

[4]. Gentile, K. Signal Synthesis and Mixed Signal Technology. RF Design,


August 1998, Vol. 21, No.8, pp 54-68.

[5]. Schwan HP, “Electricalproperties of Tissue and CellSuspension”, Adv. Biol.


Med. Phys., Vol. 5, pp. 147-209, 1957.

[6]. Skidmore, R., Evans, J. M., Jenkins. A data collection system for gathering
electrical impedance measurements por human breast, Cline. Phys. Physiol.
Mean 8 (Suppl. A), 99-102, 87.

[7]. Qualcomm, Synthesizer Product Data Book, San Diego, EEUU, Qualcomm.
agosto 1997, p1-3

[8]. PIC 18XX2 Microcontroller Data Book. Microchip Technology Inc. 2002.

[9]. Usategui Angulo, J.M.; Martínez Angulo I. Microcontroladores PIC. Diseño


práctico de aplicaciones, Mc Graw Hill 1999.

[10]. DM74S09 National Semiconductor Corporation. 1989.

[11]. DM74S393 Fairchild Semiconductor Corporation. 1998.

[12]. NE564 Philips Semiconductors.1994.

[13]. X9C102/103/104/503 Xicor, Inc. Patents Pending. 2001.

[14]. www.Analog.com

[15]. www.datasheetsite.com/datasheet/PIC18F452

Página
48
Generador de Funciones

[16]. www.minicircuits.com

[17]. www.trassydarcia.blogspot.com/2008/12/el-dds-direct-digital-synthesis

[18]. www.ztecinstruments.com/waveform-generator-fundamentals

Página
49
Generador de Funciones

Anexos

Página
50
Anexo 1: Diagrama en bloques del PIC18F452.
Anexo 2: Esquema eléctrico del SDD.
Anexo 3: Código de la programación del PIC.

#include "p18F452.h" // definiciones de la librería p18F4520.

#include "delays.h" // definiciones de la librería delays

#include "adc.h" // definiciones de la librería adc

#include "usart.h" // definiciones de la librería usart

#include "timers.h" // definiciones de la librería timers

#include "stdlib.h" // definiciones de la librería stdio

#include "math.h"

#include "xlcd.h"

/****************************************************************************
************************

BITS DE CONFIGURACION DE LOS REGISTROS ESPECIALES


Micro PIC18F452

#pragma config OSC = XT // Oscilador Selection:XT a 4MHZ

#pragma config OSCS = ON // Switch del Oscilador:Habilitado

#pragma config PWRT = ON // Power Up Timer:Habilitado

#pragma config BOR = ON // Brown Out Reset:Habilitado

#pragma config LVP = OFF // Low Voltge ICSP:Deshabilitado

/****************************************************************************
************************

* DECLARACIÓN DE VARIABLES
*

*****************************************************************************
***********************/

int PASO = 0;

long FREC =60;

int BOTON = 0;

int ONDA = 0;
int AMPL = 5;

int CANT_CAR = 0;

int CANT_CARA = 0;

/****************************************************************************
************************

* DEFIINICIÓN DE PROTOTIPOS DE FUNCIONES


*

*****************************************************************************
***********************/

void Inicio (void);

void Interrupcion (void);

void Mostrar_1 (void);

void Mostrar_2 (void);

void Mostrar_3 (void);

void Mostrar_4 (void);

void Mostrar_5 (void);

void Mostrar_6 (void);

void Mostrar_7 (void);

void Mostrar_8 (void);

void Prin_car (void);

void Inicializa_LCD (void);

void Inic_var (void);

void Generar (void);

void Finalizar (void);

void Inicializar (void);

void Demora_4s (void);


/****************************************************************************
************************

* FUNCIÓN: Inicio
*

void Inicio (void)

/** CONFUGURACIÓN DE LOS PUERTOS E/S *****/

LATA = 0; PORTA = 0; TRISA = 0x00;

LATB = 0; PORTB = 0; TRISB = 0x1C;

LATC = 0; PORTC = 0; TRISC = 0x80;

LATD = 0; PORTD = 0; TRISD = 0x00;

LATE = 0; PORTE = 0; TRISE = 0x00;

/**CONFIGURACIÓN DE LA INT0 **********/

INTCON = 0X52;

INTCON2 = 0X65;

return;

/****************************************************************************
************************

* PROGRAMA PRINCIPAL
*

*****************************************************************************
************************/

void main(void)

rep:
Inicio();

Mostrar_1();

Demora_4s();

Mostrar_2();

PORTBRB1bits=1; // habilitar teclado

rep1:

if(PASO<1){ goto rep1; }

Mostrar_3();

rep2:

if(PASO<3){ goto rep2; }

Mostrar_4();

rep3:

if(PASO<5){ goto rep3; }

Mostrar_5();

rep4:

if(PASO<6){ goto rep4; }

Mostrar_6();

rep5:

if(PASO<7){ goto rep5; }

Mostrar_7();

if(PASO==5){ goto rep3; }

if(PASO==0){ goto rep; }

Mostrar_8();

PORTBRB1bits=0;

return;

}
/****************************************************************************
************************

* FUNCIÓN: Interrupcion
*

*****************************************************************************
************************

void Interrupcion (void){

BOTON=PORTA;

PASO=PASO+1;

if (PASO==1 & BOTON<4 & BOTON>0){

ONDA=BOTON;

if (PASO==2 & BOTON<A){

CANT_CAR=CANT_CAR+1; // contador para saber cant. de caracteres.

FREC=0;

FREC=FREC+BOTON; //guardar valores de frecuencia.

Mostrar_8(); // Muestra en LCD cartel 8**Presione F para continuar**.

Prin_car(); // Muestra en LCD el caracter pulsado

if (PASO==3 & BOTON<A & CANT_CAR<9){

CANT_CAR=CANT_CAR+1;

FREC=FREC*10;

FREC=FREC+BOTON;

Prin_car();

PASO=PASO-1;

if (PASO==3 & BOTON>9 & BOTON<F){ // controlar que el boton apretado sea f.

PASO=PASO-1;
}

if (PASO==4 & BOTON<A){

AMPL=0;

AMPL=AMPL+BOTON;

Mostrar_8(); // Muestra en LCD cartel 8**Presione F para continuar**.

Prin_car();

if (PASO==5 & BOTON<A & CANT_CARA==0){

CANT_CARA=1;

AMPL=AMPL*10;

AMPL=AMPL+BOTON;

Prin_car();

if (PASO==5 & BOTON>9 & BOTON<F){

PASO=PASO-1;

if (PASO==6 & BOTON==C){

Generar();

if (PASO==6 & BOTON!=C){

PASO=PASO-1;

if (PASO==7 & BOTON==D){

Finalizar();

if (PASO==7 & BOTON!=D){

PASO=PASO-1;
}

if (PASO==8){

switch (BOTON){

case 1:{ PASO=5;}

case 2:{ Inicializar();

PASO=0;}

case 3:{ Inicializar();}

}}

if (PASO==8 & BOTON>3 & BOTON<1){

PASO=PASO-1;

INT0IFbits=0;

break;

/****************************************************************************
************************

* FUNCIÓN: Mostrar_1
*

*****************************************************************************
************************

***********************************************************************
**********************

* Nombre de función: Mostrar_1


*
* Valor de retorno: void
*

* Parámetros: void
*

* Descrpición: visualiza el cartel de Bienvenida en el LCD. *

* *

*****************************************************************************
***************/

void Mostrar_1 (void){

Inicializa_LCD(); // inicializar el LCD.

Comando_LCD(DDRAM_LINEA_1); // con este comando pasamos a la línea 1 del LCD.

Datos_LCD(" Generador "); // una cadena desde la memoria de programa.

Comando_LCD(DDRAM_LINEA_2); // con este comando pasamos a la línea 2 del LCD.

Datos_LCD(" DE "); // una cadena desde la memoria de programa.

Comando_LCD(DDRAM_LINEA_3); // con este comando pasamos a la línea 3 del LCD.

Datos_LCD(" Funsiones "); // una cadena desde la memoria de programa.

/****************************************************************************
************************

* FUNCIÓN: Mostrar_2
*

*****************************************************************************
************************

void Mostrar_2( void ){

Comando_LCD(CLEAR); //con este comando se borra el LCD.

Comando_LCD(DDRAM_LINEA_1); // con este comando pasamos a la línea 1 del LCD.

Datos_LCD(" Selec.Onda "); // una cadena desde la memoria de programa.

Comando_LCD(DDRAM_LINEA_2); // con este comando pasamos a la línea 2 del LCD.


Datos_LCD(" 1.Senoidal "); // una cadena desde la memoria de programa.

Comando_LCD(DDRAM_LINEA_3); // con este comando pasamos a la línea 3 del LCD.

Datos_LCD(" 2.Cuadrada "); // una cadena desde la memoria de programa.

Comando_LCD(DDRAM_LINEA_4); // con este comando pasamos a la línea 4 del LCD.

Datos_LCD(" 3.Triangular "); // una cadena desde la memoria de programa.

/****************************************************************************
************************

* FUNCIÓN: Mostrar_3
*

*****************************************************************************
************************

void Mostrar_3( void ){

Comando_LCD(CLEAR); //con este comando se borra el LCD.

Comando_LCD(DDRAM_LINEA_1); // con este comando pasamos a la línea 1 del LCD.

Datos_LCD(" Introdusca "); // una cadena desde la memoria de programa.

Comando_LCD(DDRAM_LINEA_2); // con este comando pasamos a la línea 2 del LCD.

Datos_LCD(" La "); // una cadena desde la memoria de programa.

Comando_LCD(DDRAM_LINEA_3); // con este comando pasamos a la línea 3 del LCD.

Datos_LCD(" Frecuencia "); // una cadena desde la memoria de programa.

Comando_LCD(DDRAM_LINEA_4); // con este comando pasamos a la línea 4 del LCD.

/****************************************************************************
************************

* FUNCIÓN: Mostrar_4
*

*****************************************************************************
************************

void Mostrar_4( void ){

Comando_LCD(CLEAR); //con este comando se borra el LCD


Comando_LCD(DDRAM_LINEA_1); // con este comando pasamos a la línea 1 del LCD.

Datos_LCD(" Introdusca "); // una cadena desde la memoria de programa.

Comando_LCD(DDRAM_LINEA_2); // con este comando pasamos a la línea 2 del LCD.

Datos_LCD(" La "); // una cadena desde la memoria de programa.

Comando_LCD(DDRAM_LINEA_3); // con este comando pasamos a la línea 3 del LCD.

Datos_LCD(" Amplitud "); // una cadena desde la memoria de programa.

Comando_LCD(DDRAM_LINEA_4); // con este comando pasamos a la línea 4 del LCD.

/****************************************************************************
************************

* FUNCIÓN: Mostrar_5
*

*****************************************************************************
************************

void Mostrar_5( void ){

Comando_LCD(CLEAR); //con este comando se borra el LCD.

Comando_LCD(DDRAM_LINEA_1); // con este comando pasamos a la línea 1 del LCD.

Datos_LCD(" Precione C "); // una cadena desde la memoria de programa.

Comando_LCD(DDRAM_LINEA_2); // con este comando pasamos a la línea 2 del LCD.

Datos_LCD(" Para "); // una cadena desde la memoria de programa.

Comando_LCD(DDRAM_LINEA_3); // con este comando pasamos a la línea 3 del LCD.

Datos_LCD("Comenzar "); // una cadena desde la memoria de programa.

Comando_LCD(DDRAM_LINEA_4); // con este comando pasamos a la línea 4 del LCD.

/****************************************************************************
************************
* FUNCIÓN: Mostrar_6
*

*****************************************************************************
************************

void Mostrar_6( void ){

Comando_LCD(CLEAR); //con este comando se borra el LCD.

Comando_LCD(DDRAM_LINEA_1); // con este comando pasamos a la línea 1 del LCD.

Datos_LCD(" Precione D "); // una cadena desde la memoria de programa.

Comando_LCD(DDRAM_LINEA_2); // con este comando pasamos a la línea 2 del LCD.

Datos_LCD(" Para "); // una cadena desde la memoria de programa.

Comando_LCD(DDRAM_LINEA_3); // con este comando pasamos a la línea 3 del LCD.

Datos_LCD(" Detener "); // una cadena desde la memoria de programa.

Comando_LCD(DDRAM_LINEA_4); // con este comando pasamos a la línea 4 del LCD.

/****************************************************************************
************************

* FUNCIÓN: Mostrar_7
*

*****************************************************************************
************************

void Mostrar_7( void ){

Comando_LCD(CLEAR); //con este comando se borra el LCD

Comando_LCD(DDRAM_LINEA_1); // con este comando pasamos a la línea 1 del LCD.

Datos_LCD(" Seleccione "); // una cadena desde la memoria de programa.

Comando_LCD(DDRAM_LINEA_2); // con este comando pasamos a la línea 2 del LCD.

Datos_LCD(" 1.Repetir "); // una cadena desde la memoria de programa.

Comando_LCD(DDRAM_LINEA_3); // con este comando pasamos a la línea 3 del LCD.


Datos_LCD("2.Iniciar "); // una cadena desde la memoria de programa.

Comando_LCD(DDRAM_LINEA_4); // con este comando pasamos a la línea 4 del LCD.

Datos_LCD("3.Abandonar"); // una cadena desde la memoria de programa.

/****************************************************************************
************************

* FUNCIÓN: Mostrar_8
*

*****************************************************************************
************************

void Mostrar_8( void ){

Comando_LCD(CLEAR); //con este comando se borra el LCD

Comando_LCD(DDRAM_LINEA_2); // con este comando pasamos a la línea 2 del LCD.

Datos_LCD(" FIN "); // una cadena desde la memoria de programa.

/****************************************************************************
************************

* FUNCIÓN: Inic_LCD * inicializando el módulo LCD

*****************************************************************************
************************/

void Inic_LCD( void ){

Inicializa_LCD();

Comando_LCD(CURSOR_OFF & BLINK_OFF); // indica al LCD un comando.

También podría gustarte