Sunteți pe pagina 1din 13

Benemérita Universidad Autónoma de Puebla

Facultad en Ciencias de la Electrónica

Maestría en ciencias de la electrónica opción


automatización

Centeno Bautista Manuel Alejandro, Córdova


Gutiérrez Erick Javier y Romero Michihua José
Carlos.

Automatización de Sistemas I
Dra. María Aurora Diozcora Vargas Treviño
Practica 1. Contador 16 bits.
11 de Octubre del 2016
1. Introducción.
Un FPGA es una matriz de bloques lógicos configurables (CLB) y una matriz de interconexión.
Los bloques lógicos contienen memoria para configuración del bloque, usan LUT que
implementa lógica combinacional, flip-flops y multiplexores a la entrada y salida del bloque
lógico. Hay otros bloques dedicados para las entradas y salidas del FPGA llamados IOB.

Analizador lógico.

La rápida evolución de los sistemas electrónicos digitales creo la necesidad de una nueva
generación de instrumentos, ya que los sistemas tradicionales de medida no podrían
analizar por completo estos sistemas.
En paralelo a la aparición del primer microprocesador, a finales de los años 60 se produjo
también la de los primeros analizadores.

Con la introducción de sistemas con buses, especialmente aquellos basados en


microprocesador, el número de señales se ha incrementado de forma notable; además,
estas señales no deben ser medidas individualmente porque solo tienen sentido en relación
a las demás y formando un conjunto con ellas. En consecuencia, esta tarea ya no puede ser
resuelta con un clásico instrumento de medida como puede ser el osciloscopio.

La importancia de ver todas las señales simultáneamente queda clara si nos referimos al
ciclo de lectura de un microprocesador, por ejemplo, de 16 bits. Para verificar que estos bits
de datos son leídos correctamente de la memoria es necesario valorar cerca de 48 canales
a la vez. De esta manera podemos observar que ciertas situaciones, en relación a
operaciones con microprocesadores, pueden ser explicadas solo si todas las líneas de
dirección y datos se muestran junto con las señales de control relacionas en esa operación.

Evolución histórica

Este tipo de equipos de medida se desarrolló con la idea de resolver varios problemas de
medida en un solo aparato, de esta manera que se detectaran el mayor número de
anomalías y que pudiera analizar el más alto porcentaje de circuitos digitales.

Los primeros analizadores lógicos consistían básicamente en analizadores en estados


lógicos y exteriorizaban sus medidas simplemente a través de un visualizador o display en
sistema hexadecimal. En el aparecían los distintos estados sucesivos de los buses de datos
o de direcciones del sistema digital que estaba probándose.

Este equipo evoluciono rápidamente hasta los modelos actuales, en los que podemos
observar que tienen como mínimo dos posibilidades:

1. Análisis de diagramas de estados


2. Análisis de diagramas de tiempo

El aspecto exterior de un analizador lógico es similar al de un osciloscopio, aunque el


numero de mandos o controles externos que podemos visualizar es bastante superior en el
del primero. La presentación de datos, tanto en el caso de diagramas de estado como de
tiempos, se realiza a través de una pantalla de rayos catódicos. Interiormente, su
componente principal es un microprocesador, el cual gobernará todas las funciones que nos
permita en analizador lógico.

Composición de un analizador lógico

Un analizador puede dividirse en cuatro bloques:

 Adquisición de datos
 Almacenamiento de datos
 Control de funciones
 Presentación de datos

La toma de datos se realiza con sondas de elevada impedancia de entrada. Otro de los
puntos importantes en la adquisición de datos es el disponer de un nivel lógico de entrada
ajustable para, así adaptarse a las diferentes familias de circuitos integrados que nos
podemos encontrar en cualquier circuito, como pueden ser las TTL o CMOS. El número de
canales de entrada que se precisan depende, en gran medida, de la aplicación que
queramos dar al analizador lógico. Normalmente se utilizan de 16 canales, pero, con la
incorporación de los nuevos microprocesadores de 32 y 64 bits, es necesario utilizar
analizadores de más canales o ampliar, por medio de algunos periféricos, la capacidad de
los de 16.

Para la adquisición de datos se emplean, fundamentalmente, dos tipos de proceso: uno el


sincrónico y el otro el asincrónico, aunque para algunos casos determinados se utilizan otros
medios conocidos bajo el nombre de almacenamiento, o "latch", y entrelazado.

El módulo de control tiene como misión principal la de disparo del sistema de adquisición
de datos en el instante oportuno. El procesamiento que se emplea más habitualmente es
el de identificación de una palabra determinada de información donde se comparan los
datos recogidos por el analizador con una palabra de 16 bits escogida anteriormente por el
usuario. En el instante en que se coinciden se produce el disparo.

El bloque encargado de la presentación en pantalla de los datos almacena estos, en primer


lugar, en la memoria para, seguidamente, llevar a cabo la operación de visualización,
existiendo dos posibilidades distintas:

 Tabla de estados lógicos


 Diagrama de tiempos
Controles de un analizador lógico

Cualquier analizador lógico que incorpora un microprocesador consta de cuatro funciones


básicas que se controlan con las distintas teclas que incorporan dichos instrumentos. Estas
son: la adquisición de datos, el almacenamiento de datos, la sección de control y la
presentación en pantalla. Podemos destacar en la adquisición de datos que estos se reciben
en paralelo.

2. Objetivos.
Objetivo general.

Comparar la diferencia que hay entre programar un FPGA de la familia Cyclone II y uno de
la familia Cyclone III usando un contador de 16 bits.

Objetivos específicos.

Programar un FPGA de la familia Cyclone II


Programar un FPGA de la familia Cyclone III
Conocer el entorno de análisis de señales de Quartus II para la familia de FPGA Cyclone II
Comprender el funcionamiento básico de un analizador lógico

3. Desarrollo.
A continuación se presenta el diagrama de bloques del diagrama de bloques de un contador
de 16 bits,
Podemos ver en el diagrama de flujo la lógica, primero vemos que se declara las variables
de entrada el reloj (clk) y el reset, también declaramos la variables de salida las cuales son
salida y conta [5.. 0], que es donde se guardan los registros. A continuación se presenta la
primera condición, si conta es menor a 16, entonces contador comienza, a contar
ascendentemente y la salida es en GND. Pero si conta es mayor 16, este se dirige a la
segunda condición, si en esta condición conta es mayor a cero el contador cuenta
descendentemente y la salida es en alto (VCC), sin embargo si conta no es mayor a cero
regresa al inicio de las primera condición. Y así se queda en un bucle infinito.

A continuación se presenta el algoritmo del diagrama de flujo anterior.


 Primero creamos un proyecto nuevo en Quartus.
 Seleccionamos la carpeta y el nombre del proyecto
 A continuación seleccionamos el FPGA a utilizar en este caso es EP2C8Q208C.
Después de los pasos anteriores, se desarrolla el algoritmo en la ventana de AHDL File
SUBDESIGN Contador16
(
CLK :INPUT;
RESETN :INPUT;
CONTA[5..0] :OUTPUT;
SALIDA :OUTPUT;
)

VARIABLE
conta[5..0] :DFF;
estados :machine with states (ST0, ST1);
BEGIN
conta[].(clk,clrn)= (clk,resetN);
estados.(clk,reset)= (clk,!resetN);
CASE estados IS
WHEN ST0=>
IF conta[]<16 THEN
conta[]=conta[]+1;
ELSE
conta[].d=conta[].q;
estados=ST1;
END IF;

WHEN ST1 =>


IF conta[]>0 THEN
conta[]=conta[]-1;
SALIDA=VCC;
ELSE
conta[].d=conta[].q;
estados=ST0;
END IF;

WHEN OTHERS =>


estados=ST0;

END CASE;
END;

Ya que tenemos el código, generamos el símbolo del programa, este nos ayudara a simular
el código.
Ya que tenemos el símbolo, simulamos el código para ello creamos un UNIVESITY
WAVEFORM FILE, donde simularemos todo el código. La simulación se muestra en la figura.

En seguida se dan los pasos que se llevaron a cabo para la realización de esta práctica. Se
dividió en dos; la programación del FPGA Cyclone II y la programación del FPGA Cyclone III.

Para ambos casos se lleva una adecuación del entorno de trabajo. Primero se debe de
asegurar que el entorno se ael adecuado, esto quiere decir evitar las descargas estáticas
accidentales. Para esto se coloca un tapete antiestático y sobre este es donde se va a
trabajar. Además se usa una pulsera antiestática para la manipulación del FPGA.

Cyclone II
 Adecuación del entorno de trabajo. Primero se debe de asegurar que el entorno sea
el adecuado, esto quiere decir evitar las descargas estáticas accidentales. Para esto
se coloca un tapete antiestático y sobre este es donde se va a trabajar. Además se
usa una pulsera antiestática para la manipulación del FPGA.
 Verificación y conexión de los pines del FPGA Cyclone II. Se usa la hoja de pines para
ver la disposición de los pines en el FPGA y proceder a conectarlos al analizador.
 Conexión del programador al FPGA. Se conecta el programador a la tarjeta.

 Alimentación del FPGA. Se conecta a una fuente de alimentación con un voltaje de


3.3 V

 Ya que está conectado todo, se asignan los pines en el Quartus II con el programa
proporcionado.

 Se compila el proyecto.

 Se procede a cargar el firmware proporcionado al FPGA

 Después de cargar el firmware se reinicia el FPGA para que corra el programa

 En el analizador de señales se declaran el conector a usar y se habilitan los pines


correspondientes.

 Se inicia la comunicación y se observan las salidas del FPGA en el analizador


Cyclone III
 Verificación y conexión de los pines del FPGA Cyclone III. Se usa la hoja de pines para
ver la disposición de los pines en el FPGA.

 Conexión del programador al FPGA. Se conecta el programador al FPGA y a la


computadora.
 Alimentación del FPGA. Se conecta a una fuente de alimentación con un voltaje de
3.3 V

 Se asignan los pines de salida en Quartus II

 Se abre el Logic Analyzer del Quartus II para compilar el firmware y cargarlo al FPGA.
De forma automática se asignan lo pines de salida a analizar, verificando que sean
los correctos.
 Se procede a realizar el análisis de las señales.

4. Conclusión.
Después de analizar el procedimiento tenemos los siguientes puntos a concluir.
 El diseño del algoritmo para cualquier programa, debe ser estructurado por ello nos
debemos de apoyar en los diagramas de flujo.
 La simulación antes de la implantación de los programas nos ayuda, a hacer un test rápido
y con ello verificar que el algoritmo funcione correctamente, sin necesidad del dispositivo.
 Debemos de tener en claro la distribución de los pines de entrada y salida del FPGA, al igual
de cuales de estos pines son de uso específico, para no tener algún error en la ejecución del
algoritmo, para ello nos apoyaremos en el diagrama de pines del FPGA.
 La fuente de alimentación es de 3.3 volts, no más si este voltaje se pasa el FPGA se quema.
Por ultimo las grandes prestaciones del FPGA, hace a este una herramienta muy potente para
realizar proyectos en los cuales se requiera gran velocidad de procesamiento, capacidad de entradas
y salidas tanto analógicas como digitales , además de contar con varios dispositivos en el como los
ADC y DAC, el tamaño físico de estos. Puyes puede acoplarse en espacios reducidos y sobre todo
que con estos somos capaces de realizar cualquier proyecto y el costo no es muy elevado a otros
dispositivos.

S-ar putea să vă placă și