Pierwsze kroki w cyfrówce – część 18
W poprzednim odcinku omówiliśmy między innymi liczniki 40192 i 40193. W tym odcinku przedstawię ci kolejne interesujące kostki: 40160…40163.
40160 − 40163
Synchroniczne, programowalne, liczące w przód (!) liczniki 40160 − 40163 to kolejny przykład „przeflancowania“ kostek TTL do rodziny CMOS4XXX. Oczywiście są to dobrze znane wcześniejszemu pokoleniu elektroników liczniki: 74160, 74161, 74162 i 74163. Układ wyprowadzeń wszystkich czterech układów jest jednakowy, a różnią się jedynie niektórymi funkcjami. Kostki 160 i 162 są licznikami BCD, natomiast kostki 161 i 163 − czterobitowymi dwójkowymi. Różnica między układami 160 a 162 oraz 161 a 163 polega jedynie na innym rozwiązaniu wejścia zerującego. Liczniki 160 i 161 mają zerowanie asynchroniczne − podanie stanu niskiego na wejście MR\ (nóżka 1) powoduje natychmiastowe wyzerowanie liczników, niezależnie od stanu pozostałych wejść. Natomiast w kostkach 162 i 163 nóżka 1 jest wejściem zerowania synchronicznego SR\, to znaczy licznik zostaje wyzerowany po podaniu na nią stanu niskiego, ale nie natychmiast, tylko po pojawieniu się na wejściu CL najbliższego aktywnego zbocza.
Wszystkie liczniki liczą w górę przy rosnącym zboczu na wejściu CL (nóżka 2). Wszystkie mają cztery wyjścia licznika Q0…Q3 i cztery wejścia programujące P0…P3. Oprócz wejścia zegarowego CL i wyjścia przeniesienia CO (nóżka 15), kostki mają po dwa wejścia zezwalające CEP i CET (nóżki odpowiednio: 7 i 10). Podczas zliczania, na obu tych wejściach musi być stan wysoki. Podanie stanu niskiego choć na jedno z tych wejść zatrzymuje zliczanie. Szczegóły nie są ci niezbędne, wystarczy, że będziesz traktował wejście CET (nóżka 10) jak znane z innych liczników wejście CI, czyli przy synchronicznej współpracy kilku liczników połączysz wyjście CO (nóżka 15) poprzedniego licznika z wejściem CET (n.10) następnego licznika, natomiast wejścia CEP wszystkich kostek możesz połączyć i wykorzystać jako dodatkowe wejście zezwalające do bramkowania sygnału zegarowego. Tyle informacji na temat wejść zezwalających wystarczy ci do podstawowych zastosowań.
Oprócz dwóch wejść zezwalających, kostki mają jeszcze wejścia wpisujące i zerujące. Wpisywanie do licznika stanu wejść programujących P0…P3 odbywa się synchronicznie (przy najbliższym aktywnym zboczu na wejściu CL), po podaniu stanu niskiego na wejście ładowania PE\ (nóżka 9), zupełnie niezależnie od stanu wejść zezwalających. Uwaga − w niektórych źródłach skrótem PE oznaczona jest nóżka 7, która jest jednym z wejść zezwalających, a ponadto oznaczenia pozostałych wejść i wyjść są zupełnie inne w różnych katalogach, nawet pochodzących z tej samej firmy. Nie bój się tego − funkcje liczników: 40160, 74F160, 74LS160, 74HC160 i 74ACT160 są identyczne, różna jest tylko szybkość, wydajność wyjść, napięcia progów logicznych wejść i zakres napięć zasilania poszczególnych układów.
Na rysunku 1 znajdziesz dwa przykłady wykorzystania kostek 160…163.
Może nie wszystko na tym rysunku będzie dla ciebie jasne, ale przy odrobinie zastanowienia dojdziesz sam, jak te liczniki pracują (licząc w przód), i gdzie ewentualnie można to wykorzystać. Uproszczony schemat wewnętrzny liczników znajdziesz na rysunku 2.
Jeśli chcesz zagłębiać się w szczegóły, to w katalogach znajdziesz pełny schemat wewnętrzny kostek i sprawdzisz, że istotnie wejście CET ma dodatkowo wpływ na wyjście przeniesienia CO, dzięki czemu na wyjściu CO stan wysoki (tak!) pojawia się tylko wtedy gdy w liczniku jest „ostatni stan cyklu“ i jednocześnie na wejściu CET występuje stan wysoki. Tym samym wejście CET pełni funkcje dokładnie takie same, jak wejście CI we wcześniej poznanych licznikach synchronicznych, przy czym stanem aktywnym jest stan wysoki, co zupełnie nie zmienia zasady działania.
4026, 4033, 40110
Liczniki dziesiętne: 4026, 4033 i 40110 mają wspólną cechę: zawierają dekoder kodu BCD na kod wyświetlacza siedmiosegmentowego, czyli można do nich bezpośrednio dołączyć wyświetlacz. Dawniej układy te stanowiły obiekt westchnień wielu elektroników, bo były praktycznie niedostępne w kraju. Ze względu na wbudowany dekoder wydają się smakowitym kąskiem dla konstruktorów−amatorów. Dziś można je kupić bez kłopotu, ale to wcale nie znaczy, że układy te są szczególnie godne polecenia i powinny być używane jak najczęściej. Oprócz swoich zalet związanych ze wspomnianym dekoderem, mają też istotne wady, o których nie można zapomnieć. Jedną z nich, może nie najistotniejszą, jest cena. Może się okazać, że układ zbudowany z oddzielnych liczników i dekoderów będzie tańszy. Oprócz tego trzeba wziąć pod uwagę specyficzne cechy liczników z dekoderem, które mogą przekreślić ich przydatność. Przede wszystkim kostki 4026 i 4033 nie mają bufora − zatrzasku (latch), czyli stan licznika jest na bieżąco wyświetlany i nie może zostać zapamiętany. I co najgorsze, żaden z omawianych układów nie może współpracować z wyświetlaczem ciekłokrystalicznym LCD, a jedynie z wyświetlaczami LED ze wspólną katodą.
Wszystkie trzy omawiane liczniki w rzeczywistości są licznikami Johnsona, co zresztą nie jest ani wadą, ani zaletą. Wszystkie reagują na rosnące zbocza impulsów zegarowych. Wszystkie przeznaczone są do bezpośredniej współpracy z wyświetlaczami ze wspólną katodą.
Kostki 4026 i 4033 są w sumie bardzo podobne, o czym można się przekonać porównując układ wyprowadzeń oraz uproszczony schemat blokowy pokazany na rysunku 3.
Oprócz asynchronicznego wejścia zerującego (nóżka 15), obie kostki mają wejście CL (nóżka 1) oraz wejście zezwalające, oznaczane Clock Inhibit lub Strobe (nóżka 2), zezwalające na zliczanie, gdy jest tam stan niski. Uwaga! Wejście zezwalające pełni tu funkcję podobną jak w prostszych licznikach 4060, 4017 i 4518, nie służy natomiast do łączenia kilku kostek w układzie synchronicznym. Sprawa ta jest o tyle istotna, że skrót CI\ (tu Clock Inhibit) można pomylić ze znanym z liczników synchronicznych Carry Input, a układy 4026 i 4033 mają wyjście przeniesienia CO\ (nóżka 5). Przy łączeniu kilku takich liczników wyjście CO\ należy łączyć z wejściem zegarowym CL następnego licznika. Nie powinno się stosować typowego dla liczników synchronicznych „synchronicznego“ połączenia kostek, bo na wyjściu CO\ stan niski występuje przy stanach licznika od 5…9.
Jak wskazuje rysunek 3, wejście CI\, oznaczone tu CL\ (nóżka 2) teoretycznie można wykorzystać do zliczania opadających zboczy impulsów (wejście CL powinno być wtedy w stanie wysokim), ale raczej nie ma to sensu, bo w typowych układach wykorzystywanych jest kilka kostek i należy je łączyć wykorzystując końcówki CO\ oraz CL, natomiast wejścia CI\ co najwyżej będą służyć do bramkowania impulsów wejściowych.
Wyjaśnienia wymagają jeszcze trzy dodatkowe końcówki. W układzie 4026 są to: wejście DE (nóżka 3) oraz wyjścia DO, inaczej DEO (nóżka 4) i C inaczej ungated C (nóżka 14).
Wejście DE (Display Enable Input) umożliwia wygaszanie wyświetlacza. Stan niski powoduje wygaszenie wyświetlacza, a wewnętrzny licznik nadal będzie pracował. To wejście umożliwia oszczędzanie energii przy zasilaniu bateryjnym (włączanie wyświetlacza tylko na czas odczytu wyniku), albo co ciekawsze do realizacji wyświetlania multipleksowego. Realizacja trybu multipleksowego może być pożyteczna, ale należy pamiętać, że przy podaniu na wejście DE stanu niskiego, wyjścia segmentów (a…g) wprowadzane są w stan niski, a nie w stan trzeci (tristate), czyli wyjść kilku kostek nie można łączyć bezpośrednio, tylko na przykład za pośrednictwem sieci diod.
Wyjście DO (DEO − Display Enable Output), po prostu powtarza stan z wejścia DE, co może budzić zdziwienie i wątpliwość − po co? Tak jednak jest.
Natomiast wyjście C przewidziano do realizacji liczników zliczających do 12 lub 60, czyli przy budowie zegarów. Na wyjściu tym normalnie panuje stan wysoki, a stan niski pojawia się tylko wtedy, gdy w liczniku jest liczba 2 (co odpowiada wygaszeniu segmentu c wyświetlacza, stąd oznaczenie C). Uwaga! Stan wyjścia C zależy tylko od stanu licznika i wygaszenie wyświetlacza przez wejście DE nie ma nań żadnego wpływu. To samo dotyczy oczywiście wyjścia CO.
Tyle o kostce 4026. W odróżnieniu od niej licznik 4033 ma końcówki RBI (nóżka 3), RBO (nóżka 4) oraz LT (nóżka 14).
Podanie stanu wysokiego na wejście LT (Lamp Test) po prostu zaświeca wszystkie segmenty wyświetlacza, umożliwiając ich wzrokową kontrolę.
Wejścia RBI, RBO (występujące też w niektórych dekoderach kodu BCD na siedmiosegmentowy) umożliwiają wygaszanie nieznaczących zer na wyświetlaczu. Generalna zasada jest następująca: podanie stanu aktywnego na wejście RBI powoduje wygaszenie wyświetlacza w sytuacji, gdy w liczniku jest liczba zero. Przykładowo w sześciocyfrowym liczniku zamiast 000472 wygaszone zostaną trzy pierwsze, nieznaczące zera i wyświetlony zostanie wynik 472, co nie tylko zmniejszy pobór prądu, ale także ułatwi odczyt. Wejście RBI nie rozwiązuje jednak problemu całkowicie, bowiem przy takim działaniu wygaszane byłyby zera także w środku wyniku, czyli zamiast 408107, na wyświetlaczu widniałby bezsensowny wynik 4 81 7. Aby temu zapobiec, konieczne jest wyjście RBO, gdzie stan aktywny pojawia się tylko wtedy, gdy na wejściu RBI jest stan aktywny i jednocześnie w liczniku jest cyfra zero. Inaczej mówiąc, wyjście RBO jest aktywne, gdy w liczniku zostało wygaszone zero. Taka informacja jest podawana do wejścia RBI następnego licznika.
Licznik 40110 jest podobny do omówionego wcześniej licznika 40192: ma dwa niezależne wejścia zegarowe CU − ClockUp (nóżka 9) oraz CD − ClockDown (nóżka 7) z aktywnym zboczem rosnącym. W odróżnieniu od licznika 192 ma na wejściu dodatkowy układ antykoincydencyjny, dzięki czemu dopuszczalne jest, by na obu wejściach jednocześnie występował stan niski. Oczywiście nadal obowiązujące jest „antyschizofreniczne“ wymaganie, by nie podawać aktywnych zboczy na oba wejścia jednocześnie. Dla zapewnienia poprawnej pracy licznika 40110 wystarczy, by zbocza na obu wejściach nastąpiły w odstępie czasowym większym niż 100 ns (0,1 μs).
Jak pokazuje rysunek 4, układ ten oprócz licznika i dekodera zawiera też przerzutnik typu latch, czyli pamięć. Stan niski na wejściu LE − Latch Enable (nóżka 6) powoduje, że latch jest przezroczysty, czyli bieżący stan licznika pokazywany jest na wyświetlaczu. Podanie na wejście LE stanu wysokiego zatrzaskuje w pamięci i na wyświetlaczu ostatnią zawartość licznika, natomiast sam licznik może zostać wyzerowany albo zliczać dalej.
W odróżnieniu od liczników 192 i 193, kostka 40110 ma także asynchroniczne wejście zerowania MR (nóżka 5). Stan wysoki na tym wejściu nieodwołalnie zeruje licznik, przy czym stan wyświetlacza zależy wtedy od stanu końcówki LE. Gdy latch jest zatrzaśnięty, wyzerowanie licznika nie spowoduje zmiany stanu wyświetlacza, który nadal będzie pokazywał zawartość licznika zapamiętaną przed zatrzaśnięciem.
Kostka 40110 ma także wejście zezwalające TE\ − Toggle Enable (nóżka 4). Stan niski na tym wejściu umożliwia normalną pracę licznika, stan wysoki wstrzymuje zliczanie impulsów podawanych na którekolwiek wejście zegarowe.
Do połączenia ze sobą kilku takich liczników wykorzystuje się wyjścia CARRY (nóżka 10) i BORROW (nóżka 11), które podobnie jak w kostkach 192 i 193 łączy się z wejściami CU i CD następnego licznika.
Teoretycznie każdy z omówionych liczników (4026, 4033 i 40110) można wykorzystać do sterowania innych wyświetlaczy – takich jak: siedmiosegmentowe wyświetlacze lampowe NIXIE, lub fluorescencyjne. Natomiast do wysterowania wyświetlaczy LED ze wspólną anodą potrzebne byłyby albo 7 inwerterów, albo 7 tranzystorów i 14 rezystorów, co nie wydaje się godne polecenia. Z kolei do wysterowania wyświetlacza LCD potrzebne byłoby 8 (wraz z punktem dziesiętnym) bramek EX−OR czyli dwa dodatkowe układy scalone na cyfrę − też niezbyt zachęcające rozwiązanie. Właśnie z tego względu, te skądinąd interesujące liczniki znajdują niezbyt wiele praktycznych zastosowań.
Tyle o najpopularniejszych i najbardziej godnych uwagi licznikach rodziny CMOS. Oprócz nich produkowane i dostępne są jeszcze inne liczniki i dzielniki: 4018, 4059, 4553, 4569, 4089 czy 4527. Są zdecydowanie mniej popularne, a ich działanie mogę omówić na wasze wyraźne życzenie (proszę o informację w tej sprawie). A najbardziej dociekliwych odsyłam do katalogów, gdzie znajdą pełne informacje na temat tych układów.
Pobór prądu
W tym odcinku poruszę jeszcze jedną bardzo ważną i często błędnie rozumianą sprawę. Chodzi o pobór prądu. Potoczna opinia głosi, że „układy CMOS wcale nie pobierają prądu“. Jest to w zasadzie prawda, ale tylko w stanie spoczynku!
Wtedy zawsze jeden z komplementarnych tranzystorów MOS jest zatkany (a drugi otwarty) − spójrz na rysunek 5.
Wiesz także, że w króciutkiej chwili przełączania z jednego stanu logicznego do drugiego (gdy przewodzący dotychczas tranzystor zatyka się, a zatkany zaczyna przewodzić), przez ten maleńki ułamek sekundy przewodzą obydwa tranzystory i wtedy płynie prąd. Wiesz także, że zmiana stanu logicznego na wyjściu wymaga przeładowania (naładowania albo rozładowania) szkodliwej pojemności: zarówno wewnętrznej pojemności, jaki pojemności obciążenia, których sumaryczna wartość wynosi kilkadziesiąt pikofaradów lub nawet więcej.
Czym większa częstotliwość przełączania i czym większe napięcie zasilające, tym większy pobór prądu związany z tym bezproduktywnym ładowaniem i rozładowywaniem pojemności.
W niektórych katalogach podane są wzory pozwalające obliczyć szacunkowy pobór prądu przy danej częstotliwości i napięciu zasilającym. Przykładowo w katalogu układów CMOS4000 Motoroli dla licznika 4029 (oznaczonego tu MC14029) znajdziemy podstawowe wzory dla trzech napięć zasilających:
5 V → I = (0,58 μA/kHz) × f + IDD
10 V → I = (1,20 μA/kHz) × f + IDD
15 V → I = (1,70 μA/kHz) × f + IDD
gdzie IDD w temperaturze +25°C ma pomijalnie małą wartość i nie przekracza 0,015 μA, ale w temperaturze struktury +125°C może sięgnąć kilkuset μA. Uwaga: podane wzory dotyczą temperatury +25°C i pojemności obciążenia 50 pF na każdym wyjściu.
W katalogu podano także, że licznik ten przy napięciach: 5 V, 10 V i 15 V ma gwarantowane maksymalne częstotliwości pracy równe odpowiednio: 2, 4 i 5 MHz, a większość kostek będzie przy tych napięciach pracować przy częstotliwościach odpowiednio: 4, 8 i 10 MHz.
Policzmy szacunkowy pobór prądu przy napięciu zasilania 15 V i częstotliwości pracy 5 MHz (5000 kHz):
I = (1,70 μA/kHz) × 5000 kHz + 0,015 μA = 8500 μA = 8,5 mA.
A więc ta jedna kostka będzie pobierać prawie 10 mA prądu, co da moc pobieraną (i moc strat) ponad 125 mW. Jak widać, prąd spoczynkowy IDD równy kilka…kilkanaście nanoamperów można tu spokojnie pominąć.
Nawet przy napięciu zasilania równym 5 V i częstotliwości 2000 kHz, pobór prądu będzie znaczący:
I = (0,58 μA/kHz) × 2000 kHz + 0,015μA = 1160 μA = 1,16 mA.
Czy jest to jakaś straszna przeszkoda? Oczywiście nie! Ale przy projektowaniu urządzeń o zasilaniu bateryjnym nie wolno zapominać o zależności poboru prądu od częstotliwości i napięcia zasilającego.
Jeśli już masz być ekspertem od układów cyfrowych podam ci kilka dalszych informacji na ten temat.
Przykładowo dla kostki CMOS 4060 w katalogu podano wzór na pobór prądu przy napięciu zasilania 5 V:
I = (0,25 μA/kHz) × f + IDD Gdzie typowo IDD = 0,005 μA.
Stąd pobór prądu przy gwarantowanej dla tego napięcia częstotliwości pracy równej 3,5 MHz wynosi 0,875 mA. Te warunki dotyczą sytuacji, gdy wszystkie wyjścia licznika są obciążone pojemnościami równymi 50 pF.
Natomiast w katalogu układów 74HC(T) nie podaje się podobnego wzoru, tylko uniwersalny wzór na obliczenie mocy potrzebnej do przeładowywania danej pojemności przy danym napięciu i częstotliwości.
Wzór ten ma postać: P = C × (VCC)2 × f
Gdzie VCC to napięcie zasilające w woltach, f − częstotliwość pracy w megahercach, C to pojemność w pikofaradach, a P to moc (strat) w mikrowatach.
Pojemność C to suma wewnętrznej pojemności obciążenia (oznaczonej w katalogu CPD i dla kostki 74HC4060 równej 35 pF) oraz zewnętrznej pojemności obciążenia CL (pojemność ścieżek i wejść następnych układów).
Przy napięciu zasilania 5 V, częstotliwości 3,5 MHz i bez zewnętrznego obciążenia, szacunkowy pobór mocy przez układ 74HC4060 wyniesie:
P = 35 pF × (5 V)2 × 3,5 MHz = 3062,5 μW czyli 3 mW. Co daje prąd zasilania około 612,5 μA.
Czy to znaczy, że przy pojemnościach obciążenia na wyjściach równych 50 pF, pobór mocy zwiększy się o:
P = 50 pF × (5 V)2 × 3,5 MHz = 4375 μW = 4,4 mW. Czyli o kolejne 875 μA do wartości prawie 1,5 mA?
Nie! Podany uniwersalny wzór: P = C × (VCC)2 × f nie może być stosowany bezmyślnie! W katalogu podano, że (umowna) wewnętrzna pojemność obciążenia wynosi dla całej kostki 35 pF i taką pojemność słusznie należy podstawić do wzoru. Dla innych kostek (przykładowo bramek lub przerzutników), taka umowna pojemność podana jest dla jednego elementu − jednej bramki lub przerzutnika − jest to wyraźnie zaznaczone w katalogu. Wtedy pobór prądu trzeba liczyć oddzielnie dla każdej bramki czy przerzutnika. Dla innych układów podana jest jakaś umowna pojemność zastępcza dotycząca całego układu, na przykład licznika.
W takim przypadku przy obliczaniu dodatkowego poboru mocy i prądu związanego z przeładowaniem pojemności obciążenia CL należy do podanego wzoru podstawić aktualne wartości pojemności obciążenia i co ważniejsze − częstotliwość rzeczywiście występującą na danym wyjściu.
Obliczmy jeszcze szacunkowy pobór prądu kostki 74HC4060 pracującej przy gwarantowanej największej częstotliwości pracy równej 24 MHz (przy VCC=6 V i temperaturze poniżej +85°C)
P = 35 pF × (6 V)2 × 24 MHz = 30,24 mW. Co daje pobór prądu I = 30 mW / 6 V = 5 mA.
Na zakończenie jeszcze jeden wykres przedstawiający zależność poboru prądu od częstotliwości. Na rysunku 6 pokazano zależność poboru prądu od częstotliwości dla bramek TTL 7400 różnych rodzin. Na wykresie tym nie zaznaczono bramki z rodziny CMOS4000 (4011) − jej wykres przebiegałby równolegle do prostej reprezentującej bramkę 74HC00, tylko byłby położony wyżej (większy pobór prądu przy danej częstotliwości) i kończyłby się wcześniej, bo bramka 4011 przy napięciu 5 V może pracować z częstotliwościami co najwyżej kilkunastu megaherców.
Powyższe informacje i podany uniwersalny wzór na pewno przydadzą się wszystkim konstruktorom urządzeń cyfrowych.
Oczywiście dla początkujących konstruktorów amatorów podane zależności nie mają większego znaczenia, bo w ich przypadku sukcesem jest, gdy urządzenie w ogóle działa. Ale już bardziej zaawansowani elektronicy powinni dobrze przeanalizować podane informacje i poszukać dalszych w katalogach.
Piotr Górecki