Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Controlador electrónico de velocidad PID usando CPLD (página 3)




Enviado por Cesar



Partes: 1, 2, 3, 4

Cualquier descripción en VHDL es sintetizable, no
importa el nivel de abstracción que la descripción
pueda tener. Está descripción en VHDL se puede
simular, y si se simula, el simulador es un circuito que
funcionalmente se comporta tal como se ha descrito, desde este
punto de vista es una síntesis del circuito que se ha
diseñado.

La complejidad del circuito resultante, va a depender
del nivel de abstracción inicial que tenga la
descripción. Como primera solución se puede
utilizar un ordenador que ejecute la simulación y ya se
tienen la síntesis. La función de las herramientas
de síntesis consiste en, partir de la descripción
original, reducir el nivel de abstracción hasta llegar a
un nivel de descripción estructural.

Por tanto la síntesis es una tarea vertical entre
los niveles de abstracción de un circuito, así la
herramienta de síntesis comenzaría por la
descripción comportamental abstracta algorítmica e
intentaría traducirla a un nivel de transferencia entre
registros descrita con ecuaciones de conmutación, a partir
de esta descripción se intenta transformarla en una
descripción estructural donde se realiza, el mapeado
tecnológico, es decir, la descipción del circuito
utilizando los componentes de una biblioteca concreta que depende
de la tecnología con la cual se quiera implementar el
diseño.

Restricciones y consejos en la
descripción

Evitar las cláusulas
temporales

Normalmente los simuladores prohíben expresamente
el uso de asignaciones con retraso en las señales, en
otras simplemente los ignora, pero el sintetizador
intentará implementar el circuito funcionalmente, por lo
que estos retrasos no tienen sentido para el sintetizador. No se
permiten las asignaciones múltiples a una señal en
una única sentencia.

Identificar cada puerta con claridad

Las puertas lógicas y otros elementos tienen
generalmente una estructura clara e incluso se pueden utilizar
comandos directos que realizan estas funciones.

Utilizar funciones

El uso de funciones ayuda a la herramienta de
síntesis a particionar de forma óptima. El
particonado es bastante importante, que permite la
reutilización de lógica por parte de la
herramienta.

Evitar las sentencias de espera

En algunos sintetizadores quizá sea posible
utilizar sentencias de espera WAIT dentro de los procesos, pero
no es aconsejable puesto que la herramienta puede tener
dificultades en interpretar estas sentencias. Es aconsejable el
uso de listas sensibles.

Cuidado con las listas sensibles

La mayoría de sintetizadores admiten la lista
sensible o una sentencia WAIT al principio, pero no siempre la
interpretan como lo haría un simulador, ya que en
determinadas ocasiones el resultado de la síntesis hace
que se active el proceso cuando cambie alguna señal que se
encuentra en el propio proceso pero que no se había puesto
en la lista sensible o en el WAIT. Es decir, el sintetizador a
veces amplia la lista sensible según le parece y sin
avisar, con el objetivo de que la lógica que se describe
el proceso sea combinacional.

Permitir discrepancias

Normalmente es fácil sintetizar algo simple como
s<=NOT s, ya que no es más que una puerta inversora
conectada a sí misma que puede servir muy bien para genera
una señal de reloj, con período el doble que el
retraso que la puerta presente. Si se intenta simular algo como
la instrucción anterior, se comprobará que la
simulación se queda colgada en esa instrucción
puesto que no hay retrasos y se llama a sí misma una y
otra vez. Aunque la simulación es incorrecta, la
síntesis no lo es.

La discrepancia no es sólo temporal,
también es funcional. Tal y como se comentaba
anteriormente, es fácil que una misma descripción
tenga un comportamiento diferente en simulación que en
síntesis.

Cuidado con la inicialización de variables y
señales

En simulación esto funciona, pero no tienen por
qué ser así en síntesis. El sintetizador no
toma en cuenta ninguna inicialización. Sólo a
veces, si el dispositivo dispone de réset o algún
mecanismo de inicialización, el valor inicial será
tomado en cuenta para inicializar la señal, siempre que la
señal describa un registro.

Señales de reloj

Solo se permite una señal de reloj por proceso y
, además debe especificarse claramente el flanco de subida
del reloj mediante la condición clk="1" AND
clk"event. En general ´solo puedeponerse esta
condición una vez por proceso y en ningún caso se
puede poner ELSE en el IF en el que se usó
la condición.

Asignaciones únicas

Aunque en simulación es bastante corriente que a
una señal se le asignen varios valores a lo largo de un
mismo proceso, en síntesis esto resulta difícil de
interpretar y no debe usarse.

Niveles lógicos

No todos los niveles lógicos del std_logic se
pueden interpretar y no todas las herramientas lo hacen
igual.

Evitar IFS anidados

ormalmente las herramientas tienden a no sintetizar de
manera óptima varios condicionales anidados entre
sí. Los condicionales es mejor utilizarlos a
solas.

Utilizar CASE mejor que varios IFS

Las estructuras CASE tienen para los sintetizadores un
modelo optimizado de síntesis, generalmente mejor que lo
mismo descrito mediante IFS.

Especificar la arquitectura

Es posible que se creen varias descripciones para un
mismo circuito. Normalmente el sintetizador cogerá la
primera que le parezca, generalmente la última compilada,
por lo que es conveniente especificar cuál de todas las
arquitecturas de la entidad se desea sintetizar mediante un
bloque de configuración CONFIGURATION, o bien mediante el
mecanismo de que disponga la herramienta para ello.

Con estas restricciones expuestas, hay algunas
restricciones que dependen del sintetizador, no basta con
describir en VHDL, y ver que funciona para poderlo sintetizar, se
debe saber que cosas no se pueden describir, y además
hacer la descripción lo más optimizada
posible.

Lógica Programable

El proceso de síntesis consiste en partir de una
descripción del circuito para luego sintetizarlo. El
lenguaje VHDL es muy interesante como lenguaje de
descripción para síntesis. Las posibilidades de
realización física de la descripción VHDL es
amplia, sin necesidad de cambiar la
descripción.

Tecnologías de
programación

La aparición en los años ochenta de los
primeros dispositivos lógicos programables ha hecho
posible optimizar el silicio utilizado en un sistema digital.
Hasta la aparición de los primeros dispositivos
lógicos programables, las únicas opciones para
diseñar hardware digita eran, o bien el diseño de
circuitos integrados hechos a medida, o bien la
utilización de componentes estándar LSI-MSI
conectados entre sí.

La primera opción es la preferible en cuanto a
optimización de silito, velocidad, tamaño, y
consumo de potencia. Los problemas de esta opción son la
falta de flexibilidad y el alto coste de la fabricación de
los circuitos fullcustom (a medida). La segunda
opción tiene también el problema de falta de
flexibilidad para un diseño hardware y el excesivo silicio
no utilizado que ocupa espacio y consume potencia.

Los dispositivos lógicos programables lo son en
el sentido de que en el circuito se tienen difundidos de forma
fija los dispositivos lógicos, puertas lógicas y
registros. Lo que se programa son las interconexiones entre estos
dispositivos lógicos. De esta manera se puede tener la
velocidad del hardware sin haber hecho un costoso circuito a
medida. Basta con programar las conexiones internas de manera
adecuada para que la PLD realice la función
deseada.

Hay diversas formas de programar un dispositivo
programable. Las diversas tecnologías de
programación están íntimamente relacionadas
con la arquitectura del dispositivo lógico
programable.

Tabla 4.12:Tecnologías de
programación ventajas y desventajas.

Tecnología

Ventajas

Desventajas

Antifusible

No volatilidad, Alta integración

No reprogramabilidad

EEPROM

No volatilidad

No ISP

EPROM

No volatilidad

No ISP

SRAM

Reprogramabilidad, ISP

Volatilidad

FLASH

Reprogramabilidad, No volatilidad, ISP

Baja integración

La característica ISP en la programabilidad en el
sistema o In System Programmability, característica
fundamental si se desea que el sistema sea reconfigurable de
forma automática.

Se debe realizar un análisis de las diferentes
clases de dispositivos; PALs, PLDs y FPGAs clásicas; para
tener un criterio de selección del más
adecuado.

CAPÍTULO V

Entorno de
programación MAX+PLUS II

5.1 Descripción general del ambiente de
diseño

Multiple Array MatriX Programmable Logic User System
(MAX+PLUS II) de Altera provee una multi-plataforma, un ambiente
de diseño de arquitectura independiente que
fácilmente se adapta a nuestras necesidades de
diseño específico. Si se trabaja con uno de estos
sistemas básicos, MAX+PLUS II asegura el diseño
fácil de entrada, procesamiento rápido, y
programación inmediata en dispositivos lógicos
programables. Una representación del software de
desarrollo y sus componentes se muestra en la figura 5.01. Este
es un paquete enteramente integrado para la creación de
diseños lógicos para Dispositivos Lógicos
Programables de ALTERA. Estos incluyen las familias de
dispositivos: CLASSIC, MAX5000, MAX 7000, MAX 9000, FLEX 6000,
FLEX 8000, y FLEX 10K.

Monografias.com

El MAX+PLUS II ofrece un espectro lleno de
capacidades de diseño lógico. Una variedad de
métodos de diseños de entrada para diseños
jerárquicos, una poderosa síntesis lógica,
tiempo-conducción de compilación, partición,
simulación funcional y temporal, simulación de
montajes multi-dispositivo, análisis temporal,
localización de errores informáticos,
programación y verificación de dispositivos.
MAX+PLUS II lee archivos Xilinx Netlist, escribe archivos Verilog
HDL Netlist, lee y escribe archivos EDIF. Netlist Standard,
archivos de diseño VHDL, y archivos de Orcad para una
interfase conveniente con otras industrias estándar de
Software CAE. También ofrece un ambiente con uso
gráfico intenso complementado con ilustraciones,
fácil para usar la línea de ayuda del sistema. El
sistema completo de MAX+PLUS II ofrece 11 aplicaciones
completamente integradas, que utiliza a través de cada
paso de la creación de un diseño.

Monografias.com

Fig. 5.2: Estructura para el
diseño de un proyecto en MAX+PLUS II.

Por lo tanto, el software MAX+PLUS II
consiste en 11 programas de aplicación, además del
programa Administrador (Manager). Diferentes aplicaciones de
proce-dimiento de diseño pueden ser activados
simultáneamente. Al mismo tiempo puede hacer correr una de
las aplicaciones de la plataforma de distribución
(floorplan), el compilador, el simulador, el analizador de
tiempos, y el programador.

5.2 Aplicaciones del entorno MAX+PLUS
II

En los siguientes párrafo se describen las
diferentes aplicaciones del entorno MAX+PLUS II.

5.2.1. Visualización de
jerarquía

Visualizar la jerarquía actual de archivos como
un árbol de jerarquía con ramas que representan
sub-diseños. Se puede visualizar si un diseño de
archivo es esquemático, textual, o diseño de forma
de señal; cuales de los archivos está actualmente
abierto en uso; y cuales son archivos auxiliares que han sido
generados por el proyecto.

También directamente se puede abrir o cerrar uno
o más archivos en un árbol de
jerarquía.

5.2.2. Editor de Gráficos

Permite ingresar un diseño lógico
esquemático con la afirmación de "lo que se ve es
lo que se obtiene" en el ambiente. Altera provee librerías
de funciones primitivas y macrofunciones, que sirven como bloques
básicos para la construcción de un proyecto. Se usa
símbolos habituales.

5.2.3 Editor de Textos

Permite crear y editar textos basados en diseños
de archivos lógicos escritos en lenguajes de
descripción de hardware AHDL y VHDL. Con el editor de
textos, usted puede también crear, visualizar y editar
otros archivos ASCII usados con aplicaciones de MAX+PLUS
II.

Aunque se puede crear archivos AHDL y VHDL con otros
editores de texto, el editor de textos de MAX+PLUS II, da la
ventaja de los textos de ayuda.

5.2.4 Editor de formas de señal

Cumple una doble función:

– Herramienta para procedimiento de
diseño.

Herramienta de presentación de vectores de prueba
y visualizar resultados de la simulación.

5.2.5. Compilador

Procesa los proyectos lógicos para los
dispositivos de las familias: Classic Altera, MAX 5000, MAX 7000,
MAX7000E, FLEX8000 y FLEX8000M y FLEX10K. Esto se realiza
automáticamente.

5.2.6. Simulador

Habilita la prueba de las operaciones lógicas y
tiempos internos de nuestro circuito lógico. Son
disponibles el simulador funcional, simulador de tiempos, y el
alineado de las simulaciones multi-dispositivos.

5.2.7. Analizador temporal

Analiza el rendimiento de nuestro circuito lógico
después de haber sido sintetizado y optimizado por el
compilador.

5.2.8. Programador

Proporciona las funciones de Verificación,
Exámen, y Prueba en la programación de los
dispositivos de Altera.

5.2.9. Procesador de mensajes

Visualiza los errores, da mensajes e información
de mensajes sobre el estado del proyecto y permite
automáticamente localizar la causa del mensaje en el
archivo de diseño original y archivos
auxiliares.

Archivos de diseño

Un archivo de diseño es un archivo
gráfico, textual o de forma de onda creados con el editor
de gráficos, de texto o de formas de onda del MAX+PLUS II;
o editor de textos sobre un EDIF o escritor de Netlist
VHDL.

El compilador puede automáticamente procesar los
siguientes archivos de diseño:

Graphic Design Files (*.gdf)

Text Design Files (*.tdf)

Waveform Design Files (*.wdf)

VHDL Design Files (*.vhd)

Orcad Schematic Files (*.sch)

EDIF Input Files (*.edf)

Xilinx Netlist Format Files (*.xnf)

Altera Design Files (*.adf)

– State Machine Files (*.smf)

Archivos auxiliares

Los archivos auxiliares son archivos asociados con un
proyecto de MAX+PLUS II pero no son parte del árbol de
jerarquía del proyecto. Los archivos auxiliares no
contienen diseño lógico.

Algunos de estos archivos son generados
automáticamente por la aplicación MAX+PLUS II,
otros tienen que ser seleccionados para su creación.
Ejemplos de archivos auxiliares son:

Assignment & Configuration Files (.acf)

Symbol Files (.sym)

Report Files (.rpt)

Vector Files (.vec)

Proyecto

Un proyecto consiste de todos los archivos en una
jerarquía de diseño, incluyendo archivos de
entradas y salidas auxiliares.

El nombre del proyecto es el nombre del archivo de
diseño de nivel alto, sin la extensión de archivo.
MAX+PLUS II representa la compilación, simulación,
análisis temporal, y programación sobre un proyecto
en un tiempo aunque se puede siempre editar archivos
pertenecientes a cualquier otro proyecto.

5.3 Procedimiento para el
diseño

Todas las herramientas necesarias para crear un
diseño lógico son accesibles en el MAX+PLUS II. El
procedimiento de diseño se acelera, con ayuda de una
librería de funciones lógicas estándar que
incluye Librerías Primitivas, Megafunciones, Funciones
LPM, y 74, clásicos estilos de macrofunciones.
También se provee numerosas ediciones personalizadas,
básicas y avanzadas de procedimientos lógicos, y de
fácil depuración.

MAX+PLUS II provee 3 editores de procedimiento de
diseño: gráfico, texto, y editor de forma de
señal. También va incluido 2 editores auxiliares:
floorplan (editor de plataforma de distribución), y editor
de símbolos que facilitan el procedimiento de
diseño.

MAX+PLUS II mantiene una variedad de métodos de
procedimiento de diseño:

Diseños esquemáticos son registrados con
el editor gráfico del MAX+PLUS II también se puede
abrir, editar y salvar esquemáticos creados con el editor
esquemático gráfico ORCAD.

Los diseños en: Altera Hardware Description
Language (AHDL), VHDL, y Verilog VHDL, son registrados con el
editor de texto MAX+PLUS II .

Los diseños de forma de señal, son
registrados con el editor de forma de onda MAX+PLUS
II.

Los archivos EDIF netlist y Xilinx netlist son generadas
por el estándar EDA y puede ser importada al ambiente
MAX+PLUS II.

Los recursos físicos asignados a cualquier
interconexión o pin en el actual proyecto, pueden ser
registrados en un ambiente gráfico con el editor de
plataforma de distribución (editor floorplan).

El editor floorplan guarda las asignaciones en los
archivos configuración & asignación (*.acf)
para el proyecto, el cuál almacena todos los tipos de
recursos, pruebas y dispositivos asignados, tan bien como
configura, muestra el compilador, simulador y analizador de
tiempos.

Los símbolos gráficos que representan
cualquier tipo de archivo de diseño puede ser generado
automáticamente en cualquier editor de diseño de
MAX+PLUS II. Se puede editar los símbolos y crear sus
propios clásicos diseños con el editor de
símbolos, y para ello usar cualquier archivo de
diseño esquemático.

En un proyecto jerárquico se puede libremente
juntar archivos de diseño gráfico(*.gdf), archivos
de diseño de texto (*.tdf), , archivos de diseño
VHDL (*.vhd), archivos esquemáticos Orcad (*.sch),
archivos de diseño Verilog (*.v), archivos de entrada EDIF
(*.edf) en cualquier nivel de jerarquía.

Sin embargo, los archivos de editor de forma de
señal (*.wdf), archivos de formato Xilinx Netlist (*.xnf),
archivos de diseño Altera (*.adf), y archivos de estado de
máquinas (*.smf), deben estar en el nivel más bajo
de jerarquía del proyecto o solo ser archivos de
diseño en un proyecto.

Monografias.com

Fig.5.3: Jerarquía de los archivos
generados y/o registrados en el MAX+PLUS II

V.5.1 Características del editor
gráfico MAX+PLUS II

Monografias.com

Fig.5.4: Ventana del editor
gráfico del MAX+PLUS II.

La selección "inteligente" de herramientas
mostradas en la fig. V.04, hace que el procedimiento de
diseño sea sencillo. Estas herramientas permiten copiar y
mover ítems y entrar nuevos símbolos.

Los símbolos son conectados con líneas de
señales llamados nodos o línea de bus que
representan grupos múltiples de nodos lógicos.
Cuando se asigna un nombre a un nodo, puedes conectarle otros
nodos o símbolos por el nombre solamente.

Se puede seleccionar y editar múltiples objetos
en un área rectangular. Cuando mueves la selección
las características de la línea de conexión
preserva la conectividad de señal.

Se puede ver la comprobación, pines,
localización, chip, tiempos, ruta local, opción
lógica y parámetros asignados en cada
símbolo. Todo ello facilita la
simulación,

Concluimos que Altera provee librerías
primitivas, de megafunciones y macrofunciones que reducen el
tiempo en el procedimiento de diseño. También el
diseñador, puede crear librerías de sus propias
funciones.

V.5.2 Características del editor de
símbolos del MAX+PLUS II

Con el editor de símbolos del Max+Plus II, el
diseñador:

Monografias.com

Fig.5.5: Ventana del editor de
símbolos del MAX+PLUS II.

Puede diseñar "a su estilo" el símbolo que
representa al archivo de diseño.

Puede entrar y editar grupos de pines. El nombre para
este grupo de pines, pueden ser ya sea entradas, salidas, y/o
bidireccionales.

Puede especificar sus parámetros y sus opcionales
valores de falla.

Puede insertar en el símbolo comentarios y notas
de ayuda. Ello solo podrá ser visto en el editor
gráfico.

El nombre de un pin es automáticamente duplicado
fuera de los límites del símbolo y dan una
referencia visual de cuál de los nombres y pines se
corresponden.

V.5.3. Características del editor de texto del
MAX+PLUS II

Monografias.com

Fig. 5. 6: Ventana del editor de texto
del MAX+PLUS II.

El AHDL, VHDL, Verilog HDL y el editor de texto son
completamente integrados. Dentro del sistema MAX+PLUS II, se
puede procesar archivos AHDL, VHDL, Verilog HDL con el
compilador, y el procesador de mensajes automáticamente
localizara errores de sintaxis en el editor de texto.

Se puede encontrar automáticamente la
sección comparativa o delimitar un comentario para una
selección delimitada, pues así fácilmente
movemos alrededor del archivo de diseño.

Se puede usar las características de
edición arrastra-suelta, mover un texto seleccionado y
moverlo a una nueva ubicación dentro del
archivo.

Se puede manualmente editar archivos de
asignación & configuración (*.acf) que
especifica comprobaciones, recursos, y asignación de
dispositivos, tan bueno como la configuración del proyecto
muestra para el compilador, simulador y analizador de
tiempos.

Se puede crear archivos vector (*.vec), y pueden ser
usados como entrada para el simulador, prueba funcional o
procedimiento de diseño con forma de señal.
También se puede crear archivos de comando (*.cmd), para
el uso del simulador del MAX+PLUS II, tan bueno como el archivo
de comando EDIF (*.edc) y librería de archivos de mapeo
(*.lmf) para usar con el compilador del MAX+PLUS II.

Cuando se comienza a simular o compilar, el procesador
de mensaje del MAX+PLUS II automáticamente localiza
cualquier sintaxis de error localizados en el
texto-base.

Con la ayuda contextual-sensitiva, se puede conseguir
ayuda inmediatamente en elemento de sintaxis AHDL, palabras
claves, y estamentos. También se puede conseguir ayuda en
todo lo proveído por Altera: Primitivas, megafunciones, y
macrofunciones en los archivos de diseño en AHDL, VHDL y
Verilog HDL .

5.3.4 Características del editor de forma de
señal del MAX+PLUS II

Monografias.com

Fig. 5.7: Ventana del editor de forma de
señal del MAX+PLUS II.

Se puede crear o editar un nodo que tenga un tipo de
entrada/salida que representa un pin de entrada, un pin de salida
o un neutral lógico.

Cuando se crea un archivo WDF, se puede especificar el
tipo de lógica que conduce cada nodo como pin de entrada,
registrado, combinacional o máquina de estado.

Se puede especificar los rangos de nivel lógico:
alta (1), baja (0), indefinida (X) o alta impedancia (Z) dentro
de un nodo lógico.

– Se puede fácilmente adicionar cualquier, o
todos los nodos, desde el archivo del simulador netlist (*.snf)
para lograr una total optimización. El proyecto compilado
a un SNF simplifica la creación de un vector
test.

Se puede copiar, pegar, mover o borrar un intervalo
seleccionado de una forma de señal, una completa forma de
señal, o un grupo entero de nodos. Con una simple
operación, puedes editar múltiples intervalos,
completas forma de señal, y nodos entero y grupos. Se
puede invertir, insertar, sobrescribir, repetir, expandir o
comprimir un intervalo de forma de señal de cualquier
duración, con cualquier nivel lógico, señal
de reloj, secuencia de contador y nombre de estado.

Se puede opcionalmente definir y mostrar una
gráfica guía para alinear transiciones de niveles
lógicos aún antes o después de haber sido
creados.

Se puede insertar comentarios entre la forma de
señal y cualquier punto dentro del archivo.

Se puede aumentar/disminuir la escala y salir de
ella.

V.5.5 Características del editor del plano de
distribución (floorplan editor)

Monografias.com

Fig.5.8: Ventana del editor de plano de
distribución (floorplan) del MAX+PLUS II.

Se entra a la asignación de un recurso
físico en un medio gráfico arrastrar-soltar. Las
asignaciones del compilador también pueden ser anotadas y
editadas.

Una leyenda de color claramente indica pines no
asignados y asignados, células lógicas,
células de entrada/salida, el tipo de fan-salida desde
cada item, vcc, gnd y pines reservados.

Se puede ver y editar asignaciones, las cuáles
son almacenadas en el archivo asignación &
configuración (*.acf). Se puede también mostrar un
no-editable (solo lectura) que muestra los resultados de la
última compilación, las cuáles son
almacenados en el archivo fit (*.fit). Cualquier item que tenga
una asignación ilegal será remarcada en la lista de
nodos no asignados y nombre de pines. Los nodos que han sido
ubicados pero no ruteados son indicados en rojo.

Se puede automáticamente mostrar la fan de
entrada y la fan de salida de cualquier item seleccionado, o las
rutas entre ítems múltiples
seleccionados.

El nombre de una función lógica asignada a
un pin o célula lógica son mostradas
automáticamente en el "texto global".

Si múltiples ítems son seleccionadas en
una simple localización, se puede ver la lista de todos
los ítems y seleccionar un simple ítem para
editar.

5.4 Jerarquía, proceso y verificación
de un proyecto de diseño

5.4.1 Jerarquía del proyecto de
diseño

El visualizador de jerarquía del MAX+PLUS II,
muestra un diseño lógico de jerarquía, como
un árbol de jerarquía, donde el más bajo
nivel de archivos de diseño son representados como ramas.
Diferentes métodos de procedimiento de diseño
pueden existir en un simple proyecto.

Monografias.com

Fig. 5.09: Visualizador de
jerarquía del MAX+PLUS II.

El visualizador de jerarquía nos muestra la total
jerarquía de archivos de diseño llamado
"árbol de jerarquía", para el actual proyecto, o
otra jerarquía de archivo de diseño.

Si uno o más archivos de jerarquía
están abiertos, el más alto en los iconos de
archivos figura en la barra remarcada. El visualizador de
jerarquía muestra la entera jerarquía del archivo
de diseño tan bueno como el grupo de archivos para el
archivo de diseño de alto nivel, si el proyecto ha sido
compilado con el módulo compilador extractor
netlist.

Las características del visualizador de
jerarquía hace fácil el moverse entre los
diferentes tipos de archivos para un proyecto. Por ejemplo, se
puede abrir y cerrar uno o más archivos en la ventana del
visualizador de jerarquía, los editores apropiados son
automáticamente abiertos o cerrados.

Se puede también aumentar o disminuir en varias
escalas de visualización para observar todas las partes de
la jerarquía o escoger un visualizador compacto para
observar muchas ramas del largo árbol de
jerarquía.

5.4.2 Procesamiento del proyecto de
diseño

MAX+PLUS II procesa proyectos para dispositivos Altera
Classic, MAX 5000, MAX 7000, MAX 9000, FLEX 6000, FLEX 8000 y
FLEX 10K. MAX+PLUS II compila proyectos automáticamente,
pero también detalla las especificaciones del
procesamiento.

Monografias.com

Fig. 5.10: Esquema del procesamiento de
un proyecto de diseño.

Compilador MAX+PLUS II.

El compilador MAX+PLUS II consiste de una serie de
módulos y utilidades que chequean errores del proyecto,
sintetizan la lógica, ajustan el proyecto dentro de uno de
los dispositivos Altera y genera archivos de salida para la
simulación, análisis de tiempos y para el
dispositivo de programación.

El compilador enlaza las aplicaciones del procedimiento
de diseño MAX+PLUS II: editores gráfico, texto,
forma de señal, símbolo y fondo (floorplan) con el
post-procesamiento: análisis de tiempos, simulador y
programador.

Monografias.com

Fig. 5.11: Ventana del proceso del
compilador MAX+PLUS II.

Archivos de entrada del compilador.

Archivos de diseño gráfico
(*.gdf).

Archivos de diseño de texto (*.tdf).

Archivos de diseño VHDL (*.vhd).

Archivos de diseño Verilog (*.v).

Archivos de entrada EDIF (*.edf).

Archivos de diseño de forma de señal
(*.wdf).

Archivos esquemáticos ORCAD (*.sch).

Archivos de formato netlist xilinx (*.xnf).

Archivos de diseño Altera (*.adf).

Archivos máquinas de estado (*.smf).

Archivos hexadecimal (*.hex).

Archivos comando EDIF (*.edc).

Archivos de asignación & configuración
(*.acf).

Archivos de símbolos (*.sym).

Proceso de la compilación.

El compilador extrae información que define la
jerarquía de la conexión entre los archivos de
diseño del proyecto, chequea el error del proceso de
diseño básico del proyecto. Crea un mapa del
proyecto y combina todos los archivos de diseño dentro de
una completa base de datos que puede ser procesado
eficientemente.

El compilador aplica una variedad de técnicas
para incrementar la eficiencia del proyecto y minimizar el uso de
recursos del dispositivo. Si el proyecto es grande para ajustarlo
en un simple dispositivo, el compilador puede
automáticamente particionar en múltiples
dispositivos desde la misma familia del dispositivo, mientras
minimiza el número de conexiones entre dispositivos. Un
archivo de reporte (.rpt) muestra como el proyecto será
implementado en uno o más dispositivos.

El compilador también crea archivos programadores
que el programador MAX+PLUS II y otros programadores
estándar usan a programar uno o más dispositivos
Altera.

Mientras el compilador puede compilar el proyecto con
una mínima de ayuda, también permite personalizar
procesamiento de diseño, según tus
especificaciones. Puedes escoger también cuántos
pines y células lógicas deben permanecer sin uso
durante la compilación, reserva adicionalmente capacidades
lógicas para futuro uso.

Puedes empezar la compilación del proyecto desde
cualquier aplicación MAX+PLUS II o desde el compilador. El
compilador procesa automáticamente todos los archivos de
entrada del proyecto.

Si cualquier error o problema potencial son detectados
durante la compilación, la ventana del procesador de
mensaje abre automá-ticamente; lista la
información, error, y mensajes de advertencia y provee
inmediatamente ayuda, como corregir el error y permite localizar
la fuente de mensaje en el archivo de diseño del
proyecto.

Módulos del compilador & archivos de
salida.

El compilador MAX+PLUS II procesa un proyecto con los
siguientes módulos y utilidades.

Extractor netlist compilador.

Constructor de la base de datos.

Sintetizador lógico.

Particionador.

Ajuste.

Extractor SNF funcional.

Extractor SNF regulador.

Escritor netlist EDIF.

Escritor netlist Verilog.

Escritor netlist VHDL.

Asembler.

Extractor netlist compilador.

El extractor netlist compilador convierte cada archivo
de diseño en el proyecto dentro de uno o más
archivos netlist compilados binarios (*.cnf, compiler netlist
files).

Porque el extractor netlist compilador resuelve los
valores de cualquier parámetro usados en funciones
parametrizadas, el contenido de una CNF puede cambiar en una
subsecuente compilación si el parámetro cambia de
valor. El extractor netlist compilador también crea un
archivo de interconexión jerárquica (*.hif,
hierarchy interconnect files) esos documentos las conexiones
jerárquicas entre los archivos del proyecto, provee la
información necesaria muestra el árbol de
jerarquía del proyecto en el visualizador
jerárquico. En adición el extractor netlist
compilador genera el archivo base de datos de nodos (*.ndb, node
database file), aquello contiene nombres nodo proyecto para los
recursos de la base de datos de la asignación.

Constructor de base de datos.

El constructor de base de datos usa el HIF, enlaza los
CNF, aquello describe el proyecto. Basado en datos HIF, el
constructor de base de datos copia cada CNF, dentro de un simple,
completo base de datos del proyecto. Así la base de datos
preserva la conectividad eléctrica del
proyecto.

Así creado la base de datos, el constructor de
base de datos examina la lógica completa y consistente del
proyecto, y chequea para conectividad límite y errores
sintácticos. Muchos errores son detectados y pueden ser
corregidos fácilmente en esta etapa del proceso. Cada
módulo del compilador subsecuentemente procesa y actualiza
esta base de datos.

El primer paso para procesar un proyecto, todos los
archivos de diseño de un proyecto son compilados. Se puede
usar el compilador "recompilador inteligente"
característica en crear base de datos del proyecto
expandido, aquello ayuda acelerar subsecuentemente la
compilación.

Esta base de datos permite cambiar los asignados
recursos del dispositivo físico, cada pin y célula
lógica asignados, y recompila el proyecto sin reconstruir
la base de datos y resintetizando la lógica del
proyecto.

Con las características de la
"recompilación total", puedes escoger entre recompilar
solo aquellos archivos que han sido editados desde la
última compilación o el completo
recompilación al proyecto.

Sintetizador lógico.

El módulo del sintetizado lógico aplica un
número de algoritmos que reduce los recursos usados y
remueve redundancias lógicas, asegura que cada estructura
de célula lógica sea usada tan eficientemente como
sea posible por la arquitectura de la familia del dispositivo
objetivo.

Este módulo del compilador también aplica
técnica de síntesis lógicas, ayudan a
implementar usuario-tiempo especificado y otros requerimientos de
implementaciones. En adición, el sintetizador
lógico busca la lógica para no conectar nodos. Si
encuentra un nodo no conectado, remueve la primitiva asociada con
aquel nodo.

Particionador.

Si el proyecto no ha sido ajustado a un simple
dispositivo, el particionador divide la base de datos actualizada
por el sintetizado lógico dentro de múltiples
dispositivos desde la misma familia del dispositivo, intentando
dividir el proyecto dentro del más pequeño
número de dispositivos.

Un proyecto es particionado a lo largo de los
límites de la célula lógica, y el
número de pines usados para intercomunicar dispositivos es
minimizado.

La partición puede ser totalmente
automático, ya sea parte usuario-controlador, o totalmente
usuario-controlador. La asignación de dispositivo y
selección automática de dispositivo permite
ejercitar el nivel apropiado de control para el
proyecto.

Ajuste.

Usando la base de datos actualizadas por el
particionador, el ajuste iguala los requerimientos del proyecto
con los disponibles recursos de uno o más dispositivos.
Asigna cada función lógica a la mejor
localización de célula lógica y selecciona
apropiadamente rutas de interconexión y pin
asignados.

El ajuste compara los recursos asignados con los
recursos disponibles. No importando que el ajuste se este
realizando, el ajuste genera un archivo de reporte (*.rpt), aquel
documento da la información sobre, nombres de los pines de
entradas y salida, regulador del proyecto, recursos no usados de
cada dispositivo del proyecto.

El compilador también genera
automáticamente un archivo de ajuste (*.fit). Se puede
visualizar el ajuste, partición y ruta de
información desde el archivo ajuste con el editor de plano
de distribución (floorplan).

Puede opcionalmente el ajuste generar un archivo de
salida de diseño de texto AHDL (*.tdo). para una completa
optimización, del proyecto ajustado.

Extractor SNF funcional.

El opcional extractor SNF funcional crea el archivo
netlist simulador funcional (*.snf) requerido para simulaciones
funcionales. La compilación genera estos archivos
después de sintetizar el proyecto, por lo tanto contiene
todos los nodos presentes en el archivo de diseño
original.

El SNF funcional no contiene información de
tiempos, pero es generado rápidamente. El archivo es
creado sólo si el proyecto compila sin errores.

Extractor SNF de tiempos.

El opcional extractor SNF de tiempos crea el archivo
netlist simulador de tiempos (*.snf), la cuál contiene el
dato de tiempo para la completa optimización del
proyecto.

Este archivo es usado para simulador de tiempos y
analizador de tiempos. El SNF de tiempos es creado sólo si
el proyecto compilado no tiene errores.

Extractor SNF de enlace.

El opcional extractor SNF de enlace crea un enlace
archivo netlist simulador (*.snf), la cuál contiene los
datos funcionales y/o de tiempos para un multi-proyecto,
simulación tipo-nivel-tabla.

Los enlaces SNF combinan información desde el SNF
de tiempo y/o SNF funcionales para múltiples proyectos
separados. Proyectos que son enlazados y que pueden usar
dispositivos de diferentes familias. Si un SNF de enlace contiene
información sólo de tiempos, puedes usarlo para
correr análisis de tiempos. El archivo es creado si el
proyecto compilado no tiene errores.

Escritor Netlist EDIF.

El compilador MAX+PLUS II se puede interfasar con
herramientas CAE estándar que puede ser leído desde
archivos netlist en el formato estándar EDIF 2.0 y
3.0.

El opcional escritor netlist EDIF produce uno o
más archivos de salida EDIF (*.edo) contiene
post-síntesis funcional y opcionalmente información
de tiempos.

La información de tiempos puede ser escrito o
separados en archivos de salida formato de retardo
estándar (SDF), (*.sdo). Estos archivos pueden ser
utilizados por simuladores estándar. Los archivos de
salida EDIF y SNF son creados solamente si el proyecto compilado
no tiene errores.

Escritor Netlist Verilog.

El opcional escritor netlist verilog produce uno o
más archivos de salida verilog (*.vo) que contiene la
post-síntesis funcional y opcional información de
tiempos del proyecto. La información de tiempos puede ser
también escrita o separada en archivos de salida
SDF.

Estos archivos pueden ser usados con un simulador HDL
Verilog estándar. Los archivos de salida Verilog HDL y SDF
son creados solamente si el proyecto compilado no tiene
errores.

Escritor Netlist VHDL.

El opcional escritor netlist VHDL produce uno o
más archivos de salida VHDL (*.vho), en sintaxis VHDL del
87 o 93, la cuál contiene la post-síntesis
funcional y información de tiempos opcional del
proyecto.

La información de tiempos puede también
ser escrita o separada en archivo de salida SDF. Estos archivos
pueden ser utilizados con un simulador estándar VHDL. Los
archivos de salida VHDL y SDF son creados solamente si el
proyecto compilado no tiene errores.

Asembler.

El asembler convierte las células lógicas
del ajuste y dispositivos asignados en una imagen programada para
el dispositivo en la forma de una o más archivos objetos
de programador binarios (*.pof) o archivos objetos SRAM (*.sof);
para algunos dispositivos, el compilador también genera
archivos JEDEC (*.jed), archivos texto tabular (*.ttf) y archivos
hexadecimales (formato INTEL) (*.hex).

Los archivos POF, SOF, y JEDEC son entonces procesados
por el programador MAX+PLUS II, y el hardware del programador
ALTERA, u otro programador estándar, a produce
dispositivos de trabajo.

Los archivos Hex y TTF puede ser usado y configurado en
dispositivos FLEX 6000, FLEX 8000 y FLEX 10K por otros medios. El
asembler crea los archivos programadores solo si el proyecto
compilado no tiene errores.

Después que la compilación ha sido
completada, el compilador MAX+PLUS II y programador permite
generar adicionalmente archivo programador de dispositivos para
usar en otros medios de programación.

Por ejemplo puede crear archivos bitstream serial
(*.sbf) y archivos binarios nuevos (*.rbf, raw bynari files) para
configurar dispositivos FLEX 6000, FLEX 8000 y FLEX
10K.

Puede también crear archivos formato vector
serial (*.svf, serial vector format files) y archivos de apretura
(*.jam, jam files) para dispositivos programadores en
tipo-equipos de prueba automático (ATE) y medios de
programación tipo-procesador incrustado,
respectivamente.

5.4.3. Verificación del
proyecto

Para ello MAX+PLUS II provee tres aplicaciones:
Simulador, Analizador de tiempos y Editor de forma de
señal, que ayudan a testear la lógica del proyecto
compilado.

Monografias.com

Fig. 5.12: Estructura de la
Verificación de un proyecto de diseño en MAX+PLUS
II.

Simulador MAX+PLUS II.

El simulador MAX+PLUS II prueba la operación
lógica y de tiempo interno de un proyecto, permitiendo
modelar un diseño de circuito después que es
programado en un dispositivo.

Monografias.com

Fig. 5.13: Ventana del Simulador MAX+PLUS
II.

Al simular un proyecto, se debe primero compilar e
instruir el compilador que genere un archivo netlist simulador
gráfico (*.snf) funcional, de tiempos, o enlace de
simulación multi-proyecto. El funcional, de tiempos, o
enlaces SNF para el proyecto actual es entonces cargado
automáticamente cuando se abre el simulador.

El simulador usa una forma de señal
gráfica, un archivo canal simulador (*.scf, simulator
chanel file) o un archivo vector ACSII (*.vec) como la fuente de
vectores de entrada. Para proyectos que contienen memoria, puedes
especificar una memoria inicial que contiene archivos
hexadecimales (*.hex) o con Archivos de inicialización de
memoria (*.mif, memory initialization files).

El editor de forma de señal puede crear
automáticamente un error SCF, la cuál edita y
provee los vectores de entrada deseados, si creas un archivo
vector en lugar de ello, el simulador automáticamente
genera un SCF desde allí.

El simulador permite chequear las salidas
del simulador frente a cualquier salida en el SCF, semejante como
usuario-definido espera salidas o salidas desde una previa
simulación.

Usando opciones del simulador, puedes monitorear el
proyecto para oscilaciones, y organizar retenciones de
violación de tiempos. Una vez que la simulación es
completada, puede abrir el editor de forma de señal y
visualizar la actualizada SCF o guardar los archivos de tabla
(*.tbl) y visualizar los resultados en el editor de
texto.

Simulación funcional.

Cuando el compilador MAX+PLUS II crea un SNF funcional,
genera la SNF después sintetiza el proyecto.
Consecuentemente, en una simulación funcional, todos los
nodos en el proyecto puede ser simulado.

Durante la simulación funcional, el simulador
ignora todos los retardos de propagación. Porque no hay
retardos en el SNF funcional, los niveles lógicos de
salida cambian al mismo tiempo como los vectores de
entrada.

Simulación de tiempos.

Cuando el compilador MAX+PLUS II crea un SNF de tiempos,
genera los SNF después que el proyecto ha sido
completamente sintetizado y optimizado. Por eso, un SNF de
tiempos contiene solo esos nodos que no han sido eliminados
durante la lógica de la síntesis.

El simulador usa la información desde el SNF de
tiempos, el cuál contiene la información de
hardware desde el archivo de modelos del dispositivo (*.dmf,
device model files) que provee el MAX+PLUS II, simula el
proyecto.

Si un proyecto ha sido particionado en uno o más
dispostivos, el compilador crea un SNF para el proyecto como un
entero y para cada dispositivo. Sin embargo la simulación
de tiempos es performado para el completo proyecto
solamente.

Simulación multi-proyecto de
enlace.

Cuando el compilador MAX+PLUS II crea un enlace SNF,
combina la funcional y/o SNF de tiempos para múltiples
proyectos individuales. Los separados "sub-proyectos" en los SNF
de enlace, puede ser objetivos para diferentes familias de
dispositivos Altera.

En adición, porque SNF funcional no son
completamente compilados, puede incorporar sub-proyectos que
representa la lógica que no es implementado en un
dispositivo Altera.

Editor de forma de señal MAX+PLUS
II.

El editor de forma de señal MAX+PLUS II es usado
como herramienta de procedimiento de diseño y como una
herramienta para entrada de vector completa y visualizar los
resultados de la simulación.

Se puede crear archivos de diseño de forma de
señal (*.wdf, waveform design files), que contienen
diseño lógicos para el proyecto y archivos de canal
del simulador (*.scf, simulator chanels files) que contiene
vectores de entrada para simulación.

Monografias.com

Fig. 5.14: Ventana del editor de forma de
señal MAX+PLUS II.

Al simular un proyecto, debes proveer vectores de
entrada. Con un SCF, puedes describir simulador de vectores de
entrada como forma de señales, las cuáles son
alternativas gráficas a los archivos vector ACSII (*.vec)
de entradas para el simulador.

Se puede crear un SCF que contiene la forma de
señal de los vectores de entrada que conducen la
simulación, y los nodos enterrados y nombres de los nodos
de salida en la simulación. Los nodos ocupados y
enterrados tienen niveles lógicos indefinidos pueden ser
editados a incluir valores lógicos esperados.

El editor de forma de señal puede usar el archivo
netlist del simulador (*.snf, simulator netlist files) a crear un
error SCF que contienen algunos o todos los nodos y grupos en el
proyecto compilado.

Puedes editar esta SCF y conocer sus especificaciones o
puede crear un SCF "desde el raspado". En adición,
puede importar un archivo vector o automáticamente crea su
equivalente forma de señal gráfica.

Analizador de tiempos MAX+PLUS II.

Con el analizador de tiempos MAX+PLUS II, puede analizar
el performance de tiempos de un proyecto después de haber
sido optimizado por el compilador. Puedes trazar todas las rutas
de señales y rutas que limitan la preformase del
proyecto.

Monografias.com

Fig. 5.15: Ventana del analizador de
tiempos MAX+PLUS II.

El analizador de tiempos usa la red y la
información de tiempos desde un archivo netlist simulador
(*.snf) de tiempos, genera por el compilador. El analizador de
tiempos puede también usar un SNF de enlace que enlaza el
SNF de tiempos de otros proyectos.

El analizador de tiempos genera tres tipos de
análisis:

La matriz de retardo muestra el más bajo
y el más alto rutas de retardo de propagación entre
fuentes múltiples y nodos de destino en un
proyecto.

La matriz sistema/retenedor muestra los
requerimientos mínimos del sistema y retenedor de tiempos
desde los pines de entradas a los datos, relojes, relojes
habilitados, cerrojos o match habilitados, direcciones, y
escritor habilitado a entradas de flipflops, match y RAM
asíncrona.

El visualizador de performance registrado
muestra los resultados de un análisis de performance
registrado, incluyendo un usuario-definido numerando el
visualizador performance-limitado, período de reloj
mínimo, y frecuencia de circuitos
máximos.

5.5 Programador de dispositivos

Altera provee todo el hardware y software necesario para
programar, configurar, y verificar dispositivos Altera. El
hardware incluye en adición una tarjeta programador
lógico (para 486 o Pentium para PC) que conduce la Unidad
de Programación Maestro Altera (MPU).

La performance del MPU es continuamente chequeado,
asegura adecuadamente el contacto eléctrico entre el
adaptador del programador y el dispositivo. Con el apropiado
adaptador programador, el MPU también soporta una
comprobación funcional, que puede aplicar vectores creados
para la simulación a un dispositivo programado para
verificar su funcionalidad.

Altera también soporta programabilidad en sistema
(ISP, in-system programmability) y reconfiguración en
circuito (ICR, in-circuit reconfiguration) con el cable de
descarga FLEX (para PC), el cable paralelo de descarga
ByteBlaster (para PC), y el cable serial de descarga ByteBlaster
(para PC, y estación de trabajo UNIX).

El cable de descarga FLEX puede conectar cualquier
adaptador de programador configuración EPROM, la
cuál es instalada en el MPU, el objetivo de los
dispositivos FLEX en un sistema de prototipo. La conexión
ByteBlasterII en puerto paralelo y el cable de descarga serial
ByteBlaster conectado a un puerto RS-232 estándar conecta
a dispositivos a tarjetas del sistema. Esos cables permiten
configurar o programar uno o más dispositivos compatibles
en ICR o ISP en una cadena FLEX o cadena JTAG.

Tabla 5.1 Hardware Programador de
Altera.

Monografias.com

Monografias.com

Fig. 5.16: Dispositivo Programador
MAX+PLUS II.

5.5.1 Programador MAX+PLUS II

El Programador MAX+PLUS II usar archivos de
programación generados por el compilador a programar
dispositivos Altera. Esto permite programar, configurar,
verificar, examinar, chequear, y probar funcionalidad en los
dispositivos.

Monografias.com

Fig. 5.17: Ventana del Programador de
Hardware.

El programador de hardware de Altera habilita el
programa de dispositivos Altera con los archivos de
programación generados por el compilador. Cuando abres la
ventana del programador, el archivo de programación para
el actual proyecto es automáticamente cargado. El
programador MAX+PLUS II acepta los siguientes formatos de
archivo:

Archivo de objeto de programación (*.pof,
programmer object file) que programa la familia Classic de
Altera, los dispositivos MAX 5000, MAX 7000 y MAX 9000; tan bien
la configuración EPROM es usado para configurar
dispositivos FLEX 6000, FLEX 8000 y FLEX 10K.

Archivo de objeto SRAM (*.sof, SRAM object file) a
configurar dispositivos FLEX 6000, FLEX 8000, y FLEX
10K.

Archivo JEDEC (*.jed), a programar dispositivos Classic
Altera y los dispositivos EPM 5016 y EPM 5032 desde la familia
MAX 5000.

Archivo cadena JTAG (*.jcf, JTAG Caín file) que
describe el orden en las cuáles archivos POF, SOF, y JEDEC
para múltiples dispositivos en una tabla de circuito
serán programadas o configuradas en una cadena de
múltiples dispositivos que son conectadas por circuiteria
JTAG.

Archivo cadena FLEX (*.fcf, FLEX chain file) que
describe el orden cuáles SOF son para dispositivos FLEX
múltiples en una tabla de circuito que son configuradas en
una cadena FLEX.

El Programador MAX+PLUS II puede desarrollar las
siguientes tareas:

Programa datos en archivos POF o JEDEC en dispositivos
blancos Classic, MAX 5000, MAX 7000 y MAX 9000, para producir
dispositivos de trabajo.

Descarga los datos de configuración desde un
archivo de objeto SRAM (*.sof, SRAM object file) o archivo JEDEC
(*.jed) que configura dispositivos FLEX 6000, FLEX 8000 y FLEX
10K.

Convierte un POF en archivos formato JEDEC o viceversa y
opcionalmente guarda vectores de prueba funcionales en el
archivo, así puedes programar y probar dispositivos con
otros programadores de hardware y software
estándar.

Verifica el archivo de programador que contiene frente
al contenido de un dispositivo programado.

Examina un dispositivo programado y guarda datos de
programación y datos de vectores de prueba en archivos de
formato POF o JEDEC.

Cambia a encendido o apagado el bit de seguridad antes
de los datos de proyecto es programado en un dispositivo. Cuando
el bit de seguridad está encendido, el dispositivo no
puede ser examinado.

Opcionalmente crea un archivo de salida
informático de programación (*.plf, programmer log
file) que graba la sesión de comandos de
programación y mensajes para futuras
referencias.

CAPÍTULO 6

Diseño,
analisis e implementacion del controlador
PID sobre un CPLD y del
sistema del control de velocidad

6.1 Generalidades.

Básicamente el sistema de control de velocidad,
se puede dividir en dos partes bien definidas:

– Etapa de control

– Etapa de potencia

En la siguiente gráfica se muestra un diagrama de
bloques completo que será implementado en el
proyecto:

Monografias.com

Fig. 6.1: Diagrama de bloques del sistema
de control de velocidad.

La etapa de control, consiste en el comparador,
el controlador PID, el control mediante PWM, el contador, y el
tacómetro. El comparador, regulador PID, control mediante
PWM y contador se desarrollara en el CPLD MAX 7000S EPM 7128,
mediante técnicas de programación VHDL.

El tacómetro, será desarrollado en un
circuito, este tacómetro de pulsos cuenta en
término de revoluciones por unidad de tiempo. El
tacómetro estará conformado por un diodo emisor
infrarrojo y por un fotodiodo receptor, para su funcionamiento se
provee de un disco sobre el eje del motor con cuatro ranuras, la
cual servirá para indicar cada revolución del
motor, por cada revolución del motor se producirá
un pulso el cual será enviado hacia un contador dentro del
PLD.

El CPLD MAX 7000S EPM 7128 no se conecta directamente al
motor DC, para ello utilizamos una etapa de aislamiento mediante
un optoacoplador (4N25), el cual evitará dañar el
CPLD por posibles corrientes inversas.

La etapa de potencia, consiste en un circuito
de aislamiento óptico, un circuito puente H, y el motor
DC.

La entrada o variable manipulada
serán 32 tipos de velocidades, teóricamente, cuyos
rangos son:

Tabla 6.1: Rango de velocidades que
deberán ser las variables manipuladas o entradas,
teóricamente.

Velocidad 01

75 rpm.

Velocidad 09

675 rpm.

Velocidad 17

1275 rpm.

Velocidad 25

1875 rpm.

Velocidad 02

150 rpm.

Velocidad 10

750 rpm.

Velocidad 18

1350 rpm.

Velocidad 26

1950 rpm.

Velocidad 03

225 rpm.

Velocidad 11

825 rpm.

Velocidad 19

1425 rpm.

Velocidad 27

2025 rpm.

Velocidad 04

300 rpm.

Velocidad 12

900 rpm.

Velocidad 20

1500 rpm.

Velocidad 28

2100 rpm.

Velocidad 05

375 rpm.

Velocidad 13

975 rpm.

Velocidad 21

1575 rpm.

Velocidad 29

2175 rpm.

Velocidad 06

450 rpm.

Velocidad 14

1050 rpm.

Velocidad 22

1650 rpm.

Velocidad 30

2250 rpm.

Velocidad 07

525 rpm.

Velocidad 15

1125 rpm.

Velocidad 23

1725 rpm.

Velocidad 31

2325 rpm.

Velocidad 08

600 rpm.

Velocidad 16

1200 rpm.

Velocidad 24

1800 rpm.

Velocidad 32

2400 rpm.

Para la selección de velocidades, se hará
uso de los DIP switchs. Esta velocidad será comparada con
la realimentación que proviene desde el motor, como salida
se tiene una señal que será codificada por el PID y
convertida en valores de ancho de pulso los cuales serán
ingresados al modulador PWM el cual a su salida enviará el
tren de pulsos que controlará el motor DC

6.2 Diseño de la etapa de
potencia

6.2.1 Circuito de acoplamiento
óptico

Se adjunta el plano del circuito
correspondiente.

6.2.2 Circuito puente H

Se adjunta el plano del circuito
correspondiente.

Monografias.com

Monografias.com

6.2.3 Planta

La planta del sistema de control de velocidad, es un
motor velocidad-estable DC magnético
EG-520ED-3B.

Monografias.com

Fig. 6.2: Motor velocidad-estable DC
magnético EG-520ED-3B.

Aplicaciones

El motor velocidad-estable DC magnético
EG-520ED-3B es usado típicamente en el núcleo del
eje de la grabadora de casete.

Principales especificaciones técnicas y
características

Los principales datos técnicos se muestran en la
siguiente tabla y figura:

Tabla 6.2: Variables características
del motor velocidad-estable DC magnético
EG-520ED-3B.

Monografias.com

Fig.6.3 Características de la
velocidad nominal (r/min) y el torque (mN.m).

Es de pequeño tamaño, gran torque, baja
vibración, ruido bajo son las características para
esta clase de motor y hasta ahora elimina la radio
interferencia.

La regulación de velocidad puede esta el rango de
2200 a 2600 rev/min.

La temperatura de operación es: -20 a 70 ºC.
Humedad relativa: 95%. Periodo de carrera: 1000 horas.
Resistencia de armadura: 0.2.

Instalación y uso

La apariencia exterior y las dimensiones para la
instalación es mostrado en la siguiente figura:

Monografias.com

Fig. 6.4: Vista frontal, perfil, y contra
frontal del motor velocidad-estable DC magnético
0EG-520ED-3B.

El polo negativo es conectado con la carcaza.

6.2.4 Análisis de la función de
transferencia de la planta

Sea la función de transferencia de un motor DC
controlado por armadura:

Monografias.com

Sea los datos de las especificaciones
técnicas: velocidad nominal, y fluctuación de
carga, transformando sus respectivas unidades:

Monografias.com

Analizando la función de transferencia de la
planta, para aplicar los métodos de las reglas de Ziegler
– Nichols.

Sea para la primera regla de Ziegler – Nichols, donde a
la planta se le aplica una entrada de escalón unitario, y
salida debe dar una curva con aspecto de S.

Monografias.com

Tabulando valores para la ec.6.7 se
obtiene:

Tabla 6.03: Valores tabulados de la ec.
6.7.

T

c(t)

0

0

0.002

6.75282378

0.004

11.0684146

0.006

13.8264199

0.008

15.5890044

0.01

16.7154359

0.02

18.4973711

0.03

18.6873329

0.04

18.7075836

0.05

18.7097424

0.06

18.7099725

0.07

18.7099971

0.08

18.7099997

0.09

18.71

0.1

18.71

0.11

18.71

0.12

18.71

0.13

18.71

0.14

18.71

0.15

18.71

Se obtiene la gráfica:

Monografias.com

Fig.6.6: Curva de respuesta c(t) de la
ec.6.7.

La curva de respuesta c(t) de la ec.6.7 no tiene la
forma de S, por lo que no se puede aplicar la primera regla de
Ziegler-Nichols.

Monografias.com

Ubicar los polos y ceros de lazo abierto en el plano
complejo:

C(s)/R(s) = 4189.18 Kcc / (s (s +
223.87))………(ec.6.13)

Los polos están ubicados en 0 y -223.87, no hay
ceros.

Se determina las asíntotas del lugar de
raíces:

Angulo de asíntotas = ( 180º
(2k + 1) / (n – m)…….(ec.6.14)

Donde

n : cantidad de polos

m: cantidad de ceros

Angulo de asíntotas = ( 90º,
270º

Determinar los puntos de ruptura:

Monografias.com

Por lo tanto el diagrama del lugar de
raíces es:

Monografias.com

Aplicando las reglas de sintonización de
Ziegler-Nichols basadas en la ganancia crítica Kcc y en el
período crítico Pcc, obtenemos:

Monografias.com

6.2.5 Análisis de la estabilidad del
sistema de control con los valores teóricos de kp, td, ti
obtenidos por el segundo método de
Ziegler-Nichols.

Sea el sistema de control de velocidad
diseñado:

Monografias.com

Fig.6.9: Sistema de control de velocidad
diseñado.

Analizando la función de transferencia a lazo
cerrado:

Sea G(s), es el producto de la función de
transferencia del controlador PID y de la planta.

G(s) = [1.79 (1 + 0.028 s + ( 1 / 0.007 s
) )]x [4189.18 / ( s (s + 223.87) ) ] ….ec.6.24

G(s) = 209.96 (s2 + 35.71 s + 5101.82 ) /
( s2 (s + 223.87) )…..ec.6.25

Sea la función de transferencia a lazo cerrado,
del sistema de control de velocidad diseñado:

C(s) / R (s) = 209.96 (s2 + 35.71s +
5101.82 )/(s3 + 433.83s2 + 7497.67s + 1071178.12)

……………ec.6.26

Aplicamos el criterio de estabilidad de
Routh:

Sea la ecuación característica de la
función de transferencia a lazo cerrado, del sistema de
control de velocidad diseñado:

Monografias.com

La condición necesaria y suficiente para que
todas las raíces de la ec.6.27 queden en el semiplano
izquierdo del plano s, es que todos los coeficientes de la
ec.6.27 sean positivos y que todos los términos de la
primera columna del conjunto tengan signos positivos.

Por la ec. 6.27, y la aplicación del criterio de
Ruth, satisface las condiciones necesarias y suficientes, por lo
tanto el sistema de control de velocidad diseñado es
estable.

6.3 Diseño de la etapa de
control.

Se adjunta los plano del circuito
correspondiente.

El disco adjunto al motor tiene 4 ranuras, esto debido a
lo siguiente: la velocidad máxima de la planta o motor es
2400 rev/min, es decir 40 rev/seg. Al realizar un muestreo del
tacómetro a 200ms, se calcula que a 200ms realizara 8
revoluciones, y como tiene 4 ranuras, entonces a velocidad
máxima realizara 32 lecturas, y por ello
teóricamente se asignará 32 velocidades

Monografias.com

Monografias.com

Monografias.com

Monografias.com

6.4 Diseño de la etapa de control en el CPLD
MAX 7000S EPM 7128 utilizando técnicas VHDL

El desarrollo de la etapa de control, comparador,
regulador PID, control mediante PWM y contador, ha sido realizado
en lenguaje VHDL en su totalidad, sobre el CPLD MAX 7000S EPM
7128.

Sea el programa principal representado en bloques, como
se muestra en la fig.6.02:

Monografias.com

Fig. 6.10: Programa principal de la etapa
de control, en el editor gráfico MAX+PLUS II.

Donde las entradas al programa principal, desarrollado
en el MAX 7000S EPM 7128S son:

Al comparador y controlador PID, entrada
[0,1,2,3,4]

Proporciona la entrada se selección de velocidad
que se requiere para el motor, tiene un rango de 0 a 32 posibles
valores de velocidades, teóricamente, este valor indica el
valor de revoluciones por minuto (rpm) dividido entre
75.

Contador del tacómetro, conteo de pulsos del
tacometro

A través de esta entrada se ingresa los pulsos
que envía el tacómetro y que son almacenados en un
contador, dentro del CPLD para se enviado al bloque PID, este es
la entrada que permite la realimentación del sistema. La
realimentación [0,1,2,3,4], proporciona el valor del
conteo que se hace en el dispositivo, de las revoluciones del
motor en cada periodo de muestreo.

Reloj externo a 256KHz.

El reloj externo a 256KHz, por medio de este reloj, se
hace dos divisores de frecuencia, para realizar dos relojes a
200ms de período y a 201ms de período. El reloj de
256KHz alimenta al bloque de programa del PWM, el reloj a 200ms
de período alimenta al controlador PID, y el reloj a 201ms
de período alimenta al bloque del tacómetro y al
bloque del acumulador.

La salida al programa principal, desarrollado en el MAX
7000S EPM 7128S es:

Modulación PWM, respecto al
sentido

E0s la salida final del sistema, envía la
señal a la etapa de potencia, que controlará la
velocidad de giro del motor.

6.4.1 Primer y segundo reloj, reloj a 200ms
de periodo y a 201ms de periodo.

Monografias.com

Fig.6.11: Bloque del primer y segundo
reloj.

En este primer bloque del programa, tiene una entrada de
reloj de 256KHz. Mediante una programación de conteo, se
tiene dos nuevos relojes un reloj a 200ms de periodo y otro reloj
a 201ms. de periodo. La característica principal de estos
dos relojes, es su pulso positivo, es de periodo muy
pequeño.

Desarrollo del
programa.

Primerysegundoreloj:

PROCESS (reloj)

–se define las cuatro variables
aux0,aux1,aux2,aux3 las dos primeras –correspondientes al reloj
a 200ms de periodo y los otros al reloj a –201ms

VARIABLE aux0 : INTEGER RANGE 0 TO
52000;

VARIABLE aux1 : std_logic :='0';

VARIABLE aux2 : INTEGER RANGE 0 TO
52000;

VARIABLE aux3 : std_logic :='0';

BEGIN

–las variables aux0 y aux2, realizan el
conteo de acuerdo al pulso –positivo del reloj externo de
256KHz

IF (reloj'EVENT AND reloj =
'1')THEN

aux0 := aux0 + 1;

aux2 := aux2 + 1;

END IF;

IF (aux0 = 0 and aux2 = 0)THEN

aux1:='0';

aux3:='0';

end if;

–si la variable aux0 llega al conteo
51282, a transcurrido un tiempo de –200ms, el reloj de 200ms de
periodo, necesita un flanco positivo –pequeño, por ello
aux0 llega al conteo de 51000, asume el valor "1" — hasta el
conteo de 51282

IF (aux0 = 51000)THEN

aux1:='1';

end if;

if(aux0 = 51282) then

aux1:='0';

aux0:=0;

end if;

–si la variable aux0 llega al conteo
51583, a transcurrido un tiempo de –201ms, el reloj de 201ms de
periodo, necesita un flanco positivo –pequeño, por ello
aux0 llega al conteo de 51300, asume el valor "1" — hasta el
conteo de 51583

IF (aux2 = 51300)THEN

aux3:='1';

end if;

if(aux2 = 51538) then

aux3:='0';

aux2:=0;

end if;

–las variables aux1 y aux3, se guardan en
las señales t200ms y t201ms,
–correspondientemente

t200ms <= aux1;

t201ms <= aux3;

END PROCESS;

6.4.2 Comparador y controlador
PID

Monografias.com

Fig. 6.12: Bloque del comparador y
controlador PID.

Este es el bloque principal del sistema ya que
implementa el comparador y control Proporcional, Integrativo y
Derivativo del error del sistema.

Para ello toma el error (la diferencia entre el setpoint
y la realimentación, la cuál es la función
del comparador, en cada periodo de muestreo y le aplica las
ecuaciones del control PID, para ello ya se determinaron las
respectivas constantes que definen el comportamiento del motor de
corriente continua.

Desarrollo del programa.

ControlPID:

PROCESS (t200ms)

–se define las variables error0,error1,errorx, cuyos
valores están –limitados desde -128 a 127, y a la vez
inicializan en 0.

–las constantes kp,kd,ki, no son correspondientes al
cálculo hecho por el –segundo método de
Ziegler-Nichols, por el motivo principal de poca –capacidad del
CPLD EPM7128

VARIABLE error0,error1,errorx: integer RANGE -128 TO 127
:= 0;

constant kp : integer range 0 to 15 := 1;

constant kd : integer range 0 to 15 := 1;

constant ki : integer range 0 to 15 := 0;

BEGIN

IF (t200ms'EVENT AND t200ms = '1')THEN

–por el pulso positivo del reloj a 200ms, se realiza
una actualización, y –durante ese tiempo se realiza la
fórmula del controlador

errorx := setpoint – retro;

error1 := errorx;

errorx := kp*errorx + kd*(error1 – error0) + ki*(error1
+ error0);

error0 := error1;

END IF;

–se almacena en la señal er

er <= errorx;

END PROCESS;

6.4.3 Acumulador

Monografias.com

Fig. 6.13: Bloque del
Acumulador.

Con este bloque se realiza una suma de todos los errores
que envía el PID hacia el generador PWM, cuando el valor
del error sea cero, se tendrá el valor que
proporcionará el voltaje necesario que hará gira el
motor a la velocidad que se indico en el setpoint.

Como el valor de la suma puede sobrepasar el rango
permitido en la salida, este valor es limitado al máximo
valor permitido ya sea positivo (127) o negativo
(-128).

Desarrollo del programa.

Acumulador:

PROCESS (t201ms)

–la señal er, correspodiente al bloque del
controlador, se guarda en la –la variable aux5, es limitado
entre -128 a 127

variable aux5:integer RANGE -128 TO 127;

BEGIN

–por cada pulso positivo del reloj a 201ms de
periódo la señal er, –correspodiente al bloque del
controlador, se guarda en variable aux5 –limitado entre -128 a
127

IF(t201ms'event AND t201ms='1') THEN

aux5 := er;

IF(aux5>127 ) THEN

aux5:=127;

ELSIF(aux5<-128)THEN

aux5:=-128;

END IF;

END IF;

–la variable aux5 se guarda en la señal
err

err <= aux5;

END PROCESS ;

6.4.4 Signo

Monografias.com

Fig. 6.14: Bloque del Signo.

Con este bloque se hace un acondicionamiento de la
señal que envía el acumulador, ya que el generador
PWM diseñado tiene un rango de entrada de 0 a 127 valores
posibles, es decir solo soporta valores de entrada positivos.
Además adecua el valor para que sea correctamente
interpretada por el bloque PWM.

Desarrollo del programa.

signo:

PROCESS(err)

–la variable aux6 está limitada entre 0 a
255

VARIABLE aux6 : integer RANGE 0 TO 255;

BEGIN

–la señal err, se guarda en la variable
aux6

aux6 := err;

–la señal aux6 se le suma 127, este 127
representara la velocidad 0

aux6 := aux6 + 127;

–la variable aux6 se guarda en la señal
sel

sel <= aux6;

END PROCESS;

6.4.5 Control por PWM

Monografias.com

Fig. 6.15: Bloque de control por
PWM

Partes: 1, 2, 3, 4
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter