Serwisy partnerskie:
Close icon
Serwisy partnerskie

Kick Start, część 10: wracamy do tradycyjnych układów logicznych

Article Image
Nasza okazjonalna seria Kick Start ma na celu ukazywanie Czytelnikom, jak wykorzystywać łatwo dostępne, niedrogie elementy i urządzenia do rozwiązywania szerokiej gamy typowych problemów w możliwie najkrótszym czasie. Każdy z przykładów i projektów może zostać zrealizowany przy użyciu gotowych podzespołów w czasie nie dłuższym niż kilka godzin. Oprócz krótkiego objaśnienia podstawowych zasad i zastosowanych technik, seria dostarczy wielu reprezentatywnych rozwiązań i przykładów wraz z wystarczającą ilością informacji, aby móc je dostosować i rozszerzyć do własnych potrzeb.

W tym odcinku wyjaśnimy, w jaki sposób wykorzystanie „starej logiki” może w prosty i tani sposób rozwiązać wiele problemów występujących przy projektowaniu układów. Prześledzimy kolejne etapy procesu projektowania, podczas których autor przejrzy swoje zapasy elementów i pokaże, jak zbudować bardzo prosty układ do rozstrzygania kolejności zgłaszanych odpowiedzi. Układ jest nieporównanie prostszy niż jeden z najpopularniejszych obecnie mikrokontrolerów i kosztuje drobny ułamek jego ceny.

Przypis redaktora: chodzi o układ wykrywający, który z dwóch przycisków został naciśnięty jako pierwszy. Układ służy do rozstrzygania, która z dwóch grup uczestników zgaduj-zgaduli szybciej zgłosiła się z odpowiedzią. W dalszej części tekstu układ będzie określany jako arbiter.

Kiedy niedawno dostałem zadanie zaprojektowania prostej zabawki rozstrzygającej do turniejów, szybko zdecydowałem się na rozwiązanie typowe dla mnie. Powinien tu wystarczyć Arduino Uno z wyświetlaczem LCD i kilkoma innymi elementami. Prototyp zmontowałem bez komplikacji, napisałem kilkadziesiąt wierszy programu i wszystko działało poprawnie. Jednak później, gdy zakończyłem etap prototypu i miałem przed sobą pierwszą wersję płytki drukowanej, zacząłem mieć kilka dręczących wątpliwości co do użytego rozwiązania.

Dlaczego stara logika?

Pierwszą kwestią był koszt. Układ nawet bez wyświetlacza LCD był dość drogi i chyba trzykrotnie przekraczał mój pierwotny budżet. Potrzebowałem rozwiązania znacznie prostszego i mniej zaawansowanego technicznie. Być może w ogóle nie powinienem używać mikrokontrolera.

Ostatecznie, po kilku nieprzespanych nocach, zdecydowałem się na rozwiązanie oparte na pojedynczym układzie logicznym, który można kupić dosłownie za złotówkę i który w ogóle nie wymaga programowania!

Powrót do podstawowych elementów logicznych

Zaglądając do moich zapasów elementów odkryłem mnóstwo układów logicznych, które kiedyś sklasyfikowałem jako „warte zachowania” – na wypadek, gdybym musiał przeprowadzić naprawę jakiegoś starszego sprzętu – a także mnóstwo płytek komputerowych zapełnionych 14-, 16- i 18-nóżkowymi układami w obudowach dual-in-line. To miał być mój punkt wyjścia: pudło pełne kostek logicznych CMOS zgodnych z TTL, które były używane w projektach konstrukcyjnych kilka dekad temu.

Symbole niektórych podstawowych elementów logicznych pokazano wraz z ich tabelami prawdy na rysunku. Zauważmy, że inwertery i bufory mają tylko po jednym wejściu, bramki alternatywy wykluczającej XOR – po dwa wejścia, a inne bramki podstawowe (AND, OR, NAND i NOR) dostępne są z maksymalnie ośmioma wejściami.

Rysunek. Symbole podstawowych elementów logicznych wraz z ich tablicami prawdy

Działanie każdej z podstawowych bramek logicznych można podsumować w następujący sposób:

Bufory

Bufory nie zmieniają stanu logicznego sygnału cyfrowego. Wejście 0 daje zawsze wyjście 0, a wejście 1 – wyjście 1. Bufory są zwykle używane do zapewnienia większego prądu na wyjściu, mogą też być stosowane do dopasowania poziomów logicznych. Trójkątny kształt symbolu nie jest przypadkiem – jest to jakby cyfrowy wzmacniacz o wzmocnieniu jednostkowym.

Inwerter

Inwertery są używane do zanegowania („dopełnienia”) stanu logicznego. Innymi słowy, wejście 0 daje wyjście 1 i odwrotnie. Podobnie jak bufory, inwertery również zapewniają większy prąd na wyjściu oraz są używane w systemach cyfrowych do dopasowywania poziomów. Na symbolu graficznym inwersja jest oznaczona przez kółeczko.

AND

Wyjście bramki AND będzie miało stan logiczny 1 wtedy i tylko wtedy, gdy wszystkie wejścia mają stan 1. Każda inna kombinacja wejść skutkuje na wyjściu logicznym stanem 0.

OR

Bramka OR daje na wyjściu 1, gdy co najmniej jedno wejście ma wartość logiczną 1. Inaczej mówiąc bramka OR ma na wyjściu 0 wtedy i tylko wtedy, gdy wszystkie jej wejścia mają stan 0.

NAND

Bramka NAND (NOT-AND) daje wyjście 0 wtedy i tylko wtedy, gdy wszystkie jej wejścia mają stan 1. Każda inna kombinacja wejść da na wyjściu 1. Bramka NAND jest więc niczym innym jak bramką AND z zanegowanym wyjściem; mówiąc inaczej, bramką AND z inwerterem. Na symbolu inwersję tę oznacza kółko na wyjściu.

NOR

Analogicznie do bramki NAND – bramka NOR (NOT-OR) wytworzy na wyjściu 1 wtedy i tylko wtedy, gdy wszystkie wejścia mają stan 0. Każda inna kombinacja wejść daje na wyjściu stan logiczny 0. Bramka NOR jest więc po prostu bramką OR z zanegowanym wyjściem czyli bramką OR z inwerterem. I znów inwersję symbolizuje kółeczko.

XOR

Bramka XOR (exclusive-OR) daje 1 na wyjściu, gdy jedno z wejść ma stan 1, a drugie stan 0. Są zawsze tylko dwa wejścia. Stan 0 na wyjściu wystąpi wtedy, gdy oba wejścia mają ten sam stan logiczny tj. oba są w stanie 0 lub oba w stanie 1.

Aby przeczytać ten artykuł kup e-wydanie
Kup teraz
Firma:
AUTOR
Źródło
Elektronika dla Wszystkich lipiec 2026
Udostępnij
UK Logo
Elektronika dla Wszystkich
Zapisując się na nasz newsletter możesz otrzymać GRATIS
najnowsze e-wydanie magazynu "Elektronika dla Wszystkich"