-
1. Data: 2010-01-13 20:37:21
Temat: Automat Mealy'ego -problem
Od: "Adam" <a...@p...onet.pl>
Witam
Muszę zaprojektować układ licznika synchronicznego na przerzutnikach typu D
z automatu Mealy'ego.
Zadanie jest następującej traści:
Wypisz nazwisko i imię. Kolejnym literom przypisz wartości liczbowe, z kodu
cyfrowego wykreśl powtarzające się cyfry, na końcu uzupełnij brakujące.
Zbuduj licznik na przerzutnikach typu D liczący w uzyskanym kodzie.
A,B,C - 0
D,E,F - 7
G,H,I - 1
J,K,L - 6
Ł,M,N - 2
O,P,R - 5
S,T,U - 3
w - Ź - 4
Powiedzmy że mi wyszło: 50472136
jak narysować tablicę przejść? Dowiedziałem się coś takiego, nie wiem czy
dobrze:
dziele ten mój kod na pół czyli 5047 | 2136 pierwsza część odpowiada x=0
a druga x=1 Czy to tak się robi? chodzi mi głównie o ten stan X czy to się
tak przypisuje czy w inny sposób bo słyszałem od kilku osób różne wersje :/
Q1 Q2 Q3 - wejścia
D1 D2 D3 - następne stany
- to stany dowolne
x | Q1 | Q2 | Q3 || D1 | D2 | D3
--------------------------------
0 | 0 | 0 | 0 || 1 | 0 | 0
0 | 0 | 0 | 1 || - | - | -
0 | 0 | 1 | 0 || - | - | -
0 | 0 | 1 | 1 || - | - | -
0 | 1 | 0 | 0 || 1 | 1 | 1
0 | 1 | 0 | 1 || 0 | 0 | 0
0 | 1 | 1 | 0 || 1 | 0 | 1
0 | 1 | 1 | 1 || - | - | -
-------------------------------
1 | 0 | 0 | 0 || - | - | -
1 | 0 | 0 | 1 || 0 | 1 | 1
1 | 0 | 1 | 0 || 0 | 0 | 1
1 | 0 | 1 | 1 || 1 | 1 | 0
1 | 1 | 0 | 0 || - | - | -
1 | 1 | 0 | 1 || - | - | -
1 | 1 | 1 | 0 || 0 | 1 | 0
1 | 1 | 1 | 1 || - | - | -
Potem robię tablice Karnougha dobierając te stany niewiadone "-" tak abym
miał jak najlepszą możliwość minimalizacji funkcji.
I dodatkowe pytanie: czy jeżeli brakuje mi w moim kodzie danych do
wstawienia do tabeli tam gdzie mam stany niewiadome to czy można przypisać
sobie pierwszą cyfre z mojego kodu 5047 | 2136 czyli 5 dla części gdzie mam
x=0 i 2 dla x=1 ? Bo i taki pomysł słyszałem :)
-
2. Data: 2010-01-13 21:05:08
Temat: Re: Automat Mealy'ego -problem
Od: J.F. <j...@p...onet.pl>
On Wed, 13 Jan 2010 21:37:21 +0100, Adam wrote:
>Muszę zaprojektować układ licznika synchronicznego na przerzutnikach typu D
>z automatu Mealy'ego.
>Zbuduj licznik na przerzutnikach typu D liczący w uzyskanym kodzie.
>Powiedzmy że mi wyszło: 50472136
>
>jak narysować tablicę przejść? Dowiedziałem się coś takiego, nie wiem czy
>dobrze:
>
>dziele ten mój kod na pół czyli 5047 | 2136 pierwsza część odpowiada x=0
>a druga x=1 Czy to tak się robi?
Ale co to za X i po co ?
Masz zrobic prosty cykliczny automat - trzy bity stanu.
Mealy czy Moore - bez roznicy.
No chyba ze ma miec wejscie blokowania, czy rewersyjny ma byc.
>Q1 Q2 Q3 - wejścia
>D1 D2 D3 - następne stany
P.S. przyjelo sie raczej przez Q1 oznaczac najmlodszy [najmniej
znaczacy] bit, a nawet przez Q0.
J.
-
3. Data: 2010-01-13 21:13:09
Temat: Re: Automat Mealy'ego -problem
Od: "Adam" <a...@p...onet.pl>
Użytkownik "J.F." <j...@p...onet.pl> napisał w wiadomości
news:ppcsk55vk9hm3v7el9nlb25jmmusdpe56u@4ax.com...
> On Wed, 13 Jan 2010 21:37:21 +0100, Adam wrote:
>>Muszę zaprojektować układ licznika synchronicznego na przerzutnikach typu
>>D
>>z automatu Mealy'ego.
>>Zbuduj licznik na przerzutnikach typu D liczący w uzyskanym kodzie.
>>Powiedzmy że mi wyszło: 50472136
>>
>>jak narysować tablicę przejść? Dowiedziałem się coś takiego, nie wiem czy
>>dobrze:
>>
>>dziele ten mój kod na pół czyli 5047 | 2136 pierwsza część odpowiada
>>x=0
>>a druga x=1 Czy to tak się robi?
>
> Ale co to za X i po co ?
> Masz zrobic prosty cykliczny automat - trzy bity stanu.
> Mealy czy Moore - bez roznicy.
>
> No chyba ze ma miec wejscie blokowania, czy rewersyjny ma byc.
>
>>Q1 Q2 Q3 - wejścia
>>D1 D2 D3 - następne stany
>
> P.S. przyjelo sie raczej przez Q1 oznaczac najmlodszy [najmniej
> znaczacy] bit, a nawet przez Q0.
>
> J.
>
Z tym X to nie wiem do końca jak jest. o ile sie nie mylie to w automacie
marleya stan wyjść zależy również od wejścia i niby ten X jest tym wejściem.
Widziałem w ten sposób rozwiązane zadanie i nie wiadomo czy one jest dobrze
tą
Moore'a to wiem jak robić to kumam :)
-
4. Data: 2010-01-13 21:46:27
Temat: Re: Automat Mealy'ego -problem
Od: J.F. <j...@p...onet.pl>
On Wed, 13 Jan 2010 22:13:09 +0100, Adam wrote:
>Użytkownik "J.F." <j...@p...onet.pl> napisał w wiadomości
>> Ale co to za X i po co ?
>> Masz zrobic prosty cykliczny automat - trzy bity stanu.
>> Mealy czy Moore - bez roznicy.
>>
>Z tym X to nie wiem do końca jak jest. o ile sie nie mylie to w automacie
>marleya stan wyjść zależy również od wejścia
No tak sie definiuje
>i niby ten X jest tym wejściem.
Tylko ze powinno byc jednak jakies zdefiniowane wejscie. A nie ma.
J.
-
5. Data: 2010-01-13 22:37:22
Temat: Re: Automat Mealy'ego -problem
Od: Konop <k...@g...pl>
> dziele ten mój kod na pół czyli 5047 | 2136 pierwsza część odpowiada x=0
> a druga x=1 Czy to tak się robi? chodzi mi głównie o ten stan X czy to się
> tak przypisuje czy w inny sposób bo słyszałem od kilku osób różne wersje :/
No nie wiem, skąd ten pomysł z x. Z doświadczenia wiem, że na studiach
to się robi czasem zadania "od tyłu"... może w jakimś zadaniu był taki
podział, ktoś nie wiedział dlaczego, ale teraz tak robi ;)... a co u
Ciebie oznacza x ?? Jak będziesz sterował tym x?? Jesteś pewny, że
podałeś pełną treść?? To nie ma być licznik rewersyjny albo chociaż z
sygnałem Enable, Load albo coś??
> Q1 Q2 Q3 - wejścia
> D1 D2 D3 - następne stany
> - to stany dowolne
> x | Q1 | Q2 | Q3 || D1 | D2 | D3
> --------------------------------
> 0 | 0 | 0 | 0 || 1 | 0 | 0
> 0 | 0 | 0 | 1 || - | - | -
> 0 | 0 | 1 | 0 || - | - | -
> 0 | 0 | 1 | 1 || - | - | -
> 0 | 1 | 0 | 0 || 1 | 1 | 1
> 0 | 1 | 0 | 1 || 0 | 0 | 0
> 0 | 1 | 1 | 0 || 1 | 0 | 1
> 0 | 1 | 1 | 1 || - | - | -
> -------------------------------
> 1 | 0 | 0 | 0 || - | - | -
> 1 | 0 | 0 | 1 || 0 | 1 | 1
> 1 | 0 | 1 | 0 || 0 | 0 | 1
> 1 | 0 | 1 | 1 || 1 | 1 | 0
> 1 | 1 | 0 | 0 || - | - | -
> 1 | 1 | 0 | 1 || - | - | -
> 1 | 1 | 1 | 0 || 0 | 1 | 0
> 1 | 1 | 1 | 1 || - | - | -
No byłoby OK, tylko co tu robi ten x ?? Skąd on się bierze? Jak nim
będziesz sterować? Zauważ, co sięstanie, gdy przy stanie 7 na wejściu x
dalej będzie "0"?? Nie wiadomo! Jeśli w treści zadania nie ma słowa na
temat wejścia x, to je wywal!! Potem "przebuduj" tablicę.
Według tego, co Ty narysowałeś, to układ chodzi w dwóch cyklach:
a) 5047
b) 2136
Wyboru cyklu dokonuje się pinem x. Co najgorsze, ze względu na stany -
może się zdarzyć, że po przełączeniu z cyklu 1 na cykl 2 w innym
momencie niż na końcu danego cyklu, licznik może utknąć w "złej pętli"...
Co do przeróbki.... Jeśli na przykład miałbyś Twój licznik z wejściem
Enable, to tablica wyglądałaby faktycznie podobnie (byłaby przedzielona
na pół) i miała by taką postać (zapis dziesiętny dla ułatwienia ;)):
Enable Q D
0 0 0
0 1 1
0 2 2
0 3 3
0 4 4
0 5 5
0 6 6
0 7 7
-------------------------
1 0 4
1 1 3
1 2 1
1 3 6
1 4 7
1 5 0
1 6 5
1 7 2
Dziwi mnie tylko sposób zapisu Q1 Q2 Q3... ja bym dał Q3 Q2 Q1, albo
nawet Q2 Q1 Q0. Podobnie z D. Przyjęło się oznaczać bity od najstarszego
do najmłodszego malejącymi numerami, gdzie najmłodszy bit to x0.
Wychodzi to stąd, że waga bitu oznaczonego numerem n jest wówczas równa 2^n.
> Potem robię tablice Karnougha dobierając te stany niewiadone "-" tak abym
> miał jak najlepszą możliwość minimalizacji funkcji.
U nas się tych stanów nie dobierało jawnie, tylko przy zakreślaniu się
je zaznaczało, jeśli to minimalizowało funkcję, lub się ich nie
zaznazcało, gdyby to miało funkcję skomplikować ;)...
> I dodatkowe pytanie: czy jeżeli brakuje mi w moim kodzie danych do
> wstawienia do tabeli tam gdzie mam stany niewiadome to czy można przypisać
> sobie pierwszą cyfre z mojego kodu 5047 | 2136 czyli 5 dla części gdzie mam
> x=0 i 2 dla x=1 ? Bo i taki pomysł słyszałem :)
Taki pomysł oznaczałby, że licznik jest samokorekcyjny po jednym takcie
zegarowym! Wówczas, gdy na skutek jakiegoś błędu licznik wyskoczy poza
ustaloną sekwencję, to po jednym takcie wracał by do 5. Jeśli w zadaniu
nie pisze, że masz mieć samokorekcyjny po 1 takcie, to tego nie rób, bo
Ci wydją bardziej złożone funkcje, a to oznacza większą szansę na
pomyłkę....
Pozdrawiam
Konop
PS Nie przejmuj się, u mnie na studiach za niektórymi ten przedmiot
ciągnął się po 2..3 lata ;)....
-
6. Data: 2010-01-13 23:04:02
Temat: Re: Automat Mealy'ego -problem
Od: "Adam" <a...@p...onet.pl>
Dzieki Konop trochę mi rozjaśniło się głowie.:)
Ale mam dalej pytanie:
W takim razie to automat Moore'a stosowany jest dla układów gdzie nie mamy
podanego sygnału wejsciowego ( tak jak mówi definicja). A jeśli jest podany
sygnał wejściowy dodatkowo to wtedy Meal'ygo?
Wracając do mojego zadanka:
Wypisz nazwisko i imię. Kolejnym literom przypisz wartości liczbowe, z kodu
cyfrowego wykreśl powtarzające się cyfry, na końcu uzupełnij brakujące.
Zbuduj licznik na przerzutnikach typu D liczący w uzyskanym kodzie.
A,B,C - 0
D,E,F - 7
G,H,I - 1
J,K,L - 6
Ł,M,N - 2
O,P,R - 5
S,T,U - 3
to jak wykresle te cyfry co się powtarzają mi to czym mam uzupełnić
brakujące wartości ? tymi cyframi których nie mam ? w jakiej kolejności ?
Czy ktoś jest wstanie podać na przykładzie? :)
-
7. Data: 2010-01-14 10:27:12
Temat: Re: Automat Mealy'ego -problem
Od: ceat <c...@g...com>
W założeniu licznik ma mieć 8 stanów czyli 3 bity.
Przykład:
Jan Kowalski:
60260406361, wykreślam powtórki:
602--4--3-1 czyli 602431
dopisuję brakujące stany (5 i 7) do pełnego licznika 3-bitowego:
60243157
i taki projektowałbym, gdyby to było ćwierć wieku temu. Teraz już nie
pamiętam, jak to się robi...
Powodzenia.
-
8. Data: 2010-01-14 10:47:51
Temat: Re: Automat Mealy'ego -problem
Od: ceat <c...@g...com>
I jeszcze jedno:
skoro nie masz określonego w zadaniu żadnego stanu wejściowego -
rozróżnienie między automatem Mealego a Moora jest sztuczne - po
prostu jeden z bitów wyjściowych (który chcesz) traktujesz jako
wejście w Mealym. Takie podejście redukuje problem do Moora, a jest
prostsze niż sztuczny podział zaproponowany przez Ciebie, natomiast
wynik końcowy będzie identyczny jak w Mealym przy powyższym założeniu.
Tylko dobrze przemyśl tą argumentację żeby obronić się przed durnym
"Pan przecież zrobił Moora!" ze strony wykładowcy.
-
9. Data: 2010-01-14 16:19:39
Temat: Re: Automat Mealy'ego -problem
Od: "J.F." <j...@p...onet.pl>
Użytkownik "Adam" <a...@p...onet.pl> napisał
> Dzieki Konop trochę mi rozjaśniło się głowie.:)
> Ale mam dalej pytanie:
> W takim razie to automat Moore'a stosowany jest dla układów gdzie
> nie mamy podanego sygnału wejsciowego ( tak jak mówi definicja).
> A jeśli jest podany sygnał wejściowy dodatkowo to wtedy Meal'ygo?
Nie!
Oba automaty maja rejestr stanu, ktory zalezy od sygnalow
wejsciowych.
Tylko ze wyjscie u Moora zalezy tylko od rejestru stanu, a u
Mealego od rejestru stanu i sygnalow wejsciowych.
Jesli sygnalow wejsciowych nie ma, to oba M sa rowne :-)
Taki przyklad - mamy np klawiature, ona jest z wlasnym koderem, i
teraz trzeba opoznic pojawienie sie kodu klawisza o np trzy cykle.
Robimy licznik ktory jest zerowany jesli nic nie jest nacisniete
[zalozmy ze jest wtedy kod 00000], a jak cos nacisniemy to licznik
powoli narasta do 3, i to jego 3 otwiera bramki wyjsciowe
przepuszczajace kod dalej. To to jest wlasnie Mealy.
Jesli bysmy np chcieli te klawiature odklocic, i przepuszczac kod o
ile od 3 cykli jest taki sam, to potrzebujemy bardziej rozbudowany
rejestr stanu, do pamietania poprzedniego klawisza, ale na koncu
mozemy podac kod z rejestru - i to jest Moore.
W praktyce Mealego sie nie robi, bo mamy kiepsko okreslone momenty
zmiany sygnalow.
No chyba ze zrobimy bufor zatrzaskujacy je w tym samym momencie - a
wtedy to znow sie nie rozni od Moora ..
J.
-
10. Data: 2010-01-14 22:07:04
Temat: Re: Automat Mealy'ego -problem
Od: "zbyszek" <z...@p...onet.pl>
Przepraszam, że zadam głupie pytanie.
Czy obcnie korzysta ktoś z tablic przejścia oraz automaty Mealy czy Moore. Czy
też skończyło się to wraz z dominacją w układach automatyki układów TTL.
Zbyszek
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl