Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

Realizacja automatu asynchronicznego

Moderatorzy: Jacek Bogusz, Moderatorzy

Faber33
-
-
Posty: 98
Rejestracja: 14 cze 2010, o 18:38
Lokalizacja: Warszawa

Realizacja automatu asynchronicznego

Postautor: Faber33 » 19 paź 2013, o 16:41

Witam Serdecznie. Drodzy koledzy mam do zrealizowania na laboratorium z cyfrówki następujące zadanie:

Obrazek

Na razie wykonałem graf i chciałbym się dowiedzieć czy jest on poprawnie narysowany, bo jeśli jest źle to dalsze działania nie mają sensu.

Tzn.
Rozwiązanie zadania ma zawierać następujące elementy.
1. Graf stanów projektowanego układu (automatu) asynchronicznego.
2. Pierwotną tablicę przejść-wyjść układu.
3. Minimalizację liczby stanów wewnętrznych automatu.
4. Minimalne TPW automatu Moore'a oraz Mealy'ego. W tablicy wyjść automatu Mealy'ego należy wpisać wartości 0 lub 1 tylko w kratki odpowiadające stanom stabilnym w tablicy przejść. Pozostałe kratki tablicy wyjść należy wypełnić stanami nieokreślonymi.
5. Kodowanie stanów wewnętrznych automatu oraz zakodowane TPW More'a i Mealy'ego. Tablice należy zakodować wykorzystując jak najmniejszą liczbę zmiennych wewnętrznych. Zakodowane TPW nie mogą zawierać wyścigów krytycznych.
6. Minimalne formuły boolowskie dla funkcji wzbudzeń przerzutników oraz funkcji wyjść układu. Do realizacji układu można wykorzystywać asynchroniczne przerzutniki następujących typów :
- przerzutnik sr
- przerzutnik t
7. Schemat serwisowy (tj. schemat narysowany zgodnie z normą Mil. Std. 803b) oraz montażowy projektowanego układu. Rysując schemat można wykorzystywać wyłącznie symbole następujących elementów:
- bramka NOT (bramka negacji),
- 2-, 3- i 4-wejściowa bramka NAND,
- 2-, 3- i 4-wejściowa bramka NOR,
- 2-wejściowa bramka XOR.
- asynchroniczny przerzutnik t

Dodam jeszcze że zawory i grzałka załączane są stanem niskim ("0"):

Obrazek

Z góry dziękuje za pomoc. :)
Pozdrawiam

Awatar użytkownika
rafal.220
-
-
Posty: 1274
Rejestracja: 27 paź 2012, o 15:46

Re: Realizacja automatu asynchronicznego

Postautor: rafal.220 » 19 paź 2013, o 17:47

Zadanie jest proste, zwłaszcza że w pytaniu masz całą ściągawkę. :)

Faber33
-
-
Posty: 98
Rejestracja: 14 cze 2010, o 18:38
Lokalizacja: Warszawa

Re: Realizacja automatu asynchronicznego

Postautor: Faber33 » 19 paź 2013, o 18:08

hehe....proste to zależy jak dla kogo ;) pomoże kolega ???

Dobry jest ten graf???
Ostatnio zmieniony 19 paź 2013, o 21:44 przez Faber33, łącznie zmieniany 1 raz.

Awatar użytkownika
rafal.220
-
-
Posty: 1274
Rejestracja: 27 paź 2012, o 15:46

Re: Realizacja automatu asynchronicznego

Postautor: rafal.220 » 19 paź 2013, o 21:44

hehe....proste to zależy jak dla kogo pomoże kolega ???
Jeśli chcesz to zrobić pisząc, to ja odpadam. (graficznie mogę to zaprogramować, tylko potrzeba więcej szczegółów typu: temperatury, czasy, ciśnienia przepływy, itp. )

Na chwilę obecną mam kupę roboty, i mogę jedynie coś podpowiedzieć.

Faber33
-
-
Posty: 98
Rejestracja: 14 cze 2010, o 18:38
Lokalizacja: Warszawa

Re: Realizacja automatu asynchronicznego

Postautor: Faber33 » 19 paź 2013, o 21:49

No musze to zrobić pisemnie według tych punktów powyżej :/ :(

Awatar użytkownika
rafal.220
-
-
Posty: 1274
Rejestracja: 27 paź 2012, o 15:46

Re: Realizacja automatu asynchronicznego

Postautor: rafal.220 » 19 paź 2013, o 22:53

Ja nie wiem co tam studiujesz i co miałeś na wykładach. (dla mnie te punkty nic nie znaczą)
Założenia są proste, lecz trzeba wiedzieć do jakich parametrów je odnieść. :)

Awatar użytkownika
brun
-
-
Posty: 125
Rejestracja: 28 mar 2012, o 09:48

Re: Realizacja automatu asynchronicznego

Postautor: brun » 20 paź 2013, o 11:18

Nie wiem, jaki stosujecie zapis na zajęciach, czego tak na prawdę wymaga wasz prowadzący, itd., ale wydaje mi się, że pierwsze 3 zadania można rozwiązać tak:
zdj1.jpg
Tak jak rozumiem to zadanie
zdj2.jpg
Pierwsze 3 podpunkty

Faber33
-
-
Posty: 98
Rejestracja: 14 cze 2010, o 18:38
Lokalizacja: Warszawa

Re: Realizacja automatu asynchronicznego

Postautor: Faber33 » 20 paź 2013, o 19:40

Dziękuje za odpowiedź. Czyli graf jest okej. Widzę że kolega tylko inną kolejność zmiennych zastosował. Pierwotną tablicę przejść-wyjść układu wygląda że też mam dobrze. Grosza sprawa teraz z Minimalizacja dla Mealeygo i Moora oraz kodowaniem bo tego nie ogarniam do końca :P.

Awatar użytkownika
brun
-
-
Posty: 125
Rejestracja: 28 mar 2012, o 09:48

Re: Realizacja automatu asynchronicznego

Postautor: brun » 20 paź 2013, o 20:05

To jest to co się zakreśla grupy '1' żeby zrobić postać sumacyjna albo grupy '0' żeby zrobić postać iloczynową? :)

Faber33
-
-
Posty: 98
Rejestracja: 14 cze 2010, o 18:38
Lokalizacja: Warszawa

Re: Realizacja automatu asynchronicznego

Postautor: Faber33 » 20 paź 2013, o 20:48

powiedzmy...ale widzę że kolega niestety nie wie o co chodzi :(

Dodano po namyśle:
Udało mi się zminimalizować te funkcje teraz tylko potrzebuje pomocy jak to zakodować poprawnie bez wyścigów krytycznych !!!!

Obrazek

Awatar użytkownika
rafal.220
-
-
Posty: 1274
Rejestracja: 27 paź 2012, o 15:46

Re: Realizacja automatu asynchronicznego

Postautor: rafal.220 » 21 paź 2013, o 17:32

Dziwna ta logika.
Zastosuj kolejność wykonywania procedur, a unikniesz wyścigu. (u ciebie to mogą być jakieś przesunięcia w bitach ew. opóźnienia dla bitów slave, bądź przeniesienie określonej procedury do następnej kolejki. Tak bynajmniej jest w programach graficznych gdzie programujesz o wiele większe obiekty niż to co przedstawiłeś)

Mogę dodać, że w logice CMOS stosuje się szeregowe bufory, bądź kondensatory dla bitów slave.

Awatar użytkownika
brun
-
-
Posty: 125
Rejestracja: 28 mar 2012, o 09:48

Re: Realizacja automatu asynchronicznego

Postautor: brun » 21 paź 2013, o 18:49

Dziwna ta logika.
Zastosuj kolejność wykonywania procedur, a unikniesz wyścigu. (u ciebie to mogą być jakieś przesunięcia w bitach ew. opóźnienia dla bitów slave, bądź przeniesienie określonej procedury do następnej kolejki. Tak bynajmniej jest w programach graficznych gdzie programujesz o wiele większe obiekty niż to co przedstawiłeś)

Mogę dodać, że w logice CMOS stosuje się szeregowe bufory, bądź kondensatory dla bitów slave.
Odpowiedź jak zwykle na temat ;P

tg3a
-
-
Posty: 243
Rejestracja: 26 maja 2008, o 19:46
Lokalizacja: Warszawa

Re: Realizacja automatu asynchronicznego

Postautor: tg3a » 22 paź 2013, o 00:13

Witam.
W automacie Mealy'ego w tym zadaniu są tylko 2 stany kodowane jednym bitem, i problem wyścigów z definicji nie występuje.
W automacie Moore'a musimy zastosować 2 bity, bo są 3 stany. Wygodnie byłoby przyjąć takie kody stanów, aby przy przejściach, jakie występują w warunkach zadania zawsze następowała zmiana tylko na jednym bicie, ale łatwo zauważyć, że tak się tu nie da zrobić. Zawsze będzie takie przejście, gdzie będą się zmieniały 2 bity na raz (oczywiście czysto teoretycznie, gdyby nie było wyścigów).
Tak więc trzeba będzie zadbać o to, by był to wyścig niekrytyczny.
Zadanie ma zapewne różne rozwiązania, nie chce mi się sprawdzać wszystkich możliwych sposobów kodowania. Zrobiłem tylko jedno podejście, przyjmując następujące kody:
stan "01" - q1=0, q1=1 (dalej w skrócie 01)
stan "234" - q1=1. q2=1 (dalej w skrócie 11)
stan "5" - q1=1, q2=0 (dalej w skrócie 10)
Jest to jeden z kodów, w którym funkcje wyjść realizuje się w bardzo prosty sposób: tu z3=q1, z7=q2 d2= NAND(q1, q2).
Przy ograniczeniu się tylko do takich przejść, jak w warunkach zadania, wyścig może powstać przy przechodzeniu ze stanu 10 do 01 występującego, gdy dla stanu 10 pojawi się kombinacja wejść p6=0, p5=0 i p4=0.
W praktyce należy zadbać o to, aby realizując funkcje przejść wybrać takie pokrycie jedynek lub zer w tablicach Karnaugh'a. by w całej kolumnie dla kombinacji wejść 000 zarówno funkcja q1' jak i q2' dawały wynik "monotoniczny" czyli funkcja q1' w całej tej kolumnie była równa 0, a funkcja q2' była równa 1 (czyli aby oba stany przejściowe 00 i 11, jakie mogą pojawić się przy przejściu 10->01 w efekcie przechodziły w stan 01). Jest to warunek, by wyścig był niekrytyczny.
W "moim wykonaniu" funkcje te przybrały postać:
q1' = (q1 Λ p4) V p6 V p5
q2' = ~p6 V p4 (tylda oznacza tu symbol negacji)
Korzystając z praw De Morgana można przekształcić je do postaci:
q1' = NAND(NAND(q1, p4) , ~p6 , ~p5)
q2' = NAND(p6 , ~p4)
Pozdrawiam, i życzę powodzenia.

Wróć do „Elektronika - tematy dowolne”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 76 gości