Powrót

Pierwsze kroki w cyfrówce – część 17

W poprzednim odcinku zaczęliśmy szczegółowo omawiać popularniejsze liczniki rodziny CMOS4XXX. Poznałeś uniwersalne liczniki 4029, 4510, 4516 oraz dzielniki 40102 i 40103. Obiecałem, że w tym numerze przedstawię ci kilka kolejnych interesujących liczników. Zaczniemy od kostek 4522 i 4526.

Ale najpierw przypomnienia: korzystając z różnych źródeł, napotkasz bałagan w oznaczeniach i różnice w stosowanych skrótach i symbolach. Nie bój się tego − mam zresztą nadzieję, że do tej pory już się do tego zamieszania przyzwyczaiłeś. Oczywiście zamieszczone poniżej informacje nie wyczerpują wszystkich szczegółów, dlatego podczas czytania tego artykułu powinieneś, a nawet wręcz musisz mieć przed oczami skrócony katalog układów logicznych CMOS serii 4000, który możesz ściągnąć z internetu. Skróty i oznaczenia używane w moim artykule niekiedy różnią się od użytych w katalogu. Jest to mój świadomy wybór. Dla uniknięcia dwuznaczności w każdym uzasadnionym przypadku podaję ci numer danego wyprowadzenia (nóżki).

Drugie przypomnienie: jeśli w opisie napotkasz sformułowanie typu: „licznik zostanie wyzerowany po podaniu stanu wysokiego na wejście zerujące“ to znaczy, że podczas zliczania wejście to musi pozostawać w stanie niskim, bo inaczej licznik pozostawałby cały czas wyzerowany. Gdybyś pomimo moich wyjaśnień i przeanalizowania skróconego katalogu miał nadal jakieś wątpliwości co do działania poszczególnych układów, masz do wyboru dwie drogi: albo zmontować układ pracy w podstawce i sprawdzić działanie w praktyce, albo zajrzeć do pełnego firmowego katalogu i próbować przeanalizować funkcje kostki na podstawie schematu wewnętrznego. Nie jest to łatwe, ale masz wszystkie wiadomości, które są do tego potrzebne. Jestem jednak pewny, że podane wskazówki wystarczą ci do ogromnej większości zastosowań oraz uwolnią cię od niepotrzebnego strachu przed nieznanymi dotychczas licznikami.

4522, 4526

Jeśli zapoznałeś się wcześniej z kostkami 4029 oraz 40102(3), zrozumienie funkcji liczników 4522 i 4526 nie sprawi ci żadnych trudności. Przede wszystkim są to synchroniczne liczniki programowane, liczące w dół, tak jak 40102(3). Analogicznie jak 4029 mają cztery wejścia programujące i cztery wyjścia licznika. Kostka 4522 jest licznikiem BCD (dziesiętnym), a 4526 − czterobitowym dwójkowym. Generalnie kostki te przeznaczone są do budowy dowolnej długości dzielników częstotliwości, bo można je bez trudu łączyć kaskadowo, uzyskując dowolnie duży stopień podziału. Układ wyprowadzeń oraz blokowa budowa wewnętrzna tych liczników pokazana jest na rysunku 1.

Rysunek 1

Wejście MR (nóżka 10) umożliwia asynchroniczne zerowanie (stan H − zerowanie). Stan wysoki na wejściu PE (nóżka 3) wpisuje dane z wejść programujących P0…P3. Wejście MR ma najwyższy priorytet, to znaczy, jednoczesne podanie stanu wysokiego na wejścia MR i PE spowoduje wyzerowanie licznika, a nie wpisanie danych z wejść programujących.

Kostki 4522 i 4526 mają dwa wejścia służące do zliczania: CL (nóżka 6) oraz INHIBIT (nóżka 4). Co istotne, można wybrać aktywne zbocze.

Gdy wejście INHIBIT jest w stanie niskim, licznik reaguje na rosnące zbocza na wejściu CL. Stan wysoki na INHIBIT zatrzymuje zliczanie, nie powodując zmian stanu licznika. Końcówka INHIBIT też może być wejściem zliczającym opadające zbocza nań podawane, przy czym wejście CL musi być w stanie wysokim. Tym samym wejście INHIBIT ma działanie takie same jak we wcześniej poznanych kostkach 4017, 4518, 4520, a inne jak wejście przeniesienia (CI) w kostkach: 4029, 4510, 4516, 40102, 40103 (w których wejście CI też pełni rolę wejścia zezwalającego, ale nie służy do zliczania impulsów).

Ponieważ wejście INHIBIT nie jest „pełnowartościowym“ wejściem zezwalającym i synchroniczne łączenie kilku kostek w układzie dzielnika byłoby utrudnione, wprowadzono dodatkowe wejście CF (Cascaded Feedback − nóżka 13), które jest wykorzystywane, gdy współpracuje ze sobą kilka kostek. Gdy pracuje tylko jedna, to wejście CF ma być w stanie wysokim. Nie trzeba się wgłębiać w jego funkcje, o ile tylko stosuje się klasyczne układy aplikacyjne zaprezentowane na rysunku 2. Ty, jeśli w ogóle wykorzystasz te układy, to właśnie w tych aplikacjach.

Rysunek 2

Układy 4522 i 4526 mają jedno wyjście oznaczone „CO“ (nóżka 12). Nie jest to klasyczne wyjście przeniesienia CO znane z poprzednio omawianych liczników. Nie wdając się w szczegóły można stwierdzić, że stan wysoki pojawia się tam na koniec cyklu, gdy w liczniku jest liczba 0000B. I znów nie musisz się w to wgłębiać, jeśli zastosujesz kostkę w typowych aplikacjach. A jeśli chcesz wniknąć w szczegóły, musisz zajrzeć do katalogu, gdzie znajdziesz między innymi wewnętrzny schemat tych liczników.

A teraz jeszcze jedna uwaga − przy wykorzystaniu tylko jednego licznika według rysunku 2 obie kostki będą zachowywać się identycznie, to znaczy „dziesiętny“ licznik 4522 może pracować ze stopniem podziału większym niż 9. Jedynie przy współpracy kilku kostek, liczniki 4522 będą zachowywać się jak prawdziwe liczniki dziesiętne. Powód jest prosty − licznik liczy w dół i cykl pracy jest skrócony przez to, że następnym stanem po liczbie zero 0000B jest liczba dziewięć 1001B. Przy pracy jednego licznika cykl pracy kończy się w chwili osiągnięcia stanu 0000B, po czym następuje asynchroniczne wpisywanie danych do licznika z pomocą wejścia PE. Ta uwaga o pracy pojedynczego licznika BCD w roli licznika dwójkowego dotyczy też innych liczników BCD liczących w dół.

40192, 40193

Układy te mają funkcje i układ wyprowadzeń identyczne jak liczniki 74192, 74193 z rodziny TTL. Oprócz układów 192 i 193 do rodziny CMOS4000 „przeflancowano“ też inne kostki z rodziny TTL, miedzy innymi liczniki 160…163 opisane w kolejnym odcinku cyklu. Po prostu niektóre układy z rodziny TTL okazały się bardzo przydatne w licznych zastosowaniach, cieszyły się ogromną popularnością i z czasem ich odpowiedniki pojawiły się w rodzinie CMOS4000. Odpowiedniki te w zasadzie mogą być stosowane zamiennie z układami TTL, przy czym − co ważne − podobnie jak wszystkie układy CMOS4XXX mogą być zasilane napięciem 3…18 V. I to jest jedyna różnica, bo funkcje i układ wyprowadzeń są identyczne. Ale uwaga − zakres napięć zasilania jest wprawdzie bardzo szeroki, obejmuje typowe „logiczne napięcie zasilające“ równe 5 V, jednak wersje z rodziny CMOS4XXX są wolniejsze od swoich pierwowzorów TTL (standard, LS, F oraz HC, HCT) i przy niskich napięciach zasilania mają znacznie mniejszą wydajność prądową wyjść.

Tu na marginesie trzeba dodać, że nie tylko rodzina CMOS4XXX „pożyczyła“ sobie najciekawsze kostki z rodziny TTL. Z czasem okazało się, że najpopularniejsze układy rodziny CMOS4XXX pojawiły się w rodzinie TTL, a ściślej mówiąc, w „cemosowych“ wersjach HC i HCT. Przykładowo nasz dobry znajomy, licznik 4060 (i nie tylko on) występuje choćby w wersji HC jako układ 74HC4060. Oczywiście kostka 74HC4060, jak wszystkie z grupy HC, może być zasilana napięciami 3…6 V, jest przy tym dużo szybsza i ma znacznie większą wydajność prądową wyjść niż CMOS4060, przy czym oczywiście działanie i układ wyprowadzeń są identyczne.

Wracając do kostek 40192 i 40193 (i ich TTL−owych pierwowzorów) trzeba stwierdzić, że są to rzeczywiście jedne z najpopularniejszych liczników. Układ 192 jest dwukierunkowym programowalnym licznikiem dziesiętnym (BCD), a 193 − czterobitowym dwójkowym. Ich działanie jest bardzo proste. Mają asynchroniczne wejście zerowania MR (nóżka 14), gdzie podanie stanu wysokiego w każdych warunkach zeruje licznik. Jeśli licznik nie jest zerowany, podanie stanu niskiego na wejście wpisujące PE\ (nóżka 11) umożliwia załadowanie do licznika liczby podawanej na wejścia programujące P0…P3. Jak z tego widać, podczas zliczania na wejściu MR powinien być stan niski, a na PE\ − wysoki.

W odróżnieniu od dotychczas poznanych liczników, prezentowane kostki mają dwa równorzędne wejścia zegarowe. Impulsy podawane na jedno z nich (nóżka 5) powodują zwiększanie stanu licznika − jest to wejście oznaczane CL UP (lub CLU, CU) − od Clock Up. Impulsy podawane na drugie równorzędne wejście Clock Down (ozna− czane CL DN, CLD, CD − nóżka 4) powodują zmniejszanie stanu licznika.

Układy 192 i 193 w odróżnieniu od wszystkich poznanych wcześniej liczników, nie mają żadnych wejść zezwalających. Impulsy, a ściślej rosnące zbocza impulsów podawanych na wejścia CU i CD są zliczane przez licznik. Ale uwaga! Z oczywistych względów (by licznik nie zachorował na schizofrenię), nie można podawać impulsów jednocześnie na oba wejścia. I nie chodzi tylko o to, że licznik zgłupieje, gdy każemy mu jednocześnie liczyć i w dół i w górę. Ze względu na specyficzną budowę stopni wejściowych, nie powinno się podawać jednocześnie na oba wejścia stanu niskiego. Inaczej mówiąc, „w spoczynku“ oba wejścia powinny być w stanie wysokim, a zliczane ujemne impulsy (najlepiej krótkie) powinny być podawane w danej chwili tylko na jedno z wejść. Oczywiście podanie na oba wejścia stanu niskiego nie uszkodzi kostki, ale może powodować błędy z zliczaniu. W niektórych zastosowaniach nie będzie to żadnym problemem, choćby ze względu na działanie współpracujących bloków, a w innych najprostszym rozwiązaniem będzie zastosowanie na wejściach różniczkujących obwodów RC skracających czas trwania ujemnych impulsów na wejściach na przykład do 1 mikrosekundy.

Omawiane liczniki mają dwa wyjścia umożliwiające łatwe łączenie kilku kostek według rysunku 3. W takim prostym zastosowaniu nie ma potrzeby zastanawiać się nad funkcją tych wyjść − wystarczy informacja, że zależnie od kierunku zliczania, impulsy przeniesienia pojawiają się albo na wyjściu COU\ (nóżka 12) bądź na wyjściu COD\ (nóżka 13). Wyjście przeniesienia „w górę“ COU\ bywa też nazywane po prostu „przeniesienie“ − CARRY\, a wyjście przeniesienia „w dół“ − „pożyczka“ czyli BORROW\.

Rysunek 3

Omawiana właściwość wejść nie powinna w żadnym stopniu zniechęcić do stosowania tych jakże pożytecznych układów. W prostszych zastosowaniach trzeba po prostu wykorzystać podane układy połączeń. W mniej typowych zastosowaniach konieczne są dodatkowe informacje o tych wyjściach. W zasadzie wszystko można znaleźć w kartach technicznych tych liczników, ale lepiej przedstawić to „ludzkim językiem“. Chodzi o to, że na wyjściach COU\ i COD\ stan niski pojawia się wtedy, gdy w liczniku występuje wspomniany w poprzednim odcinku „ostatni stan cyklu“ i jednocześnie na odpowiednim wejściu panuje stan niski. W czym problem? W opisywanych wcześniej licznikach synchronicznych stan aktywny na wyjściu przeniesienia CO występował przez cały czas, gdy w liczniku był „ostatni stan cyklu“ i jednocześnie na wejściu CI był stan niski. W licznikach 192 i 193 sytuacja jest znacznie ciekawsza, bo po pierwsze nie ma wejścia przeniesienia. Czyżby więc stan aktywny miał występować przez cały czas, gdy w liczniku jest „ostatni stan cyklu“? To miałoby pozory sensu, bo są dwa wyjścia przeniesienia i na jednym (COD\) występowałby stan niski gdy w liczniku jest liczba zero, natomiast na wyjściu COU\ − gdy w liczniku 192 jest 9 (1001B), a w 193 − 15 (1111B). Tak jednak być nie może i nie jest. Jak informowałem wcześniej, stan niski występuje na danym wyjściu nie przez cały czas występowania „ostatniego stanu“, tylko krócej, gdy jednocześnie na odpowiednim wejściu panuje stan niski. Pokazane to jest na rysunku 4 przedstawiającym przebiegi w liczniku 192 i 193.

Rysunek 4

Dlaczego tak musi być? To właśnie jest twoje zadanie domowe. Uzasadnij, dlaczego stan niski nie może występować na wyjściach COU\ i COD\ przez cały czas trwania w liczniku „ostatniego stanu“?

A swoją drogą, jeszcze raz podkreślam, że nawet ci, którzy nie chcą się wgłębiać w takie zawiłości, nie powinni bać się liczników 192 i 193, bo w praktyce w typowych zastosowaniach nie sprawiają one żadnych kłopotów.

A kolejny ostatni już odcinek cyklu o cyfrówce znajdziesz tutaj.

Piotr Górecki