Serwis Edukacyjny w I-LO w Tarnowie Materiały dla uczniów liceum |
Wyjście Spis treści Wstecz Dalej Autor artykułu: mgr Jerzy Wałaszek |
©2024 mgr Jerzy Wałaszek |
SPIS TREŚCI |
Podrozdziały |
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 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 |
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.
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:
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.
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2024 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:
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.