Translate

jueves, 31 de diciembre de 2015

SISTEMA CONTROLADOR DE PERSONAL DE TRABAJO EN VHDL CON FPGA DE0-NANO

Por: Jorge Luis Ramirez Gomez (jolurami@espol.edu.ec), Maria Gracia Constante Sanchez (mgconsta@espol.edu.ec).

DESCRIPCION:
Realizar el diseño y la implementación de un circuito CONTROLADOR DE PERSONAL DE TRABAJO. El sistema controla el ingreso y salida de forma automática del personal de trabajo (mínimo 3, un botón de ID por cada trabajador). Cuando un trabajador entra o sale debe autentificarse con un ID único para cada persona y además deberá presionar un botón indicando si está ingresando o saliendo de trabajar. El sistema tiene además un pulsador que le sirve para iniciar el sistema (START) y un botón de RESET para inicializarlo todo.
Al finalizar la jornada de trabajo, el sistema debe indicar reportes de los tiempos de trabajo de cada persona en dos displays, usando los botones de ID para ver el tiempo de cada uno.

DIAGRAMA DE BLOQUES:


ESQUEMATICO ALTIUM DESIGNER:


DIAGRAMA ASM:







ARCHIVOS VHDL:
https://drive.google.com/open?id=0B92asyySueOIVklyY1pjLThtb2dWU25IRmdBQ0dDQlNOa25N

LINK VIDEO:

SISTEMA ACONDICIONAMIENTO DE TEMPERATURA EN VHDL CON FPGA DE0-NANO

Por: Stephano Leon Toala (steanleo@espol.edu.ec), Niel Mayor Fuentes (nmayor@espol.edu.ec).


DESCRIPCION:
Diseñar una MSS de un sistema ACONDICIONADOR DE TEMPERATURA AUTOMATICO. Para dar inicio se debe presionar y soltar el botón de START. El circuito debe tener dos botoneras para introducir la temperatura actual “medida” de un laboratorio (UP)/(DOWN), otros dos botones permiten setear la temperatura deseada (UP)/(DOWN), otro botón le permitirá al sistema activar el modo automático (A). Una vez presionada la tecla START (ST) el SISTEMA deberá recibir el número de la temperatura ambiente subiendo o bajando con los dos botones y también deberá recibir el número de la temperatura deseada (set-point). El botón automático dará la orden para que el sistema compare las temperaturas. Si la temperatura del laboratorio es menor a la del set-point, el sistema encenderá el acondicionador incrementando así un grado centígrado por segundo; en caso de que la temperatura del laboratorio sea mayor a la del set-point el sistema apagará el acondicionador y por tanto se decrementará un grado centígrado cada dos segundos. La salida del CONTROLADOR serán: dos Displays para mostrar la temperatura medida en tiempo real del laboratorio en grados centígrados, dos Displays son para mostrar la temperatura deseada (set-point), un led para indicar el encendido/apagado del acondicionador de aire. Un led adicional indicará si el sistema está en modo automático o no.

PARTICION FUNCIONAL:








ESQUEMATICO ALTIUM DESIGNER:



DIAGRAMA ASM:
 


DIAGRAMA TIEMPO:

ARCHIVOS VHDL DROPBOX:

LINK VIDEO:

SISTEMA DE FACTURACIÓN POR LLAMADAS EN CABINAS EN VHDL CON FPGA DE0-NANO

Por: Byron Sanga Alcocer (byresang@espol.edu.ec), Josué Montachana Chimborazo (josalmon@espol.edu.ec).

DESCRIPCION:
El presente sistema digital es un sistema de facturación por llamadas de dos cabinas telefónicas.
Dicho sistema nos permitirá observar en dos displays del tiempo en segundos que cada ocupante de la cabina realiza la llamada, es decir, el tiempo en que habló, todo esto mientras el sistema esté activo, es decir que el sistema de inicio al proceso, esto se lo lograra con el botón Start. Una vez iniciado el proceso se encenderán dos led indicando que las cabinas están disponibles para empezar las llamadas. Así mismo para iniciar una llamada, el ocupante debe presionar Call, indicando al sistema que empezará a contar los segundos Cada ocupante de la cabina tiene permitido realizar una llamada que no sobrepase los 20 segundos; mientras se esté realizando la llamada y se presione la tecla Fin o en su efecto se cumple los 20 segundos permitidos, se activa una señal ledFin que indica que la llamada ha finalizado. El sistema le solicita presionar pagar. Una vez ejecutada esta operación, se envía una señal ledfactura que se mostrara mediante el encendido de un led indicando que se ha pagado.
Cuando se presiona Fin, el controlador tiene una tabla con lo cual él sabrá cuanto deberá cobrar a la persona. Luego se debe presionar el botón pagar indicando así al sistema que la persona pagó por su servicio indicado anteriormente (se factura y paga una cabina a la vez), quedando libre la cabina para ser usada nuevamente. Se ha modificado el sistema de tal manera que los ocupantes puedan permanecer en la cabina una vez terminada la llamada y aun no presionen pagar, permitiendo que el ocupante de la otra cabina pague primero aunque haya presionado Fin
después del otro ocupante.
El sistema tiene la opción de resetear en cualquier momento el sistema.

DIAGRAMA DE BLOQUES:


PARTICION FUNCIONAL:






DIAGRAMA ASM:






LINK VIDEO:


jueves, 8 de octubre de 2015

SISTEMA MULTIPLICADOR DE MATRICES 3X4 y 4X3 EN VHDL CON FPGA DE0-NANO

SISTEMA MULTIPLICADOR DE MATRICES 3X4 y 4X3 EN VHDL CON FPGA DE0-NANO

Por: Kerly Ochoa Erazo (kermaoch@espol.edu.ec) - Christian Sacarelo (csacarel@espol.edu.ec)

Descripción:
Se trata de ingresar de manera serial 2 matrices de 3x4 y 4x3, luego de esto proceder a multiplicarlas y mostrar su resultado de manera serial.

ARCHIVOS VHDL:
https://www.dropbox.com/sh/r0jcea6ujun1mlu/AAB1XH1_Ehsva-gl0Rd1cVEma?dl=0

LINK VIDEO
https://www.facebook.com/christian.sacarelo/videos/10208017464453689/

SISTEMA MAPA DE KARNAUGH SOP EN VHDL CON FPGA DE-NANO

SISTEMA  MAPA DE KARNAUGH EN VHDL CON FPGA DE-NANO


Por: Christian Parra Pacheco (cfparra@espol.edu.ec) y Roger Michell Idrovo (romiidro@espol.edu.ec)

Descripción:
Realizar el diseño de un SISTEMA MAPA DE KARNAUGH SOP. El sistema recibe una matrices MK(2X4) y luego procede a detectar el número de agrupaciones de unos y la cantidad de elementos de cada agrupación.
Ejemplo:

MK=[1 0 0 1;1 1 0 1] ;


DESCRIPCIÓN DE LAS SEÑALES DEL SISTEMA.

BitMK.- esta señal de 1 bit (0-1) permite el ingreso de cada uno de los bits de la matiz MK(i, j)=BitMK.
IngresoMatrizMK.- Esta señal deberá ser solicitada antes de presionar la tecla Start, la misma que permite el ingreso de los nbits de la MatrizMK.
LedStart.- Indica cuando ya se ha finalizado de ingresar el número de bits suficientes para completar una Matriz y por tanto se puede presionar la tecla Start.
Start.- Da inicio al proceso de detección de las agrupaciones de unos por SOP en la Matriz MK.
LedOK.- Led indicador de salida que da a conocer que la detección fue realizada con éxito.
IDGrupo.- Indica en número del grupo, para una matriz de 4x2 pueden existir desde 1 a 4 agrupaciones.
NumUnos.- Indica la cantidad de unos agrupados por cada ID de grupo.
BotonBit: permite el ingreso de los número entre 0-1.

DIAGRAMA DE BLOQUES



CODIGOS VHDL

LINK VIDEO


SISTEMA DE COMUNICACIÓN CON VALIDACIÓN CHECKSUM EN VHDL CON FPGA DE-NANO

SISTEMA  DE  COMUNICACIÓN  CON  VALIDACIÓN CHECKSUM EN VHDL CON FPGA DE-NANO


Por: Pedro Villegas Román (plvilleg@espol.edu.ec), Martha Villacis Davila (mrvillac@espol.edu.ec)

Descripción:
Realizar el diseño de un SISTEMA  DE  COMUNICACIÓN  CON  VALIDACIÓN CHECKSUM. El sistema está conformado por un transmisor que envía datos bajo un protocolo establecido hacia módulos receptores que validarán la trama recibida. 
Protocolo de comunicación: 
Byte de Inicio: 0X24
Byte ID de Equipo: 0X01 ó 0X0A ó XA1
Byte de Data: 0X00 – 0XFF
Byte Checksum: XOR

SEÑALES TX
PaqueteOut.- esta señal de 8 bits envía cada uno de los paquetes de la trama byte a byte, es decir envía de forma ordenada primero Byte de Inicio, Byte de ID, Byte de data y finalmente Byte de CheckSum. 
SincTx.-Esta  señal  sirve  de  sincronía  para  indicar  al  equipo  receptor  que existe un dato listo para ser leído. 
StartTx.-Señal para empezar a enviar los datos. 
StopTx.-Señal para detener el envío de datos.
IDRx.-El Byte de ID será leído constantemente antes de enviar los datos, de esa forma puede enviar la trama a diferentes equipos.
SEÑALES RX 
PaqueteIn.- esta señal de 8 bits recibe cada uno de los paquetes de la trama byte a byte, es decir recibe de forma ordenada primero Byte de Inicio, Byte de ID, Byte de data y finalmente Byte de CheckSum. 
SincRx.-Esta  señal  sirve  de  sincronía  para  indicar  al  equipo  receptor  que existe un dato listo para ser leído. 
StartRx.-Señal que empezar a recibir los datos. 
StopTx.-Señal para detener la recepción de datos.
IDRx.-El byte de ID es cargado inicialmente antes de presionar start de tal forma que el ID del equipo de recepción se compara con el ID recibido.

CÓDIGO VHDL

VIDEO LINK


Sistema de operacion entre conjuntos en VHDL con FPGA DE0-NANO

Sistema de operacion entre conjuntos en VHDL con FPGA DE0-NANO

Por: Daniel Calle Rojas (decalle@espol.edu.ec)

Descripción:
Es un separador de números, se ingresan números del 0 al 9, máximo 10 números cada conjunto, es decir no permite números repetidos, se ingresan los números tanto para el conjunto A como para el conjunto B.
Como se usa?
Se da reset, luego start y de ahí por default se ingresan los elementos de A, al terminar se debe presionar “Listo_A” y de ahí se ingresan los números de B y al terminar se ingresa “Listo_B”, luego se presiona “ver” y para ir avanzando los números recopilados se presiona “sigue”, cuando no hay mas números que presentar se queda en el primer numero de la solución.


SEÑALES DE DIAGRAMA ASM
ENTRADAS:
Start: reinicia el sistema.
Listo_A: Se presiona cuando se ha terminado de ingresar los números de A
Listo_B: Se presiona cuando se ha terminado de ingresar los números de B
Last_A: Se activa cuando se ha culminado de monitorear todos los números de A. 
Last_B: Se activa cuando se ha culminado de comparar todos los números de B.
AesB: se activa cuando un elemento de A es igual a uno de B
AfueB: Se activa cuando al menos un elemento de A fue igual a uno de B.
Ver: Es una entrada que el usuario pide ver los números ya procesados.
Fin: Es una entrada con la cual el usuario puede decidir que termina al momento de ir viendo los números procesados.
Progress: Es una entrada con la cual el usuario puede ingresar para ir avanzando los números que se tiene que mostrar.
Finish: Es una señal la cual me dice que el usuario llego al fin del arreglo, y no hay mas números que mostrar. 

SALIDAS:
Eliminar_A, Eliminar_B: Son salidas las cuales resetean los registros de los datos de A y de B respectivamente. 
Again: Es una señal que resetea todos los elementos a utilizarse cuando se empieza a comnprar los números del arreglo A con el arreglo B. 
Reset_g: Es una señal que resetea a todos los elementos de manera general.
Rst_A, rst_B: Son señales que resetean los contadores para recorrer el arreglo de A y de B respectivamente. 
Reset_new: esta señal resetea los elementos necesarios para cuando se termina de comprar todos los elementos de A con B. 
Elegir_B: Esta señal me habilita un mux para que cambie la dirección que es para guardar en A, a leer en A.
Fin_A, Fin_B: Esta señal cambia los habilitadores para que primero se ingrese elementos de A, y luego elementos de B. 
Cg: Esta señal carga un valor para que cambie la dirección de escribir los números a leer los números.

CÓDIGO VHDL

jueves, 24 de septiembre de 2015

DETECTOR EFICIENTE DE SECUENCIA NUMÉRICA EN VHDL CON FPGA DE0-NANO

DETECTOR EFICIENTE DE SECUENCIA NUMÉRICA EN VHDL CON FPGA DE0-NANO


Por: Irving Valeriano (ivaleria@espol.edu.ec), Soria Cortez (vasoria@espol.edu.ec).

Descripción: 
En el siguiente proyecto se pretende desarrollar un sistema eficiente para la búsqueda del número que más se repite dentro de una secuencia de números ingresados por el usuario.
El programa constará de un teclado por el cual se ingresarán los números que el usuario decida, para lo cual el mismo deberá presionar la tecla de Ingreso de datos y una vez que culmine de ingresarlos deberá presionar la botonera de Fin de ingreso, después de lo cual el sistema queda a la espera de la botonera Start con la cual procederá a realizar la selección del número que más se repite.
Una vez que se ha seleccionado el número se usaran displays en los cuales se mostrará el número que más veces se repite junto con la respectiva cantidad de repeticiones que ha tenido.



ARCHIVOS VHDL
https://www.dropbox.com/s/qi0o23jl6eti2pg/Moda.rar?dl=0


REPORTE
https://www.dropbox.com/s/mp42964vgb3iio5/PROYECTO3.pdf?dl=0.


VIDEO DEL PROYECTO

martes, 22 de septiembre de 2015

Detector de Secuencia de 4 números que más se repite en VDHL con FPGA DE0-NANO

Detector de Secuencia de 4 números que más se repite en VDHL con FPGA DE0-NANO 


Por: Michelle Yager (myager@espol.edu.ec), Daniel Campoverde (dmcsmpov@espol.edu.ec).

Descripción del Proyecto

El usuario ingresa una secuencia de números. Se encenderá un led para indicar que se deben ingresar los números. Una vez que se ha ingresado todos los números deseados, el usuario presiona el botón para finalizar el ingreso. Luego se presiona el botón Start y el programa compara cada uno de los números ingresados y muestra la secuencia de 4 números que más se repite y muestra la cantidad de veces que se repite esa secuencia.

Codigos Vhdl 

https://www.dropbox.com/sh/109fmo9cjv4b04j/AADvlpKXLNaciO44QSWfN19ta?dl=0

Video del proyecto 

https://www.facebook.com/dcampoverdeboza/videos/10205788590456365/

sábado, 19 de septiembre de 2015

Determinante de una matriz en VHDL con FPGA DE0-NANO

Determinante de una matriz en VHDL con FPGA DE0-NANO


Por: Misael Ortega (mjortega@espol.edu.ec) y Rutty Cedeño (rutacede@espol.edu.ec)
Descripción:
El circuito describe un sistema de cálculo de determinante de una matriz. El sistema recibe una matriz cuadrada A(3x3) y luego procede a calcular el determinante de dicha matriz.

El sistema se inicializa al ser presionado el botón NUEVA MATRIZ y espera a que sean ingresados los 9 valores del determinante, durante este tiempo y mientras queden valores por ser ingresados permanecerá encendido el led INGRESE_A , luego de que han sido ingresados todos los valores se debe presionar el botón START que a inicio al cálculo del determinante,Led_signo se enciende cuando el signo del determinante es negativo, mientras sea positivo permanecerá apagado. El sistema finaliza con ser presionado el botón FIN.
Reporte del Proyecto: 


Video del Proyecto: 

miércoles, 13 de mayo de 2015

NANO PRÁCTICA 2: LCD MEI&T-NANO ULTRASONICO HC-SR04 (MIKROC PRO) - IDETEC

NANO PRÁCTICA 2: LCD MEI&T-NANO ULTRASONICO HC-SR04 (MIKROC PRO) - IDETEC


OBJETIVO
  • - Familiarizarse con el manejo del LCD, módulo de IDETEC NANO y el sensor ultrasónico HC-SR04.
  • - Programar el Modulo IDETEC NANO mediante el software MIKROC PRO for Pic.
  • - Medir la distancia usando el módulo HC-SR04 (Sensor Ultrasónico).
  • - Visualizar los valores de distancia por medio del modulo LCD.
DESCRIPCION
El presente proyecto se basa en un módulo IDETEC NANO, el LCD 2X16 I&T y el sensor ultrasónico HC-SR04.
- Se va a conectar el sensor ultrasónico en el módulo IDETEC NANO donde se medira la distancia.
- Se va a conectar el lcd en el módulo IDETEC NANO el cual se visualizará las cadenas de caracteres programadas con dicha medición.

PIC16F886
El corazón del módulo programable IDETEC NANO es el microcontrolador PIC16F886, por tanto debemos considerar lo importante de conocer las pines de conexión del microcontrolador:
               - Programación serial ICSP: MCLR (Pin1), ICSPDAT (Pin28), ICSPCLK (Pin27), VSS (GND), VDD (Vcc).
               - Entradas analógicas: AN0, AN1, AN2, AN3, AN4, AN8, AN9, AN10, AN11, AN12, AN13.
               - Modulación de Ancho de Pulso (PWM): CCP1 y CCP2.
               - Comunicación serial: TX y RX.



Ver código y práctica completa en nuestra web.