Układy sekwencyjne asynchroniczne
Technika Cyfrowa 1 – Wykład 11
Automaty asynchroniczne stosuje się najczęściej w układach automatyki, gdzie układ powinien natychmiast zareagować na kaŜdą zmianę słowa wejściowego, a nie tylko na zmianę zaistniałą w chwilach czasowych dr inŜ. Sławomir Sambor
wyznaczonych taktem sygnału zegarowego
slawomir.sambor@pwr.wroc.pl
Proces projektowania automatów asynchronicznych jest trudniejszy, wymaga ITA, budynek C-5 pokój 708,
uwzględnienia pewnych niekorzystnych zjawisk, które mogą zakłócić Tel. 0 71 320 30 78
prawidłową pracę automatu.
Te zjawiska to:
http://zstux.ita.pwr.wroc.pl/slawek/
– wyścigi
– hazard (omówiony przy rozpatrywaniu układów kombinacyjnych) 1
Tablica przejść automatu asynchronicznego
Tablica przejść automatu asynchronicznego
Tablica przejść równieŜ opisuje przejścia pomiędzy stanami.
Automaty asynchroniczne mogą być, podobnie jak automaty synchroniczne, automatami typu Moore'a i automatami typu Mealy'ego. Interpretacja zmiany stanów jest jednak inna.
Przejścia następują natychmiast po zmianie słowa wejściowego bądź po zmianie W przypadku automatów synchronicznych zmiana stanu następowała w momencie pojawienia się impulsu stanu automatu, z szybkością wynikającą tylko z cech konstrukcyjnych elementów synchronizującego i automat pozostawał w nowym stanie aŜ do momentu przyjścia następnego impulsu składowych automatu
synchronizującego.
01
W automatach asynchronicznych zmiany stanu następują w momentach 11
zmiany stanu sygnałów wejściowych
S2
automat Mealu’go
00
00
01
11
10
10
10
S
S
1
3
10
11
01
automat Moore’a
00
00
S
brak stanu
4
11
stabilnego: generacja
01
Tablica przejść automatu asynchronicznego
Struktura automatu asynchronicznego
Automat asynchroniczny moŜe posiadać stany:
Automat asynchroniczny moŜna zrealizować na dwa sposoby:
– z wykorzystaniem asynchronicznych przerzutników RS
– stabilne, które nie zmieniają się pod warunkiem stałego słowa wejściowego
– budując bezpośrednio układy kombinacyjne ze sprzęŜeniem zwrotnym
– niestabilne, które zmieniają się natychmiast na inny stan, nawet gdy słowo wyliczające następne wartości bitów stanu automatu
wejściowe pozostaje stałe
• Stany niestabilne mogą być połączone nawzajem, automat wtedy stale będzie zmieniał swój stan przy niezmiennym słowie wejściowym – nazywamy to Struktura z przerzutnikami RS
automat Mealu’go
generacją
• Stany niestabilne mogą słuŜyć pośredniemu przejściu automatu w stan stabilny
automat Moore’a
Jeśli stany stabilne znajdują się w kaŜdym wierszu i kaŜdej kolumnie to moŜna stwierdzić, Ŝe automat jest sensowny.
Podstawy Techniki Cyfrowej i
Mikroprocesorowej
1
Wyścigi
Niezawodność działania automatów asynchronicznych
Elementy u
stany stabilne
Ŝyte do konstrukcji automatu mają swoją skończoną szybkość
działania. Elementy mogą się róŜnić od siebie szybkością działania, wynikającą choćby z rozrzutu parametrów produkcji.
Ta róŜnica w szybkości działania moŜe być przyczyną niekorzystnego zjawiska zwanego wyścigiem (ang. race).
Pierwsza kolumna:
3 wiersz:
jeśli szybciej zmienia się Q : 10 → 00 → 01
1
jeśli szybciej zmienia się Q : 10 → 11 → 10 – generacja
0
4 wiersz:
jeśli szybciej zmienia się Q : 11 → 01
1
jeśli szybciej zmienia się Q : 11 → 10 → 11 – generacja
0
Trzecia kolumna:
Jeśli Q szybszy od Q : X = 00: 01→11→01...
1 wiersz:
0
1
jeśli szybciej zmienia się Q : 00 → 10
Jeśli Q szybszy od Q : X = 00: 01→00→01...
1
1
0
jeśli szybciej zmienia się Q : 00 → 01 – wyścig krytyczny
0
Czwarta kolumna:
2 wiersz:
jeśli szybciej zmienia się Q : 01 → 11 → 10 → 00
1
jeśli szybciej zmienia się Q : 01 → 00 – wyścig niekrytyczny 0
Wyścigi
Wyścigi
Wyścigi mogą wystąpić tylko przy przejściach, w których powinna wystąpić zmiana Wykrywanie moŜliwości wystąpienia wyścigów ułatwia graf przejść na sześcianie stanu więcej niŜ jednego przerzutnika
(ang. cube) 2m-wymiarowym, gdzie sąsiednie wierzchołki sześcianu róŜnią się tylko jednym bitem (kod Graya) . Liczba stanów automatu n ma spełniać nierówność 2m-1
• Jeśli wyścigi powodują, Ŝe automat moŜe wykonywać róŜne przejścia przy
< n < 2m
róŜnych kombinacjach szybkości przerzutników wtedy mówimy o wyścigu krytycznym.
W grafie tym wierzchołki sześcianu (kwadratu) odpowiadają stanom. Stany koduje się tak aby kaŜda krawędź (bok) sześcianu (kwadratu) łączyła stany
• W najgorszym przypadku automat zacznie generować zamiast wejść w stan róŜniące się tylko jednym bitem w słowie stanu
stabilny. Wtedy wyścigi zupełnie uniemoŜliwiają prawidłową pracę automatu Przykład
• Jeśli automat przy danym stanie wejścia posiada stan stabilny, w którym zatrzyma się mimo występowania wyścigu mówimy o wyścigu niekrytycznym 00
01
• Eliminowanie wyścigów polega na takim doborze kodowania stanów lub dodania S
S
1
2
dodatkowych stanów przejściowych, aby w kaŜde pojedyncze przejście wiązało się ze zmianą stanu tylko jednego bitu słowa stanu automatu
S
S
4
3
10
11
Wyścigi
Nie zawsze sama zmiana kodowania stanów umoŜliwia likwidację wyścigów Niekiedy likwidacja wyścigów wymaga:
– wprowadzenia kodowania stanów na większej liczbie bitów niŜ to wynika z liczby stanów w tablicy przejść
– dodania stanów przejściowych pośredniczących w przejściach pomiędzy 1
stanami
– stany przejściowe powinny prowadzić do stanu docelowego niezaleŜnie 100
101
S
S
od słowa wejściowego automatu
1C
1B
000
001
S
S
1
2
110
111
S
S
5
1A
S
S
4
3
010
011
Podstawy Techniki Cyfrowej i
Mikroprocesorowej
2