Contador de Personas Sistemas Embebidos

UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓ

Views 111 Downloads 4 File size 2MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA

CONTADOR DE PERSONAS SISTEMAS EMBEBIDOS

CURSO

:

ARQUITECTURA DE COMPUTADORAS

PROFESOR

:

CUCHO MENDOZA, ZENON ANDRES

ALUMNO TEMA

CICLO

Año

:

FERNANDEZ VILCHEZ STEVE…… 060593I

: “CONTADOR DE PERSONAS CON SISTEMAS EMBEBIDOS Y SPLDS”

:

2014 A

: 2014

CONTADOR DE PERSONAS SISTEMAS EMBEBIDOS OBJETIVOS    

El principal objetivo del presente informe es el comprender y entender el funcionamiento y aplicación de los sistemas embebidos. Como estos podrían aplicarse a un campo real y por consiguiente dar beneficio al usuario para facilitar muchas tareas en su vida diaria. Conocer el uso e implementación de los PLDS y saber codificar y usar programas en VHDL como es el caso de la codificación del Contador. Conocer los distintos tipos de familias para el proceso de quemado del programa en un PLD con la serie GAL para el proceso de implementado.

ASPECTO TEORICO DEL SISTEMA. GAL Y VHDL GAL (GENERIC ARRAY LOGIC) En la década de 1960 surge otro campo de la electrónica denominado Electrónica Digital, el cual se basa en el Álgebra Booleana creada por George Boole (1815-1864), lógico y matemático británico, que en 1854 escribió Las leyes del pensamiento, en el cual describe un sistema algebraico en donde las proposiciones lógicas se indican por símbolos y pueden relacionarse mediante operadores matemáticos abstractos que corresponden a las leyes de la lógica.

ASICS Desde los finales de la década de 1970, los equipos electrónicos digitales utilizan Circuitos Integrados (CI o CHIPS) de función lógica fija, realizados en pequeña o mediana escala de integración (SSI, MSI). Para la implementación de aplicaciones muy complejas, que requieren de una gran cantidad de circuitos de función fija, resulta más conveniente intégralos en un solo dispositivo fabricado a la medida, los cuales son llamados: ASICS, Application Specific Integrated Circuits. (Circuitos Integrados de Aplicación Especifica o circuitos a la medida). Entre las ventajas que presenta el uso de los ASICs podemos mencionar que: Ahorran espacio, reducen el número de dispositivos, menor costo, reducen el tiempo de ensamble, bajo consumo de potencia, menor calentamiento, facilidad en la verificación (control de calidad), mejor confiabilidad. Los ASIC se pueden clasificar por su tecnología de fabricación en cuatro categorías: Arreglos de Compuertas, Celdas Estándar, Full Custom y Lógica Programable.

PLD Un dispositivo de lógica programable (PLD) es un Circuito Integrado cuya estructura lógica final es directamente configurada por el usuario, sin necesidad de llevar a cabo ningún proceso de fabricación. Un dispositivo lógico programable, o PLD (Programmable Logic Device), es un dispositivo cuyas características pueden ser modificadas y almacenadas mediante programación. El principio de síntesis de cualquier dispositivo lógico programable se fundamenta en el hecho de que cualquier función booleana puede ser expresada como una suma de productos. El dispositivo programable más simple es el PAL (Programmable Array Logic). El circuito interno de un PAL consiste en un arreglo, o matriz, de compuertas AND y un arreglo de compuertas OR. El arreglo AND es programable mientras que el OR generalmente es fijo. Mediante una matriz de conexiones se seleccionan cuales entradas serán conectadas al arreglo AND, cuyas salidas son conectadas al arreglo OR y de esta manera obtener una función lógica en forma de suma de productos. Una matriz de conexiones es una red de conductores distribuidos en filas y columnas con un fusible en cada punto de intersección. La mayoría de los PLDs están formados por una matriz de conexiones, una matriz de compuertas AND, y una matriz de compuertas OR y algunos, además, con registros. Con estos recursos se implementan las funciones lógicas deseadas mediante un software especial y un programador, las matrices pueden ser fijas o programables.

Estructura básica de un PLD Los PLDs facilitan el proceso de diseño y reducen el tiempo de desarrollo, cuando se requieren prototipos o producción de baja escala, pues todo el proceso se puede llevar a cabo con la ayuda de una computadora personal, programas de aplicación y el programador los cuales actualmente están disponibles a bajo costo. Algunos fabricantes de PLD’s son: Actel (http://www.actel.com/) Altera Corp. (http://www.altera.com/) Atmel Corp. (http://www.atmel.com/) Chip Express (http://www.chipexress.com/) Cypress Sem.(http://www.cypress.com/) Lattice Sem. (http://www.latticesemi.com/) Quicklogic Corp. (http://www.quicklogic.com/) Xilinx Inc. (http://www.xilinx.com/)

Los SPLDs están constituidos por un arreglo de compuertas AND, seguido por otro arreglo de compuertas OR, uno o ambos arreglos programables, algunos incluyen Flip Flops.

Arreglo AND OR de un SPLD A su vez los SPLDs se pueden clasificar según su estructura interna en: • PAL Programmable Array Logic, VANTIS. • GAL Generic Array Logic, Lattice Semiconductor. • PLA Programmable Logic Array. • PLD Programmable Logic Device.

Clasificación de los SPLDS De estos tipos de SPLDs, el GAL destaca por su bajo precio y versatilidad por lo que lo describiremos en el siguiente punto.

GAL GAL (Generic Array Logic), en español Arreglo Lógico Genérico, son un tipo de circuito integrado, de marca registrada por Lattice Semiconductor, que ha sido diseñados con el propósito de sustituir a la mayoría de las PAL, manteniendo la compatibilidad de sus terminales. Utiliza una matriz de memoria EEPROM en lugar por lo que se puede programar varias veces. Un GAL en su forma básica es un PLD con una matriz AND reprogramable, una matriz OR fija y una lógica de salida programable mediante una macrocelda. Esta estructura permite implementar cualquier función lógica como suma de productos con un número de términos definido. En los PLDs no reprogramables la síntesis de las ecuaciones lógicas se realiza mediante quema de fusibles en cada punto de intersección de los pines de entrada con las compuertas. En el caso de un GAL es básicamente la misma idea pero en vez de estar formada por una red de conductores ordenados en filas y columnas en las que en cada punto de intersección hay un fusible, el fusible se reemplaza por una celda CMOS eléctricamente borrable (EECMOS). Mediante la programación se activa o desactiva cada celda EECMOS y se puede aplicar cualquier combinación de variables de entrada, o sus complementos, a una compuerta AND para generar cualquier operación producto que se desee. Una celda activada conecta su correspondiente intersección de fila y columna, y una celda desactivada desconecta la intersección. Las celdas se pueden borrar y reprogramar eléctricamente. ESTRUCTURA El GAL básicamente está formado por una matriz AND reprogramable y una matriz OR fija con configuración programable de salidas y/o entradas.

Estructura Basica de un GAL

Las estructuras GAL son estructuras PAL construidas con tecnología CMOS, y fueron comercializadas por primera vez en 1984 por Lattice Semiconductor. Como se ha mencionado, son programables y borrables eléctricamente. Son reprogramables y más flexibles, a la salida de la matriz AND/OR hay un circuito más complejo con selectores y flip-flops que permiten implementar ecuaciones más complejas. Hay distintas arquitecturas según la versión del fabricante. La Figura 7 presenta un ejemplo de una GAL.

El circuito a la salida de la matriz se denomina macrocelda. Tienen integración baja/media. El Terminal puede funcionar como entrada o salida según la programación. Los términos productos se dibujan todos sobre una sola línea para simplificar el diagrama.

REFERENCIA ESTÁNDAR De manera comercial las GALs están identificadas por un estándar que permite conocer sus características rápidamente. Por ejemplo a continuación describimos el dispositivo GAL22V10.

GAL22V10:

DESCRIPCION:       

12 Entradas dedicadas 10 pines E/S Disponible encapsulado DIP (24PINES),PLCC(28 PINES) o baja tensión GAL22LV10. 10 OLMC disponibles. OLMCs programables como E o S combinacional o como S secuencial. OLMC formada por 1 flip-flop y 2 multiplexores. A la salida OLMC existe un buffer triestado ( nivel bajo, alto, alta impedancia).

DESARROLLO E IMPLEMENTACION DEL PROGRAMA EN VHDL AL GAL AM22V10 PASO 1: DESARROLLO DEL PROGRAMA EN VHDL Para el llenado y cuerpo del programa trabajamos de manera preferente en el QUARTUS II de altera ya que ahí podremos y tenemos mayor conocimientos de como trabajarlo mejor.

OBSERVACION:

Como se puede apreciar la codificación y desarrollo del programa no es muy compleja un contador de 0 a 255 sincrónico habilitado con reset. PASO 2: CREACION DE NUESTRO GAL PARA EL LLENADO DEL CODIGO EN VHDL. Para este paso tenemos que hacer uso del programa ISP LEVER CLASSIC el cual dejare como referencia abajo para su descarga. http://www.latticesemi.com/Products/DesignSoftwareAndIP.aspx Descargar la opción que dice: ISP LEVER CLASSIC SOFTWARE. Al terminar de descargar tendrá un peso máximo de 730 MB y cuando lo instalen les pedirá clave de licencia para eso debemos registrarnos en su página WEB y pedir la licencia brindándole su dirección física de su computadora, adoptan esta medida para evitar la piratería del programa. Después de instalarlo accedemos a la página de licencias http://www.latticesemi.com/licensing/ Y escojemos ispLEVER Classic Request a Licence

Se abrirá una página con un recuadro como el de la figura siguiente. En la barra de texto escriba la dirección NIC de su computadora (vea paso 7 para obtener la NIC). Luego pulse el botón Generate License. Con esto se enviará un archivo de licencia a su correo proporcionado.

Para obtener la NIC de su computadora entre a la ventana de comandos de MSDOS, y pulse el comando ipconfig /all.

Al pulsar enter se mostrará una serie de direcciones, debe escribir la que dice “dirección fisica” (vea la figura siguiente) sin los guiones como se muestra debajo de esta figura.

Una vez generada la licencia, le enviarán a su correo un archivo llamado licence.dat el cual debe copiar en el directorio licence de la instalación (comúnmente en C:\ispLEVER_Classic1_4\license). Listo!. Ya puede usar el programa.

“UNA VES INSTALADO PROCEDEMOS A LA CREACION DEL GAL Y EL ARCHIVO .JED EL CUAL NOS PERMITIRA INGRESAR NUESTRO PROGRAMA EN VHDL AL GAL AM22V10D”.

ABRIMOS EL ISP LEVER CLASIS Y CREAMOS NUEVO PROYECTO:

NOMBRE DEL PROYECTO CONTADOR_PERSONAS CONDIGO EN VHDL

Marcamos la pestaña que dice show creation y nos aparece la serie GAL seleccionamos lo mismo que esta en la pantalla.

Aquí abrimos en archivo que esta codificado en VHDL el cual usamos en el quartus II.

Aparecera nuestro código en vhdl

Y listo ya abremos cargado nuestro código de VHDL al ISP LEVER para el quemado de Fusible y posterior ingreso del programa nuestra GAL.

Procedemos al compilado de la GAL y del CODIGO

Aquí podemos saber cuales son los PINES QUE ESTAN HABILITADOS EN NUESTRA GAL PARA INSTALARLO EN PROTEUS MUY IMPORTATE.

Una vez finalizada nuestra compilación y quemado de fusibles este se guardara en la misma carpeta donde guardamos nuestro condigo en VHDL para el QUARTUS II

Una vez creado nuestro archivo JED este será guardado en la carpeta que previamente seleccionamos en mi caso fue la misma carpeta donde guarde mi contador de personas en el QUARTUS II.

Abrimos en proteus y seleccionamos en el grupo donde se encuentran los PLDS Y FPGAS el GAL AM22V10D. Damos doble click sobre el y nos aparecerá esta ventana donde cargamos en archivo en .JED y lo cargamos.

Finalmente procedemos con la simulcion de nuestro programa compilado en QUARTUS para VHDL Y quemado para GAL con el SPS LEVEL CLASSIC.

Como se puede observar el programa fue quemado en el GAL AM22V10D y este cumpliría la labor de un contador de personas simplemente reemplazando el clock por un dispositivo que podría activar al pasar las personas por ella como si fuera un sensor podríamos adaptarlo a sistemas de conteo para saber el número de ingreso que hay por ella tendría un sinfín de utilidades en lo que respecta a la utilización de un sistema de conteo.

OBSERVACION Y CONCLUSIONES: Como se observa los PLD tiene muchas utilidades sobre todo para facilitar los el llenado de programas en sistemas complejos de sistemas embebidos. Su utilidad se basa en algo muy simple como el llenado de programas y codificado en vhdl. Como observación cabe mencionar que el ISP LEVER sirve también como un compilador y tiene casi las mismas utilidades que el QUARTUS II su única limitación son muy pocas pues se basa más en el quemado y llenado del programa en VHDL al PLD.

BIBLIOGRAFIA:    

http://electronicaintegradaunexpo.blogspot.com/2008/02/gal-y-vhdl.html GAL HERRAMIENTAS DE SOFTWARE Departamento de electrónica Fundación San Valero. Guía de Instalación de ispLEVER Classic. Versión 2013. http://www.taringa.net/posts/apuntes-y-monografias/15989376/Contadorvhdl-hasta-9999.html