Ta strona używa ciasteczek (plików cookies), dzięki którym może działać lepiej. Dowiedz się więcejRozumiem i akceptuję

Technika cyfrowa – #3 – układy CMOS z bramkami

Elektronika 18.10.2016 Michał, Damian

kurstc_miniaturka_3W tym odcinku kursu techniki cyfrowej zajmiemy się bramkami logicznymi wbudowanymi w układy z rodziny CMOS.

Po zapoznaniu się w praktyce z tymi niezwykle popularnymi scalakami przyjdzie pora na realizację prostego zadania. Sprawdzimy jak algebra Boole’a przyda się w praktycznym przykładzie.

Nawigacja serii artykułów:
« poprzednia częśćnastępna część »

Kup zestaw elementów i zacznij naukę w praktyce! Przejdź do strony dystrybutora »

Podczas poprzedniej części tego cyklu omówiliśmy matematyczny opis algebry Boole’a. Następnie w praktyce sprawdziliśmy jak działają podstawowe funktory logiczne. Oczywiście do tej pory było to uproszczone – korzystaliśmy tylko z rezystorów, diod i przycisków. Wewnątrz układów CMOS funktory takie realizowane są inaczej.

Wszystkie funkcje logiczne realizowane są przy pomocy tranzystorów. Na szczęście nie musimy się tym martwić. Odpowiednim połączeniem niezbędnych elementów wewnątrz układów cyfrowych zajął się producent. Dzięki temu mamy do dyspozycji gotowe funktory logiczne, zwane bramkami.


Dwa różne podejścia do realizacji funkcji logicznej AND widoczne są na poniższych zdjęciach. Uproszczone (z poprzedniego artykułu) oraz na prawdziwej bramce AND. W tym artykule omówimy dokładnie właśnie to drugie podejście – z użyciem niezwykle popularnych układów CMOS.

CMOS (ang. Complementary Metal-Oxide Semiconductor),
to nazwa technologii, w której wykonywane są omawiane układy.

Zagrożenia dla układów scalonych

Tranzystory unipolarne, z których składają się układy scalone z rodziny CMOS, są wrażliwe na ładunki elektrostatyczne. Układy scalone posiadają odpowiednie zabezpieczenia na wejściach, lecz mogą one okazać się niewystarczające. Dlatego warto przestrzegać reguł zmniejszających szansę ich uszkodzenia.

Bezpieczne przechowywania układów:

  • specjalne woreczki antystatyczne,
  • gąbka przewodząca, w którą wbijamy wszystkie nóżki układu,
  • zwarcie wszystkich wyprowadzeń np. przez srebrną folię przewodzącą.

Właśnie ze względu na możliwość uszkodzenia układu przed ładunek elektrostatyczny osoby, które zajmują się elektroniką zawodowo często mają na nadgarstku opaskę uziemiającą. Na początku eksperymentów z układami cyfrowymi nie trzeba jednak od razu wyposażać się w takie akcesoria.

Przykład opaski uziemiającej.

Przykład opaski uziemiającej.

Bezpieczne korzystanie z układów:

  • upewniamy się, że nie jesteśmy naelektryzowani (najlepiej rozładować zgromadzony ładunek dotykając czegoś uziemionego – w domowych warunkach może to być odsłonięty kawałek rury od kaloryfera lub kranu),
  • bez potrzeby nie dotykamy delikatnych nóżek układu,
  • przestrzegamy zaleceń producenta, co do poziomów napięć,
  • żadne z wejść nie może pozostać niepodłączone (wyjaśnienie poniżej).

Wejścia układów cyfrowych muszą być spolaryzowane odpowiednimi napięciami, w przeciwnym razie mogą zostać uszkodzone. Podkreślam: wszystkie wejścia.

Jeżeli nie spełni się tego warunku, układ może zostać zniszczony przez przegrzanie. Stanie się tak, jeżeli napięcie na danym wejściu ustali się pomiędzy obszarami interpretowanymi jako 0 i 1. Układ może wtedy zacząć pobierać duży prąd, co doprowadzi do jego przegrzania/spalenia.

Reprezentacja stanów logicznych w układach rodziny CMOS.

Reprezentacja stanów logicznych w układach rodziny CMOS.

Wyjścia, jeżeli są nieużywane, można pozostawić niepodłączone.

Zasilanie układów z rodziny CMOS

Omawiane układy cyfrowe charakteryzują się dużą tolerancją na wartość napięcia, którym będą zasilane. Oczywiście warto zawsze sprawdzić informacje na ten temat w nocie katalogowej danego układu, jednak w większości przypadków rekomendowany zakres będzie wynosił ~3-18V.

Zrzut z przykładowej noty katalogowej jednego z używanych w kursie układów:

Rekomendowane zasilanie dla układu CD4069.

Rekomendowane zasilanie dla układu CD4069.

Należy również zwracać uwagę na podłączenie zasilania do odpowiednich nóżek. Poza tym, że źle zasilany układ oczywiście nie będzie działał, to również może bezpowrotnie ulec uszkodzeniu.

Masę doprowadza się do pinu oznaczonego jako VSS, VEE lub GND.
Natomiast dodatnią szynę zasilania do VDD, VCC lub +V.

W naszym przypadku wszystkie układy będziemy zasilać z 4 baterii AA, co daje nam około 6V. Nie ma więc żadnych wątpliwości, że napięcie takie jest bezpieczne dla tych układów. Nie ma potrzeby stosowania żadnego stabilizatora napięcia. Pora przejść do praktyki!

Zestaw elementów do przeprowadzenia wszystkich ćwiczeń

Gwarancja pomocy na forum dla osób, które kupią poniższy zestaw!

Części pozwalające wykonać ćwiczenia z kursu techniki cyfrowej dostępne są w formie gotowych zestawów! W komplecie m.in. niezbędne układy scalone CMOS, przewody połączeniowe, diody, buzzer, kontaktron, wyświetlacz 7-segmentowy oraz znacznie więcej!


Kup w Botlandzie »

Bramka NOT – CD4069

Symbol bramki logicznej realizującej funkcję NOT wygląda następująco:

Symbol bramki NOT.

Symbol bramki NOT.

Tak naprawdę symbol bramki logicznej pozbawiony jest dopisków A oraz y, które oznaczają tutaj wejście oraz wyjście. W związku z tym, że dla wielu osób jest to pierwsze spotkanie z bramkami logicznymi postanowiliśmy na grafikach dodać takie informacje, aby nikt nie miał wątpliwości.

Zwróć uwagę na małe kółko – oznacza ono, że wyjście jest zanegowane. Takie same kółeczko pojawi się później również przy bramkach NAND i NOR.

W poprzedniej części kursu szczególną uwagę zwracaliśmy na tabelki, w których zapisywane były informacje na temat stanów wyjść w zależności od sygnałów podawanych na wejście. Zapis taki nazywany jest tabelą prawdy. Za jego pomocą możemy bardzo łatwo opisać działanie bramek, a nawet całych urządzeń! Dla przypomnienia tabela prawdy dla bramki NOT wyglądała następująco:

kurstc_2_1_not

Tabela prawdy składa się tylko z dwóch wierszy, ponieważ bramka NOT posiada jedno wejście. Można na nim ustawić jeden z dwóch stanów, więc całkowita liczba kombinacji wynosi 2. Oznacza to, że bramka może przyjąć dwa stany zależne od wejścia:

Wszystkie możliwe stany wejść/wyjść bramki NOT.

Wszystkie możliwe stany wejść/wyjść bramki NOT.

Oczywiście informacje te pojawiły się już w poprzednim artykule, tutaj zostały połączone w całość z symbolami bramek, aby w przyszłości (w razie kłopotów) łatwiej było rozwiać wszelkie wątpliwości.


Bramki NOT, których będziemy używać, znajdują się w układzie scalonym o symbolu CD4069. W jego strukturze znajduje się 6 identycznych bramek, które zajmują 12 wyprowadzeń. Pozostałe dwa wyprowadzenia służą do podłączenia zasilania.

Rozmieszczenie bramek wewnątrz układu CD4069.

Rozmieszczenie bramek – układ CD4069.

Pora, aby odtworzyć przykład z poprzedniego artykułu. Z tą różnicą, że teraz wykorzystamy prawdziwą bramkę logiczną. Potrzebne będą następujące elementy:

  • płytka stykowa,
  • przewody połączeniowe,
  • koszyk baterii 4xAA z bateriami,
  • przycisk,
  • dioda świecąca (LED),
  • rezystor 10kΩ,
  • rezystor 3,3kΩ,
  • kondensator 100nF,
  • układ CD4069.

Tym razem schemat pozornie wygląda trudniej. Nie warto jednak się go bać. Wewnątrz CD4069, który wykorzystamy w tym ćwiczeniu znajduje się 6 bramek NOT – my użyjemy tylko jedną.

W przypadku bramek logicznych, na schemacie elektronicznym
rysujemy wszystkie bramki osobno – mimo, że znajdują się w jednym układzie.

Schemat układu testującego bramkę NOT.

Schemat układu testującego bramkę NOT.

Większość miejsca powyższego schematu zajmuje podłączenie wejść nieużywanych bramek do masy (cała prawa strona). Zostały one tutaj narysowane, aby o nich nie zapomnieć podczas tego pierwszego eksperymentu z układami cyfrowymi.

W późniejszej praktyce nieużywane bramki
będą często pomijane na schematach, aby nie zaciemniać rysunków.

Warto również zwrócić uwagę na sposób, w jaki zaznaczono zasilanie całego układu. Nie zostało one podłączone do żadnej bramki. Odpowiednie wyprowadzenia narysowano osobno. W przypadku wątpliwości najłatwiej „odszyfrować”, co dzieje się z zasilaniem sprawdzając numery pinów.

Osobno zaznaczone zasilanie układu CMOS.

Osobno zaznaczone zasilanie układu CMOS.

Czasami na schematach może zdarzyć się, że informacja na temat zasilania zostanie całkowicie pominięta. Nie zwalnia nas to jednak z doprowadzenia odpowiednich sygnałów – inaczej układ nie zadziała.

W praktyce, po złożeniu układu zgodnie ze schematem całość może wyglądać następująco:

Na początku może wyglądać to strasznie, dlatego pierwszy układ omówiony zostanie dokładniej. Najpierw wkładamy w płytkę stykową głównego bohatera, czyli nasz układ scalony. Następnie:

Krok 1: Podłączamy przycisk. Ma on łączyć wejście bramki NOT z zasilaniem (dodatnia szyna)…
Krok 2: …nie zapominamy w tym miejscu o rezystorze R1, który podciąga wejście do masy.

Rezystor 10kΩ ustawia na wejściu stan logicznego (gdy przycisk jest puszczony).
Wciśnięcie przycisku sprawia, że na wejście podana zostanie logiczna 1.

Krok 3: Do wyjścia bramki (pin 2) podłączamy rezystor R2, przez który popłynie prąd do diody.

Krok 4: Podłączamy masę  do pinu nr 7 (zasilanie układu) oraz wszystkich nieużywanych wejść.

Dodatkowo po prawej stronie za pomocą 3 przewodów przeniesiono masę z dolnej szyny zasilania na górną. Był to zabieg czysto estetyczny – równie dobrze można zrobić to jednym, dłuższym przewodem.

Krok 5: Do pinu nr 14 doprowadzamy dodatnią szynę zasilania (plus z koszyka baterii). Dodatkowo między zasilanie, a masę wpinamy kondensator 100 nF, który filtruje zasilanie. W tym przykładzie skorzystaliśmy z tego, że wyprowadzenie nr 13 było połączone wcześniej z masą.

Po podłączeniu układu można włączyć zasilanie i sprawdzić, czy układ zachowuje się dokładnie tak samo, jak uproszczona negacja, którą budowaliśmy w poprzednim artykule.


Pamiętaj o tym, że wszystkie bramki w układzie scalonym mają te same parametry. To oznacza, że możesz użyć innej bramki NOT z układu CD4069. Warto wykonać takie ćwiczenie. Spróbuj uruchomić układ korzystając z bramki na 3 i 4 wyprowadzeniu układu.

Pamiętaj o podłączeniu nieużywanych wejść bramek do masy!

Bramka OR – CD4071

Symbol bramki logicznej realizującej funkcję logiczną OR wygląda następująco:

Symbol bramki OR.

Symbol bramki OR.

Tutaj tabela prawdy posiada już cztery wiersze, z racji posiadania przez bramkę dwóch wejść. Na każdym z nich może wystąpić jeden z dwóch stanów, zatem 2= 2 * 2 = 4.

kurstc_2_2_or

Oznacza to, że bramka może znaleźć się w czterech różnych stanach:

Wszystkie możliwe stany wejść/wyjść bramki NOT.

Wszystkie możliwe stany wejść/wyjść bramki OR.

Będziemy wykorzystywać bramki OR, które są do dyspozycji w układzie scalonym o symbolu CD4071. Zauważ, że każda z nich zajmuje trzy wyprowadzenia układu.

Rozmieszczenie bramek – układ CD4071.

Rozmieszczenie bramek – układ CD4071.

Do przetestowania działania tej bramki potrzebne będą dodatkowo (oprócz poprzednio użytych):

  • przycisk,
  • rezystor 10kΩ,
  • układ CD4071.

Schemat ideowy, tym razem nie powinien wyglądać już strasznie:

Schemat układu testującego bramkę OR.

Schemat układu testującego bramkę OR.

Przykładowy sposób montażu elementów na płytce stykowej:


Czasami przydają się np. bramki OR o większej ilości wejść. Wtedy warto sięgnąć po odpowiednie, gotowe układy. Na przykład wewnątrz CD4075 znajdziemy bramki OR z trzema wejściami.

Ułożenie bramek wewnątrz CD4075 - fragment z noty katalogowej.

Ułożenie bramek wewnątrz CD4075
fragment noty katalogowej.

Bramka AND – CD4081

Symbol bramki logicznej realizującej funkcję AND wygląda następująco:

Symbol bramki AND.

Symbol bramki AND.

Oczywiście tutaj tabela prawdy zawiera również 4 wiersze:

kurstc_2_3_and

Oznacza to, że bramka może znaleźć się w czterech różnych stanach:

Wszystkie możliwe stany wejść/wyjść bramki AND.

Wszystkie możliwe stany wejść/wyjść bramki AND.

W układzie scalonym CD4081 znajdują się cztery bramki AND. Są one rozmieszczone tak samo, jak bramki OR w CD4071 (tzn. identyczne są miejsca wejść i wyjść).

Rozmieszczenie bramek – układ CD4081.

Rozmieszczenie bramek – układ CD4081.

Przeróbka na płytce stykowej nie będzie trudna, wystarczy CD4081 wymienić na CD4071.

Pamiętaj o wyłączeniu zasilania podczas
wyjmowania i wkładania układów scalonych!

Dla formalności nie może oczywiście zabraknąć schematu:

Schemat układu testującego bramkę AND.

Schemat układu testującego bramkę AND.

Zmontowany układ prezentował się następująco:

Bramki NOR i NAND

Prefiks N oznacza negację wyjścia i jest zaznaczone małym kółkiem przy pierwotnym symbolu bramki. To oznacza, że stan logiczny wyjścia jest przeciwny w stosunku do tego, jaki wynika z działania bramek OR i AND.

Możliwe stany bramki NAND:

Wszystkie możliwe stany wejść/wyjść bramki NAND.

Wszystkie możliwe stany wejść/wyjść bramki NAND.

Symbol bramki NOR (w porównaniu do OR):

Możliwe stany bramki NOR:

Wszystkie możliwe stany wejść/wyjść bramki NOR.

Wszystkie możliwe stany wejść/wyjść bramki NOR.

Nie będziemy korzystali z gotowych bramek NAND oraz NOR. Gdy zajdzie potrzeba, można użyć dodatkowo bramki NOT i w ten sposób zanegować wyjście zwykłej bramki.

Łączenie bramek logicznych

Pojedyncze bramki są w stanie wykonywać bardzo proste operacje logiczne. Lecz rzeczywistość wymaga często układu, który potrafi znacznie więcej. Wtedy konieczne jest łączenie bramek. Łączyć można jedno wyjście z jednym (lub wieloma) wejściami.

Połączenie dwóch wyjść (lub więcej) jest nieprawidłowe
i może spowodować uszkodzenie bramek.

Przykłady połączeń między bramkami cyfrowymi.
Poprawnie: jeden do wielu. Błędnie: wiele do jednego.

Łączenie wyjść kilku bramek jest możliwe, jeśli wykorzysta się
układy z wyjściami typu otwarty kolektor (open collector).
Więcej informacji dla zainteresowanych np. na Wikipedii.

Łączenie bramek w praktyce

Wyobraź sobie automatycznie otwierane drzwi. Aby je otworzyć, należy stanąć na platformie przed nimi i wcisnąć przycisk po lewej lub po prawej stronie. Taki sposób otwierania powstał po to, aby przypadkowo przechodzący przed nimi ludzie (czyli stąpający po platformie) nie otwierali ich. Jednocześnie nie może ich samowolnie otworzyć małe dziecko, ponieważ jest zbyt lekkie, aby wcisnąć platformę.

drzwi_drzwi

Przycisk po lewej, prawej i platforma przed drzwiami.

Przyjmijmy następujące oznaczenia:

  • S1 – przycisk pod platformą,
  • S2 – przycisk, po lewej stronie drzwi,
  • S3 – przycisk, po prawej stronie drzwi.
  • LED1 – symulacja otwieranych drzwi.

W takim razie, powyższe zadanie można zapisać w formie równania boolowskiego:

LED1 = S1 AND (S2 OR S3)

Drzwi otworzą się (LED1 – świeci) tylko, gdy wciśnięto S2 lub S3 oraz jednocześnie wciśnięto S1. Czyli opis ten idealnie zgadza się z treścią zadania. Jak widać potrzebne będą nam dwie połączone bramki: AND oraz OR. Powstały układ cyfrowy będzie miał trzy wejścia (w postaci przycisków) oraz jedno wyjście, w formie diody LED. W związku z tym możliwe są 23 = 2*2*2 = 8 stany układu.

Możemy stworzyć więc tabelę prawdy dla całego urządzenia. Dowiemy się z niej dla jakich stanów wejść spodziewamy się ustawienia 1 na wyjściu (włączenia diody):

bramki_tablica_prawdy

Pora na realizację tego zadania, tym razem potrzebne będą:

  • płytka stykowa,
  • przewody połączeniowe,
  • koszyk baterii 4xAA z bateriami,
  • 3 przyciski,
  • dioda świecąca (LED),
  • 3 rezystory 10kΩ,
  • rezystor 3,3kΩ,
  • 2 kondensatory 100nF,
  • układ CD4071,
  • układ CD4081.
Schemat układu testującego połączenie bramek.

Układ realizujący opisane zadanie.

Przykładowa realizacja układu na płytce stykowej:

Realizacja opisanego układu na płytce stykowej.

Realizacja opisanego układu na płytce stykowej.

Sprawdźmy teraz jego działanie:

Jak widać wszystko działa zgodnie z naszym planem!

Podsumowanie

W tym artykule zajęliśmy się nareszcie prawdziwymi układami cyfrowymi. Dzięki czemu możliwe było przetestowanie prawdziwych bramek logicznych w praktyce. Kluczową umiejętnością po tym odcinku kursu techniki cyfrowej jest zapamiętanie symboli bramek logicznych. W następnej części zajmiemy się innym zastosowaniem bramek logicznych – tym razem w roli generatorów.

Kup zestaw elementów i zacznij naukę w praktyce! Przejdź do strony dystrybutora »

Autorzy: Michał Kurzela, Damian Szymański
Ilustracje: Piotr Adamczyk

Powiadomienia o nowych, darmowych artykułach!

Komentarze

Marooned

12:46, 18.10.2016

#1

Cytat:

Połączenie dwóch wyjść (lub więcej) jest nieprawidłowe

i może spowodować uszkodzenie bramek.

Śmiem się nie zgodzić. Suma/iloczyn "na drucie" aka "galwaniczny" to dość popularne rozwiązanie nie wymagające dodatkowych układów, a równie dobrze realizujące swoje zadanie.

Rozumiem, że to kurs dla początkujących, ale nie ma sensu wprowadzać w błąd na starcie.

Dla zainteresowanych pierwszy z brzegu link w temacie.

Treker
Administrator

14:15, 18.10.2016

#2

Marooned, aby "bezpiecznie" wykonywać sumę lub iloczyn na drucie konieczne są bramki z wyjściem typu otwarty kolektor. W przypadku stosowania układów z wyjściami typu totem-pole mogłoby to doprowadzić do uszkodzeń. W kursie nie poruszamy tematu otwartego kolektora - stąd informacja o nie łączeniu wejść kilku bramek.

Edycja: dla pewności dodam stosowną informację w artykule.

Marooned

15:16, 18.10.2016

#3

Ok, rzeczywiście użyte tu układy się nie nadają. Przyznaję rację.

badylczoj

22:59, 21.10.2016

#4

"Tutaj tabela prawdy posiada już cztery wiersze, z racji posiadania przez bramkę dwóch wejść. Na każdym z nich może wystąpić jeden z dwóch stanów, zatem 2 * 2 = 4."

Raczej powinno być 2^2 = 4 (dwa do potęgi drugiej). Niby wynik ten sam, ale kogoś może zmylić notacja. Zresztą przy np. trzech wejściach wynik byłby już inny :)

Treker
Administrator

15:47, 22.10.2016

#5

badylczoj, to już zależy od tego, jak sobie każdy w głowie to tłumaczy :)

Zapis 2 * 2, można też tłumaczyć jako "dwa możliwe stany na pierwszym wejściu" razy "dwa możliwe stany na drugim wejściu".

Więc przy 3 wejściach zapis mógłby być 2 * 2 * 2. Spróbuję to sprecyzować dokładniej w artykule :)

badylczoj

16:42, 22.10.2016

#6

Treker napisał/a:

Zapis 2 * 2, można też tłumaczyć jako "dwa możliwe stany na pierwszym wejściu" razy "dwa możliwe stany na drugim wejściu".

Też można! Przy okazji seria artykułów napisana bardzo przystępnie, czyta się dobrze nawet po pracy :) Wielkie dzięki dla Was! Czekam niecierpliwie na kolejne części.

Jurand

0:43, 14.11.2016

#7

W temacie dla początkujących w technice cyfrowej - w #3 części, traktującej o bramkach na układach CMOS wkradł się drobny chochlik.

Mianowicie w kroku 5, dotyczącym implementacji układu ukazującego działanie negatora na CD4069 widnieje:

"Krok 5: Do pinu nr 1 doprowadzamy dodatnią szynę zasilania (plus z koszyka baterii)."

Powinno być oczywiście do pinu/nóżki nr 14, co zresztą jest wyraźnie zobrazowane na fotografii ukazującej ten etap montażu na płytce.

Niemniej "całkiem zielony" delikwent może się czasem pogubić ;-)

Pozdrawiam. Świetna stronka!

Treker
Administrator

12:28, 14.11.2016

#8

Jurand, dziękuję za zwrócenie uwagi - oczywiście była tam literówka. Już poprawione :)

Zobacz powyższe komentarze na forum

FORBOT Damian Szymański © 2006 - 2017 Zakaz kopiowania treści oraz grafik bez zgody autora. vPRsLH.

Kurs Intel Edison – #5 – podstawy Arduino, wejścia i wyjścia

Umiemy już połączyć się z modułem Intel Edison, poznaliśmy podstawy...

Zamknij