15
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Universidad del Perú Decana de América FACULTAD DE INGENIERIA ELÉCTRICA Y ELECTRÓNICA Informe N° 5 Tema: Máquinas de estado finito Alumno: Espinoza Quispe, Roger 10190221 Profesor: Alarcón Matutti Ruben Horario: Martes 4:00 – 7:00 pm 2015-II

LAB05-EspinozaQuispeRoger-10190221.docx

Embed Size (px)

Citation preview

Page 1: LAB05-EspinozaQuispeRoger-10190221.docx

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

Universidad del Perú Decana de América

FACULTAD DE INGENIERIA ELÉCTRICA Y ELECTRÓNICA

Informe N° 5

Tema: Máquinas de estado finito

Alumno:

Espinoza Quispe, Roger 10190221

Profesor: Alarcón Matutti Ruben

Horario: Martes 4:00 – 7:00 pm

2015-II

Page 2: LAB05-EspinozaQuispeRoger-10190221.docx

A) Revisar el ejemplo 8051Traffic.sch- Buscar en internet información sobre la arquitectura del microprocesador de INTEL

8051.

Se trata de un microcontrolador de 8 bit, internamente su memoria está dividida en dos:Para programar: 4Kx8bits del tipo ROMPara los datos: 128x8bits del tipo RAM

Está compuesto por 4 controladores de Puerto:Port 0 Drivers: de 8 bits de canal abierto bidireccional I/O.Port 1 Drivers: de 8 bits bidireccional I/O con pull ups internos.Port 2 Drivers: de 8 bits bidireccional I/O con pull ups internos.Port 3 Drivers: de 8 bits bidireccional I/O con pull ups internos.Reset:Entrada de reset. En estado alto en este pin durante dos ciclos de la máquina, mientras que el oscilador está funcionando restablece el dispositivo.ALE/PROG:

Page 3: LAB05-EspinozaQuispeRoger-10190221.docx

Dirección Latch Enable impulso de salida para enganchar el byte bajo de la dirección durante los accesos a memoria externa. En ALE funcionamiento normal se emite a una velocidad constante de (/ 6 la frecuencia del oscilador, y se puede utilizar para medir el tiempo externo o fines de reloj. Tenga en cuenta, sin embargo, que un pulso ALE se salta durante una visita a la memoria de datos externa.PSEN:Programa tienda Habilitar es el estroboscópico de lectura a la memoria de programa externo. Cuando el dispositivo se está ejecutando código de la memoria de programa externo, PSEN se activa dos veces cada ciclo de la máquina, excepto que dos activaciones PSEN se omiten durante una visita a la memoria de datos externa.EA/Vpp:EA permite acceso externo debe ser atado a VSS con el fin de permitir que cualquier dispositivo MCS 51 microcontrolador a buscar código desde ubicaciones de memoria de programa externo 0 a 0FFFH (0 a 1FFFH, en el 8032AH y 8052AH).XTAL1:Entrada inversora del amplificador Oscilador.XTAL2:Salida inversora del amplificador Oscilador.

Éste microcontrolador está basado en la Arquitectura Harvard (es decir, existen espacios de direcciones separados para código y datos). Aunque originariamente fue diseñado para aplicaciones simples, se permite direccionar 64 KB de ROM externa y 64 KB de RAM por medio de líneas separadas chip select para programa y datos.

Adicionalmente, el microcontrolador contiene una memoria interna, dividida en dos partes: los SFR y memoria de propósito general. Los SFR (Special Function Registers), son los registros proporcionados por el microcontrolador, y tienen asignadas direcciones en esta memoria interna. El acceso a esta memoria interna es más rápido que el acceso a la memoria externa, pero es de tamaño limitado. Parte de esta memoria interna además se usa como pila durante las llamadas a función y el proceso de interrupciones.

Una característica particular del 8051 es la inclusión de una unidad de proceso booleano que permite que operaciones de nivel de bit lógica booleana se ejecuten directa y eficientemente en registros internos. Esto ha hecho que el 8051 sea muy popular en aplicaciones de control industrial.

Otra característica muy valorada es que tiene cuatro conjuntos separados de registros. A menudo se usa esta característica para reducir la latencia de interrupción. (La rutina que maneja la interrupción declara usar otro conjunto de registros, evitándose de esta manera tener que salvar en la pila los registros originales).

La mayoría de los 8051 incluyen una o dos UARTs, dos o tres temporizadores, 128 o 256 bytes de RAM interna (16 bytes de los cuales son direccionables a nivel de

Page 4: LAB05-EspinozaQuispeRoger-10190221.docx

bit), cuatro o cinco registros de entrada/salida y entre 0k-54K de memoria interna de programa. El núcleo 8051 original ejecuta un ciclo máquina cada 12 ciclos de reloj, requiriendo la mayoría de instrucciones uno o dos ciclos máquina. Pero actualmente la mayoría de fabricantes ofrecen versiones mejoradas que solo requieren de 2 a 4 ciclos de reloj por cada instrucción máquina.

Los microcontroladores 8051 modernos ofrecen muchas mejoras sobre el original. Mejoras comunes incluyen watchdog timers (un temporizador programable que "resetea" el microcontrolador si no se refresca en cierto tiempo), osciladores internos, memoria de programa Flash ROM interna, código de inicialización en ROM, almacenamiento en EEPROM interna, I²C, SPI, USB, generadores PWM, conversores analógicos A/D y D/A, relojes de tiempo real RTC, temporizadores y contadores extra, facilidades de depuración internas, más fuentes de interrupción, modos de bajo consumo, interfaz CAN, etc.

- Describir y hacer un diagrama de flujo de la programación del ejemplo indicado.

Page 5: LAB05-EspinozaQuispeRoger-10190221.docx

SE CARGA EL PROGRAMA EN

ASSEMBLY

1º CASOV1=V2=URG="0"

SE ACTIVAN P3p2 Y P3p7

2º CASOV1="1" V2=URG="0"

SE ACTIVAN SECUENCIALMENTE SOLO EN UN CICLO:

P3p2, P3p3, P3p4, P3p5

3º CASOV2="1" V1=URG="0"

IGUAL QUE EL 1º CASO

4º CASOV1=V2="1" URG="0"

SE ACTIVAN LIGHT 1 Y 2 SECUENCIALMENTE

5º CASOV1=V2=URG="1"

SE SCTIVAN INTERMITENTES

P3p3 Y P3p6

SE ACTIVA EL uPROCESADOR

PONIENDO EN ESTADO ALTO EL PIN RST.

Se trata de un semáforo.

Page 6: LAB05-EspinozaQuispeRoger-10190221.docx

B)

Page 7: LAB05-EspinozaQuispeRoger-10190221.docx

C) En la figura, por la línea de entrada serie “Y” llegan datos de 0 a 9 en código BCD natural empezando con el bit menos significativo. Considerar que siempre se tiene un primer bit igual a “uno” para indicar el comienzo de cada dato BCD y cuando no llegan datos la entrada permanece en “cero”. La salida Z debe ponerse a “uno” si a la entrada llega alguna combinación que no pertenezca al código BCD. Diseñar el circuito FSM secuencial síncrono, definir su diagrama de estados.

q4

x/0

q6

q1

q2

q3

q5

q0

q7

0/0 1/0

x/0

1/0

0/0

x/0

0/0

1/1

1/0

x/0

0/0

Page 8: LAB05-EspinozaQuispeRoger-10190221.docx

0 1q0

q0/0 q1/0

q1

q2/0 q2/0

q2

q3/0 q4/0

q3

q5/0 q6/0

q4

q6/0 q6/0

q5

q0/0 q0/0

q6

q0/0 q0/1

q7

q0/0 q0/0

Q3n Q2n Qn Y Z D3 D2 D1 Q3n+1 Q2n+1 Qn+1

q00 0 0 0 0 0 0 0 0 0 00 0 0 1 0 0 0 1 0 0 1

q10 0 1 0 0 0 1 0 0 1 00 0 1 1 0 0 1 0 0 1 0

q20 1 0 0 0 0 1 1 0 1 10 1 0 1 0 1 0 0 1 0 0

q30 1 1 0 0 1 0 1 1 0 10 1 1 1 0 1 1 0 1 1 0

q41 0 0 0 0 1 1 0 1 1 01 0 0 1 0 1 1 0 1 1 0

q51 0 1 0 0 0 0 0 0 0 01 0 1 1 0 0 0 0 0 0 0

q61 1 0 0 0 0 0 0 0 0 01 1 0 1 1 0 0 0 0 0 0

q71 1 1 0 0 0 0 0 0 0 01 1 1 1 0 0 0 0 0 0 0

00 01 11 1000 0 0 0 001 0 1 1 111 0 0 0 010 1 1 0 0

D 3=Q 3n .Q2n .Qn+Q 3n .Q2n .Y +Q 3n.Q 2n .Qn

D 3=Q 3n .Q2n .Qn+Q 3n .Q2n .(Y +Qn)

00 01 11 10

Page 9: LAB05-EspinozaQuispeRoger-10190221.docx

00 0 0 1 101 1 0 1 011 0 0 0 010 1 1 0 0

D 2=Q 3n .Q 2n .Qn .Y+Q3n .Q 2n .Qn+Q3n .Qn.Y +Q 3n .Q 2n .Qn

D 2=Q 3n .Q 2n .Qn .Y+Q3n .Q 2n .Qn+Q3n .Qn.(Y +Q2n)

00 01 11 1000 0 1 0 001 1 0 0 111 0 0 0 010 0 0 0 0

D 1=Q 3n .Q 2n .Qn .Y +Q3n .Q 2n .Y

D 1=Q 3n .(Q 2n.Qn.Y +Q 2n .Y )

00 01 11 1000 0 0 0 001 0 0 0 011 0 1 0 010 0 0 0 0

Z=Q 3n.Q 2n .Qn .Y

Page 10: LAB05-EspinozaQuispeRoger-10190221.docx

X=1/S=0

X=1/S=0

X=0/S=0

X=0/S=0

X=1/S=1

X=0/S=0

X=1/S=0

X=0/S=0

2) Diseñe un circuito secuencial síncrono FSM cuya salida sea 1 cuando en su entrada se presente la secuencia 101. Use FF-D.

Mapas de Karnaugh

D1=Qn.Q 2n .X + Qn.Q 2n .X

QnQ2n\X 0 100 0 001 1 011 0 010 1 0

00

01

10

11

Qn Q2n X Qn+1 Q2n+1 D1 D2 S0 0 0 0 0 0 0 00 0 1 0 1 0 1 00 1 0 1 0 1 0 00 1 1 0 1 0 1 01 0 0 1 0 1 0 01 0 1 0 0 0 0 11 1 0 0 0 0 0 01 1 1 0 0 0 0 0

Page 11: LAB05-EspinozaQuispeRoger-10190221.docx

D2=Qn. X

QnQ2n\X 0 100 0 101 0 111 0 010 0 0

S=Qn.Q 2n .X

QnQ2n\X 0 100 0 001 0 011 0 010 0 1

Implementando el circuito