- Hva er Shift Register:
- Typer av registre i digital elektronikk
- 1. Serial inn - Serial ut skiftregister
- 2. Seriell inn - Parallell ut Shift Register
- 3. Parallell inn - Seriell ut skiftregister
- 4. Parallell inn - Parallell ut skiftregister
- 5. Toveis skiftregister
- 6. Teller
- Anvendelser av Shift-registre
Hva er Shift Register:
Skiftregistre er sekvensielle logiske kretser som kan lagre og overføre data. De består av flip-flops som er koblet sammen på en slik måte at utgangen fra en flip-flop kan tjene som inngangen til den andre flip-flop, avhengig av typen skiftregister som opprettes.
Skiftregistre er i utgangspunktet en type register som har muligheten til å overføre ("shift") data. Register er generelt lagringsenheter som opprettes ved å koble et spesifikt antall flip flops sammen i serie, og datamengden (antall bits) som kan lagres av registeret er alltid direkte proporsjonal med antall flip flops, da hver flip flop er i stand til å lagre bare en bit av gangen. Når flip-flops i et register er koblet på en slik måte at utgangen fra den ene flip flop, blir inngangen til den andre, opprettes et skiftregister.
Flip Flops er enheter med en operasjon som ligner på en lås. Det kan refereres til som en bistabil vibrator som kan bevege seg mellom to tilstander (0 eller 1) og er i stand til å lagre data i biter. Nye data blir lest inn i en flip-flop med hver klokkesyklus og de forrige dataene som sendes ved utgangen.
Shift Registers Består av hvilke flip-flops?
Dette avhenger imidlertid av typen flip-flop, da inngangs-, output- og klokkesyklusforholdet mellom flip-flops varierer. Det er forskjellige typer flip-flops, men de mest brukte i opprettelsen av skiftregister er D (Delay) -flip flops.
For betjening av D-flip-flops som gjør dem så ønskelige for skiftregister, når det er en endring på klokken til en D-flip flop (enten stigende eller fallende kant, avhengig av spesifikasjonene til flip-flop). Dataene på utgangen “Q” blir de samme dataene som dataene på inngangen “D”. Utgangen “Q” på flip-floppen vil forbli på den verdien til neste klokkesyklus, der den deretter vil endre seg til verdien (høy eller lav, 1 eller 0) ved inngangen.
Nå som vi vet hva Sift Registers er, vil vi fortsette å ta et dypere dykk i typene flip-flop og deres applikasjoner. Men før det, for å gi en mer praktisk eksponering for hvor skiftregistre brukes, la oss ta en titt på det populære skiftregisteret 74HC595 som vi har brukt med forskjellige mikrokontrollere for å grensesnitt en skjerm eller sekvens av lysdioder.
- Skift Registrer deg med 74HC595 med Arduino for å kontrollere en sekvens med lysdioder
- Skiftregistrering med ESP32 for å grensesnitt 7-segmentvisning
- Skiftregistrering med Raspberry Pi for å kontrollere flere lysdioder
- Skiftregistrering med PIC for å kontrollere sekvensen av lysdioder
Typer av registre i digital elektronikk
Skiftregister er kategorisert i typer hovedsakelig etter driftsmåte, enten seriell eller parallell.
Det er seks (6) grunnleggende typer skiftregistre som er oppført nedenfor, selv om noen av dem kan deles videre basert på retningen på datastrømmen, enten skift til høyre eller skift til venstre.
1. Serial inn - Serial ut skiftregister (SISO)
2. Serial In - Parallell out shift Register (SIPO)
3. Parallell inn - Parallell out Shift Register (PIPO)
4. Parallell inn - Seriell ut skiftregister (PISO)
5. Toveis skiftregister
6. Teller
1. Serial inn - Serial ut skiftregister
Serial in - Serial out shift-registre er skiftregister som strømmer i data serielt (en bit per klokkesyklus) og strømmer ut data også på samme måte, den ene etter den andre.
En enkel seriell inn - seriell ut 4-biters skiftregister er vist ovenfor, registeret består av 4 flip flops og oversikten over hvordan det fungerer blir forklart nedenfor;
Ved oppstart blir skiftregisteret først ryddet, og tvinger utgangene til alle flip-flops til null, inngangsdataene blir deretter brukt til inngangen serielt, en bit av gangen.
Det er to grunnleggende måter å flytte data ut gjennom et SISO skiftregister;
- Ikke-destruktiv avlesning
- Destruktiv avlesning
- Ikke-destruktiv avlesning
Ikke-destruktiv avlesningsbasert, skiftregister har alltid en lese- / skrivemodus med en ekstra linje lagt til for å tillate bytte mellom lese- og skrivemodus.
Når enheten er i "skriv" -driftsmodus, skifter skiftregisteret hver data ut en bit av gangen og oppfører seg nøyaktig som den destruktive avlesningsversjonen, og data går dermed tapt, men når driftsmodusen byttes til "lese", data som skiftes ut ved inngangen, går tilbake til systemet og fungerer som inngang til skiftregisteret. Dette bidrar til å sikre at dataene blir lenger (så lenge de forblir i lesemodus)
- Destruktiv avlesning
For destruktive avlesninger går dataene fullstendig tapt da flip-flop bare flytter informasjonen gjennom. Forutsatt at 4-biters skiftregisteret ovenfor, vil vi sende ordet “1101”. Etter å ha ryddet skiftregisteret blir utgangen til alle flip flops 0, så i løpet av den første klokkesyklusen når vi bruker disse dataene (1101) serielt, ser utgangene til flip flops ut som tabellen nedenfor.
Første klokkesyklus:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
0 |
0 |
0 |
Andre klokkesyklus:
FF0 |
FF1 |
FF2 |
FF3 |
0 |
1 |
0 |
0 |
Tredje klokkesyklus:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
0 |
1 |
0 |
Fjerde klokkesyklus:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
1 |
0 |
1 |
2. Seriell inn - Parallell ut Shift Register
Den andre typen skiftregister vi vil vurdere er Serial in - Parallel out shift register, også kjent som SIPO Shift Register. Disse typene skiftregistre brukes til konvertering av data fra seriell til parallell. Dataene kommer inn etter hverandre per kloksyklus og kan enten forskyves og erstattes eller leses av ved hver utgang. Dette betyr at når dataene leses inn, blir hver innleste bit tilgjengelig samtidig på sin respektive utgangslinje (Q0 - Q3 for 4-biters skiftregister vist nedenfor).
En 4-bits seriell inn - parallellskiftregister er illustrert i bildet nedenfor.
En tabell som viser hvordan data blir flyttet ut av seriell inn - parallell ut 4-biters skiftregister er vist nedenfor, med dataene 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å seriell inn - parallelt ut skiftregister er 74HC164 skiftregister, som er et 8-bit skiftregister.
Enheten har to serielle datainnganger (DSA og DSB), åtte parallelle datautganger (Q0 til Q7). Data legges inn serielt via DSA eller DSB, og begge inngangene kan brukes som en aktiv HIGH-aktivering for dataregistrering gjennom den andre inngangen. Data forskyves på LOW-to-HIGH-overgangene til klokkeinngangen. A LOW på master reset input (MR) tømmer registeret og tvinger alle utgangene LAV, uavhengig av andre innganger. Innganger inkluderer klemmedioder. Dette muliggjør bruk av strømbegrensende motstander for å grensesnittinnganger til spenninger over VCC.
3. Parallell inn - Seriell ut skiftregister
I Parallel in - Serial out shift register leveres dataene parallelt, for eksempel ta hensyn til 4-bitersregisteret vist nedenfor.
Dette registeret kan brukes til å lagre og forskyve et 4-biters ord, med skrive / skift (WS) -kontrollinngangen som styrer modusen til skiftregisteret. Når WS-kontrollinjen er lav (skrivemodus), kan data skrives og klokkes inn via D0 til D3. For å skifte ut dataene serielt blir WS-kontrollinjen ført til HIGH (Shift-modus), og registeret forskyver deretter dataene på klokkeinngang. Parallellen i serie vår skiftregister kalles også PISO skiftregister.
Et godt eksempel på et parallelt in-serial ut skiftregister er 74HC165 8-bits skiftregister, selv om det også kan betjenes som et serielt ut-skiftregister.
Enheten har en seriell datainngang (DS), åtte parallelle datainnganger (D0 til D7) og to komplementære serieutganger (Q7 og Q7 '). Når den parallelle belastningsinngangen (PL) er LAV lastes dataene fra D0 til D7 asynkront inn i skiftregisteret. Når PL er HØY kommer data inn i registeret serielt på DS. Når klokkeaktiveringsinngangen (CE) er LAV, forskyves data på LAV-til-HØY-overgangene til CP-inngangen. HØY på CE vil deaktivere CP-inngangen. Inngangene er overspenningstolerante til 15 V. Dette gjør at enheten kan brukes i HIGH-til-LOW nivåskiftende applikasjoner.
Funksjonsdiagrammet til skiftregisteret er vist nedenfor;
Timingdiagrammet for systemet er som vist på bildet nedenfor;
4. Parallell inn - Parallell ut skiftregister
For parallelle inn - parallelle ut skiftregister, vises utdataene over de parallelle utgangene samtidig når inngangsdataene mates inn. Denne typen skiftregister kalles også som PIPO Skiftregister.
Inngangsdataene på hver av inngangspinnene fra D0 til D3 blir lest inn samtidig når enheten er klokket og på samme tid blir dataene som blir lest inn fra hver av inngangene sendt ut på den tilsvarende utgangen (fra Q0 til Q3).
Den 74HC195 skiftregister er en flerbruksskiftregister som er i stand til å arbeide i de fleste av de modi som er beskrevet av alle typene vi har diskutert så langt, spesielt som en parallell i - parallelt ut skiftregisteret.
5. Toveis skiftregister
Skiftregister kan enten utføre høyre eller venstre dataskift, eller begge deler, avhengig av typen skiftregister og deres konfigurasjon. I høyre skiftoperasjoner er binære data delt på to. Hvis denne operasjonen blir reversert, multipliseres de binære dataene med to. Med passende anvendelse av kombinasjonslogikk kan et serieforskyvningsregister konfigureres til å utføre begge operasjoner.
Tenk på 4-bits registeret i bildet nedenfor. Et par NAND-porter er konfigurert som ELLER-porter og brukes til å kontrollere forskyvningsretningen, enten høyre eller venstre.
Kontrolllinjen venstre / skriving brukes til å bestemme retningen data flyttes til, enten høyre eller venstre.
74HC194 Bi-direction skiftregister er et godt eksempel. Registeret kan fungere i alle moduser og variasjoner av seriell og parallell inngang eller utgang. Funksjonsdiagrammet til 74HC194 som fremhever kontrollinje, klokke, inngangs- og utgangspinner er vist nedenfor.
Tidsdiagrammet til enheten er også vist nedenfor. Det vil bedre hjelpe deg med å forstå hvordan kontrollinjen styrer handlingene i registret.
6. Teller
Teller, noen ganger kalt roterende skiftregister, er i utgangspunktet skifteregister med utgangene matet tilbake til enheten som innganger på en slik måte at det skaper et bestemt mønster. Slike registre kalles tellere på grunn av mønsteret og sekvensen de viser. Den mest populære typen skiftregister er ringtellerne.
Ringteller
Ring tellere er i utgangspunktet en type teller der utgangen fra den viktigste biten blir matet tilbake som en inngang til den minst betydelige biten. En 4-bits ringteller er illustrert i diagrammet nedenfor ved bruk av D-flip flops.
Når klokkepulsen påføres, flyttes utgangen fra hvert trinn til det neste, og syklusen fortsetter. Når klar er slått høyt, tilbakestilles alle flip-flops unntatt den første (som blir satt til 1) til null.
Anvendelser av Shift-registre
Skiftregister brukes i mange applikasjoner, hvorav noen er;
1. Parallell med seriell konvertering, der de brukes til å redusere antall ledninger eller linjer som er nødvendige for kommunikasjon mellom to enheter, siden seriell kommunikasjon vanligvis bare krever to ledninger sammenlignet med parallelle, noe som avhenger av antall biter som sendes.
2. IO-utvidelse for mikrokontrollere. I moderne elektronikk kalles mikrokontrollere IO-pinner som eiendommer, og man trenger så mye som mulig for visse applikasjoner som å slå på 100 lysdioder eller lese 100 sivbrytere med noe som en Arduino eller Atmeg328p mikrokontroller. For eksempel illustrerer kretsskjemaet nedenfor hvordan et serielt til parallelt skiftregister kan brukes til å kontrollere 8 lysdioder, ved å bruke bare tre av mikrokontrollers IO-pinner.
3. De brukes i tilstandsregistre som brukes i sekvensielle enheter. Som en begrenset minnemaskin bestemmes alltid den neste tilstanden til enheten ved å skifte og sette inn nye data i forrige posisjon.
4. En annen hovedapplikasjon finnes i tidsforsinkelser. Skiftregister brukes til tidsforsinkelse i enheter, med tiden som justeres av klokken, eller økes av kaskadeforskyvningsregistre eller reduseres ved å ta utdata fra en lavere signifikant bit.
Tidsforsinkelsen beregnes vanligvis ved hjelp av formelen;
t = N * (1 / fc)
N er antallet flip-flop-trinn hvor utgangen tas, Fc er frekvensen til kloksignalet og t som er verdien som bestemmes er hvor lang tid utgangen vil bli forsinket.
Når du velger et skiftregister for en bestemt oppgave på grunn av det brede spekteret, og skriver det som er viktig å velge et som passer ditt spesielle behov, med tanke på ting som driftsmåte, bitstørrelse (antall flip flops), høyre eller venstre toveis osv.
Noen av de mest populære skiftregistrene er;
- 74HC 194 4-bits toveis universalt skiftregister
- 74HC 198 8-bits toveis universalt skiftregister
- 74HC595 Serial-In-Parallel-Out skiftregister
- 74HC165 Parallel-In-Serial-Out skiftregister
- IC 74291 4-biters universalt skiftregister, binær opp / ned-teller, synkron.
- IC 74395 4-biters universalt skiftregister med tre-state utganger.
- IC 74498 8-bits toveis skiftregister med parallelle innganger og tre-statlige utganger.
- IC 74671 4-biters toveis skiftregister.
- IC 74673 16-biters seriell ut-skiftregister med utgangslagerregistre.
- IC 74674 16-biters parallell-inn serie-ut skiftregister med tre-tilstandsutganger.
Det er flere, du må bare finne ut hvilken som passer best til søknaden din.
Takk for at du leser, til neste gang.