Pierwsze kroki w cyfrówce – część 6
W dwóch poprzednich odcinkach prześledziliśmy zaszłości ciągnące się od czasów powstania pierwszych kostek rodziny TTL serii standardowej. Wiesz już, że układy TTL stały się niekwestionowanym standardem – z czasem powstało wiele rodzin pokrewnych, które (z pewnymi wyjątkami) mają taki sam układ wyprowadzeń i spełniają te same funkcje, a różnią się przede wszystkim poborem prądu, szybkością i właściwościami wejść i wyjść.
Omówiliśmy sprawę układów CMOS. Wiesz już, że w wielkiej grupie TTL pojawiły się rodziny wykonane w technologii CMOS – są to przede wszystkim kostki: 74HC i 74HCT.
Obecnie na rynku spotyka się wiele rodzin, o wyprowadzeniach zgodnych ze standardem TTL. Generalnie, jeśli w oznaczeniu występuje literka S (np. 74LS, 74AS, 74FAST), mamy do czynienia z układami z tranzystorami bipolarnymi ze złączem Schottky’ego. Literka A pochodzi od Advanced – zaawansowany i wskazuje na nowszą, czy też ulepszoną wersję. Literka C wskazuje na technologię CMOS (np. 74C, 74HC(T), 74AC(T), 74FACT). Litery LV – Low Voltage, albo też sama literka L, wskazują na kostki przeznaczone do zasilania napięciami niższymi niż 5 V.
Poszczególne firmy produkcyjne reklamują swoje własne rodziny, więc w literaturze można spotkać jeszcze kilka innych określeń, które trudno byłoby zidentyfikować na podstawie literek oznaczenia (np. ABT) – wtedy trzeba sięgnąć do katalogu. Najczęściej najnowsze rodziny nie są interesujące dla amatorów, ponieważ bywa, że kostki produkowane są wyłącznie w maleńkich obudowach do montażu powierzchniowego; w przypadku najszybszych kostek inny bywa też układ wyprowadzeń – spowodowane to jest przede wszystkim innym umieszczeniem końcówek zasilania.
Uważaj teraz!
Jeśli będziesz projektował układ logiczny z kostkami standardu 74, powinieneś użyć układów rodziny 74HC. Są to kostki CMOS, a więc w spoczynku zupełnie nie pobierają prądu. Możesz też wykorzystać kostki 74HCT lub ostatecznie bipolarne 74LS. Starszych typów (74, 74L, 74H, 74S, 74C) już się nigdzie nie stosuje. Szybsze układy z rodzin 74F, 74AC, 74ACT wykorzystywane są tylko sporadycznie, gdy sygnały przetwarzane mają częstotliwość większą niż 20…30 MHz. Tych szybkich układów nie należy stosować bez wyraźnej konieczności, ponieważ duża szybkość może spowodować nieprzewidziane kłopoty (jest to związane z powstawaniem zakłóceń w przewodach i ścieżkach zasilających podczas przełączania).
Pamiętaj, że kostki 74HC i 74HCT o tych samych numerach mogą być wzajemnie zamieniane, i to nie tylko między sobą, ale też z kostkami bipolarnych rodzin 74, 74LS, 74ALS. Powiem więcej: właśnie kostki rodzin 74HC i 74HCT wypierają, a w zasadzie już wyparły, bipolarne kostki z rodziny 74LS (nie mówiąc już o 74, 74L, 74H).
Generalnie w jednym układzie, w razie konieczności mogą ze sobą współpracować kostki różnych rodzin, zwłaszcza: 74HC, 74HCT i 74LS. W przypadku konieczności użycia kostek 74, 74F, 74H czy 74S, powinieneś przeliczyć, czy wydajność współpracujących wyjść jest wystarczająca do wysterowania wejść współpracujących kostek.
Dowiedziałeś się także o zupełnie innym standardzie – rodzinie CMOS4000. W przeciwieństwie do układów 74HC, 74HCT (oraz wszystkich innych rodzin tego standardu, zasilanych napięciami nie większymi niż 6 V) kostki rodziny CMOS4000 mają szeroki zakres napięć zasilania (3…18 V). Wszystkie kostki wykonane w technologii CMOS w spoczynku nie pobierają prądu, także ich wejścia nie pobierają prądu – prąd jest potrzebny tylko do przeładowania pojemności wejściowej, wynoszącej od 2,5…10 pF (spójrz na rysunek 7 w tej części). Trzeba też pamiętać, iż na wszystkich wejściach umieszczono obwody zabezpieczające z diodami dołączonymi do szyn zasilania. Wydajność prądowa wyjść zależy od napięcia zasilającego. Można przyjąć w uproszczeniu, że wyjście układu CMOS to rezystor dołączany do dodatniej lub ujemnej szyny zasilania przedstawia to rysunek 1.
Wartość tego „rezystora” zależy od napięcia zasilającego – maleje ze wzrostem napięcia zasilania. Dla układów rodziny CMOS4000 rezystancja ta wynosi szacunkowo 1 kΩ przy zasilaniu napięciem 5 V i około 100 Ω przy zasilaniu 15 V. Trzeba jednak wiedzieć, że kostki różnych producentów mogą mieć te rezystancje różniące się kilkakrotnie. Układy 74HC(T) mają zdecydowanie mniejszą oporność wyjściową, wynoszącą kilkadziesiąt omów, i to przy napięciu zasilania wynoszącym 5 V.
Współczesny elektronik−hobbysta stosuje w swoich konstrukcjach przede wszystkim kostki z rodziny CMOS4000, a znacznie rzadziej 74HC, 74HCT (nie wspominając o pozostałych rodzinach TTL, które stosowane są w nowych konstrukcjach bardzo rzadko lub wcale).
Dlatego w dalszych rozważaniach zajmiemy się głównie kostkami rodziny CMOS4000, a znacznie mniej uwagi poświęcimy rodzinie TTL.
A teraz przedstawię ci garść podstawowych i praktycznych sposobów wykorzystywania bramek i innych prostszych układów. Materiał ten nie obejmuje przerzutników, rejestrów, liczników, dekoderów – tymi układami zajmiemy się później. Podane materiały i propozycje układowe dotyczą układów CMOS (4000 oraz 74HC, 74HCT). Jeśli chciałbyś je wykorzystać z bramkami bipolarnymi (74, 74LS. 74ALS), musisz uwzględnić znaczne prądy wejściowe i zastosować rezystory o małej rezystancji, rzędu kilkuset omów do kilku kiloomów. Natomiast przy bramkach CMOS, których wejścia wcale nie pobierają prądu śmiało możesz stosować rezystancje rzędu 4,7 kΩ do 10 MΩ i kondensatory o dowolnej pojemności.
Nietypowe bramki
Na rysunku 2 znajdziesz nietypowe, a często spotykane w praktyce sposoby realizacji bramek OR i AND.
Zwróć uwagę na bardzo przydatny w praktyce „oszczędny” sposób pokazany w dolnym wierszu rysunku 2. Co prawda w takich układach traci się podstawową zaletę bramek CMOS – brak poboru prądu w spoczynku, ale w wielu wypadkach warto wykorzystać taki właśnie prosty sposób, zamiast stosować dodatkową kostkę z bramkami AND lub OR. Zresztą można zastosować rezystor o wartości 100 kΩ i więcej (nawet do 1 MΩ), a wtedy pobór prądu pozostanie niewielki.
Rysunek 3 przedstawia kolejny nietypowy „wynalazek”: coś, co można nazwać bramką „prawie NAND”.
Tranzystor, zwykły lub lepiej polowy, może z powodzeniem pełnić, i często pełni, funkcję logiczną. Zauważ, że w dwóch układach znajdujących się po lewej stronie rysunku 3 w punkcie C pojawi się stan niski tylko wtedy, gdy na wejściu A będzie stan wysoki, a na wejściu B stan niski. Analogicznie pracują „bramki” z prawej strony rysunku 3. Osobiście często stosuje takie rozwiązanie, zwłaszcza wtedy, gdy akurat brakuje mi jednej jedynej bramki i nie warto stosować całej kostki zawierającej cztery bramki.
Uważny Czytelnik zauważy, że tranzystory bipolarne pracują tu w nietypowych warunkach – przykładowo w pierwszym z lewej strony układzie z rysunku 3 przy napięciu zasilającym większym niż 7 V, przy stanie niskim na wejściu A i wysokim na wejściu B, złącze emiter−baza jest spolaryzowane wstecznie i… pracuje jako dioda Zenera. Pomimo, że przez rezystor R1 płynie niewielki prąd, nie przeszkadza to wcale w pracy tranzystora w charakterze bramki.
Zwiększanie obciążalności wyjść
W wielu przypadkach wydajność wyjść układów CMOS4000 jest za mała dla istniejących potrzeb. Należy wziąć pod uwagę możliwość wykorzystania układów 4049 lub 4050, które mają większą wydajność prądową wyjścia, albo też układów 74HC.
Ale zwykle stosujemy prostsze rozwiązanie: albo łączymy równolegle kilka inwerterów pochodzących z jednej kostki spójrz na rysunek 4a, albo stosujemy tranzystor – rysunek 4b…d, albo dwa tranzystory – rysunek 4e..g. W przypadku współpracy bipolarnych kostek TTL z tranzystorami polowymi – rysunek 4d trzeba pamiętać, że w stanie wysokim, na wyjściu bramki panuje napięcie około 3,5…4 V. Tymczasem tranzystory polowe większej mocy przy takim napięciu bramki zaczynają się dopiero otwierać. Dla pełnego otwarcia, należy albo zastosować tranzystory o niskim napięciu progowym, np. małej mocy – BS107, BS170, albo też tranzystory MOSFET dużej mocy zawierające w oznaczeniu literkę L, np. BUZ10L (ale są one trudniej osiągalne), albo trzeba zastosować rezystor podciągający, zaznaczony na rysunku 4d linią przerywaną. Problem ten nie występuje zupełnie w układach CMOS4000 zasilanych napięciem: 9…15 V. Nie stosuje się tranzystorów MOSFET w układzie ze wspólnym drenem – dlatego rysunek 4h jest przekreślony. Podobnie układ z rysunku 4i nie może być stosowany z bramkami z tranzystorami bipolarnymi, a jedynie z kostkami CMOS.
Układy z rysunków 4d, f, g pozwalają sterować dużymi prądami, nawet rzędu kilku amperów.
Niejednokrotnie zdarzyło mi się stosować układy logiczne w urządzeniach zasilanych napięciem symetrycznym. Często trzeba tam wykorzystać nietypowe sposoby wysterowania obciążenia. Rysunek 5 zawiera kilka praktycznych rozwiązań.
Układ z lewej strony rysunku 5 będzie przydatny na przykład do wysterowania kluczy analogowych CMOS4066. Układ w środkowej części rysunku 5 umożliwia sterowanie obciążeniem dużej mocy, ale zgodnie z rysunkiem 4i, może być stosowany tylko z bramkami wykonanymi technologią CMOS.
Współpraca ze stykami mechanicznymi
Wielu początkujących amatorów nie wie, że styki (przyciski, przełączniki, itp.) powodują powstawanie drgań. Drgania takie powodują błędną pracę liczników, przerzutników i innych układów. Nie polecam sposobu pokazanego na rysunku 6.
Jest to półśrodek – owszem czasami rzeczywiście jest skuteczny, ale mogą zdarzyć się sytuacje, że drgania nie zostaną zlikwidowane, a właściwie powstaną nowe drgania wynikające ze zbyt małej szybkości narastania napięcia na wejściu (jak ci już mówiłem, producenci zalecają, by ten czas był krótszy niż 1 μs). Nie stosuj więc niepewnego sposobu z rysunku 6, natomiast na trwałe zaprzyjaźnij się z bramkami z wejściem Schmitta. Masz do dyspozycji kostki z sześcioma negatorami: CMOS 40106 oraz 74HC(T)14 oraz czterema dwuwejściowymi bramkami NAND – CMOS 4093 oraz 74HC(T)132. Bramka NAND „ze szmitem”, czyli układ CMOS 4093 ma taki sam układ wyprowadzeń, jak „zwykła” bramka NAND CMOS4011. Analogicznie, bramki 74HC00 i 74HC132 też są wzajemnie zamienne. (ale 4093 i 74HC132 mają inny rozkład wyprowadzeń)! Dlaczego masz kurczowo trzymać się „zwykłych NANDów”, a nie zacząć stosować zawsze kostek 4093 (ewentualnie 74HC132)? Nie bój się bramek z wejściem Schmitta – nie grożą ci żadne niespodzianki. Nic nie stracisz, a zyskasz bardzo dużo. Umawiamy się więc, że wszędzie, gdzie to będzie choć trochę wskazane, zamiast kostek 4011 będziesz stosował 4093. Zgoda?
To samo dotyczy inwerterów. Być może znasz kostkę CMOS 4069 lub 7404 z rodziny TTL. Zawierają one po sześć inwerterów. Nie przyzwyczajaj się do wymienionych kostek. Ja kiedyś musiałem się przyzwyczaić do 4069, bo CEMI wypuściła tylko taką kostkę (MCY74069), a wręcz nieosiągalna była wersja z wejściem Schmitta – CMOS 40106. Dziś ceny wszystkich prostszych kostek są porównywalne, więc nie zawracaj sobie głowy układem 4069, natomiast przyjmij jako zasadę stosowanie inwerterów 40106. Tam gdzie będziesz potrzebował większej wydajności prądowej wyjść, a napięcie zasilające nie przekroczy 6 V, używaj kostki 74HC14 (lub 74HCT14). Ściśle rzecz biorąc, dostępna jest także kostka CMOS 4584, również zawierająca sześć inwerterów z wejściem Schmitta. Kostka ta ma mniejszą histerezę, niż układ 40106. Ja ze względu na większą histerezę, stosuję wyłącznie kostki CMOS 40106, rzadko 74HC14.
Wszystkie wymienione inwertery CMOS: 4069, 40106 i 4584 oraz 74HC04, 74HC14 mają identyczny układ wyprowadzeń.
Piotr Górecki