- Co to jest rejestr zmianowy:
- Rodzaje rejestrów w elektronice cyfrowej
- 1. Serial in - Serial out Shift Rejestry
- 2. Szeregowe wejście - równoległy rejestr przesuwny
- 3. Równoległe wejście - szeregowy rejestr przesuwny
- 4. Równoległe wejście - równoległy rejestr przesuwny na zewnątrz
- 5. Dwukierunkowe rejestry przesunięć
- 6. Liczniki
- Zastosowania rejestrów Shift
Co to jest rejestr zmianowy:
Rejestry przesuwne to sekwencyjne układy logiczne, zdolne do przechowywania i przesyłania danych. Składają się z przerzutników, które są połączone w taki sposób, że wyjście jednego przerzutnika może służyć jako wejście drugiego przerzutnika, w zależności od rodzaju tworzonych rejestrów przesuwnych.
Rejestry przesuwne są w zasadzie rodzajem rejestrów, które mają możliwość przesyłania („przesuwnego”) danych. Rejestry są generalnie urządzeniami do przechowywania, które są tworzone przez połączenie określonej liczby przerzutników w szereg, a ilość danych (liczba bitów), które mogą być przechowywane przez rejestr, jest zawsze wprost proporcjonalna do liczby przerzutników, ponieważ każdy przerzutnik flop może przechowywać tylko jeden bit naraz. Gdy przerzutniki w rejestrze są połączone w taki sposób, że wyjście jednego przerzutnika staje się wejściem drugiego, powstaje rejestr przesuwny.
Przerzutniki to urządzenia o działaniu podobnym do zatrzasku. Można go nazwać bistabilnym wibratorem, który może poruszać się między dwoma stanami (0 lub 1) i jest zdolny do przechowywania danych w bitach. Nowe dane są wczytywane do przerzutnika z każdym cyklem zegara i poprzednimi danymi wysyłanymi na wyjściu.
Rejestry zmianowe Które klapki zawierają?
Zależy to jednak od rodzaju przerzutnika, ponieważ zależności wejścia, wyjścia i cyklu zegara między przerzutnikami są różne. Istnieją różne rodzaje przerzutników, ale najczęściej używane do tworzenia rejestrów przesuwnych to klapki typu D (Delay).
Do działania przerzutników typu D, co sprawia, że są one tak pożądane w rejestrach przesuwnych, za każdym razem, gdy następuje zmiana zegara przerzutnika typu D (zbocze narastające lub opadające, w zależności od specyfikacji przerzutnika). Dane na wyjściu „Q” stają się tymi samymi danymi, co dane na wejściu „D”. Wyjście „Q” przerzutnika pozostanie na tej wartości do następnego cyklu zegara, po czym ponownie zmieni się na wartość (wysoka lub niska, 1 lub 0) na wejściu.
Teraz, gdy wiemy, czym są Sift Registers, przejdziemy do głębszego zagłębienia się w typy przerzutników i ich zastosowania. Ale wcześniej, aby dać bardziej praktyczny obraz tego, gdzie są używane rejestry przesuwne, przyjrzyjmy się popularnemu rejestrowi przesuwnemu 74HC595, którego używaliśmy z różnymi mikrokontrolerami do łączenia wyświetlacza lub sekwencji diod LED.
- Shift Register z 74HC595 z Arduino do sterowania sekwencją diod LED
- Przesuń rejestr z ESP32, aby wyświetlić interfejs 7-segmentowy
- Shift Register z Raspberry Pi do sterowania wieloma diodami LED
- Shift Register z PIC do sterowania sekwencją diod LED
Rodzaje rejestrów w elektronice cyfrowej
Rejestry przesuwne są podzielone na typy głównie ze względu na ich tryb pracy, szeregowy lub równoległy.
Istnieje sześć (6) podstawowych typów rejestrów przesuwnych, które są wymienione poniżej, chociaż niektóre z nich można dalej podzielić na podstawie kierunku przepływu danych, przesuwając w prawo lub w lewo.
1. Wejście szeregowe - Rejestr przesuwny wyjścia szeregowego (SISO)
2. Szeregowe wejście - równoległy rejestr przesuwny (SIPO)
3. Równoległe wejście - równoległy rejestr przesuwny (PIPO)
4. Równoległe wejście - szeregowy rejestr przesuwny (PISO)
5. Dwukierunkowe rejestry przesunięć
6. Liczniki
1. Serial in - Serial out Shift Rejestry
Szeregowe wejścia - rejestry przesuwne szeregowego wyjścia są rejestrami przesuwnymi, które przesyłają dane szeregowo (jeden bit na cykl zegara), a także przesyłają dane w ten sam sposób, jeden po drugim.
Proste wejście szeregowe - wyjście szeregowe 4-bitowy rejestr przesuwny pokazano powyżej, rejestr składa się z 4 przerzutników, a poniżej wyjaśniono sposób jego działania;
Podczas uruchamiania rejestr przesuwny jest najpierw czyszczony, wymuszając zerowanie wszystkich przerzutników, a następnie dane wejściowe są podawane do wejścia szeregowo, po jednym bitu na raz.
Istnieją dwa podstawowe sposoby przenoszenia danych przez rejestr przesuwny SISO;
- Nieniszczący odczyt
- Destrukcyjny odczyt
- Nieniszczący odczyt
Nieniszczące, oparte na odczycie, rejestry przesuwne zawsze mają tryb odczytu / zapisu z dodaną dodatkową linią, aby umożliwić przełączanie między trybami operacyjnymi odczytu i zapisu.
Gdy urządzenie jest w trybie operacyjnym „zapis”, rejestr przesuwny przesuwa każde dane o jeden bit na raz, zachowując się dokładnie tak, jak wersja do odczytu niszczącego, w wyniku czego dane są tracone, ale po przełączeniu trybu operacyjnego na „odczyt” dane które są wysuwane na wejściu, wracają do systemu i służą jako dane wejściowe do rejestru przesuwnego. Pomaga to zapewnić, że dane pozostaną dłużej (o ile pozostają w trybie odczytu)
- Destrukcyjny odczyt
W przypadku destrukcyjnych odczytów dane są całkowicie tracone, ponieważ przerzutnik po prostu przesuwa informacje. Przyjmując powyższy 4-bitowy rejestr przesuwny, chcemy wysłać słowo „1101”. Po wyczyszczeniu rejestru przesuwnego wyjście wszystkich przerzutników przyjmuje wartość 0, więc podczas pierwszego cyklu taktowania, gdy szeregowo stosujemy te dane (1101), wyjścia przerzutników wyglądają jak w poniższej tabeli.
Pierwszy cykl zegara:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
0 |
0 |
0 |
Drugi cykl zegara:
FF0 |
FF1 |
FF2 |
FF3 |
0 |
1 |
0 |
0 |
Trzeci cykl zegara:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
0 |
1 |
0 |
Czwarty cykl zegara:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
1 |
0 |
1 |
2. Szeregowe wejście - równoległy rejestr przesuwny
Drugim rodzajem rejestru przesuwnego, który będziemy rozważać, jest szeregowy rejestr przesuwny na zewnątrz - równoległy, znany również jako rejestr przesuwny SIPO. Tego typu rejestry przesuwne są używane do konwersji danych z szeregowego na równoległy. Dane przychodzą jedna po drugiej na cykl zegara i mogą być przesuwane i zastępowane lub odczytywane na każdym wyjściu. Oznacza to, że gdy dane są wczytywane, każdy wczytany bit staje się dostępny jednocześnie w odpowiednim wierszu wyjściowym (Q0 - Q3 dla 4-bitowego rejestru przesuwnego pokazanego poniżej).
4-bitowe wejście szeregowe - rejestr przesuwny wyjścia równoległego pokazano na poniższym obrazku.
Tabela pokazująca, w jaki sposób dane są wysuwane z portu szeregowego - równolegle z 4-bitowym rejestrem przesuwnym jest pokazana poniżej, z danymi jako 1001.
Jasny |
FF0 |
FF1 |
FF2 |
FF3 |
1001 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
|
0 |
1 |
0 |
0 |
|
0 |
0 |
1 |
0 |
|
1 |
0 |
0 |
1 |
Dobrym przykładem szeregowego rejestru przesuwnego równolegle na zewnątrz jest rejestr przesuwny 74HC164, który jest 8-bitowym rejestrem przesuwnym.
Urządzenie posiada dwa szeregowe wejścia danych (DSA i DSB), osiem równoległych wyjść danych (Q0 do Q7). Dane są wprowadzane szeregowo przez DSA lub DSB i każde wejście może być użyte jako aktywne zezwolenie HIGH dla wprowadzania danych przez inne wejście. Dane są przesuwane na przejściach z LOW-to-HIGH na wejściu zegara (CP). NISKI na wejściu głównego resetu (MR) czyści rejestr i wymusza niski poziom wszystkich wyjść, niezależnie od innych wejść. Wejścia obejmują diody cęgowe. Umożliwia to stosowanie rezystorów ograniczających prąd do łączenia wejść z napięciami przekraczającymi VCC.
3. Równoległe wejście - szeregowy rejestr przesuwny
W rejestrze przesuwnym Równoległe wejście - wyjście szeregowe dane są dostarczane równolegle, na przykład, rozważ 4-bitowy rejestr pokazany poniżej.
Rejestr ten może być używany do przechowywania i przesuwania 4-bitowego słowa, przy czym wejście sterujące zapis / przesunięcie (WS) steruje trybem pracy rejestru przesuwnego. Gdy linia sterująca WS jest niska (tryb zapisu), dane mogą być zapisywane i taktowane przez D0 do D3. Aby przesuwać dane szeregowo, linia sterująca WS jest przenoszona w stan WYSOKI (tryb przesunięcia), a następnie rejestr wysuwa dane na wejście zegara. Równoległy szeregowy nasz rejestr przesuwny jest również nazywany rejestrem przesuwnym PISO.
Dobrym przykładem rejestru przesuwnego równoległego wejście - wyjście szeregowe jest 8-bitowy rejestr przesuwny 74HC165, chociaż może być również obsługiwany jako rejestr przesuwny szeregowe wejście - wyjście szeregowe.
Urządzenie jest wyposażone w szeregowe wejście danych (DS), osiem równoległych wejść danych (od D0 do D7) oraz dwa uzupełniające się wyjścia szeregowe (Q7 i Q7 '). Gdy równoległe wejście obciążenia (PL) jest NISKIE, dane z D0 do D7 są ładowane do rejestru przesuwnego asynchronicznie. Gdy PL ma wartość HIGH, dane wchodzą do rejestru szeregowo w DS. Gdy wejście włączania zegara (CE) jest ustawione na NISKIE, dane są przesuwane na przejściach NISKI-do-WYSOKI wejścia CP. WYSOKA na CE wyłącza wejście CP. Wejścia są odporne na przepięcia do 15 V. Dzięki temu urządzenie może być używane w aplikacjach przesuwania poziomu WYSOKI do NISKIEGO.
Schemat funkcjonalny rejestru przesuwnego przedstawiono poniżej;
Schemat czasowy systemu jest przedstawiony na poniższej ilustracji;
4. Równoległe wejście - równoległy rejestr przesuwny na zewnątrz
W przypadku rejestru przesuwnego równolegle-równolegle dane wyjściowe na wyjściach równoległych pojawiają się jednocześnie, gdy wprowadzane są dane wejściowe. Ten typ rejestru przesuwnego jest również nazywany rejestrem przesuwnym PIPO.
Dane wejściowe na każdym z pinów wejściowych od D0 do D3 są wczytywane w tym samym czasie, gdy urządzenie jest taktowane iw tym samym czasie dane wczytywane z każdego z wejść są przekazywane na odpowiednie wyjście (z Q0 do Q3).
74HC195 Rejestr przesuwny jest uniwersalnym rejestr przesuwny, który jest zdolny do pracy w większości trybów opisanych przez wszystkich typów mamy omówione do tej pory przede wszystkim jako równolegle w - równolegle z rejestru przesuwnego.
5. Dwukierunkowe rejestry przesunięć
Rejestry przesuwające mogą przesuwać dane w prawo lub w lewo, albo w obu, w zależności od rodzaju rejestru przesuwnego i ich konfiguracji. W operacjach z przesunięciem w prawo dane binarne są dzielone przez dwa. Jeśli ta operacja zostanie odwrócona, dane binarne zostaną pomnożone przez dwa. Przy odpowiednim zastosowaniu logiki kombinacyjnej, szeregowy rejestr przesuwny może być skonfigurowany do wykonywania obu operacji.
Rozważmy 4-bitowy rejestr na poniższym obrazku. Kilka bramek NAND jest skonfigurowanych jako bramki OR i są używane do kontrolowania kierunku przesunięcia, w prawo lub w lewo.
Linia sterująca lewo / zapis służy do określenia kierunku, w którym dane są przesuwane, w prawo lub w lewo.
Dobrym przykładem jest dwukierunkowy rejestr przesuwny 74HC194. Rejestr może działać we wszystkich trybach i odmianach szeregowego i równoległego wejścia lub wyjścia. Schemat funkcjonalny 74HC194 z zaznaczeniem linii sterującej, zegara, pinów wejściowych i wyjściowych jest pokazany poniżej.
Schemat czasowy urządzenia jest również pokazany poniżej. Pomoże ci to lepiej zrozumieć, w jaki sposób linia kontrolna kontroluje działania rejestru.
6. Liczniki
Liczniki, czasami nazywane rotacyjnym rejestrem przesuwnym, są w zasadzie rejestrami przesuwnymi, których wyjścia są przesyłane z powrotem do urządzenia jako dane wejściowe w taki sposób, że tworzy określony wzorzec. Tego rodzaju rejestry nazywane są licznikami ze względu na wzór i kolejność, które przedstawiają. Najpopularniejszym typem liczników rejestru przesuwnego są liczniki pierścieniowe.
Licznik dzwonków
Liczniki pierścieniowe są w zasadzie rodzajem liczników, w których wyjście najbardziej znaczącego bitu jest zwracane jako wejście do najmniej znaczącego bitu. 4-bitowy licznik pierścieniowy przedstawiono na poniższym schemacie za pomocą przerzutników D.
Po przyłożeniu impulsu zegarowego sygnał wyjściowy każdego stopnia jest przesuwany do następnego, a cykl trwa. Gdy jasne jest ustawione wysoko, wszystkie przerzutniki z wyjątkiem pierwszego (który zostaje ustawiony na 1) są resetowane do zera.
Zastosowania rejestrów Shift
Rejestry przesuwające są używane w wielu aplikacjach, z których niektóre są;
1. Równolegle do konwersji szeregowej, gdzie są używane do zmniejszenia liczby przewodów lub linii potrzebnych do komunikacji między dwoma urządzeniami, ponieważ komunikacja szeregowa zwykle wymaga tylko dwóch przewodów w porównaniu z równoległym, co zależy od liczby wysyłanych bitów.
2. Rozszerzenie IO dla mikrokontrolerów. We współczesnej elektronice, piny IO mikrokontrolerów nazywane są nieruchomościami i do pewnych zastosowań, takich jak włączenie 100 diod LED lub odczytanie 100 kontaktronów, za pomocą czegoś takiego jak Arduino lub mikrokontroler Atmeg328p, potrzeba jak najwięcej. Na przykład poniższy schemat obwodu ilustruje, w jaki sposób szeregowy na równoległy rejestr przesuwny może być używany do sterowania 8 diodami LED, przy użyciu tylko trzech styków IO mikrokontrolera.
3. Są używane w rejestrach stanu, które są wykorzystywane w urządzeniach sekwencyjnych. Podobnie jak maszyna z pamięcią skończoną, następny stan urządzenia jest zawsze określany przez przesunięcie i wstawienie nowych danych do poprzedniej pozycji.
4. Jeszcze jedną główną aplikację można znaleźć w Opóźnieniach czasowych. Rejestry przesuwne są używane do opóźnienia czasowego w urządzeniach, przy czym czas jest regulowany przez zegar lub zwiększany przez kaskadowanie rejestrów przesuwnych lub zmniejszany przez wzięcie wyjścia z mniej znaczącego bitu.
Opóźnienie czasowe jest zwykle obliczane przy użyciu wzoru;
t = N * (1 / fc)
N to liczba stopni przerzutnika, przy których pobierane jest wyjście, Fc to częstotliwość sygnału zegarowego, a t, która jest określaną wartością, to czas, przez który wyjście będzie opóźnione.
Wybierając rejestr przesuwny do konkretnego zadania ze względu na szeroki zakres i wpisz, ważne jest, aby wybrać taki, który odpowiada konkretnym potrzebom, biorąc pod uwagę takie rzeczy jak tryb pracy, rozmiar bitu (liczba przerzutników), prawy lub lewy lub dwukierunkowy itp.
Niektóre z najpopularniejszych rejestrów przesuwnych to;
- 74HC 194 4-bitowy dwukierunkowy uniwersalny rejestr przesuwny
- 74HC 198 8-bitowy dwukierunkowy uniwersalny rejestr przesuwny
- 74HC595 Rejestr przesuwny szeregowo-wejściowy-równoległy-wyjściowy
- 74HC165 Rejestr przesuwny równoległy-szeregowy-wyjściowy
- IC 74291 4-bitowy uniwersalny rejestr przesuwny, binarny licznik w górę / w dół, synchroniczny.
- IC 74395 4-bitowy uniwersalny rejestr przesuwny z wyjściami trójstanowymi.
- IC 74498 8-bitowy dwukierunkowy rejestr przesuwny z równoległymi wejściami i wyjściami trójstanowymi.
- IC 74671 4-bitowy dwukierunkowy rejestr przesuwny.
- IC 74673 16-bitowy rejestr przesuwny z wejściem szeregowym i wyjściem szeregowym z wyjściowymi rejestrami pamięci.
- IC 74674 16-bitowy rejestr przesuwny szeregowo-wejściowy z wyjściami trójstanowymi.
Jest ich jeszcze kilka, po prostu musisz znaleźć ten, który najlepiej pasuje do Twojej aplikacji.
Dzięki za przeczytanie, do następnego razu.