- Čo je to Shift Register:
- Typy registrov v digitálnej elektronike
- 1. Serial in - Serial out Shift Registers
- 2. Sériový vstup - paralelný posuvný register
- 3. Parallel In - Serial out Shift Register
- 4. Parallel in - Parallel out shift register
- 5. Obojsmerné posuvné registre
- 6. Počítadlá
- Aplikácie posuvných registrov
Čo je to Shift Register:
Posuvné registre sú sekvenčné logické obvody schopné ukladať a prenášať údaje. Skladajú sa z klopných obvodov, ktoré sú spojené tak, že výstup jedného klopného obvodu môže slúžiť ako vstup druhého klopného obvodu, v závislosti od typu vytváraných posuvných registrov.
Posuvné registre sú v podstate typ registrov, ktoré majú schopnosť prenášať („posúvať“) údaje. Registre sú všeobecne úložné zariadenia, ktoré sa vytvárajú spojením určitého počtu klopných obvodov do série a množstvo údajov (počet bitov), ktoré je možné do registra uložiť, je vždy priamo úmerné počtu klopných obvodov, pretože každý klopný obvod flop je schopný ukladať iba jeden bit súčasne. Keď sú klopné obvody v registri spojené tak, že sa výstup jedného klopného obvodu stane vstupom druhého, vytvorí sa posuvný register.
Žabky sú zariadenia s podobnou činnosťou ako západka. Možno ho označiť ako bistabilný vibrátor, ktorý sa môže pohybovať medzi dvoma stavmi (0 alebo 1) a je schopný ukladať údaje v bitoch. Nové dáta sa načítajú do flip flopu s každým hodinovým cyklom a predchádzajúce dáta sa zasielajú na výstupe.
Posuvné registre Skladajú sa z ktorých žabiek?
To však závisí od druhu klopného obvodu, pretože vzťah medzi vstupom, výstupom a hodinovým cyklom medzi klopnými obvodmi sa líši. Existuje niekoľko druhov klopných obvodov, ale najbežnejšie používané pri vytváraní posuvných registrov sú klopné obvody typu D (oneskorenie).
Pre činnosť klopných obvodov D, vďaka ktorým sú tak žiaduce pre posuvné registre, kedykoľvek dôjde k zmene hodín D klopného obvodu (stúpajúca alebo klesajúca hrana, v závislosti od technických údajov klopného obvodu). Dáta na výstupe „Q“ sa stanú rovnakými dátami ako na vstupe „D“. Výstup „Q“ klopného obvodu zostane na tejto hodnote až do nasledujúceho hodinového cyklu, kde sa potom na vstupe znova zmení na hodnotu (vysoká alebo nízka, 1 alebo 0).
Teraz, keď vieme, čo sú registre Sift, pristúpime k hlbšiemu ponoreniu do typov klopných obvodov a ich aplikácií. Ale predtým, aby sme praktickejšie vysvetlili, kde sa používajú posuvné registre, pozrime sa na populárny posuvný register 74HC595, ktorý sme používali s rôznymi mikrokontrolérmi na prepojenie displeja alebo sekvencie LED.
- Posuňte registráciu na 74HC595 s Arduino a ovládajte sekvenciu LED
- Registrácia posunu s ESP32 na rozhranie 7-segmentového displeja
- Posuňte sa registráciou pomocou Raspberry Pi a ovládajte viac LED
- Shift Register with PIC to control sequence of LEDs
Typy registrov v digitálnej elektronike
Posuvné registre sú kategorizované do typov hlavne podľa prevádzkového režimu, buď sériového alebo paralelného.
Existuje šesť (6) základných typov posuvných registrov, ktoré sú uvedené nižšie, aj keď niektoré z nich možno ďalej rozdeliť na základe smeru toku údajov buď posunom doprava alebo doleva.
1. Serial in - Serial out Shift Register (SISO)
2. Sériový vstup - paralelný posuvný register (SIPO)
3. Parallel in - Parallel out Shift Register (PIPO)
4. Parallel In - Serial out Shift Register (PISO)
5. Obojsmerné posuvné registre
6. Počítadlá
1. Serial in - Serial out Shift Registers
Serial in - Serial out shift registers sú posuvné registre, ktoré streamujú dáta sériovo (jeden bit za taktovací cyklus) a rovnako streamujú dáta rovnakým spôsobom, jeden za druhým.
Jednoduchý 4-bitový posuvný register sériový výstup - sériový výstup je uvedený vyššie, register sa skladá zo 4 klopných obvodov a rozdelenie jeho fungovania je vysvetlené nižšie;
Pri spustení sa posuvný register najskôr vymaže, čím sa výstupy všetkých klopných obvodov vynútia na nulu, vstupné údaje sa potom na vstup aplikujú sériovo, jeden bit po druhom.
Existujú dva základné spôsoby presunu údajov prostredníctvom posuvného registra SISO;
- Nedeštruktívne čítanie
- Deštruktívne čítanie
- Nedeštruktívne čítanie
Posuvné registre založené na nedeštruktívnom odpočte majú vždy operačný režim čítania a zápisu, pričom je pridaný ďalší riadok, ktorý umožňuje prepínanie medzi operačnými režimami čítania a zápisu.
Keď je zariadenie v prevádzkovom režime „zápis“, posuvný register posúva každé dáta po jednom bite a správa sa presne ako verzia s deštruktívnym odpočtom a údaje sa tak stratia, ale keď sa prevádzkový režim prepne na „čítanie“, údaje ktoré sú na vstupe posunuté, sa vrátia späť do systému a slúžia ako vstup do posuvného registra. To pomáha zabezpečiť, aby dáta zostali dlhšie (pokiaľ zostanú v režime čítania)
- Deštruktívne čítanie
Pri deštruktívnych odpočtoch sa dáta úplne stratia, pretože klopný obvod iba posúva informácie ďalej. Za predpokladu vyššie uvedeného 4-bitového posuvného registra chceme poslať slovo „1101“. Po vyčistení posuvného registra sa výstup všetkých žabiek stane 0, takže počas prvého hodinového cyklu, keď tieto dáta (1101) aplikujeme sériovo, vyzerajú výstupy žabiek ako tabuľka nižšie.
Prvý cyklus hodín:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
0 |
0 |
0 |
Druhý cyklus hodín:
FF0 |
FF1 |
FF2 |
FF3 |
0 |
1 |
0 |
0 |
Tretí cyklus hodín:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
0 |
1 |
0 |
Štvrtý hodinový cyklus:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
1 |
0 |
1 |
2. Sériový vstup - paralelný posuvný register
Druhým typom posuvného registra, o ktorom budeme uvažovať, je posuvný register Serial in - Parallel out, tiež známy ako SIPO Shift Register. Tieto typy posuvných registrov sa používajú na prevod údajov zo sériového na paralelný. Dáta prichádzajú jeden po druhom za jeden taktovací cyklus a je možné ich pri každom výstupe posúvať a nahrádzať alebo načítať. To znamená, že keď sú dáta načítané, každý načítaný bit je k dispozícii súčasne na ich príslušnom výstupnom riadku (Q0 - Q3 pre 4-bitový posuvný register zobrazený nižšie).
4-bitový sériový vstup - paralelný posuvný register je znázornený na obrázku nižšie.
Ďalej je uvedená tabuľka, ktorá ukazuje, ako sa dáta posúvajú zo sériového vstupu - paralelný 4-bitový posuvný register, s údajmi ako 1001.
jasný |
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 |
Dobrým príkladom sériového paralelného posuvného registra je posuvný register 74HC164, čo je 8-bitový posuvný register.
Zariadenie obsahuje dva sériové dátové vstupy (DSA a DSB), osem paralelných dátových výstupov (Q0 až Q7). Dáta sú zadávané sériovo cez DSA alebo DSB a jeden vstup je možné použiť ako aktívny VYSOKÝ vstup pre vstup dát cez druhý vstup. Dáta sa posúvajú pri prechodoch LOW-to-HIGH vstupného času (CP). A LOW na vstupe Master reset (MR) vymaže register a vynúti všetky výstupy LOW, nezávisle od ostatných vstupov. Vstupy zahŕňajú upínacie diódy. To umožňuje použitie rezistorov obmedzujúcich prúd na prepojenie vstupov s napätím presahujúcim VCC.
3. Parallel In - Serial out Shift Register
V posuvnom registri Parallel in - Serial out sa údaje dodávajú paralelne, napríklad vezmime do úvahy 4-bitový register zobrazený nižšie.
Tento register možno použiť na ukladanie a posúvanie 4-bitového slova, pričom riadiaci vstup zápisu / posuvu (WS) riadi režim činnosti posuvného registra. Ak je riadiaca linka WS nízka (režim zápisu), je možné dáta zapisovať a taktovať pomocou D0 až D3. Na sériové posunutie údajov sa ovládací riadok WS privedie na VYSOKÝ (režim posunu), register potom posunie údaje na vstupe hodín. Paralelne v sériovom zapojení sa náš posuvný register nazýva aj posuvný register PISO.
Dobrým príkladom paralelného sériového posuvného registra je 8-bitový posuvný register 74HC165, aj keď ho možno prevádzkovať aj ako sériový posuvný register.
Zariadenie obsahuje sériový dátový vstup (DS), osem paralelných dátových vstupov (D0 až D7) a dva doplnkové sériové výstupy (Q7 a Q7 '). Keď je vstup paralelného zaťaženia (PL) NÍZKY, dáta z D0 do D7 sa načítajú do posuvného registra asynchrónne. Keď je PL HIGH, dáta vstupujú do registra sériovo na DS. Keď je vstup povoleného času (CE) NÍZKY, dáta sa posúvajú pri prechodoch od LOW-to-HIGH vstupu CP. A HIGH on CE zakáže vstup CP. Vstupy sú odolné voči prepätiu na 15 V. To umožňuje použitie zariadenia v aplikáciách s posunom na úroveň HIGH-to-LOW.
Funkčný diagram posuvného registra je uvedený nižšie;
Schéma časovania systému je znázornená na obrázku nižšie;
4. Parallel in - Parallel out shift register
Pre paralelný - paralelný posuvný register sa výstupné údaje naprieč paralelnými výstupmi zobrazujú súčasne so vstupnými údajmi. Tento typ posuvného registra sa tiež nazýva posuvný register PIPO.
Vstupné údaje na každom zo vstupných pinov od D0 do D3 sa načítajú súčasne, keď je zariadenie taktované, a súčasne sa údaje načítané z každého zo vstupov odovzdajú na zodpovedajúcom výstupe (z Q0 do Q3).
74HC195 posuvný register je viacúčelový posuvný register, ktorý je schopný pracovať vo väčšine režimov opísaných všetkými typmi sme diskutovali doteraz predovšetkým ako paralela in - paralelný out posuvný register.
5. Obojsmerné posuvné registre
Posuvné registre môžu vykonávať buď pravý alebo ľavý posun údajov, alebo oboje v závislosti od druhu posuvného registra a ich konfigurácie. V operáciách posunu doprava sú binárne údaje vydelené dvoma. Ak je táto operácia obrátená, binárne údaje sa vynásobia dvoma. Pri vhodnom použití kombinačnej logiky je možné nakonfigurovať sériový posuvný register na vykonávanie oboch operácií.
Zvážte 4-bitový register na obrázku nižšie. Niekoľko brán NAND je nakonfigurovaných ako brány OR a používajú sa na riadenie smeru radenia, či už vpravo alebo vľavo.
Riadiaci riadok doľava / zápis sa používa na určenie smeru, do ktorého sa dáta posúvajú, či už vpravo alebo vľavo.
Dobrým príkladom je obojsmerný posuvný register 74HC194. Register môže pracovať vo všetkých režimoch a variáciách sériového a paralelného vstupu alebo výstupu. Nižšie je uvedený funkčný diagram modelu 74HC194, ktorý zvýrazňuje riadiace vedenie, hodiny, vstupné a výstupné piny.
Schéma časovania zariadenia je tiež uvedená nižšie. Lepšie vám pomôže pochopiť, ako riadiaca čiara riadi činnosť registra.
6. Počítadlá
Počítadlá, niekedy nazývané rotačný posuvný register, sú v podstate posuvné registre, ktorých výstupy sa vracajú späť do zariadenia ako vstupy takým spôsobom, že vytvárajú konkrétny vzor. Tieto druhy registrov sa kvôli vzoru a postupnosti, ktoré vykazujú, označujú ako počítadlá. Najobľúbenejším typom počítadiel posuvných registrov sú počítadlá zvonení.
Počítadlo prsteňov
Počítadlá zvonenia sú v zásade typom počítadla, v ktorom je výstup najvýznamnejšieho bitu spätne vedený ako vstup do najmenej významného bitu. Počítadlo 4-bitových krúžkov je na diagrame znázornené pomocou žabiek typu D.
Keď sa použije hodinový impulz, výstup z každého stupňa sa posunie na ďalší a cyklus pokračuje. Keď je clear vysoký, všetky žabky okrem prvého (ktorý sa nastaví na 1) sa vynuluje.
Aplikácie posuvných registrov
Posuvné registre sa používajú v mnohých aplikáciách, z ktorých niektoré sú;
1. Paralelná k sériovej konverzii, keď sa používajú na zníženie počtu vodičov alebo liniek potrebných na komunikáciu medzi dvoma zariadeniami, pretože sériová komunikácia vyžaduje v porovnaní s paralelným obvykle iba dva vodiče, čo závisí od počtu odosielaných bitov.
2. Rozšírenie IO pre mikrokontroléry. V modernej elektronike sa mikroprocesory IO piny označujú ako nehnuteľnosti a pre určité aplikácie, ako je zapínanie 100 LED alebo čítanie 100 jazýčkových spínačov, niečo ako Arduino alebo mikrokontrolér Atmeg328p potrebujete čo najviac. Napríklad nižšie uvedená schéma zapojenia ilustruje, ako možno sériový a paralelný posuvný register použiť na ovládanie 8 LED diód pomocou iba troch IO pinov mikrokontrolérov.
3. Používajú sa v štátnych registroch, ktoré sa používajú v postupných zariadeniach. Rovnako ako konečný pamäťový stroj, ďalší stav zariadenia je vždy určený posunom a vložením nových údajov do predchádzajúcej polohy.
4. Jedna ďalšia hlavná aplikácia sa nachádza v časti Časové oneskorenia. Posunové registre sa používajú na časové oneskorenie v zariadeniach, pričom čas sa nastavuje hodinami alebo sa zvyšuje kaskádovými posuvnými registrami alebo sa znižuje prijatím výstupu z nižšieho významného bitu.
Časové oneskorenie sa zvyčajne počíta pomocou vzorca;
t = N * (1 / fc)
N je počet fáz klopného obvodu, v ktorom je výstup vykonaný, Fc je frekvencia hodinového signálu at, čo je hodnota, ktorá sa určuje, je čas, za ktorý bude výstup oneskorený.
Pri výbere posuvného registra pre konkrétnu úlohu z dôvodu širokého rozsahu a typu je dôležité vybrať ten, ktorý vyhovuje vašim konkrétnym potrebám, napríklad z hľadiska režimu činnosti, veľkosti bitu (počtu klopných obvodov), pravého alebo ľavého alebo obojsmerný atď.
Niektoré z najpopulárnejších posuvných registrov sú;
- 74HC 194 4-bitový obojsmerný univerzálny posuvný register
- 74HC 198 8-bitový obojsmerný univerzálny posuvný register
- 74HC595 posuvný register sériovo-paralelne-paralelne
- 74HC165 posuvný register Parallel-In-Serial-Out
- IC 74291 4-bitový univerzálny posuvný register, binárne počítadlo hore / dole, synchrónne.
- IC 74395 4-bitový univerzálny posuvný register s trojstavovými výstupmi.
- IC 74498 8-bitový obojsmerný posuvný register s paralelnými vstupmi a trojstavovými výstupmi.
- IC 74671 4-bitový obojsmerný posuvný register.
- 16-bitový sériový výstupný posuvný register IC 74673 s výstupnými pamäťovými registrami.
- 16-bitový sériový výstupný posuvný register IC 74674 s trojstavovými výstupmi.
Existuje niekoľko ďalších, musíte len nájsť, ktoré vyhovujú vašej aplikácii najlepšie.
Ďakujem za prečítanie, až nabudúce.