Problema #1: (x%)
La siguiente Maquina Secuencial Sincrónica (MSS) funciona como un encoder óptico que permite detectar la dirección de giro de un motor, para este propósito, cuenta con dos sensores (Sensor_1 y Sensor_2), tal como se muestra en la siguiente figura:
Cada sensor tiene un pull-down que hace que la señal permanezca en un estado lógico bajo, solo cuando el rotor del motor realizar un giro completo cada sensor cambia a un estado lógico alto, este comportamiento y dado el posicionamiento de los sensores Sensor_1 y Sensor_2 permite generar el patrón mostrado a continuación:
La MSS cuenta con dos entradas Sensor_1 y Sensor_2, además cuenta con dos salidas clockwise y anti_clockwise, tal como se muestra en la siguiente figura:
El funcionamiento de esta MSS que funciona como encoder óptico se describe con el siguiente código VHDL:
Se pide presentar:
a) Los mapas de Karnaugh que describen los decodificadores de estados siguientes y salidas. Utilizando la siguiente asignación de códigos de estado y formatos:
b) El diagrama de estados.
c) Implementar la maquina secuencial utilizando la memoria EPROM M2732A, que tiene la palabra de código de programa de ocho bits.
1. vasanza
SISTEMAS DIGITALES II
EXAMEN 1P (C1-C3)
Fecha: 2020/12/02 PAO2 2020-2021
Nombre: _________________________________________________ Paralelo: __________
Problema #1: (x%)
La siguiente Maquina Secuencial Sincrónica (MSS) funciona como un encoder óptico que permite detectar
la dirección de giro de un motor, para este propósito, cuenta con dos sensores (Sensor_1 y Sensor_2), tal
como se muestra en la siguiente figura:
Cada sensor tiene un pull-down que hace que la señal permanezca en un estado lógico bajo, solo cuando el
rotor del motor realizar un giro completo cada sensor cambia a un estado lógico alto, este comportamiento
y dado el posicionamiento de los sensores Sensor_1 y Sensor_2 permite generar el patrón mostrado a
continuación:
La MSS cuenta con dos entradas Sensor_1 y Sensor_2, además cuenta con dos salidas clockwise y
anti_clockwise, tal como se muestra en la siguiente figura:
2. vasanza
El funcionamiento de esta MSS que funciona como encoder óptico se describe con el siguiente código
VHDL:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity MSS is
port( clk,resetn: in std_logic;
Sensor_1,Sensor_2: in std_logic;
clockwise,anti_clockwise: out std_logic);
end MSS;
architecture comportamiento of MSS is
type estado is (A,B,C,D,E,F,G,H);
signal y: estado;
begin
--Decodificador de estados siguientes y
--Memoria de estados
process(resetn,clk)
begin
if resetn='0' then y<=A;
elsif (clk'event and clk='1')then
case y is
when A => if Sensor_1='1' and Sensor_2='0' then y<=B;
elsif Sensor_1='0' and Sensor_2='1' then y<=E;
else y<='A';end if;
when B => if Sensor_1='0' and Sensor_2='0' then y<=C;
else y<='B';end if;
when C => if Sensor_1='0' and Sensor_2='1' then y<=D;
else y<='C';end if;
when D => if Sensor_1='0' and Sensor_2='0' then y<=A;
else y<='D';end if;
when E => if Sensor_1='0' and Sensor_2='0' then y<=F;
else y<='E';end if;
when F => if Sensor_1='1' and Sensor_2='0' then y<=G;
else y<='F';end if;
when G => if Sensor_1='0' and Sensor_2='0' then y<=A;
else y<='G';end if;
end case;
end if;
end process;
--Decodificador de salidas modelo MOORE
clockwise <='1' when y=D else '0';
anti_clockwise <='1' when y=G else '0';
end comportamiento;
3. vasanza
Se pide presentar:
a) Los mapas de Karnaugh que describen los decodificadores de estados siguientes y salidas.
Utilizando la siguiente asignación de códigos de estado y formatos:
Decodificador de Estados Siguientes: 𝒀 𝟐, 𝒀 𝟏, 𝒀 𝟎
y0y2y1 00 01 11 10
0
1
Decodificador de Salidas: clockwise, anti_clockwise
y0y2y1 00 01 11 10
0
1
b) El diagrama de estados.
c) Implementar la maquina secuencial utilizando la memoria EPROM M2732A, que tiene la palabra
de código de programa de ocho bits.
Resolución:
a)
b)
Asignación de Códigos de Estado.
y0y2y1 00 01 11 10
0 A B C D
1 E F G H