ProjSekw.pdf

(92 KB) Pobierz
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Projektowanie układów synchronicznychh
z wykorzystaniem grafów i sieci działań
Opracował
Zbigniew Skowroński
Proces projektowania układu sekwencyjnego metodą graficzną różni się od metody
klasycznej, że zamiast tablicy stanów tworzony jest graf stanów. W grafie stanówkażdemu
stanowi odpowiada kółko, zaś przejście do innych stanówsymbo izu ą strzałki. Warunki
przejścia zapisuje się przy strzałkach, natomiast wyjścia - w zależności od typu automatu: przy
stanach (automat Moore'a) lub przy strzałkach (automat Mealy'ego). Przykłady grafówstanu
przedstawia rys.1.
D
/D
D
S0
/Q
Q
S1
/D
a) przerzutnik D
J, - (1, -)
/J,-(0,-)
S0
/Q
Q
S1
-, /K (-, 0)
-, K (-, 1)
b) przerzutnik JK
Rys.1. Przykłady grafów stanu.
Tworzenie grafu stanu jest podobne do tworzenia tablicy stanów. Jest jednak między nimi istotna
różnica, która sprawia, żeprojektowaniezwykorzystaniemgrafówjestłatwiejsze, ale także
bardziej narażone na błędy :
tablica stanówzawierapełną listę następnych stanówdlakażdej kombinacji stan/wejście.
Nie są możliwe żadne niejednoznaczności.
graf stanówzawierazbiórstrzałek z przypisanymi warunkami przejścia. Nawet jeśli jest wiele
wejść,przykażdej strzałce występuje tylko jedno wyrażenie - warunek przejścia.
Nie gwarantuje to jednak, żewyrażenia przypisane do strzałek wychodzących z jednego stanu
odpowiadają wszystkim kombinacjom wartości sygnałówwejściowych dokładnie raz.
842778616.050.png 842778616.061.png 842778616.063.png 842778616.064.png 842778616.001.png 842778616.002.png 842778616.003.png 842778616.004.png 842778616.005.png 842778616.006.png 842778616.007.png
Wn ewłaściwie zaprojektowanym grafie stanów (niejednoznacznym), następne stany
dla niektórych kombinacji wartości sygnałóww ściowych mogą być nieokreślone,
co w ogólnym przypadku jest nie poążdane, natomiast dla innych możebyć podane wiele stanów
następnych,
co
jest
błędem.
Z
tego
względu,
projektującgrafstanów,
należy
dokładnie
analizować poprawność tworzonego grafu.
Sposób projektowania układów sekwencyjnych przy użyciu grafówstanuprześledzimy
na przykładzie układu sterującego tylnym oświetleniem Forda Thunderbird z1965r.Układ ten
powinien pracować wnastępujący sposób:
do sygnalizacji wykorzystywanych jest 6 żaróweki3wejścia : L (skręć wlewo),P(skręć
w prawo), U (uwaga, awaria);
po uruchomieniu sygnałuL(skręć wlewo)trzyżarówki z lewej strony błyskają według
sekwencji pokazanej na rys.2.a;
analogicznie uruchamianwe sążarówki z prawej strony;
sygnał U (uwaga) wywołuje błyskanie wszystkich sześciu żarówek.
LC
LB
LA
PA
PB
PC
a) skręć wlewo b)skręć wprawo
Rys.2. Sekwencja błyskania żarówek przy skręcaniu w prawo i lewo.
Zakładamy również, żedostępny jest generator sygnału zegarowego o częstotliwości
błyskania żarówek (możemy w tym wypadku zastosować sygnał oczęstotliwości 1 Hz).
Układ zaprojektujemy jako automat Moore'a (sygnaływy ściowe związane ze stanami),
gdzie odpowiedni stan będzie określał które żarówki mają być włączone, a które wyłączone.
W przypadku aktywnego sygnałuL(skręć w lewo) mamy cztery stany, w których świecą kolejno
0,1,2 i 3 żarówki z lewej strony, a prawe są wyłączone. Analogicznie jest w przypadku sygnałuP
(skręć w prawo). Wywołanie sygnału U (uwaga, awaria) związane jest z dwoma stanami:
nie świeci żadna żarówka lub świecą wszystkie.
We wszystkich trzech trybach pracy występuje stan, w którym wszystkie żarówki są
wyłączone. Można go zatem potraktować jako stan wspólny-spoczynkowySP.Zaczniemywięc
tworzenie grafu od tego stanu.
Jeśli pojawi się sygnał L, układ powinien kolejno przejść przez trzy stany, w których
zaświecą kolejno : LA; LA i LB; LA, LB i LC; po czym powrócić do stanu spoczynkowego SP.
Analogicznie będzie z sygnałem P. Oznaczymy te stany odpowiednią literą icyfrą określającą
liczbę zapalonych żarówek. Jeśli natomist pojawi się sygnał Uukład powinien przejść do stanu
WSZ, w którym palą się wszystkie żarówki, po czym w następnym takcie przejść do stanu
spoczynkowego. Na podstawie powyższych informacji tworzymy graf stanów taki jak na rys.3.
2
842778616.008.png 842778616.009.png 842778616.010.png 842778616.011.png 842778616.012.png
L2
1
1
L3
L1
1
1
L
U
(L+P+U)
SP
WSZ
P
1
P3
P1
1
1
P2
Rys.3. Graf stanów projektowanego układu (wersja początkowa).
Wukładzie występuje sześć sygnałówwyjściowych, toteż aby "nie zaciemniać" rysunku, zamiast
zapisać wartości tych sygnałów przy odpowiednich stanach, zapiszemy je w postaci tabeli (tab.1).
Tabela.1.Tabela wyjść projektowanego układu.
STAN
LC
LB
LA
PA
PB
PC
SP
0
0
0
0
0
0
L1
0
0
1
0
0
0
L2
0
1
1
0
0
0
L3
1
1
1
0
0
0
P1
0
0
0
1
0
0
P2
0
0
0
1
1
0
P3
0
0
0
1
1
1
WSZ
1
1
1
1
1
1
Na podstawie tej tabeli możemy już napisać równania (w postaci symbolicznej) dla sygnałów
wyjściowych :
LA = L1 + L2 + L3 + WSZ
LB = L2 + L3 + WSZ
LC = L3 + WSZ
PA = P1 + P2 + P3 + WSZ
PB = P2 + P3 + WSZ
PC = P3 + WSZ
Jakkolwiek graf wydaje się być zaprojektowany poprawnie, nie obejmuje jednak wszystkich
możliwości. Co np. wydarzy się,jeśli jednocześnie zostanie włączony sygnał L(skręć wlewo)
isygnał U (uwaga, awaria)? Zgodnie z rysunkiem układ przejdzie do dwóch stanów:L1iWSZ,
3
842778616.013.png 842778616.014.png 842778616.015.png 842778616.016.png 842778616.017.png 842778616.018.png 842778616.019.png 842778616.020.png 842778616.021.png 842778616.022.png 842778616.023.png 842778616.024.png 842778616.025.png 842778616.026.png 842778616.027.png 842778616.028.png 842778616.029.png 842778616.030.png 842778616.031.png 842778616.032.png 842778616.033.png 842778616.034.png 842778616.035.png 842778616.036.png 842778616.037.png 842778616.038.png 842778616.039.png 842778616.040.png
 
co jest fizycznie nie możliwe. Gdyby zrealizować układ na podstawie takiego grafu,
zachowywałby się on w sposób niedetermistyczny (przeszedłby w stan L1, WSZ lub jakiś inny).
W takiej sytuacji nasuwa się pytanie: czy można w jakiś analityczny, formalny sposób
stwierdzić czy stworzony przez nas graf stanów jest jednoznaczny? Odpowiedź brzmi tak, można
tego dokonać w dwojaki sposób:
pierwszy z nich polega na przekształceniu grafu w tablicę stanów. Jeśli w tablicy pozostaną
puste
pola,
bądź wtymsamympoluwys ępują różne
zapisy,
wówczas
graf
jest
niejednoznaczny i należy go poprawić
Utwórzmy taką tablicę dla grafu z rys.3. :
S
/L/P/U
/L/PU
/LP/U
/LPU
L/P/U
L/PU
LP/U
LPU
P1
L1
L1
L1
P1
WSZ
SP
SP
WSZ
P1
L1
WSZ
WSZ
P1
L1
L2
L2
L2
L2
L2
L2
L2
L2
L2
L3
L3
L3
L3
L3
L3
L3
L3
L3
SP
SP
SP
SP
SP
SP
SP
SP
P1
P2
P2
P2
P2
P2
P2
P2
P2
P2
P3P3
P3
P3
P3
P3
P3
P3
P3
P3
SP
SP
SP
SP
SP
SP
SP
SP
SZ
SP
SP
SP
SP
SP
SP
SP
SP
Widać niejednoznaczności przy przejściu z SP do następnego stanu.
drugi sposób jest czysto analityczny i polega na przeprowadzeniu dwóch kroków:
(wzajemne wykluczanie): dla każdego stanu wykaż, że iloczyn logiczny każdej możliwej
pary warunkówprzejścia z tego stanu do następnego równy jest zero. Dla n strzałek
należy przeanalizować n (n-1)/2 iloczynów.
(wszystkie możliwości): dla każdego stanu wykaż, żesumalogicznawszystkich
warunkówprzejścia z tego stanu do następnych równa jest jeden.
Problem
niejednoznaczności
występujących
w
grafie
z
rys.3
można rozwiązać przyjmując
założenia:
sygnał U (uwaga,awaria) ma wyższy priorytet niż pozostałewejścia: P (skręć wprawo)iL
(skręć wlewo),
jednoczesne wciśnięcie L i P jest równoznaczne z wywołaniem sygnałuU.
4
842778616.041.png 842778616.042.png 842778616.043.png 842778616.044.png 842778616.045.png 842778616.046.png 842778616.047.png 842778616.048.png 842778616.049.png 842778616.051.png 842778616.052.png 842778616.053.png 842778616.054.png 842778616.055.png 842778616.056.png 842778616.057.png 842778616.058.png 842778616.059.png 842778616.060.png 842778616.062.png
ZADANIE
Narysować graf z uwzględniem założeń przedstawionych powyżejinajegopodstawie
zaprojektowacć układ do sterowania tylnym oświetleniem Forda Thunderbird . Skonstruowany
układ ma być automatem Moore'a. Projekt układu powinien obejmować dwa rozwiązania:
a) z wykorzystaniem przerzutników JK (uruchomienia i przetestowania poprawności działania
układu dokonać na UNILOGU),
b) z wykorzystaniem przerzutników D (przeprowadzić symulację układu w OrCADzie VST).
W
grafie
stanówwys ępuje
osiem
stanów,
zatem
do
zakodowania
będą potrzebne
trzy
przerzutniki. Stany zakodujemy następująco:
Stan
Q2
Q1
Q0
SP
0
0
0
L1
0
0
1
L2
0
1
1
L3
0
1
0
P1
1
0
1
P2
1
1
1
P3
1
1
0
SZ
1
0
0
Uzasadnienie takiego doboru stanów:
stan spoczynkowy SP (początkowe ustawienie, zerowe),
dwie zmienne: Q1 i Q2 - kodują sekwencje stanów w kodzie Gray'a dla zminimalizowania
liczby zmian wartości zmiennych stanu przy przejściudonastępnego stanu,
Q2 rozróżnia L i P,
WSZ otrzymuje ostatni wolny kod.
UWAGA! Przed przystąpieniem do projektu proszę zapoznać się zprzykładem obrazującym
sposób projektowania układu (automatu Moore'a) z wykorzystaniem przerzutnikówJKiD
na postawie danego grafu stanów.
5
Zgłoś jeśli naruszono regulamin