- Vad är Shift Register:
- Typer av register i digital elektronik
- 1. Serial in - Serial ut Skiftregister
- 2. Serial in - Parallell ut Shift Register
- 3. Parallell in - Serial ut Shift Register
- 4. Parallell in - Parallellt ut skiftregister
- 5. Dubbelriktade skiftregister
- 6. Räknare
- Tillämpningar av Shift-register
Vad är Shift Register:
Skiftregister är sekventiella logiska kretsar som kan lagra och överföra data. De består av flip-flops som är anslutna på ett sådant sätt att utgången från en flip-flop kan fungera som ingången till den andra flip-flop, beroende på vilken typ av skiftregister som skapas.
Skiftregister är i grunden en typ av register som har förmågan att överföra (”skift”) data. Register är generellt lagringsenheter som skapas genom att ansluta ett specifikt antal flip-flops i serie och mängden data (antal bitar) som kan lagras i registret är alltid direkt proportionell mot antalet flip-flops, eftersom varje flip flop kan bara lagra en bit åt gången. När vipporna i ett register är anslutna på ett sådant sätt att utsignalen från en vippa blir ingången till den andra skapas ett skiftregister.
Flip Flops är enheter med en operation som liknar en spärr. Det kan kallas en bistabil vibrator som kan röra sig mellan två tillstånd (0 eller 1) och kan lagra data i bitar. Nya data läses in i en flip-flop med varje klockcykel och tidigare data skickas vid utgången.
Shift Registers Vilka flip-flops består?
Detta beror dock på typen av flip-flop, eftersom ingångs-, utdata- och klockcykelförhållandet mellan flip-flops varierar. Det finns olika typer av flip flops, men det vanligaste vid skapandet av skiftregister är D (Delay) -flip flops.
För användning av D-flip-flops som gör dem så önskvärda för skiftregister, närhelst det sker en förändring på klockan för en D-flip-flop (antingen stigande eller fallande kant, beroende på specifikationerna för flip-flop). Data vid utgången "Q" blir samma data som den vid ingången "D". Utgången "Q" på vippan kommer att stanna vid det värdet tills nästa klockcykel, där den sedan ändras igen till värdet (hög eller låg, 1 eller 0) vid ingången.
Nu när vi vet vad Sift Registers är, fortsätter vi att ta ett djupare dyk i typerna av flip-flop och deras applikationer. Men innan det, för att ge en mer praktisk exponering för var skiftregister används, låt oss ta en titt på det populära skiftregistret 74HC595 som vi har använt med olika mikrokontroller för att gränssnitt en display eller sekvens av lysdioder.
- Skiftregistrera med 74HC595 med Arduino för att styra en sekvens av lysdioder
- Skiftregistrering med ESP32 för gränssnitt med 7-segmentsdisplay
- Skiftregistrera med Raspberry Pi för att styra flera lysdioder
- Skiftregistrera med PIC för att kontrollera sekvensen av lysdioder
Typer av register i digital elektronik
Skiftregister kategoriseras i typer huvudsakligen efter deras driftsätt, antingen seriellt eller parallellt.
Det finns sex (6) grundläggande typer av skiftregister som listas nedan, även om vissa av dem kan delas ytterligare baserat på riktningen för dataflödet, antingen skift åt höger eller skift åt vänster.
1. Serial in - Serial out Shift Register (SISO)
2. Serial In - Parallell out shift Register (SIPO)
3. Parallell in - Parallell ut Shift Register (PIPO)
4. Parallell in - Seriell ut Shift Register (PISO)
5. Dubbelriktade skiftregister
6. Räknare
1. Serial in - Serial ut Skiftregister
Serial in - Serial out shift-register är skiftregister som strömmar in data seriellt (en bit per klockcykel) och strömmar ut data också på samma sätt, efter varandra.
Ett enkelt seriellt in - seriellt ut 4-bitars skiftregister visas ovan, registret består av 4 flip flops och fördelningen av hur det fungerar förklaras nedan;
Vid start rensas först skiftregistret, vilket tvingar utgångarna från alla flip-flops till noll, ingångsdata appliceras sedan på ingången seriellt, en bit i taget.
Det finns två grundläggande sätt att flytta ut data via ett SISO-skiftregister;
- Icke-destruktiv avläsning
- Destruktiv avläsning
- Icke-förstörande avläsning
Icke-destruktiv avläsningsbaserad, skiftregister har alltid ett läs- / skrivläge med en extra rad till för att möjliggöra växling mellan läs- och skrivdriftlägen.
När enheten är i "skriv" -driftläge skiftar skiftregistret varje data ut en bit i taget och beter sig exakt som den destruktiva avläsningsversionen och data går därmed förlorade, men när driftläget byts till "läs", data som skiftas ut vid ingången går tillbaka till systemet och fungerar som ingång till skiftregistret. Detta hjälper till att säkerställa att data stannar längre (så länge de förblir i läsläge)
- Destruktiv avläsning
För destruktiva avläsningar går informationen helt förlorad eftersom vippan bara flyttar informationen igenom. Förutsatt att 4-bitars skiftregistret ovan vill vi skicka ordet “1101”. Efter att ha rensat skiftregistret blir utsignalen från alla vipporna 0, så under den första klockcykeln när vi tillämpar dessa data (1101) seriellt ser vipporna ut som tabellen nedan.
Första klockcykeln:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
0 |
0 |
0 |
Andra klockcykeln:
FF0 |
FF1 |
FF2 |
FF3 |
0 |
1 |
0 |
0 |
Tredje klockcykeln:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
0 |
1 |
0 |
Fjärde klockcykeln:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
1 |
0 |
1 |
2. Serial in - Parallell ut Shift Register
Den andra typen av skiftregister vi kommer att överväga är Serial in - Parallel out skiftregistret, även känt som SIPO Shift Register. Dessa typer av skiftregister används för omvandling av data från seriell till parallell. Data kommer in efter varandra per klockcykel och kan antingen flyttas och ersättas eller avläsas vid varje utgång. Detta betyder att när data läses in blir varje inläsningsbit tillgänglig samtidigt på respektive utgångslinje (Q0 - Q3 för 4-bitars skiftregistret som visas nedan).
En 4-bitars serie in - Parallellt ut skiftregister illustreras i bilden nedan.
Nedan visas en tabell som visar hur data flyttas ur seriell in - parallellt ut 4-bitars skiftregister, med data 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 |
Ett bra exempel på seriellt in - parallellt ut skiftregister är 74HC164 skiftregister, som är ett 8-bitars skiftregister.
Enheten har två seriella dataingångar (DSA och DSB), åtta parallella datautgångar (Q0 till Q7). Data matas in seriellt via DSA eller DSB och endera ingångarna kan användas som en aktiv HÖG möjliggör för datainmatning genom den andra ingången. Data flyttas på LÅG-till-HÖG-övergångarna för klockingången (CP). A LOW på huvudåterställningsingången (MR) rensar registret och tvingar alla utgångar LOW, oberoende av andra ingångar. Ingångarna inkluderar klämdioder. Detta möjliggör användning av strömbegränsande motstånd för att ansluta ingångar till spänningar över VCC.
3. Parallell in - Serial ut Shift Register
I Parallel in - Serial out shift-registret levereras data parallellt, till exempel, beakta 4-bitarsregistret som visas nedan.
Detta register kan användas för att lagra och skifta ett 4-bitarsord, med skriving / skift (WS) -kontrollingången som styr läget för skiftregistret. När WS-kontrollinjen är låg (skrivläge) kan data skrivas och klockas in via D0 till D3. För att skifta ut data seriellt, föres WS-kontrollinjen HÖG (Skiftläge), registeret skiftar sedan ut data på klockingång. Parallellen i serie vår skiftregister kallas också PISO skiftregister.
Ett bra exempel på ett parallellt in-seriellt utskiftregister är 74HC165 8-bitars skiftregister även om det också kan drivas som ett seriellt in-seriellt utskiftregister.
Enheten har en seriell dataingång (DS), åtta parallella dataingångar (D0 till D7) och två komplementära seriella utgångar (Q7 och Q7 '). När ingången för parallell belastning (PL) är LÅG laddas data från D0 till D7 in i skiftregistret asynkront. När PL är HÖG kommer data in i registret seriellt vid DS. När klockaktiveringsingången (CE) är LÅG flyttas data på LÅG-till-HÖG-övergångarna för CP-ingången. En HÖG på CE inaktiverar CP-ingången. Ingångarna är överspänningstoleranta till 15 V. Detta gör att enheten kan användas i HÖG-till-LÅG nivåskiftande applikationer.
Funktionsdiagrammet för skiftregistret visas nedan;
Timingdiagrammet för systemet är som visas i bilden nedan;
4. Parallell in - Parallellt ut skiftregister
För parallellt in - parallellt utskiftregister visas utdata över parallella utgångar samtidigt när ingångsdata matas in. Denna typ av skiftregister kallas också som PIPO Skiftregister.
Ingångsdata vid var och en av ingångstapparna från D0 till D3 läses in samtidigt när enheten är klockad och samtidigt skickas data som läses in från var och en av ingångarna vid motsvarande utgång (från Q0 till Q3).
Den 74HC195 skiftregistret är ett mångsidigt skiftregister som har förmåga att arbeta i de flesta av de lägen som beskrivs av alla de typer som vi har diskuterats hittills särskilt som en parallell i - parallellt ut skiftregistret.
5. Dubbelriktade skiftregister
Skiftregister kan antingen utföra höger eller vänster dataskift, eller båda beroende på typen av skiftregister och deras konfiguration. I högerskiftoperationer delas binära data med två. Om denna operation är omvänd multipliceras binärdata med två. Med lämplig tillämpning av kombinationslogik kan ett seriellt skiftregister konfigureras för att utföra båda operationerna.
Tänk på 4-bitarsregistret i bilden nedan. Ett par NAND-grindar är konfigurerade som ELLER-grindar och används för att styra förskjutningsriktningen, antingen höger eller vänster.
Styrlinjen vänster / skrivning används för att bestämma riktningen till vilken data flyttas, antingen höger eller vänster.
74HC194 Bi-direction skiftregister är ett bra exempel. Registret kan fungera i alla lägen och variationer för seriell och parallell in- eller utgång. Funktionsdiagrammet för 74HC194 som markerar kontrollinje, klocka, ingångs- och utgångsstift visas nedan.
Enhets tidsdiagram visas också nedan. Det hjälper dig bättre att förstå hur kontrollinjen kontrollerar handlingarna i registret.
6. Räknare
Räknare, ibland kallade roterande skiftregister, är i grunden skiftregister med sina utgångar som matas tillbaka till enheten som ingångar på ett sådant sätt att det skapar ett visst mönster. Dessa typer av register kallas räknare på grund av mönstret och sekvensen de uppvisar. Den mest populära typen av skiftregister är ringräknare.
Ringräknare
Ringräknare är i grunden en typ av räknare där utsignalen från den mest signifikanta biten matas tillbaka som en ingång till den minst signifikanta biten. En 4-bitars ringräknare illustreras i diagrammet nedan med D-vippor.
När klockpulsen appliceras flyttas utgången från varje steg till nästa och cykeln fortsätter. När clear är vänt högt, återställs alla vippor utom den första (som sätts till 1) till noll.
Tillämpningar av Shift-register
Skiftregister används i många applikationer, varav några är;
1. Parallellt med seriell konvertering, där de används för att minska antalet ledningar eller linjer som behövs för kommunikation mellan två enheter, eftersom seriekommunikation i allmänhet bara kräver två ledningar jämfört med parallella, vilket beror på antalet bitar som skickas.
2. IO-expansion för mikrokontroller. I modern elektronik kallas mikrokontroller IO-stift som fastigheter och man behöver så mycket som möjligt för vissa applikationer som att slå på 100 lysdioder eller läsa 100 reed-switchar med något som en Arduino eller Atmeg328p mikrokontroller. Exempelvis illustrerar kretsschemat nedan hur ett seriellt till parallellt skiftregister kan användas för att styra 8 lysdioder med bara tre av mikrokontrollers IO-stift.
3. De används i tillståndsregister som används i sekventiella enheter. Som en ändlig minnesmaskin bestäms alltid nästa tillstånd av enheten genom att flytta och infoga en ny data i den tidigare positionen.
4. En annan huvudapplikation finns i tidsfördröjningar. Skiftregister används för tidsfördröjning i enheter, med tiden som justeras av klockan, eller ökas med kaskadreglering eller reduceras genom att ta utmatningen från en lägre signifikant bit.
Tidsfördröjningen beräknas vanligtvis med formeln;
t = N * (1 / fc)
N är antalet flip-flopsteg vid vilket utgången tas, Fc är frekvensen för klocksignalen och t som är det värde som bestäms är den tid under vilken utsignalen kommer att fördröjas.
När du väljer ett skiftregister för en viss uppgift på grund av det stora utbudet och skriver det är viktigt att välja ett som matchar ditt specifika behov, med tanke på saker som driftsätt, bitstorlek (antal flip flops), höger eller vänster eller dubbelriktad etc.
Några av de mest populära skiftregisterna är;
- 74HC 194 4-bitars dubbelriktat universellt skiftregister
- 74HC 198 8-bitars universellt skiftregister
- 74HC595 Serial-in-Parallel-Out skiftregister
- 74HC165 Skiftregister för parallell-in-serie-ut
- IC 74291 4-bitars universalt skiftregister, binär upp / ner-räknare, synkron.
- IC 74395 4-bitars universalt skiftregister med tre-tillståndsutgångar
- IC 74498 8-bitars dubbelriktat skiftregister med parallella ingångar och tre-tillståndsutgångar.
- IC 74671 4-bitars dubbelriktat skiftregister.
- IC 74673 16-bitars serie-in-serie-ut-skiftregister med utmatningsregister.
- IC 74674 16-bitars parallell-in serie-ut-skiftregister med tre-tillståndsutgångar.
Det finns flera fler, du måste bara hitta vilken som passar din applikation bäst.
Tack för att du läste, tills nästa gång.