Podstawy elektroniki cyfrowej


Nand gate
Na początku  – jeżeli chcemy projektować układy cyfrowe – powinniśmy poznać zasady działania podstawowych układów logicznych.

Podstawowymi elementami z których buduje się układy cyfrowe są bramki logiczne. Te podstawowe „bloczki” naszego układu to:

  • AND (ang. „i” – koniunkcja)
  • OR (ang. „lub” – alternatywa)
  • ExOR (lub XOR) – (Exclusive or – ang. „wyłącznie lub”)
  • NOT

Dzięki kombinacjom bramki NOT z innymi funkcjami możemy stworzyć dodatkowe 3 bramki

  • NAND
  • NOR
  • ExNOR (lub XNOR)

Takie połączenie jest o tyle ważne, że z bramek typu NAND czy NOR jesteśmy w stanie złożyć dowolną inną funkcję logiczną poprzez odpowiednie ich łącznie.

Pierwszym zestawem bramek jakie opiszę będą bramki AND oraz NAND.

AND gate Nand gate
A B AND NAND
0 0 0 1
0 1 0 1
1 0 0 1
1 1 1 0

Jak widać bramki realizują odpowiednio funkcję iloczynu logicznego oraz zanegowanego iloczynu.

Zajmijmy sie teraz bramkami OR oraz NOR.

A B OR NOR
0 0 0 1
0 1 1 0
1 0 1 0
1 1 1 0

Ten zestaw bramek jest realizatorem funkcji sumy logicznej oraz zanegowanej sumy.

Na sam koniec przedstawię bramki typu ExOR oraz ExNOR.

A B ExOR ExNOR
0 0 0 1
0 1 1 0
1 0 1 0
1 1 0 1

Tak jak wcześniej wspominałem nazwa bramki ExOR jest skrótem od „Exclusive OR” co oznacza „wyłącznie lub”. Widać w tabeli prawdy tej bramki że na wyjściu pojawia się stan logicznej prawdy tylko wtedy gdy na wejściach mamy dwa przeciwne stany. Natomiast bramka ExNOR jest negacją ExOR dzięki czemu możemy nazwać ją „wyłącznie i”, czyli uzyskamy stan wysoki wtedy i tylko wtedy gdy na wejściach znajdą się dwa takie same stany.

Przerzutniki

Ważnym elementem pracy układów cyfrowych są układy przerzutników. Są one budowane na podstawie bramek, ale nie będziemy się zagłębiać w ich strukturę a jedynie funkcjonalność.

  1. Asynchroniczne
    • RS/SR (w zależności od priorytetu set/reset)
    • D typu latch
  2. Synchroniczne
    • D typu flip-flop
    • T
    • JK

Przerzutnik asynchroniczny – jak sama nazwa wskazuje – działa niezależnie od sygnału synchronizującego – zegara. Przerzutnik typu RS posiada dwa wejścia S i R (wejście ustawiające i zerujące), oraz zwykle dwa wyjścia Q oraz ~Q (przez tyldę oznacza się negację sygnału). Opiszę tylko zachowanie wyjścia Q gdyż ~Q jest tylko stanem przeciwnym.

S R Q Opis
0 0 Q stan bez zmian
0 1 0 zerowanie
1 0 1 ustawienie „1”
1 1 stan niedozwolony

W moim przekonaniu najważniejszym stanem do opisania tutaj jest stan niedozwolony. Nie oznacza on że coś się stanie nam z bramką – eksploduje albo się przepali – oznacza on tylko niedozwolony stan logiczny, gdyż nie wiemy co się powinno stać gdy w jednej chwili chcemy aby wyjście było w stanie 0 i 1. Jednakże wcześniej wspominałem o priorytetach – to właśnie one definiują nam zachowanie tego przerzutnika w stanie niedozwolonym – czy otrzymamy 0 (priorytet R) czy też 1 (priorytet S).

Przerzutnik typu latch (ang. zatrzask) jest układem, który – najprościej tłumacząc – przepisuje stan z wejścia na wyjście, wtedy i tylko wtedy gdy posiada on ustawiony stan wysoki na wejściu zezwalającym na pracę EN (od enable)

EN D Q Opis
0 0 Q stan bez zmian
0 1 Q stan bez zmian
1 0 0 ciągłe przepisanie „0”
1 1 1 ciągłe przepisanie „1”

Przerzutnik synchroniczny – tutaj przeciwnie do wspomnianego przerzutnika asynchronicznego zmiany na wyjściu odbywają się tylko i wyłącznie w dyskretnych chwilach czasu związanych z sygnałem synchronizującym. Zwykle zmiany te odbywają się w czasie narastającego zbocza sygnału zegarowego.

Przerzutnik typu flip-flop jest układem podobnym do przerzutnika typu latch, jednakże przepisuje on wartość wejścia na wyjście tylko w dyskretnych chwilach czasu określonych przez narastające zbocze zegara.

D CLK Q Opis
0/1 0 Q stan bez zmian
0/1 1 Q stan bez zmian
0 0 przepisanie „0”
1 1 przepisanie „1”

Przerzutnik typu jest nazywany często dwójką liczącą. Spowodowane jest to jego własnością zmiany stanu dzięki czemu z nich mogą być budowane liczniki działające w naturalnym kodzie binarnym.

T CLK Q Opis
0/1 0 Q stan bez zmian
0/1 1 Q stan bez zmian
0 Q przepisanie „0”
1 ~Q przepisanie „1”

Ostatnim przerzutnikiem jest przerzytnik typu JK – można nazwać go uniwersalnym przerzutnikiem gdyż przy odpowiednim połączeniu jego wejść i wyjść oraz wykorzystaniu paru bramek można ustawić jego pracę jako dosłownie dowolny przerzutnik synchroniczny.

J K CLK Q Opis
0/1 0/1 0 Q stan bez zmian
0/1 0/1 1 Q stan bez zmian
0 0 Q stan bez zmian
0 1 0 zerowanie
1 0 1 ustawienie „1”
1 1 ~Q stan przeciwny

 Zakończenie

Odnośnie podstaw elektroniki cyfrowej, wydaje mi się że jest to taka baza, która jest niezbędna żeby zrozumieć działanie układów logicznych. Warto poczytać odnośnie rejestrów, multiplekserów, koderów, gdyż są one kolejną warstwą układów cyfrowych. Mam nadzieję, że w przyszłości poszerzę ten artykuł o wspomniane układy.

Liczę na produktywne opinie, które pomogą mi w dalszej rozbudowie strony.