![]() |
Wyjście Spis treści Poprzedni Następny
Autor artykułu: mgr Jerzy Wałaszek Konsultacja: Wojciech Grodowski, mgr inż. Janusz Wałaszek |
©2015 mgr
Jerzy Wałaszek
|
| Tematy pokrewne | Podrozdziały | |
| (w budowie) |
Podstawy Generatory impulsów Licznik Licznik/dzielnik modulo n Rejestr przesuwający |
Podstawy |
|||||||||||||||||||||||||||||
|
Generator impulsów jest układem, który tworzy
(generuje) na przemian stany logiczne 0
i 1 z pewną częstotliwością. Zatem na jego wyjściu powstaje ciąg
impulsów.
Okresem T generatora nazywamy czas pomiędzy dwoma zboczami dodatnimi (przejście z 0 na 1) lub ujemnymi (przejście z 1 na 0) w generowanym sygnale.
Częstotliwością f generatora nazywamy liczbę impulsów (zmiana z 0 na 1 i z powrotem z 1 na 0) w ciągu jednej sekundy. Częstotliwość i okres generatora są ze sobą powiązane prostą zależnością:
Najprostszy generator możemy zbudować z 3 bramek NOT (ogólnie z nieparzystej liczby bramek większej niż 1). W tym celu wystarczy połączyć bramki szeregowo, a wyjście ostatniej dołączyć do wejścia pierwszej bramki:
Zwróć uwagę, że taki układ bramek nie może znajdować się w stanie stabilnym. Załóżmy, że na wejściu pierwszej bramki pojawia się stan logiczny 0. Po krótkim czasie propagacji (czas ustalenia się napięcia wyjściowego bramki w funkcji napięcia wejściowego) na wyjściu tej bramki pojawi się stan 1, który z kolei trafia na wejście drugiej bramki. Znów po krótkim czasie propagacji na wyjściu drugiej bramki pojawi się stan 0, który wysteruje wejście trzeciej bramki. Ta z kolei po czasie propagacji umieści na swoim wyjściu stan 1. Stan ten przeniesie się na wejście pierwszej bramki, gdzie dotychczas panował stan 0. Spowoduje to ponowne, kaskadowe zmiany stanów bramek na przeciwne i tak w kółko. Dla nas "wadą" powyższego generatora jest niezbyt stabilna częstotliwość pracy oraz bardzo krótki okres: około 60ns (czas propagacji sygnału wynosi 30ns – po 10ns na bramkę, na jeden okres wchodzą dwie zmiany sygnału z 0 na 1 i z 1 na 0, stąd dostajemy 60ns). Daje to częstotliwość generatora równą 16666666 [Hz] = 16,66 [MHz], czyli ponad 16 milionów cykli na sekundę. Dla bramek wersji szybkiej czas propagacji przez bramkę jest równy około 3ns, co potroi tę częstotliwość. "Wadą" tak dużych częstotliwości jest to, że nasze oko nie będzie w stanie jej zaobserwować. Możemy jednak pośrednio sprawdzić, czy dany układ faktycznie generuje drgania.
Ćwiczenie nr 14Zbudujemy poniższy układ generatora z 3 bramek NOT. Dodatkową bramkę wykorzystamy do sterowania diodami: SN7404 – 6 bramek NOT
Gdy włączysz zasilanie, to będzie się świeciła jedna z diod LED, ponieważ generator nie pracuje przy rozwartym włączniku. Gdy naciśniesz przycisk, obwód sprzężenia zwrotnego zostanie zamknięty i generator rozpocznie generację impulsów. W efekcie diody LED będą się zaświecały naprzemiennie, lecz tak szybko, że okiem tego nie będzie można zauważyć. Będzie się nam wydawało, że naraz świecą obie diody (nie mogą naraz się świecić obie diody przez czas dłuższy od czasu propagacji sygnału przez bramkę, ponieważ na wyjściu ostatniej bramki panuje stan przeciwny do stanu na wejściu). Jasność świecenia diod spada, ponieważ nie świecą one ciągle, tylko przez połowę każdego okresu generatora. Gdy zwolnisz przycisk, to znów będzie zaświecona tylko jedna dioda LED.
Opornik 1k (może być większy, np. 4,7k) służy do ustawienia stanu wysokiego 1 na wejściu pierwszej bramki generatora, gdy przycisk nie jest wciśnięty. Ma to znaczenie dla układów 74HC04 i 74HCT04, które są zbudowane z tranzystorów polowych i posiadają bardzo dużą oporność wejściową. Bez tego opornika bramki wzbudzają się nawet z powodu zbliżenia palca do układu scalonego. Gdy generator budujesz na zwykłych układach 7404 lub 74LS04, opornik ten można pominąć. |
|||||||||||||||||||||||||||||
Generatory impulsów |
|||||||||||||||||||||||||||||
|
Aby zbudować generator o niższych częstotliwościach
pracy, które da się zaobserwować okiem, musimy zastosować
kondensator.
Przypomnijmy. Kondensator zbudowany jest z dwóch przewodników rozdzielonych od siebie za pomocą izolatora. Gdy do tych przewodników doprowadzimy napięcie elektryczne, to zaczną się na nich gromadzić ładunki elektryczne, które wytworzą pomiędzy przewodnikami napięcie elektryczne rosnące wraz z przybywaniem ładunków aż do osiągnięcia wartości napięcia zasilającego. W trakcie ładowania kondensatora płynie przez niego chwilowy prąd o coraz mniejszym natężeniu.
Nie wgłębiając się w szczegóły teoretyczne, powiedzmy, że czas osiągnięcia przez kondensator stanu nasycenia jest proporcjonalny do iloczynu RC, gdzie R to oporność opornika, a C jest pojemnością kondensatora. Opór wyrażamy w omach, a pojemność w faradach. Im większy opór czy pojemność tym czas ten jest dłuższy. Jeśli naładowany kondensator zewrzemy poprzez opór, to nastąpi zjawisko odwrotne – rozładowanie kondensatora.
Znów popłynie przez chwilę prąd. Rozładowanie powoduje spadek napięcia na kondensatorze w miarę ubywania ładunków elektrycznych. Proces ten zakończy się, gdy kondensator zostanie całkowicie rozładowany. Czas rozładowania również jest proporcjonalny do iloczynu RC. Zwróć uwagę, że przy rozładowywaniu napięcie na oporniku R ma zwrot przeciwny i jest równe co do wartości napięciu na kondensatorze. Rozważmy teraz bardzo prosty generator zbudowany z dwóch bramek NOT, opornika i kondensatora. Podane tutaj wyjaśnienie jest bardzo przybliżone (w rzeczywistości należałoby omówić tzw. bramki zlinearyzowane, które zachowują się jak wzmacniacze odwracające), lecz wystarczające do zrozumienia zasady działania tego generatora.
W bardzo dużym uproszczeniu wyjście bramki NOT możemy potraktować jak przełącznik. Na poniższym rysunku mamy schematy zastępcze bramki NOT dla wyjściowych stanów logicznych 1 oraz 0.
Gdy na wejściu bramki NOT występuje stan logiczny 0, to na jej wyjściu pojawia się stan logiczny 1. Możemy ten stan potraktować tak, jakby wyjście zostało połączone "przełącznikiem" do napięcia 3,3V (dla układów HCT będzie to 4,9V). Gdy na wejściu bramki NOT mamy stan 1, to na jej wyjściu pojawia się stan 0, co odpowiada zwarciu wyjścia do masy (z uwagi na spadki napięć wewnątrz układu napięcie w tym stanie nie jest równe 0V, lecz wynosi około 0,8V, HCT 0,1V). Wróćmy do naszego generatora. Załóżmy, że kondensator C jest rozładowany i na wejściu pierwszej bramki panuje stan 0. Wtedy na jej wyjściu musi być stan 1, a na wyjściu drugiej bramki musi być stan 0. Schemat zastępczy tego układu masz poniżej:
W takim układzie kondensator zaczyna się ładować poprzez opornik R z wyjścia pierwszej bramki. Napięcie na kondensatorze rośnie. Jednocześnie napięcie to pojawia się na wejściu pierwszej bramki w punkcie A. Przerywaną linią niebieską zaznaczyliśmy na wykresie poziom napięcia, który spowoduje przełączenie pierwszej bramki w stan przeciwny, tzn. na jej wejściu pojawi się stan 1 z kondensatora, na wyjściu pojawi się stan 0, co z kolei wymusi stan 1 na wyjściu drugiej bramki. Układ zmieni konfigurację:
Ponieważ kondensator jest naładowany w kierunku poprzedniej polaryzacji napięcia, to przy przełączeniu bramek napięcie na kondensatorze doda się do napięcia wyjściowego bramki drugiej i w efekcie nastąpi chwilowy skok napięcia w punkcie A. Kondensator zacznie się rozładowywać poprzez opornik R, a następnie będzie się ładował napięciem przeciwnym. Proces ten spowoduje stopniowe obniżanie się napięcia w punkcie A aż do momentu, gdy osiągnie ono poziom przełączania bramki pierwszej, który zaznaczyliśmy na wykresie przerywaną linią niebieską. Układ znów zmieni konfigurację na przeciwną:
Ponieważ w momencie przełączenia kondensator jest naładowany odwrotnym napięciem, to nastąpi chwilowy spadek napięcia w punkcie A poniżej 0V. Teraz kondensator najpierw rozładuje się poprzez opornik R, a następnie zacznie się ładować napięciem wyjściowym bramki pierwszej. Napięcie w punkcie A będzie rosło aż osiągnie poziom przełączania bramki pierwszej. Wtedy cały cykl się powtórzy i generator zacznie generować naprzemiennie stany 0 i 1 na swoim wyjściu. Okres generatora zależy od użytych elementów R i C. Nie będziemy go wyliczać, ponieważ jest to dosyć skomplikowane (nasz model jest jedynie bardzo dużym uproszczeniem, które pozwala zrozumieć zasadę działania tego generatora, w rzeczywistości diabeł tkwi w szczegółach).
Ćwiczenie nr 15Jako ćwiczenie zbudujemy generator impulsów oparty na powyższym schemacie. SN7404 – 6 bramek NOT
Częstotliwość generowanych impulsów zależy od pojemności kondensatora oraz oporu opornika. Dla 100µF powinno to być około 2Hz. W generatorze zastosowany jest układ 74LS04. Zamiast niego można również stosować układy SN7404, 74HC04 lub 74HCT04. Jeśli stosujesz zwykły układ SN7404 (obecnie dosyć trudny do zdobycia z uwagi na jego przestarzałość), to możesz mieć kłopoty ze startem generatora. W takim przypadku zmniejsz opornik linearyzujący bramkę NOT z 1k na 270...470Ω (poeksperymentuj z różnymi wartościami).
Nie demontuj tego układu, ponieważ wykorzystamy go w następnym podrozdziale do sterowania licznikiem. |
|||||||||||||||||||||||||||||
Licznik |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Licznik jest układem cyfrowym, który zlicza impulsy
podawane na jego wejście zegarowe. Wynik zliczania jest
oczywiście liczbą binarną. Liczniki konstruuje się z
przerzutników flip-flop (przerzutniki typu
latch nie nadają się do tego celu). Poniżej umieściliśmy
symulację 4 bitowego licznika w kodzie 8421.
Liczniki są częścią składową mikrokontrolerów, które wkrótce będziemy programować. Dlatego warto dobrze poznać zasadę działania prostego licznika. Przemysł elektroniczny produkuje gotowe układy cyfrowe, które zawierają w sobie taki licznik. Układ SN7493 zawiera 4 przerzutniki T wyzwalane zboczem ujemnym (przejściem sygnału zegarowego ze stanu 1 na 0):
Podział na licznik 1-bitowy oraz 3-bitowy pozwala tworzyć różnego rodzaju liczniki binarne. Jeśli na wejścia R1 i R2 podamy jednocześnie stan wysoki, to wszystkie cztery przerzutniki zostaną wyzerowane. Wejścia te wykorzystuje się do tworzenia liczników zliczających impulsy do pewnej wartości. Aby utworzyć 4-bitowy licznik binarny, sygnał zegarowy doprowadzamy do wejścia CKA, natomiast wyjście QA łączymy z wejściem CKB. Oba wejścia R0(1) i R0(2) należy połączyć z masą, aby panował na nich stan niski (wymusi to stan wysoki na wejściach zerujących R przerzutnika, który jest stanem nieaktywnym).
Zwróć uwagę, że w układzie scalonym wyjścia QA, QB, QC i QD są w kolejności: QA, QD, QB, QC, czyli inaczej niż na powyższym schemacie.
Ćwiczenie nr 16Wykorzystując generator z poprzedniego projektu, zbudujemy teraz prosty układ cyfrowy, który będzie generował impulsy i zliczał je. Wynik będzie podawany w postaci binarnej za pomocą czterech diod LED. SN7493 – 4-bitowy licznik binarny
Układ działa następująco: Generator zbudowany na bramkach NOT generuje cyklicznie impulsy, które są podawane na wejście zegarowe CKA licznika SN7493. Licznik jest skonfigurowany do zliczania impulsów zegarowych z wejścia w układzie 4-ro bitowym. Każde ujemne zbocze sygnału na wejściu CKA powoduje zmianę stanu licznika. Liczba zliczonych impulsów widoczna jest w postaci binarnej na diodach LED.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
Rejestr przesuwający |
||||||||||||||||||||||||||||||||||||
|
Rejestr przesuwajacy jest układem pamięciowym, który
zapamiętuje w przerzutnikach n bitów danych, a następnie
dane te przesuwa w lewo lub w prawo. Rozważmy poniższy
układ:
Są to 4 przerzutniki D wyzwalane zboczem dodatnim (0 → 1). Przy każdym narastającym zboczu impulsu zegarowego C sygnał z wejścia X zostaje przepisany na wyjście Q0 pierwszego przerzutnika. Jednak nie pojawia się on tam natychmiast, lecz z pewnym opóźnieniem, które nazywamy czasem propagacji. Obrazuje to poniższy wykres czasowy sygnałów:
Dzięki temu opóźnieniu na wyjściu Q pierwszego przerzutnika wciąż utrzymuje się stan poprzedni. Zostanie on zapisany do przerzutnika drugiego. Z kolei drugi przerzutnik również utrzymuje na swoim wyjściu stan poprzedni przez czas propagacji. Dzięki temu przerzutnik trzeci zapamięta ten stan u siebie. W efekcie przerzutniki w tym łańcuchu zapamiętują przy dodatnim zboczu sygnału C stan swojego poprzednika. Zatem stany te przesuwają się w prawo przy każdym impulsie zegarowym. Tego typu rejestr nosi nazwę rejestru szeregowo–równoległym, ponieważ informacja jest do niego wprowadzana wejściem X w takt impulsów zegarowych C. Wprowadzoną informację można odczytywać równolegle na wyjściach Q0...Q3. Rejestr przesuwny można zbudować z przerzutników D typu SN7474 lub wykorzystać gotowy układ rejestru przesuwnego SN74164.
Ćwiczenie nr 17Na podstawie schematu zbuduj na płytce układ rejestru przesuwającego:
Układ składa się z poznanego wcześniej generatora na inwerterach
NOT oraz z rejestru przesuwnego na przerzutnikach D. Generator
tworzy impulsy taktujące, które są podawane do wejść zegarowych
wszystkich przerzutników. Wyjście z generatora jest buforowane
dodatkową bramką NOT, aby obciążenie wejściami przerzutników nie
wpływało na pracę generatora. Również dioda LED jest zasilana
przez osobną bramkę. Na wejście D pierwszego przerzutnika
podawany jest sygnał z wyjścia inwertera sterowanego przyciskiem
X. Jeśli przycisk jest niewciśnięty, to na wyjściu tego
inwertera panuje stan niski. Przy wciśniętym przycisku będzie to
stan wysoki. Stany te są wprowadzane do rejestru i przesuwane w
prawo w takt impulsów zegarowych. Do wyjść Q przerzutników są
podłączone diody LED, zatem możemy obserwować działanie rejestru
przesuwającego.
W powyższym układzie można uzyskiwać ciekawe efekty świetlne na diodach LED podłączonych do wyjść Q przerzutników. Odłącz przewód łączący wyjście bramki NOT z wejściem D pierwszego przerzutnika (C8:C17). W otwór C17 wstaw wtyczkę giętkiego przewodu i drugi jego koniec połącz z wyjściem Q ostatniego przerzutnika (J30). To samo wypróbuj z wyjściami Q pozostałych przerzutników (D29, J22 i D21). Czy potrafisz samodzielnie wyjaśnić zachowanie się układu?.
Do konstrukcji takich rejestrów stosuje się gotowe układy
scalone. Np. popularny układ
74164 zawiera
rejestr przesuwny szeregowo–równoległy o pojemności 8 bitów.
Sterowanie rejestrem jest dosyć proste. Na wejścia A i B
podajemy informację do zapisu w rejestrze. Do rejestru jest
zapisywany wynik A AND B. Informacja jest zapisywana przy
dodatnim zboczu sygnału zegarowego C. Jednocześnie informacja w
pozostałych przerzutnikach zostaje przesunięta o 1 bit w prawo.
Zawartość rejestru jest zerowana podaniem stanu 0 na wejście R.
|
||||||||||||||||||||||||||||||||||||
![]() | I Liceum Ogólnokształcące |
Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl
W artykułach serwisu są używane cookies. Jeśli nie chcesz ich otrzymywać,
zablokuj je w swojej przeglądarce.
Informacje dodatkowe