Está en la página 1de 6

Universidad Pedaggica y Tecnolgica de Colombia.

Circuitos combinatorios y secuenciales (aplicaciones)

INFORME DE LABORATORIO N 4.
CIRCUITOS COMBINATORIOS Y SECUENCIALES (APLICACIONES)

Juan Sebastian Castellanos Casas, juam.castellanos@uptc.edu.co


Andersson Gabriel Garca Garca, anderso08@hotmail.com
Universidad Pedaggica y Tecnolgica de Colombia
Resumen- En ste informe se presentar el diseo de un
proceso industrial qumico mediante el uso de mquinas
de estado, este proceso bsicamente consiste en un sistema
con entradas (sensores) y unas salidas (actuadores,
motores), que tendr varios estados. Teniendo en cuenta
esto, se realizar la interpretacin de diseo en VHDL,
que adems ser probado en una FPGA

sensores, en dicha secuencia intervienen los distintos


actuadores.
2. OBJETIVOS

Palabras clave- Mquina de estado, VHDL, FPGA,


Proceso, contador, divisor de frecuencia.

Esta gua de laboratorio est orientada a


desarrollar habilidades en la descripcin de
circuitos digitales combinatorios y secuenciales
en VHDL.

Abstract- In this report the design of an industrial


chemical process is presented by using state machines, this
process basically consists of a system with inputs (sensors)
and outlets (actuators, motors), which will have several
states. Given this, the interpretation of design in VHDL,
which also will be tested on a FPGA be performed

Se busca comprender el proceso de diseo de


sistemas digitales mediante el empleo de
herramientas CAD tales como el Quartus II de
Altera y sus herramientas de verificacin y
simulacin.

Key words- State machine, VHDL, FPGA, process,


counter, frequency divider.

Realizar el cdigo en VHDL de la mquina de


estado para el proceso industrial, y luego
comprobar el funcionamiento, de dicho proceso
mediante la implementacin en la FPGA.

1.

INTRODUCCIN

Las Maquinas de estados Finitos sirven para realizar


procesos bien definidos en un tiempo discreto. Estas
reciben una entrada, hacen un proceso y luego
entregan una salida. Una mquina es capaz de seguir
una secuencia nita de pasos al introducir un
conjunto de datos en ella, solo se puede leer un dato
en cada paso que se realice, por tanto el nmero de
pasos a seguir est dado por el nmero de datos a
introducir.
Cada entrada diferente genera una salida diferente,
pero siempre el mismo resultado con los mismos
datos de entrada. En otras palabras, una mquina de
estados es un modelo abstracto para la manipulacin
de smbolos, esta permite saber si una cadena
pertenece a un lenguaje o puede generar otro
conjunto de smbolos como resultado.
Por estas razones se usa el modelo de una mquina
de estado para el proceso industrial qumico, ya que
al llevar varias etapas de produccin, se sigue una
secuencia finita de pasos (en la que intervienen los
distintos actuadores) al introducir un conjunto de
datos, que en este caso estarn dados por los

Mejorar en el diseo de circuitos digitales

utilizando el leguaje VHDL y adquirir destreza


para resolver problemas que incluyan circuitos
combinatorios o secuenciales.
3. MARCO TERICO

Bsicamente una
mquina de estados es una
estructura de programa que nos sirve para determinar
el comportamiento de algo en base al estado en el que
se encuentre. Para cada estado por tanto se tendr un
comportamiento.
Las mquinas de estados se pueden utilizar en
muchos aspectos y niveles. Se pueden utilizar para
controlar el estado de la aplicacin que se est
realizando, o utilizarlas slo para controlar un clip de
pelcula.
Siempre que se piense utilizar una mquina de
estados es muy recomendable dibujar primero un
diagrama de estados. Un diagrama de estados se

Universidad Pedaggica y Tecnolgica de Colombia. Circuitos combinatorios y secuenciales (aplicaciones)

compone de 2 elementos principales: Estados y


Transiciones.
Estados: Un estado representa el comportamiento de
un elemento que hace algo durante cierto tiempo.

Semntica: Los nodos representan los posibles


estados de aquello que se desea modelar. Las
etiquetas representan eventos que provocan un
cambio. Las aristas determinan de qu manera cada
estado, dado un evento, deriva en otro estado.

Se representa los estados con rectngulos. Y si se


quiere especificar lo que se hace mientras se
encuentre dentro de ese estado, se hace entre llaves.
Transicin: Una transicin es el paso de un estado
de origen a otro de destino. Tiene siempre asociada
una condicin y puede requerir la ejecucin de
alguna accin.
Las transiciones se representan con una flecha a la
que se aade una lnea horizontal. La flecha va del
estado de origen al estado destino de la transicin.
Encima de esa lnea se coloca la condicin que
desencadena la transicin. Debajo de la lnea
colocaremos las acciones que se quiere que se
ejecuten en cada transicin.

Figura 2. Esquema de una mquina tipo semntica

Trazas: El conjunto de posibles trazas


correspondientes a una mquina de estado finitos, se
puede definir en trmino de grafos, cmo el conjunto
de todos los caminos (de ejes) alcanzables desde el
estado inicial.

Las acciones que se asocian a una transicin se


ejecutan solo una vez al principio del estado de
destino. Las acciones que se asocian a un estado se
ejecutan siempre que se permanezca en ese estado.
Punto de inicio: Adems de estados y transiciones se
encuentra siempre con un punto de inicio que seala
cual es el estado inicial y si se tuvieran que ejecutar
algunas acciones al entrar por primera vez en ese
estado. El punto de inicio se representa con un
crculo.
Punto de fin: Opcionalmente se puede encontrar con
otro crculo, que representa el final de la ejecucin de
la mquina de estados.

Figura 3. Esquema de una mquina tipo trazas

Deadlock: Formalmente hablando, una FSM tiene


deadlock, si existe algn nodo s S , tal que no existen un
evento e y un nodo t S tal que (s, e, t)A . En otras
palabras, si existe algn nodo que no posea salida para
ningn evento.

Figura 1. Esquema de una mquina de estados


Figura 3. Esquema de una mquina tipo Deadlock

Algunos tipos de mquinas de estados son:

Universidad Pedaggica y Tecnolgica de Colombia. Circuitos combinatorios y secuenciales (aplicaciones)

3. ELEMENTOS Y EQUIPOS NECESARIOS

Software Quartus II versin 9.0 Altera.


Computador personal.
Tarjeta de desarrollo DE1 o DE2 de Terasic.
4. PROCEDIMIENTO

Ejercicio 4. Proceso industrial (2).


Un proceso industrial qumico, est compuesto por
una lnea de produccin en la que mltiples
actuadores y sensores intervienen. La representacin
del proceso es el que muestra la figura 6.

Los elementos B1 a B3 representan bombas On- Off


para transportar los materiales por las tuberas y son
activadas por un nivel bajo. Los elementos L1 a L5
representan sensores de nivel On-Off, de la misma
forma los elementos P1 y P2 son sensores de presin
On-Off. Los elementos V1 a V5 son vlvulas On-Off
normalmente abiertas por lo que son activadas por un
nivel bajo, los elementos M1 a M3 son actuadores
On-Off, por ultimo S1 es un sensor.

Como se muestra en la Figura 06, el proceso inicia


con la activacin de las bombas B1 y B2 que
inyectan qumicos al tanque principal, una vez se ha
activado el sensor L1 de nivel alto, se deben
desactivar las bombas B1 y B2.
Luego de 10 segundos se debe activar el actuador V1.
Una vez el sensor de nivel alto L2 este activo, se
deben activar los motores M1 y M2. Luego de 10
segundos, se activa el actuador V2 hasta que el
sensor de nivel bajo L3 este inactivo.
Una vez en el horno que se encuentra siempre activo,
se procede a espera a que uno de los sensores de
presin se active. Si se activa el sensor P1 que
corresponde a alta presin, se activa el actuador V4,
sin embargo, si se desactiva el sensor P2
correspondiente a baja presin se debe activar el
actuador V3 para expulsar el material y reiniciar el
proceso desde cero.
Si se activa el actuador V4, tambin se debe activar el
actuador V5 de la torre de enfriamiento. Luego de 10
segundos, se debe activar la bomba B3 solo hasta que
se active el sensor L4 de nivel alto. Por ltimo, una
vez activo el sensor L4 y si el sensor S1 es activado,
se debe accionar el motor M3 hasta que el elemento
L5 se desactive. Posteriormente se debe reiniciar el
proceso de carga del tanque principal.
Se debe presentar el espacio de estados usado en la
implementacin, as como la simulacin en Quartus
II y la verificacin de su correcto funcionamiento
sobre la Tarjeta DE1 o DE2.
5. DESARROLLO DE LA PRCTICA.

Figura 4. Esquema del proceso industrial (ejercicio 4).

Como primera medida antes de resolver el problema


planteado, hay que tener en cuenta que una vez
diseado el cdigo en VHDL, se tendr que
comprobar el funcionamiento de este mediante la
FPGA. Ahora para empezar con el anlisis, lo
primero es determinar las entradas y las salidas del
proceso. Las entradas sern los sensores mencionados
a continuacin.

Universidad Pedaggica y Tecnolgica de Colombia. Circuitos combinatorios y secuenciales (aplicaciones)

Sensores de nivel On-Off: L1, L2, L3, L4 Y L5

Las salidas para este sistema son:

S1
S1
S2
S2
S3
S3
S4
S4
S5
S5
S5
S6
S6
S7
S7
S8

S8

Bombas: B1, B2 y B3 (activadas por nivel bajo).

S8

S9

S9
S9
S10
S10

S9
S10
S0
S10

Sensores de presin On-Off: P1 y P2.


Sensor: S1
Adems de acuerdo al enunciado del problema
tambin se asigna como entrada un conteo de 10
segundos c1 que tambin ser una condicin para el
cambio entre estados. Por otra parte como en algunos
estados no hay condicin para pasar al siguiente
(estado inicial), entonces para efecto de
la
visualizacin del estado en cuestin en los leds de la
FPGA, se agrega otro conteo c2 esta vez ms corto,
de 4 segundos, por lo que esta ser otra condicin
para el cambio entre estados.

Vlvulas On-Off: V1, V2, V3, V4 y V5 (activadas


por nivel bajo).
Actuadores On-Off: M1, M2 y M3.

S1
S2
S2
S3
S3
S4
S4
S5
S5
S6
S7
S6
S8
S0
S7

!c1
c1
!L2
L2
!c1 or !L3
c1 and L3
L3
!L3
!P1 and P2
P1
!P2
!c1 or !L4
c1 and L4
c2
!c2
!S1 or !L4 or
!L5
S1 and L4 and
L5
L5
!L5
c2
!c2

Tabla N2 .Transiciones entre estados

De acuerdo a lo anterior y analizando la descripcin


del proceso, las condiciones entre etapas de
produccin, sensores y salidas, se deduce que en total
son 11 estados que se definirn como: S0, S1, S2, S3,
S4, S5, S6, S7 S8, S9, S10. A continuacin en la
tabla N1 se muestran las salidas para cada estado o
etapa de produccin, cabe recordar que tanto vlvulas
como actuadores se activan por un nivel bajo (0),
adems la salida CL que se muestra, ser en realidad
una seal de tipo lgico en VHDL para indicar, en
qu estados habr un conteo de segundos.

Con las dos tablas de datos mencionadas


anteriormente, se procede a realizar el esquema de la
mquina de estados tal como se muestra en la figura
5.
Considerndose el esquema mencionado, el siguiente
paso es disear el cdigo en VHDL en el Software
Quartus II versin 9.0 de Altera, para tal fin se define
primero la entidad, en la que irn incluidos todos los
sensores, las bombas, las vlvulas, los actuadores,
una seal de reloj (clk) y adems un habilitador
(enable) el cual permitir el paso de un estado a otro
y pausar el conteo en segundos.
En cuanto a la arquitectura se realiza por una parte un
proceso para un divisor de frecuencia de 1Hz para el
conteo por segundo mencionado.

Tabla N1. Salidas para cada estado

Ahora teniendo en cuenta la tabla anterior, se


describen en la tabla N2 las condiciones entre
estados deducidas para este proceso qumico.
Estado actual

Estado
siguiente

Condicin

S0
S0

S0
S1

!L1
L1

Tambin otro proceso para un contador de 0 a 9 (10


segundos, tomndose en cuenta el 0), dicho
contador iniciar su cuenta desde 0 en el estado en el
cual haya una seal (signal) de tipo lgico CL de
valor 1 para contar hasta 9 (c1) o hasta 3 (c2)
dependiendo de la condicin de transicin que se
asigne en cada estado, mirando la tabla N1, esto se
presentar en los estados S1, S3, S6, S7 y S10; por
otra parte si la condicin dicha no se cumple, la
cuenta ser igual a 0 (no se inicia el conteo), por lo
que el cambio de estado depender solamente de los
sensores, aunque tambin se combinan los dos casos

Universidad Pedaggica y Tecnolgica de Colombia. Circuitos combinatorios y secuenciales (aplicaciones)

es decir tenindose en cuenta la salida para el conteo


y la activacin de los sensores, de la manera como se
describe en la tabla 2.
Por otra parte se realiza en si el proceso de la
mquina de estados mostrada en la figura 5, con las
salidas en cada estado (tabla N1) y las condiciones

para las transiciones incluyndose las seales para


las cuentas (tabla N2). Adems como es habitual en
diseos de mquinas de estados, se fija por ltimo un
proceso para el cambio del estado actual a estado
futuro.

Figura. 5. Esquema final de la mquina de estados para el proceso industrial qumico

Luego de disear el cdigo en VHDL, se realiza el


anlisis comprobndose el correcto funcionamiento
de la mquina de estados mediante la lnea de tiempo
con el Vector Waveform File, como se muestra en la
figura 6. Para efecto de visualizacin, se asigna al
cdigo temporalmente en el contador, la seal de
entrada clk en lugar de la del divisor de frecuencia,
debido a que esta se da cada 25,000,000 de flancos.

A continuacin se procede a realizar el anlisis de


tiempo y de potencia, tal como se muestra en las
figuras 8 y 9.

Figura 8. Anlisis de tiempos para el proceso industrial

Figura 6. Anlisis en lnea tiempo del sistema con Vector


Waveform File

Adems se muestra en la figura 7 el State Machine


Viewer, para el cdigo diseado.

Figura 9. Anlisis de potencia para todo el sistema

6. CONCLUSIONES
[1] Es importante adquirir destreza en el manejo de
las mquinas de estado en VHDL, debido al uso
que se le dio en este caso, para un proceso
industrial qumico, es decir tener en cuenta la
sintaxis o el nmero de proceso requeridos, o si
requiere de un contador, entre otros.
Figura 7. Diagrama mquinas de estado (Quartus II)

Universidad Pedaggica y Tecnolgica de Colombia. Circuitos combinatorios y secuenciales (aplicaciones)

[2] Para el desarrollo de este planteamiento, se


requirieron 4 procesos, uno para el divisor de
frecuencia, otro para el contador y 2 para la
parte de mquina de estados. Adems de un
habilitador que permite el paso de un estado a
otro y pausa el conteo en segundos.
[3] De acuerdo a la tabla N1 se observa que en total
se obtienen once (11) estados para la mquina,
en los cuales transita el proceso industrial. Sin
embargo se observa que aunque dos estados se
repiten, en realidad no es posible eliminarlos, ya
que se trata de una secuencia fija, y por tanto
aunque tengan salidas iguales, las condiciones
de las transiciones son diferentes y los estados
futuros a los que pasar cada uno tambin lo
son.
[4] Se comprob mediante Vector Waveform File el
funcionamiento del sistema, una vez que se vio
que era lo que se esperaba, se visualiz en la
FPGA, asignndose las salidas como leds y los
sensores como interruptores.
[5] Fue necesario el uso de una seal de tipo lgico,
para controlar en cuales estados deba haber un
conteo, en este caso se utilizaron dos tiempos
uno de 10 segundos y otro de 4.

7. REFERENCIAS
[1] J. F. Wakerly. Digital Design. Principles and

Practices. 4 Edition. Ed. Prentice Hall, 2005.


[2] T.L. Floyd, Digital Fundamentals, 9th Edition,

Prentice Hall, 2006.


[3] James O. Hamblen, Tyson S. Hall, Michael D.

Furman. Rapid prototyping of digital systems.


Springer 2005.
[4] Peter J. Ashenden. The VHDL Cookbook. First

Edition. Department of Computer Science.


University of Adelaide. South Australia. 1990.
[5] Douglas L. Perry. Programming by Example.

Fourth Edition. Mc Graw Hill 2002.


[6] Alteras web page. www.altera.com
[7] ftp://ftp.unicauca.edu.co/Facultades/FIET/DEIC/

Materias/SEDS/Material%20Auxiliar/FSM.pdf
[8] http://creaciodigital.upf.edu/~smiguel/b13maquin

aEstados.htm

[9] Alteras FPGA development boards DE1 and

DE2,
User
manuals.
Available
www.altera.com and www.terasic.com

at

También podría gustarte