Bity w elektronice
Rejestr przesuwający


Bramki logiczne
Cyfrowe układy scalone TTL i CMOS
Zasilanie układów TTL i CMOS
Układy kombinatoryczne z bramek cyfrowych
Przerzutniki
  Zastosowania
Przerzutnik RS
Przerzutnik D
Przerzutnik J-K
Licznik asynchroniczny
Licznik synchroniczny
Licznik rewersyjny
Rejestr
Rejestr przesuwający

 

Superkomputer CRAY

Rejestr przesuwający (ang. shift register) jest rejestrem zbudowanym z przerzutników połączonych ze sobą w taki sposób, iż w takt impulsów zegarowych przechowywana informacja bitowa przemieszcza się (przesuwa) do kolejnych przerzutników. Rejestry przesuwające mogą być budowane z przerzutników synchronicznych D Flip-Flop (D-Latch nie nadają się do tego celu), RS lub JK.  Zasadę działania opiszemy na przykładzie prostego rejestru przesuwającego zbudowanego z przerzutników typu D.

Określamy sygnały wejściowe i wyjściowe rejestru.

 

 

 

Dane z wejścia S są wprowadzane do rejestru przy dodatnim zboczu sygnału zegarowego CLK (jeśli do konstrukcji rejestru zastosujemy przerzutniki JK, to wpis może następować przy zboczu ujemnym). Jednocześnie dane z wyjść QA do QD zostają przesunięte o jeden bit w prawo. Na zwolnionym wyjściu QA pojawią się dane wprowadzone z wejścia S. Wejście sterujące CLR umożliwia wyzerowanie rejestru.

Budowa takiego rejestru jest bardzo prosta - wystarczy połączyć wejścia D przerzutników z wyjściami Q poprzednich przerzutników. Wejście D pierwszego przerzutnika łączymy bezpośrednio z wejściem S. Jeśli teraz wystąpi impuls zegarowy, to pamiętana informacja przemieści się o jeden bit w prawo.

Poniżej demonstrujemy symulację sieci logicznej rejestru przesuwającego opartego na przerzutnikach typu D.

 

 

Przedstawiony rejestr jest typu SIPO (ang. Serial In Parallel Out - wejście szeregowe - wyjście równoległe). Często wymagana jest możliwości równoległego zapisu danych do rejestru. W takim przypadku rejestr posiada dodatkowe wejścia danych A, B, C i D oraz wejście SH/LD (ang. SHift/LoaD - przesuw/ładowanie) sterujące przesuwaniem/wpisem danych (wpis danych z wejść A,B,C i D może też być dokonywany asynchronicznie z wykorzystaniem wejść S i R przerzutników). Poniżej przedstawiamy symulację sieci logicznej rejestru przesuwającego z wejściami i wyjściami równoległymi.

 

 

Bramki NAND służą do przyłączania do wejść D przerzutników wyjścia Q poprzedniego przerzutnika (SH/LD = 1) lub wejścia równoległego do wpisywania danych (SH/LD = 0). Zatem w zależności od stanu logicznego wejścia SH/LD rejestr przy narastającym zboczu sygnału zegarowego albo przesuwa wpisane dane, albo dokonuje wpisu nowych danych z wejść A...D.

Wykorzystując podany powyżej sposób przełączania sygnałów wejściowych na wejście D przerzutnika można w prosty sposób zaprojektować dwukierunkowy rejestr przesuwający. Przy przesuwie w odwrotnym kierunku do wejść D podłączamy wyjścia Q następnych, a nie poprzednich przerzutników. Poniżej przedstawiamy przykładową sieć logiczną takiego rejestru.

 

 

Kierunkiem przesuwu (umownym) steruje wejście R/L. (ang. Right/Left - w prawo/ w lewo). Rejestr posiada dwa wejścia danych szeregowych SR - dla przesuwu w prawo oraz SL dla przesuwu w lewo.

Rejestry przesuwające produkowane są w postaci gotowych układów scalonych. Poniżej opisujemy dwa uniwersalne rejestry przesuwające.

 

SN74195 - 4-bitowy rejestr przesuwający z wejściem szeregowym i równoległym oraz z wyjściem równoległym

Układ scalony SN74195 zawiera 4 bitowy rejestr przesuwający (w kierunku starszych bitów) z możliwością wprowadzania danych szeregowych (wejścia J oraz K) lub danych równoległych (wejścia A, B, C i D). Funkcją rejestru steruje wejście SH/LD. Jeśli SH/LD = 1, to rejestr przesuwa dane przy każdym narastającym zboczu sygnału zegarowego doprowadzonego do wejścia CLK. W tym trybie pracy do rejestru można wprowadzać dane z wejść szeregowych - wejścia J i K łączymy razem i podajemy na nie bit danych, który ma zostać wprowadzony do pierwszego przerzutnika przy przesuwie danych. Jeśli SH/LD = 0, to rejestr pracuje jak zwykły rejestr równoległy. Przy narastającym zboczu sygnału zegarowego CLK dane z wejść A, B, C i D zostają przepisane na odpowiednie wyjścia QA, QB, QC i QD.

Układ SN74195 jest prawie dokładnym odpowiednikiem drugiego rejestru, który przedstawiliśmy w tym artykule. Różnica polega na występowaniu dodatkowych wejść szeregowych J i K oraz wyjścia komplementarnego QD. Rozdzielenie funkcji wejść szeregowych z wejściami równoległymi ułatwia konstruowanie układów cyfrowych. Poniżej umieściliśmy tabelkę stanów dla rejestru SN74195, którą przepisaliśmy z materiałów producenta.

 

Wejścia Wyjścia
CLR SH/LD CLK Szer. Równ. QA QB QC QD QD
J K A B C D
0 X X X X X X X X 0 0 0 0 1
1 0 0→1 X X a b c d a b c d d
1 1 0 X X X X X X QA QB QC QD QD
1 1 0→1 0 1 X X X X QA QA QB QC QC
1 1 0→1 0 0 X X X X 0 QA QB QC QC
1 1 0→1 1 1 X X X X 1 QA QB QC QC
1 1 0→1 1 0 X X X X QA QA QB QC QC

 

Na podstawie tabelki stanów rejestru wyciągamy wniosek, iż wejścia szeregowe J i K zachowują się jak wejścia sterujące przerzutnika JK i sterują stanem pierwszego przerzutnika. Dzięki takiemu rozwiązaniu możemy uzyskiwać różne funkcje rejestru, czyli jest to układ uniwersalny. Rejestr SN74195 w prosty sposób można łączyć w większe zespoły. Poniżej przedstawiamy schemat rejestru 16 bitowego zbudowanego z 4 rejestrów SN74195.

 

 

SN74194 - 4-bitowy dwukierunkowy rejestr przesuwający z wejściem szeregowym i równoległym oraz z wyjściem równoległym

Układ scalony SN74194 jest 4 bitowym, uniwersalnym, dwukierunkowym rejestrem przesuwającym, do którego można wprowadzać dane zarówno szeregowo jak i równolegle. Do równoległego wprowadzania danych służą wejścia A, B, C i D. Układ posiada dwa niezależne wejścia szeregowego wprowadzania danych:

- SR - dane szeregowe wprowadzane do rejestru przy przesuwie w prawo (ang. Serial Right).
- SL - dane szeregowe wprowadzane do rejestru przy przesuwie w lewo (ang. Serial Left).

Podobne rozwiązanie zastosowano w rejestrze nr 3, który opisaliśmy w tym artykule.

Wpis danych oraz przesuw wykonywany jest przy dodatnim zboczu sygnału zegarowego CLK. Wejścia S0 i S1 służą do wyboru trybu pracy rejestru. Poniżej umieściliśmy tabelkę stanów dla rejestru SN74194 pochodzącą z danych producenta.

 

Wejścia Wyjścia
CLR Tryb CLK Szer. Równ. QA QB QC QD
S1 S0 SL SR A B C D
0 X X X X X X X X X 0 0 0 0
1 X X L X X X X X X QA QB QC QD
1 1 1 0→1 X X a b c d a b c d
1 0 1 0→1 X 0 X X X X 0 QA QB QC
1 0 1 0→1 X 1 X X X X 1 QA QB QC
1 1 0 0→1 0 X X X X X QB QC QD 0
1 1 0 0→1 1 X X X X X QB QC QD 1
1 0 0 X X X X X X X QA QB QC QD

 

Rejestry SN74194 mogą być w prosty sposób łączone razem w większe jednostki. Poniżej przedstawiamy schemat rejestru 16 bitowego zbudowanego z czterech rejestrów SN74194.

 

 



List do administratora Serwisu Edukacyjnego Nauczycieli I LO

Twój email: (jeśli chcesz otrzymać odpowiedź)
Temat:
Uwaga: ← tutaj wpisz wyraz  ilo , inaczej list zostanie zignorowany

Poniżej wpisz swoje uwagi lub pytania dotyczące tego rozdziału (max. 2048 znaków).

Liczba znaków do wykorzystania: 2048

 

W związku z dużą liczbą listów do naszego serwisu edukacyjnego nie będziemy udzielać odpowiedzi na prośby rozwiązywania zadań, pisania programów zaliczeniowych, przesyłania materiałów czy też tłumaczenia zagadnień szeroko opisywanych w podręcznikach.



   I Liceum Ogólnokształcące   
im. Kazimierza Brodzińskiego
w Tarnowie

©2017 mgr Jerzy Wałaszek

Dokument ten rozpowszechniany jest zgodnie z zasadami licencji
GNU Free Documentation License.