- Hvad er Shift Register:
- Typer af registre i digital elektronik
- 1. Seriel ind - Serieforskydningsregistre
- 2. Seriel ind - Skiftregister parallelt
- 3. Parallel ind - Serial out Shift Register
- 4. Parallel ind - Parallel ud skiftregister
- 5. Tovejs skiftregistre
- 6. Tællere
- Anvendelser af Shift-registre
Hvad er Shift Register:
Skiftregistre er sekventielle logiske kredsløb, der er i stand til lagring og overførsel af data. De består af flip flops, som er forbundet på en sådan måde, at output fra en flip flop kan tjene som input til den anden flip-flop, afhængigt af typen af skiftregistre, der oprettes.
Skiftregistre er grundlæggende en type register, der har evnen til at overføre ("skift") data. Register er generelt lagringsenheder, der oprettes ved at forbinde et specifikt antal flip flops sammen i serie, og mængden af data (antal bits), som kan lagres af registeret, er altid direkte proportional med antallet af flip flops, da hver flip flop er i stand til kun at gemme en bit ad gangen. Når flip-flops i et register er forbundet på en sådan måde, at output fra en flip flop bliver input til den anden, oprettes et shift-register.
Flip Flops er enheder med en operation, der svarer til en låses. Det kan kaldes en bistabil vibrator, der kan bevæge sig mellem to tilstande (0 eller 1) og er i stand til at lagre data i bits. Nye data læses ind i en flip-flop med hver urcyklus og de tidligere data sendt ved udgangen.
Skiftregistre Består af hvilke flip-flops?
Dette afhænger dog af typen af flip flop, da forholdet mellem input, output og urcyklus mellem flip flops varierer. Der er forskellige slags flip-flops, men de mest almindelige ved oprettelsen af skiftregistre er D (Delay) -flip-flops.
Til betjening af D-flip-flops, hvilket gør dem så ønskelige til skiftregistre, når der er en ændring på uret til en D-flip flop (enten stigende eller faldende kant afhængigt af flip-flopens specifikationer). Dataene ved udgangen “Q” bliver de samme data som dem ved indgangen “D”. Flip-flopens output “Q” forbliver ved denne værdi indtil næste urcyklus, hvor den derefter skifter igen til værdien (høj eller lav, 1 eller 0) ved indgangen.
Nu hvor vi ved, hvad Sift Registers er, fortsætter vi med at gå dybere ned i typerne af flip-flop og deres applikationer. Men før det, for at give en mere praktisk eksponering for, hvor skiftregistre bruges, skal vi kigge på det populære skiftregister 74HC595, som vi har brugt med forskellige mikrocontrollere til at interface en skærm eller en række LED'er.
- Skift Registrer dig med 74HC595 med Arduino for at styre en række LED'er
- Skiftregistrering med ESP32 til interface 7-segment display
- Skiftregistrering med Raspberry Pi for at kontrollere flere lysdioder
- Skiftregistrering med PIC for at kontrollere rækkefølgen af lysdioder
Typer af registre i digital elektronik
Skiftregistre er kategoriseret i typer hovedsageligt efter deres driftsform, enten seriel eller parallel.
Der er seks (6) grundlæggende typer skiftregistre, der er anført nedenfor, selvom nogle af dem kan opdeles yderligere baseret på retningen af datastrømmen, enten skift til højre eller skift til venstre.
1. Serial in - Serial out Shift Register (SISO)
2. Serial In - Parallel out shift Register (SIPO)
3. Parallel ind - Parallel ud Shift Register (PIPO)
4. Parallel ind - Serial out Shift Register (PISO)
5. Tovejs skiftregistre
6. Tællere
1. Seriel ind - Serieforskydningsregistre
Serial in - Serial out shift-registre er shift-registre, der streamer i data serielt (en bit pr. Urcyklus) og streamer også data ud på samme måde, den ene efter den anden.
En simpel seriel ind - seriel ud 4-bit skifteregister er vist ovenfor, registeret består af 4 flip flops, og fordelingen af, hvordan det fungerer, forklares nedenfor;
Ved opstart ryddes først skifteregistret, hvilket tvinger outputene fra alle flip-flops til nul, inputdataene påføres derefter indgangen serielt, en bit ad gangen.
Der er to grundlæggende måder at skifte data ud gennem et SISO-skiftregister;
- Ikke-destruktiv aflæsning
- Destruktiv aflæsning
- Ikke-destruktiv aflæsning
Ikke-destruktiv aflæsningsbaseret, shift-registre har altid en læse / skrive- tilstand med en ekstra linje tilføjet for at tillade skift mellem læse- og skrive-driftstilstandene.
Når enheden er i "skriv" -driftstilstand, skifter skiftregisteret hver data en bit ad gangen og opfører sig nøjagtigt som den destruktive udlæsningsversion, og data går dermed tabt, men når driftstilstanden skiftes til "læst", data som skiftes ud ved indgangen, går tilbage i systemet og tjener som input til skiftregistret. Dette hjælper med at sikre, at dataene forbliver længere (så længe de forbliver i læsetilstand)
- Destruktiv aflæsning
Ved destruktive aflæsninger går dataene fuldstændigt tabt, da flip flop bare skifter informationen igennem. Forudsat at 4-bit skifteregistret ovenfor ønsker vi at sende ordet “1101”. Efter at have ryddet skiftregisteret bliver output fra alle flip-flops 0, så i løbet af den første urcyklus, når vi anvender disse data (1101) serielt, ser flip-flops-output ud som tabellen nedenfor.
Første urcyklus:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
0 |
0 |
0 |
Anden urcyklus:
FF0 |
FF1 |
FF2 |
FF3 |
0 |
1 |
0 |
0 |
Tredje urcyklus:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
0 |
1 |
0 |
Fjerde urcyklus:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
1 |
0 |
1 |
2. Seriel ind - Skiftregister parallelt
Den anden type skiftregister, vi vil overveje, er Serial in - Parallel out shift register, også kendt som SIPO Shift Register. Disse typer skiftregistre bruges til konvertering af data fra seriel til parallel. Dataene kommer ind efter hinanden pr. Urcyklus og kan enten forskydes og udskiftes eller aflæses ved hver udgang. Dette betyder, at når data læses ind, bliver hver aflæst bit tilgængelig samtidigt på deres respektive outputlinje (Q0 - Q3 for 4-bit shift-registeret vist nedenfor).
En 4-bit seriel ind - Parallelt skiftregister er illustreret i nedenstående billede.
En tabel, der viser, hvordan data skiftes ud af seriel ind - parallelt ud 4 bit skifteregister er vist nedenfor med dataene i som 1001.
Klar |
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 |
Et godt eksempel på det serielle ind - parallelle skiftregister er 74HC164 skifteregisteret, som er et 8-bit skifteregister.
Enheden har to serielle dataindgange (DSA og DSB), otte parallelle dataudgange (Q0 til Q7). Data indtastes serielt via DSA eller DSB, og begge input kan bruges som en aktiv HIGH-aktivering til dataindtastning gennem den anden input. Data forskydes på LOW-to-HIGH-overgangene fra urindgangen (CP). En LOW på master reset-indgangen (MR) rydder registeret og tvinger alle udgange LAV uafhængigt af andre indgange. Indgange inkluderer klemmedioder. Dette muliggør brug af strømbegrænsende modstande til at interface interface indgange til spændinger, der overstiger VCC.
3. Parallel ind - Serial out Shift Register
I Parallel in - Serial out shift-registeret leveres dataene parallelt. Overvej f.eks. 4-bit-registeret vist nedenfor.
Dette register kan bruges til at lagre og skifte et 4-bit ord, hvor skrive / skift (WS) kontrolindgangen styrer driften af skiftregisteret. Når WS-kontrollinjen er lav (skrivetilstand), kan data skrives og klokkes ind via D0 til D3. For at skifte dataene serielt ud bringes WS-kontrollinjen HIGH (Shift-tilstand), og registeret skifter derefter dataene ud på urinput. Parallellen i serie vores skiftregister kaldes også PISO skiftregister.
Et godt eksempel på et parallelt ind - serielt udskiftregister er 74HC165 8-bit skifteregister, selvom det også kan betjenes som et serielt ind - serielt udskiftregister.
Enheden har en seriel dataindgang (DS), otte parallelle dataindgange (D0 til D7) og to komplementære serielle udgange (Q7 og Q7 '). Når den parallelle belastningsindgang (PL) er LAV, indlæses dataene fra D0 til D7 asynkront i skifteregistret. Når PL er HØJ, kommer data ind i registret serielt på DS. Når uraktiveringsindgangen (CE) er LAV skiftes data på LOW-til-HIGH-overgangene af CP-indgangen. HØJ på CE deaktiverer CP-input. Indgangene er overspændingstolerante til 15 V. Dette gør det muligt for enheden at blive anvendt i HIGH-til-LOW niveau skiftende applikationer.
Skiftregistrets funktionsdiagram er vist nedenfor;
Timingdiagrammet for systemet er som vist på billedet nedenfor;
4. Parallel ind - Parallel ud skiftregister
For parallelt ind - parallelt ud skiftregister vises outputdataene over de parallelle udgange samtidigt, når indgangsdataene tilføres. Denne type skifteregister kaldes også som PIPO Skiftregister.
Indgangsdataene ved hver af indgangsstifterne fra D0 til D3 læses ind på samme tid, når enheden er uret, og på samme tid sendes de indlæste data fra hver af indgangene ud ved den tilsvarende udgang (fra Q0 til Q3).
Den 74HC195 skift register er en multipurpose skift register, der er i stand til at arbejde i de fleste af de tilstande, der er beskrevet af alle de typer, vi har diskuteret hidtil især som en parallel i - parallelt ud skift register.
5. Tovejs skiftregistre
Skiftregistre kunne enten udføre højre eller venstre dataskift eller begge afhængigt af typen af skiftregister og deres konfiguration. I højre skiftoperationer divideres de binære data med to. Hvis denne handling vendes, multipliceres de binære data med to. Med passende anvendelse af kombinationslogik kan et serielt skiftregister konfigureres til at udføre begge operationer.
Overvej 4-bit registeret i billedet nedenfor. Et par NAND-porte er konfigureret som ELLER-porte og bruges til at styre forskydningsretningen, enten højre eller venstre.
Kontrollinjen venstre / skriv bruges til at bestemme, i hvilken retning data forskydes, enten til højre eller til venstre.
74HC194 Bi-direction skiftregister er et godt eksempel. Registret kan fungere i alle tilstande og variationer af seriel og parallel input eller output. Funktionsdiagrammet til 74HC194, der fremhæver kontrollinjen, uret, input- og outputstifterne er vist nedenfor.
Apparatets timingdiagram er også vist nedenfor. Det hjælper dig bedre med at forstå, hvordan kontrollinjen styrer handlingerne i registret.
6. Tællere
Tællere, undertiden kaldet roterende skiftregister, er dybest set skifteregistre med deres udgange ført tilbage til enheden som input på en sådan måde, at det skaber et bestemt mønster. Disse registre kaldes tællere på grund af det mønster og rækkefølge, de udviser. Den mest populære type skiftregistretællere er ringtællere.
Ringtæller
Ringtællere er dybest set en type tæller, hvor output fra den mest betydningsfulde bit føres tilbage som input til den mindst signifikante bit. En 4-bit ringtæller er illustreret i nedenstående diagram ved hjælp af D-flip-flops.
Når urimpulsen påføres, skiftes output fra hvert trin til det næste, og cyklussen fortsætter. Når klar er slået højt, nulstilles alle flip-flops undtagen den første (som sættes til 1) til nul.
Anvendelser af Shift-registre
Skiftregistre bruges i mange applikationer, hvoraf nogle er;
1. Parallelt med seriel konvertering, hvor de bruges til at reducere antallet af ledninger eller linjer, der er nødvendige for kommunikation mellem to enheder, da seriel kommunikation normalt kun kræver to ledninger sammenlignet med parallelle, hvilket afhænger af antallet af bit, der sendes.
2. IO-udvidelse til mikrokontrollere. I moderne elektronik kaldes mikrokontrollere IO-ben som fast ejendom, og man har brug for så meget som muligt til en bestemt applikation som at tænde 100 lysdioder eller læse 100 reed-switche med noget som en Arduino eller Atmeg328p mikrokontroller. For eksempel illustrerer kredsløbsdiagrammet, hvordan et serielt til parallelt skiftregister kan bruges til at styre 8 lysdioder ved hjælp af kun tre af mikrokontrol-IO-benene.
3. De bruges i tilstandsregistre, der bruges i sekventielle enheder. Som en begrænset hukommelsesmaskine bestemmes enhedens næste tilstand altid ved at skifte og indsætte nye data i den foregående position.
4. En anden hovedapplikation findes i tidsforsinkelser. Skiftregistre bruges til tidsforsinkelse i enheder, hvor tiden justeres med uret eller øges ved kaskadeforskydningsregistre eller reduceres ved at tage output fra en lavere signifikant bit.
Tidsforsinkelsen beregnes normalt ved hjælp af formlen;
t = N * (1 / fc)
N er antallet af flip-flop-trin, hvor udgangen tages, Fc er frekvensen af kloksignalet, og t, som er den værdi, der bestemmes, er den tid, hvor udgangen vil blive forsinket.
Når du vælger et skiftregister til en bestemt opgave på grund af det brede område og skriver det vigtigt at vælge et, der matcher dit særlige behov, i betragtning af ting som, driftsform, bitstørrelse (antal flip flops), højre eller venstre eller tovejs osv.
Nogle af de mest populære skiftregistre er;
- 74HC 194 4-bit tovejs universelt skiftregister
- 74HC 198 8-bit tovejs universalskiftregister
- 74HC595 Serial-In-Parallel-Out skiftregister
- 74HC165 Parallel-In-Serial-Out skiftregister
- IC 74291 4-bit universal shift-register, binær op / ned-tæller, synkron.
- IC 74395 4-bit universal shift-register med tre-state udgange.
- IC 74498 8-bit tovejs skiftregister med parallelle indgange og tre-state udgange.
- IC 74671 4-bit tovejs skiftregister.
- IC 74673 16-bit serielt ind serielt ud skiftregister med outputlagerregistre.
- IC 74674 16-bit parallel-ind serielt ud skiftregister med tre-state udgange.
Der er flere flere, du skal bare finde ud af, hvad der passer bedst til din applikation.
Tak for læsningen, indtil næste gang.