Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Licznik synchroniczny

tobias 04 Maj 2005 15:07 4101 10
  • #1 04 Maj 2005 15:07
    tobias
    Poziom 10  

    Witam.
    Mam następujący problem nauczyciel na lekcji ETC(Elementy Techniki Cyfrowej) zadał każdemu z klasy zaprojektować licznik synchroniczny.
    W moim przypadku jest to:
    Licznik syncroniczny 5 bitowy zliczający w dół kolejne liczby nieparzyste, dodatkowo liczni powinien uwzględniać stan zero i
    liczbę 6(mój numer z dziennika).

    Jeżeli ktoś potrafiłby zbudować chociarz sam schemat logiczny takiego licznika to byłbym bardzo wdzięczny. Projek powinien składać się z 7 punktów, dla mnie najtrudniejsze jest narysowanie schematu.
    Jeżeli ktoś chciałby wiedzieć jakie to mają być punkty to oto one:
    1. Zaprojektować licznik(ten co podałem powyżej)
    2.Określić liczbę stanów projektowanego układu
    3.Określamy minimalną liczbę potrzebnych przerzutników. I kodujemy stany licznika stanami tych przerzutników.
    4. Określamy wszystki tabele wzbudzeń dla zastosowanych przerzutników.
    5. Minimalizujemy funkcję wzbudzeń przerzutnika.
    6.Narysować schemat logiczny licznika
    7.Narysować przebiegi czasowe w charakterystycznych punktach układu.

    Najlepiej jeżeli schemat byłby zrobiony w tym programie

    Code:
    http://www.spsu.edu/cs/faculty/bbrown/circuits/DW20_95.exe

    Wiem że możecie pomyśleć że jestem leńiem bo wystawiam takiego posta, ale u mnie w klasie czają to może ze 2 osoby. A ETC mam dopiero pierwszy rok i w dodatku 2 godz. w tygodniu. Dla zainteresowanych mogę podać przykładowy projekt licznika sychronicznego.

    0 10
  • #2 04 Maj 2005 20:06
    Paweł Es.
    Pomocny dla użytkowników

    31, 29, 27, 25, 23, 21, 19, 17, 15, 13, 11, 9, 7, 6, 5, 3, 1, 0

    2. Ponieważ stanów jest 18 to musisz mieć 5 przerzutników (max 32 stany)

    Code:


    0     00000
    1     00001
    3     00011
    5     00101
    6     00110
    7     00111
    9     01001
    11   01011
    13   01101
    15   01111
    17   10001
    19   10011
    21   10101
    23   10111
    25   11001
    27   11011
    29   11101
    31   11111



    Jak widać z powyższego musisz zrealizować:

    - funkcję dla najniższego bitu dającą 0 dla stanów 7 i 1 (bo następne stany 6 i 0 mają bit najniższy =0) i jedynkę w pozostałych przypadkach

    dla przerzutnika typu D

    D0:=!Q4*!Q3*(!Q0+Q2*!Q1+!Q2*Q1) daje 0 dla 7 i 1.

    ! - negacja

    - i cztery funkcje wzbudzające dla przerzutników pozostałych bitów
    dla danego stanu licznika układ kombinacyjny daje następny niższy stan.

    W tworzeniu funkcji trzeba też uwzględnić stany błędne, by licznik nie poszedł w maliny

    A najprostszym rozwiązaniem problemu w 5 minut jest użycie układu mikroprogramowalnego złożonego z pamięci 32 słowa 8 bitowe adresowanej stanem pięciu przerzutników wyjściowych, taktowanych wspólnym sygnałem zegarowym. Układ pamięciowy i przerzutniki są dostępne w programie Digital Works !

    Wyjście pamięci podajesz na wejścia przerzutników ( w zadaniu nie podano ograniczeń na użyte elementy) i w sumie masz jedną pamięć i jeden układ np. 74HCT174 (6 przerzutników typu D).
    W programie DW dajesz 5 oddzielnych przerzutników D taktowanych wspólnym sygnałem zegarowym.


    Pod poszczególne adresy wpisujesz:

    aktualny stan -> następny stan
    ADR DANE
    00 -> 31
    01 -> 00
    02 -> 01
    03 -> 01
    04 -> 03
    05 -> 03
    06 -> 05
    07 -> 06
    08 -> 07
    09 -> 07
    10 -> 09
    11 -> 09
    12 -> 11
    13 -> 11
    14 -> 13
    15 -> 13
    16 -> 15
    17 -> 15
    18 -> 17
    19 -> 17
    20 -> 19
    21 -> 19
    22 -> 21
    23 -> 21
    24 -> 23
    25 -> 23
    26 -> 25
    27 -> 25
    28 -> 27
    29 -> 27
    30 -> 29
    31 -> 29

    I tyle

    Budowa na oddzielnych bramkach będzie bardzo rozbudowana i przy realizacji fizycznej (a z takimi mamy do czynienia na codzień) drogie (koszt powierzchni płytki) i prądożerne (bo dużo układów).

    Układ z pamięcią ma następujące zalety:

    - jest prosty w projektowaniu w stosunku do układu na oddzielnych bramkach

    - jest elastyczny, zmiana sposobu liczenia (inne stany) nie wymaga projektowania od początku (rozpisanie funkcji, minimalizacja, projektowanie i wykonanie płytki) - WYSTARCZY PRZEPROGRAMOWAĆ PAMIĘĆ UMIESZCZONĄ NP W PODSTAWCE.

    - czas projektowania jest dużo krótszy niż w przypadku układu "na piechotę" a i pomylić się trudniej.

    - jeżeli mamy pamięć o większej pojemności (64,128, 256*8) to możemy łatwo dodać nowe funkcje do licznika (liczenie w przód, inna sekwencja wybierana stanem na wejściu pamięci).

    0
  • #3 05 Maj 2005 10:11
    tobias
    Poziom 10  

    Dzięki za odpowiedź.
    Sory że nienapisałem ale chodziło mi o układ zbudowany z bramek i przerzutników.
    Mam jeszcze pytanie otóż z jakich przerzutników najlepiej zaprojektować ten układ? bo ja zaczełem projektować z przerzutników JK.

    0
  • #4 05 Maj 2005 13:10
    Paweł Es.
    Pomocny dla użytkowników

    Trzeba by porównać, w przypadku przerzutników D masz po jednej funkcji wzbudzeń na przerzutnik, dla JK są po dwie ale mogą być prostsze.

    0
  • #5 05 Maj 2005 16:03
    tobias
    Poziom 10  

    Mam jeszcze taką prośbę jeżeli ktoś się orientuje niech mi pomoże zminimalizować funkcję wzbudzeń przerzutnika przedstawionego poniżej. A przy okazji niech sprawdzi czy dobrze zaczełem projektować.

    Licznik synchroniczny[/img]

    0
  • #6 05 Maj 2005 19:59
    Paweł Es.
    Pomocny dla użytkowników

    Taka uwaga praktyczno-upraszczająca (zwykle) funkcje.
    Rozpatrywać należy wszystkie stany także te niepoprawne, bo licznik powinien być samokorygujący się (czasami od tego może zależeć bezpieczeństwo użytkownika urządzenia) . Jeżeli z jakiegoś powodu (np. zakłócenie lub polecenie prowadzącego) ustawi się stan niepoprawny na przerzutnikach to licznik powinien sam wrócić do właściwego toku liczenia, tzn. powinno być tak:

    Q Q+1
    31 29
    30 29 <- stan niepoprawny
    29 27
    28 27 <- stan niepoprawny
    27 25
    26 25 <- stan niepoprawny

    itd.




    Dla przerzutników D, funkcje wzbudzeń dla poszczególnych przerzutników mają postacie:

    $$D0:=Q4+Q3+\bar{Q0}+Q2*\bar{Q1}+\bar{Q2}*Q1$$

    $$D1:=\bar{Q1}*(Q4+Q3+\bar{Q0})+\bar{Q4}*\bar{Q3}*Q2*Q0$$

    $$D2:=Q2*Q1+\bar{Q2}*\bar{Q1}*(Q4+Q3+\bar{Q0})$$

    $$D3:=Q3*(Q2+Q1)+\bar{Q3}*\bar{Q2}*\bar{Q1}*(Q4+\bar{Q0})$$

    $$D4:=Q4*(Q3+Q2+Q1)+\bar{Q4}*\bar{Q3}*\bar{Q2}*\bar{Q1}*\bar{Q0}$$

    Na schemacie w DW należy połączyć linie oznaczone tymi samymi etykietami (niestety ta wersja DW nie ma etykiet uczytelniających
    schemat i trzeba ciągnąć każdy przewód osobno.

    0
  • #7 08 Maj 2005 04:46
    Paweł Es.
    Pomocny dla użytkowników

    i co ?

    0
  • #8 08 Maj 2005 10:40
    tobias
    Poziom 10  

    Chciałem aby ktoś zminimalizował mi funkcje z podanych wyżej tabel Karnagua dla przerzutników typu JK. Ale wielkie dzięki za z zaprojektowanie układu z przerzutników typu D niewiem tylko czy taki układ można zbudować w DW.(chciałbym sprawdzić czy działa)

    0
  • #9 08 Maj 2005 14:34
    Paweł Es.
    Pomocny dla użytkowników

    Można, tylko trzeba pamiętać, że bramki tam mają max. 4 wejścia i kombinacje więcej niż 4 wejściowe trzeba dekomponować na mniejsze.
    W Digital Works nie ma (w każdym razie nie zauważyłem tego) możliwości wstawiania połączeń schematowych (etykiet) i każde połączenie trzeba łączyć bezpośednio.

    Przy przerysowywaniu do DW należy połączyć ze sobą wyjścia i wejścia o tych samych etykietach (wyjścia przerzutników na wejścia bramek).

    0
  • #10 08 Maj 2005 16:59
    tobias
    Poziom 10  

    A zna może ktoś inny program do tworzenia takich układów oprucz Digital Worksa i Electronics Workbencha ?, w którym można było by "przerysować" układ podany powyżej.

    0
  • #11 08 Maj 2005 19:24
    Paweł Es.
    Pomocny dla użytkowników

    schemat rysowałem w Circuit Makerze 2000

    0
  Szukaj w 5mln produktów