Mis on jadanihkeregister. Mis on register? DS - andmete sisestamine

kellasignaali korral kirjutatakse iga eelmise plätude sisu ahelas järjekorras järgmiseks plätudeks. Registrisse salvestatud kood nihutatakse iga tsükliga ühe biti võrra kõrgemate bittide või madalamate bittide poole, mis andis seda tüüpi registritele nime.

Seoses nihkesuuna nimetusega sisse nihkeregistrid sageli tekib segadus. On kahte tüüpi nihkeid: paremale (peamine režiim, mis kõigil on nihkeregistrid) ja vasakule (see režiim on saadaval ainult mõne jaoks, vastupidi). nihkeregistrid). Need nimed peegeldavad sisemist struktuuri nihkeregistrid(joonis 8.14) ja signaalide järjestikuse ümberkirjutamine piki päästikute ahelat. Sel juhul nummerdatakse flip-flops üsna loomulikult vasakult paremale, näiteks 8-bitiste registrite puhul 0 kuni 7 (või 1 kuni 8). Selle tulemusena on teabe nihutamine registri poolt paremale nihutamine suurema arvuga bittide suunas ja teabe nihutamine registri poolt vasakule on nihe väiksema arvuga bittide poole.

Kuid nagu teate, on iga kahendarvu puhul kõige olulisemad numbrid vasakul ja kõige vähem olulised numbrid paremal. Seetõttu on kahendarvu nihutamine paremale nihe madalamate numbrite suunas ja nihe vasakule nihe kõrgemate numbrite suunas. See vastuolu ei ole kellegi pahatahtlik kavatsus, see lihtsalt juhtus ajalooliselt ja digiseadmete arendaja peab seda meeles pidama.


Riis. 8.14.

Digitaallülituste standardseeria sisaldab mitut tüüpi nihkeregistrid, mis erinevad võimalike töörežiimide, kirjutamis-, lugemis- ja nihutamisrežiimide, aga ka väljundastmete tüübi (2C või 3C) poolest. Enamus nihkeregistrid on kaheksa numbrit. Joonisel fig. 8.15 näitab näitena nelja tüüpi mikroskeeme nihkeregistrid.

Registreerige IR8 - kõige lihtsam nihkeregistrid. Tegemist on 8-bitise viivitusliiniga ehk sellel on ainult üks infosisend, kuhu edastatakse järjestikku nihutatud info (täpsemalt kaks sisendit kombineerituna vastavalt funktsioonile 2I) ja kaheksa paralleelset väljundit. Üleminek suuremate numbritega väljundite suunas toimub piki esiserva kella signaal C. Nullsignaalil on ka lähtestussisend -R, mille puhul nullitakse kõik registri väljundid. tõetabel register IR8 on toodud tabelis. 8.5.


Riis. 8.15.Tabel 8.5. tõetabel nihkeregister IR8
Sisendid Väljundid
-R C D1 D2 Q0 Q1 K7
0 X X X 0 0 0
1 0 X X Ära muutu
1 1 X X Ära muutu
1 0 1 1 1 1 Q0 K6
1 0 1 0 X 0 Q0 K6
1 0 1 X 0 0 Q0 K6

IR9 register täidab IR8 registrile vastupidist funktsiooni. Kui IR8 teisendab sisendjadateabe väljundi paralleelteabeks, siis register IR9 teisendab sisendi paralleelteabe väljundi jadateabeks. Kuid nihke olemus ei muutu, lihtsalt IR9-s on kõigil sisemistel trigeritel väljundid paralleelsisendid ja ainult ühel, viimasel trigeril, on väljund (nii otsene kui ka pöördvõrdeline). Sisendkood kirjutatakse registrisse nullsignaaliga -WR sisendis. Nihe viiakse läbi positiivsel serval ühel kahest kellasisendist C1 ja C2, kombineerituna

See ülevaade on tegelikult pühendatud algajatele Arduino kasutajatele või neile, kes soovivad selle ettevõttega liituda. Räägime mikrokontrolleri väljundite arvu suurendamisest nihkeregistri abil ja sellest, et see ei nõua suuri kulutusi (võrreldes näiteks Arduino Mega ostmisega). Lihtsaim rakendus on LED-ide vilkumine, nii et proovime seda praktikas.

Kui ma mikrokontrolleritega tutvuma hakkasin (tegelikult jätkan praegugi "tutvumist"), oli üks esimesi küsimusi: kuidas, kui kontrolleril on vaid kümmekond väljundit, juhtida sama sadat tuhat LED-i? Jah, saab kasutada signaali multipleksimist, back-to-back kommuteerimist ja palju muid nippe, kuid siiski on ühendatud LED-ide maksimaalne arv piiratud ja tuleb otsida mõni muu lahendus. Ja nad pakkusid mulle välja ühe variandi – "võta üks, kaks, tosin nihkeregistri mikrolülitust ja lõbutsege." Otsustati need kohe tellida ja edaspidi neid kasutades isegi LED-kuubik kokku panna. Viimasest tuli tõesti loobuda, leidsin lihtsama variandi, aga see on juba teise ülevaate teema.
Tellisin kohe 20 tükki 74HC595N, kuna need maksavad vaid sente. Märgistuse lõpus olev täht N tähendab, et mikroskeem on DIP-16 pakendis, väga mugav leivaplaadil katsetamiseks, pole vaja isegi midagi jootma. See näeb välja selline:




Mis see mikrokiip on? See on kaheksabitine nihkeregister, millel on jadasisend, jada- või paralleelväljund, riiv ja kolme oleku väljund.
Lihtsamalt öeldes, kasutades ainult 3 kontrolleri väljundit, saate juhtida 8 nihkeregistri väljundit. Ja kui mikroskeeme üksteise järel jadamisi ühendada, siis saab juhitavate väljundite arvu tõsta suvalise mõistliku piirini (limiidinumbrit ei leidnud, aga sadu tundub olevat probleemideta kombineeritud; kui keegi teab, mis on piirarv kaskaadi kuuluvate mikroskeemide suurus sõltub sellest, oleks huvitav kommentaaridest teada saada).
Andmed kiibile edastatakse järjestikku. Bitid 0 ja 1 kantakse järjest registrisse, bitte loetakse siis, kui saabub taktimpulss. Edastatud 8 bitti – vastu võetud 8 väljundolekut registri väljunditel. Kui 74HC595 on kaskaaditud (kui on vaja 16, 24 jne väljundit), kantakse andmed esimesest registrist üle järgmisesse.
Registri väljund võib olla mitte ainult loogilises olekus 0 või 1, vaid olla ka suure impedantsiga olekus, kui väljund on vooluringist lahti ühendatud. Sellesse olekusse saab korraga üle kanda ainult kõik väljundid. Seda kasutatakse harva, kuid see võib olla kasulik näiteks juhtimise vahetamisel teisele kontrollerile.

I/O pinout

Q0…Q7 – registriväljundid, võivad olla olekus 0, 1 või kõrge impedantsiga
GND - maandus
Q7′ – väljund registrite jadaühenduseks.
MR - lähtestada registri väärtused
SH_CP - kella sisend
ST_CP - sisestage andmed "lukustamiseks".
OE – sisend, mis edastab väljundid kõrgest takistusest tööolekusse
DS - andmete sisestamine
VCC - 2-6 volti toide

Jääb üle tööd kontrollida, selleks koostame algajate seas populaarse skeemi. GND (kontakt 8) maandusega, Vcc (kontakt 16) 5 V, OE (kontakt 13) maandusega, MR (kontakt 10) 5 V. Nihkeregister on nüüd sisse lülitatud ja kõik väljundid on aktiivsed. Nüüd on aeg ühendada kiip Arduinoga: ühendage DS andmesisend (kontakt 14) arduino 9. digitaalväljundiga, SH_CP kellasisend (kontakt 11) 10. digitaalväljundiga, ST_CP riivi sisend (pin 12) ) 8. pin arduino juurde. Müra minimeerimiseks on soovitatav asetada maanduse ja riivi vahele 0,1 uF kondensaator.
Jääb üle LED-id ühendada - 150-300 oomi takistite kaudu ühendame need registriväljunditest maapinnaga. Tegelikult on see kõik. Siit leidsin diagrammi, kes armastab visuaalseid materjale (pange tähele, et päris mikroskeemi pinout ja skemaatiline esitus sellel diagrammil on erinevad!)


Panin vooluringi kokku leivalauale, sain selle niimoodi.

kokkupandud vooluring








Arduinos on mugav kasutada funktsiooni shiftOut (), mis väljastab baidi kaupa sisend-/väljundporti järjestikku (bitihaaval). . Laadime testkoodi Arduinosse ja saame binaarsel kujul loenduri vahemikus 0 kuni 255:
int lukkPin = 8; //ST_CP int clockPin = 10; //SH_CP int dataPin = 9; //DS void setup() ( pinMode(latchPin, OUTPUT); pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); ) void loop() ( for (int numberToDisplay = 0; numberToDisplay< 256; numberToDisplay++) { // установка синхронизации "защелки" на LOW digitalWrite(latchPin, LOW); // передаем последовательно на вход данных shiftOut(dataPin, clockPin, MSBFIRST, numberToDisplay); //"защелкиваем" регистр, устанавливаем значения на выходах digitalWrite(latchPin, HIGH); delay(500); } }
Minu jaoks läks nii, kõik toimib ootuspäraselt:


Seega saate kontrolleri kontaktide minimaalse kasutamisega juhtida suurt hulka LED-e (või midagi muud). Kõik oleks hästi, aga räägin ka puudustest. Nagu näha, tuleb iga LED-i voolutugevust piirata takistiga ja suurte LED-maatriksite ehitamisel muutub see üsna aeganõudvaks. LED-ide juhtimiseks on huvitavam lahendus - draiver DM13A, mis on nihkeregister, piirates samas ka voolu igas väljundis. Räägin sellest järgmine kord ja boonusena - minu kõige esimene LED-kuubik, 5x5x5, monteeritud lihtsustatud elementalusele, juba ilma 74HC595 kasutamata.

Plaanin osta +37 Lisa lemmikutesse Arvustus meeldis +35 +61

Eelmisel korral kaalusime võimalust suurendada mikrokontrolleri väljundeid dekoodri kiibi abil, täna kaalume nihkeregistri 74HC595 täiustatud versiooni. Kasutades ainult ühte mikrolülitust, saate kasutada veel 8 väljundit, kasutades ainult 3 mikrokontrolleri jalga. Ja tänu laienemisvõimalusele saab teise mikroskeemi lisamisega tõsta väljundite arvu 16-ni. Kui sellest ei piisa, siis saab lisada kolmanda ja saada kasutamiseks 24 väljundit ning seda nippi saab korrata nii mitu korda kui sulle meeldib. Samal ajal jääb mikrokontrolleri hõivatud jalgade arv 3-ni, ilu!

Niisiis, vaatame lähemalt mikrolülituse kontaktide määramist ja õpime, kuidas juhtida Bascom-AVR-i 74hc595 nihkeregistrit.

Alustuseks tutvume mikroskeemi järeldustega või õigemini nende funktsionaalsusega. Allpool on väljalõige 74hc595 andmelehest koos mikrolülituse tihvtide tähistusega:


  • Q0… Q7– väljundid, mida juhitakse. Need võivad olla kolmes olekus: loogiline üks, loogiline null ja suure takistusega Hi-Z olek
  • GND- Maa
  • Q7′– registrite jadaühenduseks mõeldud väljund.
  • HÄRRA- registri lähtestamine.
  • SH_CP- kella impulsside sisend
  • ST_CP- sisestage "lukustavad" andmed
  • OE– sisend, mis edastab väljundid HI-Z-st tööolekusse
  • D.S.- andmete sisestamine
  • VCC- 5 volti toide

Registreeri loogika

Kui kella sisendil SH_CP ilmub loogiline, mis asub andmesisendil D.S. vahetuste registrist lugeda ja sinna kirjutada. See bitt kirjutatakse väikseima tähendusega bitti. Kui kellasisendisse jõuab järgmine kõrgetasemeline impulss, kirjutatakse andmesisendist järgmine bitt nihkeregistrisse. Ja varem salvestatud bitt nihutatakse ühe biti võrra vasakule ja äsja saabunud bitt võtab asemele. Järgmine taktimpulss kirjutab kolmanda biti ja kaks eelmist liiguvad edasi. Kui kõik kaheksa bitti on täidetud ja saabub üheksas taktimpulss, hakkab register uuesti täituma kõige vähemtähtsast bitist ja kõik kordub uuesti. Millised andmed ilmuksid väljunditel Q0… Q7 peate need "kinnitama". Selleks tuleb sisendile rakendada loogiline ühik ST_CP.

- HÄRRA lähtestab registri, määrates kõik väljundid Q0… Q7 loogika nullseisundisse. Lähtestamiseks peate rakendama sellele sisendile loogilise nulli ja rakendama sisendile positiivse impulsi ST_CP. Väga kasulik funktsioon, kuna mikroskeemile toite andmisel ilmub väljundisse teatud suvaline väärtus. Registriga töötades peab see tihvt olema loogiline üksus.

- OE(väljundi lubamine) kui kasutate siin loogikat 1, on väljundid suure takistusega HI-Z olekus. Kui rakendame sellele sisendile loogilise 0, on väljundid töökorras.

- Q7' mõeldud nihkeregistrite jadaühenduseks.

Kuid parem on üks kord näha kui kaks korda lugeda =) nii et vaatame animatsiooni:


Töö registriga otsmikul

Võõra mikroskeemiga töö valdamisel on sageli kasulik otsmikul töötada, see tähendab juhtjalgade otsest tõmblemist, see võimaldab teil paremini mõista subjektiga töötamise põhimõtteid. Niisiis kirjutasin tööloogikat järgides programmi, mis peab registri väljundisse väljastama kahendarvu 10010010

$regfile = "attiny2313.dat"
$kristall = 1000000

konfig portb= Väljund

Sh_cpTeise nimega portb. 3 "jalg kella impulsside jaoks
DsTeise nimega portb. 2 "jalg andmete väljastamiseks
St_cpTeise nimega portb. 0 "jalg andmete "lukustamiseks" majapidamisregistrisse


"väljund numbri 146 registri kaudu (binaarses esituses 10010010)

St_cp= 0 "pane jalg andmesalvestusrežiimi

Ds= 1 "seadke esimene bitt
Sh_cp= 0 "anna kella väljundile impulss
Sh_cp= 1

Ds= 0 "seadke teine ​​bitt
Sh_cp= 0
Sh_cp= 1

Ds= 0 "seadke kolmas bitt
Sh_cp= 0
Sh_cp= 1

Ds= 1 "seadke neljas bitt
Sh_cp= 0
Sh_cp= 1

Ds= 0 "seadke viies bitt
Sh_cp= 0
Sh_cp= 1

Ds= 0 "seadke kuues bitt
Sh_cp= 0
Sh_cp= 1

Ds= 1 "määra seitsmes bitt
Sh_cp= 0
Sh_cp= 1

Ds= 0 "seadke kaheksas bitt
Sh_cp= 0
Sh_cp= 1

St_cp= 1 "Kinnitage sisestatud andmed

lõpp


kompileerime, õmbleme mikrokontrollerisse või vaatame simulaatorisse ja näeme väljundis oma kombinatsiooni.


Töötab, saadetud number ilmus registri väljundisse!

Sellisel viisil registriga töötamine, kuigi võimalik, on liiga tülikas ja võtab palju programmimälu. Kuid teisest küljest näitab see selgelt kogu selle mikroskeemiga töötamise metoodikat. Kaaluge sobivamat meetodit.

74HC595 registri haldamine Bascomis käsu ShiftOut kaudu

Bascom-AVR-il on suurepärane käsk töötada igasuguste jadaliidestega SHIFTOUT
See käsk ise jagab arvu bitikomponentideks ja väljastab need järjestikku mikrokontrolleri suvalisele viigule, samal ajal võib see väljastada taktimpulsse. Töötamiseks vahetuste registritega, see on kõik! Käskude süntaks:

SHIFTOUT Datapin , Clockpin , var , option


Datapin – mikrokontrolleri port andmete väljastamiseks

Clockpin – mikrokontrolleri port kella väljundiks

Var – andmed, mida soovime registrisse saata

Valik - arv vahemikus 0 kuni 3, see parameeter valib andmete registrisse sisestamise järjekorra ja aktiivse taseme kella real, millel bitt kirjutatakse:
option=0 – kõige olulisem bitt läheb esimeseks, Kell aktiivne madal
variant=1 -
kõrge bitt läheb esimeseks, Kell aktiivne tase kõrge
variant=2 -
madal bitt läheb esimeseks, Kell aktiivne madal
variant = 3 -
madal bitt läheb esimeseks, Kell aktiivne tase kõrge

Meie puhul tuleb registriga 74HC595 töötamiseks suvandi parameetriks määrata 1 või 3.

Andmete lukustamiseks registris kasutage käsku Pulse Out. See käsk väljastab mikrokontrolleri jalale etteantud kestusega impulsi. Käsu konfiguratsioon näeb välja selline:

Nüüd väljastame ülaltoodud skeemi kohaselt mikrokontrolleriga ühendatud registri väljundisse numbri 10010001 (145 kümnendkohaga):

$regfile = "attiny2313.dat"
$kristall = 1000000

Hämar A Nagubaiti
konfig portb= Väljund

A= 145

gosub Hc595 "Lähme andmete saatmise alamprogrammi juurde

lõpp

Hc595: "andmete saatmise alamprogramm

Vaheta välja portb. 2, portb. 3, A, 1 "andmete saatmine registreerimiseks
Pulseout portb, 0, 5 "andmete lukustamine
tagasi

Peale mikrokontrolleri vilkumist on näha sarnast pilti, saadetud bitikombinatsioon on seatud nihkeregistri väljundisse.


Nagu näete, koosneb Bascomi vahetusregistri 74HC595 juhtimine ainult kahest koodireast ja see ei tekita raskusi.

Biti sügavuse suurendamine

Üks mikrokontrolleriseadmete arendamisel sageli esile kerkiv probleem on vajadus salvestada I / O-portide ridu. Paljud välisseadmed, mis võivad töötada koos protsessoriga, nõuavad teabe edastamiseks suurt hulka ühendusjuhte. Selle ülesande kiireloomulisus ei ole vähenenud isegi suure hulga väljunditega protsessorite tulekuga, kuna ka välisseadmed on muutunud keerukamaks. Kuvaseadmete puhul on üks võimalus vajalike ridade arvu vähendamiseks kasutada nihkeregistreid.

Nihkeregister on mitmest järjestikku ühendatud D-flip-flopist koosnev ahel. Mikrokontrolleri infoväljund on ühendatud esimese päästikuga. Iga eraldi real edastatava kellasignaali impulsi korral kirjutatakse väljundisse iga klapi sisendi tase. Selle tulemusena nihkub signaal ahela algusest lõpuni. Kui kasutate väljundliinide ühendamist pärast iga klambrit, on nihkeregister jada-paralleelmuundur. See tähendab, et mis tahes indikaatorite korraldamiseks on minimaalselt vaja kasutada ainult kahte mikrokontrolleri väljundit.

Praegu pakuvad tootjad suurt hulka erinevate funktsionaalsete omadustega vahetusregistri mudeleid. Järgnevalt võetakse arvesse ainult jadasisendi ja paralleelväljundiga mikroskeeme. Samuti saate kirjeldatud eesmärkidel kasutada mõnda universaalset registrimudelit.

Kasutades registrit 74164

nihkeregister

Üks lihtsamaid ja levinumaid nihkeregistri funktsiooni rakendavaid mikroskeeme on mudel 74164 (555IR8) ja selle tehnoloogilised variandid. See mikroskeem on 8-bitine jadalaadimise ja paralleelväljundiga register. 74164 abil saate suhteliselt lihtsalt 8 LED-ist koosneva lineaarse indikaatori või ühekohalise seitsmesegmendilise indikaatori. Vajadusel on lubatud mitme mikrolülituse jadaühendus, mis suurendab väljundliinide ja nendega ühendatud indikaatorite arvu.

Praeguste 74ACT164 ja 74HCT164 variantide väljundvool on 25 mA liini kohta, mis võimaldab otse ühendada väikese võimsusega üksikuid LED-e või seitsmesegmendilisi kuvareid. Nende mikroskeemide tsükliaeg võib olla 15 ns tasemel, mis vastab võimalusele töötada sagedusel 66 MHz. Arvestades, et selline või kõrgem protsessori töösagedus on haruldane, siis taktimpulsside genereerimiseks piisab lihtsalt kontrolleri väljundi viivituseta sisse ja välja lülitamisest, selle nihkeregistri laadimiseks piisab kahest reast: DATA ja CLK. See võimaldab kuvaseadme juhtimiseks kasutada ainult kahte mikrokontrolleri rida. Sel juhul ei pruugi paljudel juhtudel olla vahet, kui palju mikroskeeme järjestikku ühendatakse ja vastavalt sellele, mitut indikaatorit kontroller juhib.

74164-l on palju kasutusviise. Neist saab eristada mitmeid. Esimene, ülalmainitud indikaator, mis põhineb mitmel LED-il. Teine on üksik seitsmesegmendiline indikaator või rida neist. Näide indikaatorite reast on toodud artiklis - PIC12F629 mikrokontrolleri termomeeter.

Näiduse programmeerimine nihkeregistri abil pole samuti väga keeruline. Eriti kui mikrokontroller rakendab sellist toimingut nagu baidi nihe läbi ülekandebiti. Märkides seda bitti, saate määrata taseme, mida soovite andmeliinil määrata. Sellist nihet tsükliliselt korrates ja taktimpulsse genereerides saab nihkeregistri täis laadida Järgmiseks kasutusjuhuks võib olla dünaamiline näiduahel, mil kasutatavate mikroprotsessori liinide arvu vähendamiseks on paralleelväljund üksikutele segmentidele. asendatakse jada-paralleelmuunduri abil jadamuunduriga. Sama muundurit saab kasutada HD44780-põhises LCD sisselülitusahelas.

Kasutades registreid 74595 ja 4094

Nihkeregistrite kasutamine võimaldab LED-indikaatorite abil ehitada suuri vooluahelaid. Aga kui indikaatorid tarbivad palju voolu (koosnevad paljudest üksikutest LED-idest), muutub registri väljund ebapiisavaks. Signaali võimendamiseks võib kasutada erinevaid ahelaid, mis koosnevad üksikutest transistoridest või sõlmedest. Sel juhul on kõige lihtsam ja soodsam kasutada mikrolülitust ULN2803, mis sisaldab 8 transistorlülitit. Iga klahv on võimeline lülitama voolu kuni 500mA pingel kuni 50V, mis võimaldab sellega ühendada kuni mitukümmend üksikut LED-i, väikese võimsusega hõõglampe või suuremahuliste maatriksindikaatorite segmente. Ainus erinevus ülaltoodud ahelatest on ühise anoodiga LED-indikaatorite kasutamine, kuna ULN2803 on tegelikult madala külje lüliti. Kõigi eeliste jaoks on kiibil 74164 mõned puudused. Esiteks peaksid need sisaldama ahela väljundite otsest ühendamist päästikute väljundliinidega. Aeglaste LED-indikaatorite süsteemides saate registri laadimisel jälgida teabe liikumist sisendist väljundisse segmentide kõrvalise valgustuse kujul. Teabe sagedase uuendamise korral tekitab selline valgustus mõningast ebamugavust. Selle kõrvaldamiseks tuleks kasutada väljundriiviga varustatud registreid. Sellised elemendid on näiteks kiibid 74595 ja 4094. Igal neist on lisavärava sisend SCLK. Sama laadimispõhimõttega saab nende seadmete väljundis olev teave ilmuda alles pärast impulsi läbimist sellest sisendist. See lahendus nõuab mikrokontrolleri täiendava väljundi kasutamist, kuid võimaldab teil luua suure hulga segmentidega indikaatoreid ilma erinevate ebameeldivate efektide ilmnemiseta. Eriti kasulik on sulguritega varustatud registrite kasutamine koos madalatel sagedustel või sisemistest generaatoritest töötavate mikrokontrolleritega.

Nihkeregistrite kasutamine muudab valmis seadme vooluringi mõnevõrra keerulisemaks, kuid võimaldab kasutada minimaalselt mikrokontrolleri väljundeid ja sellel on palju muid eeliseid. Muuhulgas võimaldab ülaltoodud lahenduste kasutamine lihtsustada programmeerimist ja luua ilma suuremate kulutusteta mitmekohalisi näitajaid.

Teil pole õigusi kommentaare postitada

Registrite koostamiseks kasutatakse nende elementide jadaühendust.

Jadaregistrit (nihkeregister või nihkeregister) kasutatakse tavaliselt jadakoodi teisendamiseks paralleelseks ja vastupidi. Jadakoodi kasutamine on seotud vajadusega edastada suur hulk binaarset teavet piiratud arvu ühendusliinide kaudu. Tühjenduste paralleelse edastamise korral on vaja suurt hulka ühendusjuhte. Kui kahendnumbrid edastatakse järjestikku bittide kaupa mööda ühte juhet, siis saab plaadil olevate ühendusliinide mõõtmeid (ja kiibipakettide mõõtmeid) oluliselt vähendada.

Alusel kokkupandud ja seeriakoodi paralleelseks teisendamist võimaldava jada(nihke)registri skemaatiline diagramm on kujutatud joonisel 1. esiküljel, siis sobivad ainult esiküljel töötavad D plätud. jada(vahetus)registri rakendamiseks!


Joonis 1. Jada (nihke) registri skeem

Nihkeregistri sees on klapid ühendatud järjestikku, see tähendab, et esimese väljund on ühendatud teise sisendiga jne. vaadeldav järjestikune register on näidatud joonisel 2.


Joonis 2. Järjestikuse (nihke)registri tavapärane graafiline tähistus

Kellasisendid jada- (nihke)registrites, aga ka paralleelregistrites on kombineeritud. See tagab kõigi järjestikuse (nihke) registri osaks olevate plätude oleku samaaegse muutumise.

Jadakoodi (nihke)registris paralleelkoodi teisendamine toimub järgmiselt. Binaarse teabe üksikud bitid suunatakse järjestikku nihkeregistri D0 sisendisse. Iga bitiga kaasneb eraldi taktimpulss, mis rakendatakse jadaregistri C taktsisendile.

Pärast esimese taktimpulsi saabumist salvestatakse sisendis D0 olev loogika tase jada (nihke) registri esimesse trigerisse ja suunatakse selle väljundisse ning kuna see on ühendatud teise trigeri sisendiga, on see ka saadetakse selle sisendisse. Kui järjestikune (nihke)register oleks kokku pandud potentsiaalil töötavatele D-kiledele, siis kirjutataks see bitt kohe teise D-flip-flopi juurde! Meie puhul seda ei juhtu, kuna selleks hetkeks on sünkroniseerimissisendi C serv juba lõppenud.

Pärast teise taktimpulsi saabumist salvestatakse sellesse jada (nihke) registri teise trigeri sisendis olev loogikatase ja suunatakse selle väljundisse ning kuna see on ühendatud kolmanda trigeri sisendiga, siis selle sisend. Samal ajal salvestatakse jada (nihke) registri esimesse trigerisse sisestatud jadakoodi järgmine bitt.

Pärast neljanda taktimpulsi saabumist kirjutavad jada (nihke) registri trigerid nende bittide loogilised tasemed, mis olid järjestikku selle sisendis D0. Nüüd saab neid bitte kasutada näiteks indikaatoritel kuvamiseks.

Laske signaalil jõuda jada (nihke) registri sisendisse, mille ajastusskeem on näidatud joonisel 3, siis võtab selle registri väljundite olek järjestikku tabelis 1 registreeritud väärtused.



Joonis 3. Nihkeregistri ajastusskeem

Joonisel 3 koos loogikatasemetega salvestatakse ühendusliini kaudu edastatavate või nihkeregistri väljunditel esinevate bittide väärtused.

mõõta number 1 2 3 1
Q0 1 0 1 1
Q1 X 1 0 1
Q2 X X 1 0
Q3 X X X 1

Jada (nihke) registri rakendamise näitena võib nimetada kodumaist mikrolülitust 1564IR1 või välismaist 74NS164.