Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Przerzutnik typu D wyzwalany zboczem opadającym

bandziorno667 29 Dec 2007 18:13 18448 18
  • #1
    bandziorno667
    Level 10  
    Witam,
    Mam za zadanie zaprojektować przy użyciu bramek przerzutnik typu D wyzwalany zboczem opadającym. Zaczynam od narysowania przebiegu czasowego:

    Przerzutnik typu D wyzwalany zboczem opadającym

    Wydawałoby mi się, że jest dobrze, więc zaczynam rysować graf przejść-wyjść.

    Przerzutnik typu D wyzwalany zboczem opadającym

    I od razu mam sprzeczność, bo gdy w stanie nr 2 dostanie 00, może iść tak do stanu 1, jak i stanu 3.
    Co robię nie tak, jak tego uniknąć?
  • #2
    Leoo
    Level 16  
    Przerzutnik D ma tylko dwa wejścia.
    Skąd narobiło się tyle stanów?
    Jeśli jest zboczowy, to pozostają praktycznie 2 stany.
  • #3
    dir3ctor
    Level 27  
    Przebiegi czasowe masz dobrze, ale do projektowania za pomoca grafu bym sie za to nie bral. Lepiej wziasc zwykly przerzutnik D i pokombinowac jak zrobic zeby to dzialalo na zbocze opadajace ;) Co trzeba dodac.

    Podpowiedz:
    Bedzie to przerzutnik typu master-slave zbudowany z dwoch D i jednego NOT-a.
  • #4
    Leoo
    Level 16  
    dir3ctor wrote:
    Bedzie to przerzutnik typu master-slave zbudowany z dwoch D i jednego NOT-a.

    Na moje oko ma być na bramkach, więc wyjdziemy od RS. Zanegowanie wejścia zegarowego jest słuszne ale nie oto chodziło Autorowi.
  • #5
    dir3ctor
    Level 27  
    No to zamiast tych dwoch D wstawiamy odpowiednio zmodyfikowane RSy na bramkach, dodajemy jednego NOTa i po bolu.
  • #6
    bandziorno667
    Level 10  
    dir3ctor wrote:
    Przebiegi czasowe masz dobrze, ale do projektowania za pomoca grafu bym sie za to nie bral.

    Da się i wiem jak to zrobić; na podstawie grafu tworzy się tablice przejśc i wyjść, którą się skraca przy użyciu tablicy trójkątnej, następnie kodowanie stanów, minimalizacja zakodowanej tablicy za pomocą siatek Karnaugh no i tak powiniem otrzymać funkcje wzbudzeń dla tego przerzutnika. Wszystko to ma być zawarte w sprawozdaniu i ze wszystkim powinienem sobie poradzić, ale nie mogę wystartować, tzn tak ustalić przebiegów czasowych, żeby nie było takich sprzeczności jak wyżej.

    dir3ctor wrote:
    Lepiej wziasc zwykly przerzutnik D i pokombinowac jak zrobic zeby to dzialalo na zbocze opadajace :wink: Co trzeba dodac.

    Nie przejdzie... :P Mam to zrobić za pomocą bramek, nie inaczej.
  • #7
    dir3ctor
    Level 27  
    Zaraz wezme kartke papieru i pokombinuje ;-)
    Moj problem polega na tym ze uczono mnie metod "inzynierskich" czyli niekoniecznie krok-po-kroku, a troche kombinacji i pomyslunku, dlatego takie problemy rozwiazuje w locie, zamiast siatkami, grafami, etc...
  • #8
    Leoo
    Level 16  
    Tabliczki Karnaugha i minimalizacja funkcji logicznych słuszna jest dla układów kombinacyjnych. Tu powstaje układ synchroniczny i do dyspozycji mamy grafy.
    Cały problem można sprowadzić do dwóch stanów:
    1. Wczytanie zboczem opadającym stanu H,
    2. Wczytanie zboczem opadającym stanu L.
    Nic więcej układ nie musi robić.
  • #9
    dir3ctor
    Level 27  
    Czyli po nastapieniu sekwencji clocka 1->0 wystawiamy na Q wartosc podana na D.
    Code:

    CD|Q
    11|0
    01|1
    10|1
    00|0


    Wszystkie inne stany powinny byc stabilne dla pozostalych wektorow. Dobrze mowie? Niech mnie ktos zweryfikuje.
  • #10
    Leoo
    Level 16  
    dir3ctor wrote:
    Czyli po nastapieniu sekwencji clocka 1->0 wystawiamy na Q wartosc podana na D.
    Code:

    CD|Q
    11|0
    01|1
    10|1
    00|0


    Wszystkie inne stany powinny byc stabilne dla pozostalych wektorow. Dobrze mowie? Niech mnie ktos zweryfikuje.

    Prawie dobrze. Looknij do pierwszej książki z TTL. Operują definicją tn dla stanu aktualnego i tn+1 dla kolejnego lub wręcz symbolem zbocza opadającego ze strzałką do dołu. Stany będą tylko dwa, gdyż nie mamy wejść asynchronicznych.
  • #11
    dir3ctor
    Level 27  
    Tak jak mowilem, ja bym po inzyniersku zrobil to tak:
    2 przerzutniki D1 i D2. Wejscie pierwszego, to wejscie calosci, a jego wyjscie wchodzi na wejscie drugiego. Do pierwszego podajemy normalny sygnal zegarowy, a do drugiego ten sam zegar przez NOTa. Powinno dzialac.
  • #12
    Paweł Es.
    VIP Meritorious for electroda.pl
    Przerzutnik D to właściwie przerzutnik RS z dodanym układem próbkującym. Zależnie od potrzeb sygnał D może być próbkowany na przednim lub tylnym zboczu sygnału C.

    Przykład rozwiązania (nieminimalny ale działający)

    Przerzutnik typu D wyzwalany zboczem opadającym

    Bramki U1A i U1B tworzą przerzutnik RS ustawiany albo z bramek U1C i U2A albo z wejść R i S (po inwerterach U3E i U3F odwracających stany R i S by było jak w przerzutnikach D układu 4013)

    Bramki U1C i U2A są bramkami próbkującymi stan wejścia D (i D zanegowane po U3A). W momencie ich otwarcia, stan wejścia D ustawia odpowiednio przerzutnik wyjściowy U1A/U1B

    Przerzutnik U2B/U2C oraz inwertery U3B i U3D tworzą generator impulsu próbkującego sterującego bramkami U1C i U1B.

    Generacja ta polega na wytworzeniu dwóch przebiegów (w punktach A i B) przesuniętych w czasie o sumę czasów propagacji U3B, U2B i U3D

    Gdy C=1 to A=0 a B=1,
    Gdy C=1->0 to najpierw A=1 i B=1 -> następuje próbkowanie wejścia D
    Po czasie propagacji U3B, U2B i U3D B=0 i kończy się próbkowanie wejścia D.

    Gdy C=0 to A=1 i B=0.

    Gdy C=0->1 to A=0, B=0 - próbkowanie nie następuje
    Po opóźnieniu A=0, B=1 - próbkowanie nie następuje

    C_111111111000000000000001111111111 <- zegar C

    A_000000000111111111111110000000000 <-sygnał A
    B_111111111110000000000000011111111 <-sygnał B

    P_000000000110000000000000000000000 <-próbkowanie wejścia D


    Układ powyższy do celów poglądowych nie do kopiowania w celach ocenowych


    Dodano po 16 [minuty]:

    [quote="dir3ctor"]Czyli po nastapieniu sekwencji clocka 1->0 wystawiamy na Q wartosc podana na D.
    Code:

    CD|Q
    11|0
    01|1
    10|1
    00|0


    Tu masz błąd myślowy, bo w przerzutniku D wyzwalanym zboczem występuje niejawnie trzeci sygnał czyli zapamiętany stan wejścia C (dla celów wykrycia zbocza) czyli masz

    C[t-1], C[t] i D[t]
    C[t] jest przepisywane asynchronicznie do C[t-1]
    Próbkowanie D[t] następuje gdy C[t-1] i C[t] są różne
  • #13
    Leoo
    Level 16  
    Ciekawy układ.
    Można problem rozwiązać i tak ale nie sądzę, by wykładowcy właśnie o to chodziło.
    Przerzutnik U2B, U2C wraz z inwerterem U3B nie robi nic, poza wprowadzaniem opóźnienia wynikającego z czasów propagacji. W związku z powyższym U2C można usunąć z układu, łącząc U2B w inwerter. W ten sposób uzyskamy znaczną przejrzystość i łatwiejszą analizę.
    Zdecydowanie zachęcam Autora wątku do zabrania głosu, gdyż wykładowcy mają dostęp do sieci. Brak inwencji może zostać nieprzychylnie odebrany.
  • #14
    Quarz
    Level 43  
    Witam,
    oj kombinujących specjalistów przybyło tu wielu,
    ale żaden nie pomyślał o wytyczonym tu celu...
    a popatrzeć trza jak Flip-Flop D jest wewnątrz połączony,
    co przednim zboczem bywa skutecznie wyzwolony,
    by potem sięgnąć po znane de Morgana Prawa i odpowiednie
    funktory zamienić co będą go wyzwalać zbocza tylne, a nie przednie... :D

    Przerzutnik typu D wyzwalany zboczem opadającym

    Pozdrawiam
  • #15
    Paweł Es.
    VIP Meritorious for electroda.pl
    Podpowiedź druga ;)) jak się otworzy to będzie mrugać ;))

    Przerzutnik typu D wyzwalany zboczem opadającym
  • #16
    sosen21
    Level 12  
    Chyba nikt nie zrozumiał założyciela tematu. Musi On przejść przez wszystkie etapy syntezy układu. No, chyba, że doradzacie mu "inżynierię wsteczną". Ja proponuję do listy "sygnałów" dodać stan poprzedni zegara. Wtedy można uwzględnić, że przy poziomie 0 lub 1 przerzutnik nie przepisze D na wyjście Q a zrobi to przy zboczu opadającym. A poprzedni stan zegara można uzyskać przez jego negację. Przy optymalizacji wszystko powinno się uprościć. Sporo roboty. Powodzenia i pozdrawiam.

    ps.: niezły wiersz :D
  • #17
    bandziorno667
    Level 10  
    sosen21 wrote:
    Chyba nikt nie zrozumiał założyciela tematu. Musi On przejść przez wszystkie etapy syntezy układu.

    No, dokładnie. Niżej jest oryginalna treść zadania, jak ktoś jeszcze nie rozumie. Jak widać nie mogę tego obejść w żaden sposób, tylko mam wszystko zaprojektować od podstaw.
    A rymowana podpowiedź naprawdę zabawna :) ale nie do końca przydatna...

    Przerzutnik typu D wyzwalany zboczem opadającym

    Na zajęciach było powiedziane, że zaczynamy od narysowania wykresu czasowego, uwzględniającego wszystkie kominacje D, Q i C. Powinno to dać 2³ stanów. Następnie na podstawie przebiegów rysujemy graf, tak by z każdego statnu były przynajmniej dwa wyjścia i tak przykładowo: ze stanu 1 do stanu następuje wyjście na 10, ze stanu 1 do stanu 4 na 11, wejście do stanu 1 jest na 00, a dla 01 jest stan nieokreślony.
  • #18
    Leoo
    Level 16  
    bandziorno667 wrote:
    sosen21 wrote:
    Chyba nikt nie zrozumiał założyciela tematu. Musi On przejść przez wszystkie etapy syntezy układu.

    No, dokładnie. Niżej jest oryginalna treść zadania, jak ktoś jeszcze nie rozumie. Jak widać nie mogę tego obejść w żaden sposób, tylko mam wszystko zaprojektować od podstaw.

    Kolega raczej nie czytał zbyt dokładnie całego wątku.
    Tu znajdują się dane CD4013:
    www.fairchildsemi.com/ds/CD/CD4013BC.pdf
    Na pierwszej stronie jest tabliczka prawdy. Proszę usunąć kolumnę S i R (projekt nie zawiera wejść asynchronicznych) oraz wiersze zawierające stany nieznaczące. Ile zostało możliwości?
    Klasyczny przerzutnik D, reagujący na zbocze narastające C (CLK), zbudowany jest na bramkach NAND. W celu zmiany zbocza należy układ zaprojektować na innych funktorach, co z resztą podpowiedział kolega Quarz. Ze swojej strony nic więcej dodać nie mogę, bo będzie to nieetyczne a zainteresowany Kolega dostanie lufę za zadanie domowe.
  • #19
    Paweł Es.
    VIP Meritorious for electroda.pl
    Wykres czasowy nie uwzględnia wewnętrznego zapamiętywania stanu wejścia C w przerzutniku D. To zapamiętanie jest konieczne do wykrycia odpowiedniego zbocza taktującego zatrzaskiwanie danych z wejścia D.
    Ponieważ w zadaniu podano, że można użyć przerzutnika, to proponuję na wyjściu użyć przerzutnika RS, i rozpisać sygnały wzbudzające dla niego jako funkcję sygnałów C[t-1], C[t] i D[t]. Sygnał C[t-1] wytwarzasz przez opóźnienie sygnału C[t] wykorzystując fakt istnienia czasu propagacji w elementach.