Serwis Edukacyjny
w I-LO w Tarnowie
obrazek

Materiały dla uczniów liceum

  Wyjście       Spis treści       Wstecz       Dalej  

Autor artykułu: mgr Jerzy Wałaszek

©2020 mgr Jerzy Wałaszek
I LO w Tarnowie

Bity w elektronice

Rejestr przesuwający

SPIS TREŚCI
Podrozdziały

Opis

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.

obrazek

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.

Na początek:  podrozdziału   strony 

Prosty rejestr przesuwający

Budowa rejestru przesuwającego jest 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, a dana z wejścia S trafi do pierwszego przerzutnika.

Poniżej demonstrujemy symulację sieci logicznej rejestru przesuwającego opartego na przerzutnikach typu D. Gdy linia CLR ma stan niski, wyjścia przerzutników są wyzerowane, a przerzutniki nie reagują na impulsy zegarowe z linii C.

Symulator
Na początek:  podrozdziału   strony 

Rejestr przesuwający z wejściem szeregowym

Rejestr przedstawiony powyżej jest rejestrem typu SIPO (ang. Serial In Parallel Out - wprowadzanie szeregowe - wyprowadzanie równoległe). Oznacza to, iż dane są wpisywane do takiego rejestru z wejścia S w sposób szeregowy w takt impulsów zegarowych C. Wprowadzone dane można odczytać równolegle z wyjść przerzutników. 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 selekcyjne 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.

Symulator

Bramki NAND tworzą prosty multiplekser i 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.

Na początek:  podrozdziału   strony 

Dwukierunkowy rejestr przesuwający

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.

Na początek:  podrozdziału   strony 

Rejestry przesuwające

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
obrazek

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.

obrazek

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

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:

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.

obrazek

Na początek:  podrozdziału   strony 

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2020 mgr Jerzy Wałaszek

Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.