Кодирование внутренних состояний триггеров в соответствии с заданием

Поставим в соответствие каждому внутреннему состоянию автомата комбинацию состояния триггеров:

Q t At Q3 Q2 Q1
a0
a1
a2
a3
a4
a5
a6
a7

Кодирование наборов входных переменных.

Определяем необходимое количество двоичных входных переменных автомата:

Из таблицы переходов и выходов конечного автомата определяем, что входных наборов должно быть 3 : Х1,X2, Х3.

2n>=M, где n-число двоичных входных переменных, M-число входных наборов.

2n>=3, n=2

Чтобы задать 3 входных набора, необходимо иметь 2 входные двоичные переменные х21.

Выполним кодирование входных наборов:

x t X t x2 x1
X1
X2
X3
--

9. Разработка схемы управления JK-триггерами в соответствии с таблицей переходов,

а также таблицами кодирования состояний и наборов входных переменных.

Используя характеристическую таблицу для JK-триггеров и таблицу переходов для конечного автомата, а также таблицу для кодирования входных наборов переменных составим карты Карно для входов триггеров:

J1,K1,J2,K2,J3,K3.

Затем найдём функции управления (возбуждения) для входов триггеров:J1,K1,J2,K2,J3,K3 по этим картам в виде МДНФ, как:

J1=f1(Q3 Q2 Q1 х2 х1 );

K1=f2(Q3 Q2 Q1 х2 х1 );

J2=f3(Q3 Q2 Q1 х2 х1 );

K2=f4(Q3 Q2 Q1 х2 х1 );

J3=f5(Q3 Q2 Q1 х2 х1 );

K3=f6(Q3 Q2 Q1 х2 х1 );

Карта Карно для J1:

  X1 X2   X3
х2 t х1 t Q3t Q2t Q1t  
a0(000) --  
a1(001) * * -- *  
a3(011) * * -- *  
a2(010) --  
a6(110) --  
a7(111) * * -- *  
a5(101) * * -- *  
a4(100) --  

После минимизации по карте Карно:

J1= х1 Q3 v Q2 х1 v х1 Q3 Q2

Карта Карно для K1:

  X1 X2   X3
х2 t х1 t Q3t Q2t Q1t  
a0(000) * * -- *  
a1(001) --  
a3(011) --  
a2(010) * * -- *  
a6(110) * * -- *  
a7(111) --  
a5(101) --  
a4(100) * * -- *  

После минимизации по карте Карно:

K1= х1 Q2 v х2 Q3

Карта Карно для J2:

  X1 X2   X3
х2 t х1 t Q3t Q2t Q1t  
a0(000) --  
a1(001) --  
a3(011) * * -- *  
a2(010) * * -- *  
a6(110) * * -- *  
a7(111) * * -- *  
a5(101) --  
a4(100) --  

После минимизации по карте Карно:

J2= х2 Q3 Q2 Q1 v х2 Q3 Q2 Q1 v х1 Q2 Q1

Карта Карно для K2:

  X1 X2   X3
х2 t х1 t Q3t Q2t Q1t  
a0(000) * * -- *  
a1(001) * * -- *  
a3(011) --  
a2(010) --  
a6(110) --  
a7(111) --  
a5(101) * * -- *  
a4(100) * * -- *  

После минимизации по карте Карно:

K2= х2 Q3 v х1 Q3 Q1 v х2 Q2 Q1

Карта Карно для J3:

  X1 X2   X3
х2 t х1 t Q3t Q2t Q1t  
a0(000) --  
a1(001) --  
a3(011) --  
a2(010) --  
a6(110) * * -- *  
a7(111) * * -- *  
a5(101) * * -- *  
a4(100) * * -- *  

После минимизации по карте Карно:

J3= х2 Q1 v х2 Q2

Карта Карно для K3:

  X1 X2   X3
х2 t х1 t Q3t Q2t Q1t  
a0(000) * * -- *  
a1(001) * * -- *  
a3(011) * * -- *  
a2(010) * * -- *  
a6(110) --  
a7(111) --  
a5(101) --  
a4(100) --  

После минимизации по карте Карно:

K3= Q2 Q1 v х2 Q1 v Q2 Q1 v Q2 х2

Временная диаграмма для блока 1(схемы управления) и блока 2(блока элементов памяти) конечного автомата, выполненного на JK-триггерах.

ТИ Qt Q t+1                  
х2  
х1  
J1  
K1  
J2  
K2  
J3  
K3  
Q1
Q2
Q3

11. Разработка схемы управления D-триггерами в соответствии с таблицей переходов,

а также таблицами кодирования состояний и наборов входных переменных.

Используя характеристическую таблицу для D-триггеров и таблицу переходов для конечного автомата, а также таблицу для кодирования входных наборов переменных составим карты Карно для входов триггеров:

D1,D2,D3.

Затем найдём функции управления (возбуждения) для входов триггеров: D1,D2,D3 по этим картам в виде МДНФ, как:

D1= f1(Q3 Q2 Q1 х2 х1 );

D2=f2(Q3 Q2 Q1 х2 х1 );

D3=f3 (Q3 Q2 Q1 х2 х1 );

Карта Карно для D1:

  X1 X2   X3
х2 t х1 t Q3t Q2t Q1t  
a0(000) --  
a1(001) --  
a3(011) --  
a2(010) --  
a6(110) --  
a7(111) --  
a5(101) --  
a4(100) --  

После минимизации по карте Карно:

D1= х1 Q3 Q2 Q1 v х2 Q2 Q1 v х1 Q1 v Q3 Q2 Q1 v х1 Q2 v х1 Q3

Карта Карно для D2:

  X1 X2   X3
х2 t х1 t Q3t Q2t Q1t  
a0(000) --  
a1(001) --  
a3(011) --  
a2(010) --  
a6(110) --  
a7(111) --  
a5(101) --  
a4(100) --  

После минимизации по карте Карно:

D2= х1 Q2 Q1 v х2 Q3 Q2 Q1 v х2 Q3 Q1 v х2 х1 Q2 v Q3 Q2 Q1 v Q2 Q1 х2 v Q3 Q2 х2

Карта Карно для D3:

  X1 X2   X3
х2 t х1 t Q3t Q2t Q1t  
a0(000) --  
a1(001) --  
a3(011) --  
a2(010) --  
a6(110) --  
a7(111) --  
a5(101) --  
a4(100) --  

После минимизации по карте Карно:

D3= х2 Q2 Q1 v Q3 Q2 Q1 v х2 Q2 Q1 v х2 Q3 Q1 v Q3 Q2 х2

Временная диаграмма для блока 1(схемы управления) и блока 2(блока элементов памяти) конечного автомата, выполненного на D-триггерах.

ТИ Qt Q t+1                  
х2  
х1  
D1 1  
D2  
D3  
Q1
Q2
Q3

Разработка схемы , реализующей наборы выходных сигналов конечного автомата.

Составим , согласно таблице переходов и выходов конечного автомата, таблицу выходов автомата:

xt At X1 X2 X3
a0 Y1 Y2 Y1
a1 Y2 Y1 Y2
a2 Y1 Y2 Y3
a3 Y3 Y1 Y1
a4 Y1 Y3 Y2
a5 Y2 Y1 Y3
a6 Y3 Y2 Y1
a7 Y1 Y3 Y1

Число двоичных выходных переменных n определяется выражением:

2n>=N, где N-количество наборов выходных сигналов автомата (определяем из таблицы выходов автомата).

2n>=3; n=2

Для того , чтобы закодировать 3 набора выходных сигналов понадобится 2 двоичных выходных переменных(y2,y1).

Так как автомат Мили имеет импульсный выход, то один из наборов выходных сигналов появляется на выходе автомата только на время присутствия синхроимпульса СИ. Во время паузы между синхроимпульсами ни один из наборов выходных сигналов присутствовать на выходе не должен. В это время на выходе автомата должен формироваться пустой сигнал <<е>>.Следовательно, выходные наборы сигналов автомата нужно дополнить пустым сигналом <<е>>.

Проведём кодирование наборов выходных сигналов автомата:

y t Y t y2 y1  
e сигнал на синхровходе 0
Y1 сигнал на синхровходе 1
Y2 сигнал на синхровходе 1
Y3 сигнал на синхровходе 1

В соответствии с таблицей выходов автомата составим карты Карно для выходных переменных y2,y1:

y2,y1 X1 X2   X3
х2 t х1 t Q3t Q2t Q1t  
a0(000) --  
a1(001) --  
a3(011) --  
a2(010) --  
a6(110) --  
a7(111) --  
a5(101) --  
a4(100) --  

Составим карту Карно отдельно для выходной переменной y2:

  X1 X2   X3
х2 t х1 t Q3t Q2t Q1t  
a0(000) --  
a1(001) --  
a3(011) --  
a2(010) --  
a6(110) --  
a7(111) --  
a5(101) --  
a4(100) --  

После минимизации по карте Карно:

y2= х1 Q2 Q1 v х1 Q3 Q2 v х2 Q3 Q2 Q1 v х2 Q3 Q2 Q1 v х1 Q2 Q1 v х2 Q3 Q2 v х1 Q2 Q1 v

v х2 х1 Q3 Q1

Для корректной работы все члены МДНФ необходимо умножить на СИ:

y2= х1Q2Q1C v х1Q3Q2 C v х2 Q3Q2 Q1C v х2Q3Q2 Q1 C v х1Q2Q1 Cv х2Q3Q2 Cv

v х1 Q2 Q1 C v х2 х1 Q3 Q1C

Составим карту Карно отдельно для выходной переменной y1:

  X1 X2   X3
х2 t х1 t Q3t Q2t Q1t  
a0(000) --  
a1(001) --  
a3(011) --  
a2(010) --  
a6(110) --  
a7(111) --  
a5(101) --  
a4(100) --  

После минимизации по карте Карно:

y1= Q2 Q1 v Q2 х1 v х1 Q1 v х2Q3 Q1 v х1Q3Q2 v х2 Q3Q2 Q1 v х2 х1 Q2 Q1 v х1 Q3Q2 Q1

Для корректной работы все члены МДНФ необходимо умножить на СИ:

y1= Q2Q1C v Q2х1Cv х1Q1C v х2Q3Q1C v х1Q3Q2C v х2Q3Q2Q1C v х2 х1Q2Q1C v

v х1Q3Q2 Q1C

Наши рекомендации