logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak zaprojektować układ cyfrowy generujący sekwencję stanów 10, 11, 00?

krzysiekkd92 02 Gru 2012 11:29 1716 5
REKLAMA
  • #1 11599999
    krzysiekkd92
    Poziom 11  
    Posty: 62
    Ocena: 2
    Witam Panów. Potrzebuję układ, który po podaniu na wejście impulsu (może być wyzwalanie zboczem lub poziomem) będzie na dwóch wyjściach podawał kolejno następujące stany: 10, 11, 00, 10, 11, 00, ... Coś na wzór licznika, ale nie wiem na podstawie czego to zaprojektować, po prostu nie mam pomysłu. Gdyby ktoś mógłby pomóc, byłbym wdzięczny.
  • REKLAMA
  • Pomocny post
    #2 11600110
    Jarok
    Poziom 21  
    Posty: 364
    Pomógł: 40
    Ocena: 41
    krzysiekkd92 napisał:
    Coś na wzór licznika, ale nie wiem na podstawie czego to zaprojektować, po prostu nie mam pomysłu.


    Czemu nie licznik? Na przykład poczciwy 7490...
  • REKLAMA
  • #3 11600260
    yogi009
    Poziom 43  
    Posty: 14667
    Pomógł: 848
    Ocena: 2646
    Można sprzętowo licznikiem, lub programowo mikrokontrolerem - wtedy sam ustalasz sekwencje następujących po sobie zestawów bitowych (to rozwiązanie jest bardziej elastyczne).
  • REKLAMA
  • #4 11601439
    krzysiekkd92
    Poziom 11  
    Posty: 62
    Ocena: 2
    Jarok napisał:
    krzysiekkd92 napisał:
    Coś na wzór licznika, ale nie wiem na podstawie czego to zaprojektować, po prostu nie mam pomysłu.


    Czemu nie licznik? Na przykład poczciwy 7490...


    Bity na wyjściu są 10,11,00, czyli 2,3,0, czyli takie modulo 4 z pominięciem jedynki. Jeśli da sie cos takiego zrobic na liczniku, to byłoby super. Niestety ja nie wiem jak.
  • REKLAMA
  • Pomocny post
    #5 11602771
    Jarok
    Poziom 21  
    Posty: 364
    Pomógł: 40
    Ocena: 41
    To proponuję licznik 4017+diody i ewentualnie jakieś bramki na bufory wyjściowe, ale to dodatkowy układ.

    Rozwiązanie z mikrokontrolerem też by się sprawdziło. Można sobie dowolnie zaprogramować sekwencję wyjściową i jeszcze można by było wykorzystać instrukcję "debounce" do eliminacji drgań styku, bo przy liczniku trzeba to rozwiązać "analogowo", inaczej może być kolejny post w stylu "...dlaczego to nie działa"
  • Pomocny post
    #6 11607024
    kspro
    Poziom 27  
    Posty: 509
    Pomógł: 158
    Ocena: 107
    Mikrokontroler do tak prostego zadania to zawracanie głowy, układ generujący żądaną sekwencję można zrealizować na pojedynczym układzie scalonym CMOS 4027 zawierającym dwa przerzutniki JK taktowane narastającym zboczem. Każdy przerzutnik posiada wejścia J i K, wejście zegarowe, wyjścia proste Q i zanegowane /Q oraz wejście ustawiające S i kasujące R.
    Nie mam jak narysować schematu, więc go opiszę, zresztą jest on bardzo prosty. Rysujemy dwa przerzutniki JK obok siebie, temu po lewej stronie dajemy numer 1 (bit bardziej znaczący), temu po prawej numer 0 (bit mniej znaczący). Łączymy:
    J0 z Q1
    J1 z /Q1
    K0 i K1 z Q0
    Układ generuje sekwencję na wyjściach Q1Q0: 00 -> 10 -> 11 -> 00, przy czym stan niepożądany 01 -> 11 i dalej już normalnie.
    Oczywiście wejścia zegarowe muszą być taktowane z tego samego źródła (czyli połączone razem) a na wejścia ustawiające S i kasujące R obu przerzutników podane "0" logiczne (poprzez podłączenie do masy). Można też wykorzystać wybrane wejścia S i R do ustawiania stanu początkowego (np. po właczeniu zasilania) wymuszając na nich na moment stan wysoki.
REKLAMA