- Mikä on vaihtorekisteri:
- Digitaalisen elektroniikan rekisterityypit
- 1. Sarja sisään - Sarja ulos siirtorekisterit
- 2. Sarja sisään - Rinnakkainen vaihto -rekisteri
- 3. Rinnakkainen sisään - Sarja ulos -vaihtorekisteri
- 4. Rinnakkaisliitäntä - Rinnakkaislähtösiirtorekisteri
- 5. Kaksisuuntaiset siirtorekisterit
- 6. Laskurit
- Shift-rekisterien sovellukset
Mikä on vaihtorekisteri:
Siirtorekisterit ovat peräkkäisiä logiikkapiirejä, jotka pystyvät tallentamaan ja siirtämään tietoja. Ne koostuvat kiikarista, jotka on kytketty siten, että yhden kiikun lähtö voisi toimia toisen kiikun tulona riippuen luotavien siirtorekistereiden tyypistä.
Siirtorekisteriä ovat pohjimmiltaan eräänlainen rekisteriin, joka on kyky siirtää (”muutos”) dataa. Rekisterit ovat yleisesti tallennuslaitteita, jotka luodaan yhdistämällä tietty määrä varvastossuja sarjaan ja rekisterin tallentama datamäärä (bittien lukumäärä) on aina suoraan verrannollinen kiikkujen määrään, koska kukin kääntö floppi pystyy tallentamaan vain yhden bitin kerrallaan. Kun rekisterin kiikarit on kytketty siten, että yhden kiikun ulostulosta tulee toisen tulo, luodaan siirtorekisteri.
Varvastossut ovat laitteita, joiden toiminta on samanlainen kuin salvan. Sitä voidaan kutsua bistabiiliksi vibraattoriksi, joka voi liikkua kahden tilan (0 tai 1) välillä ja joka pystyy tallentamaan dataa bitteinä. Uusi data luetaan kiikalle jokaisen kellojakson ja edellisen lähdössä lähetetyn datan kanssa.
Vaihtorekisterit Mistä varvastossuista koostuu?
Tämä riippuu kuitenkin kiikun tyypistä, koska kiikun tulo-, lähtö- ja kellojaksosuhde vaihtelee. Varvassandaaleja on erilaisia, mutta yleisimmin siirtorekistereiden luomisessa ovat D (Delay) -kiikarit.
D-varvastossujen toimintaan, mikä tekee niistä niin toivottavia siirtorekistereille, aina kun D-kiikun kellossa on muutos (joko nouseva tai laskeva reuna, kiikun määrityksistä riippuen). Lähdön "Q" tiedoista tulee sama data kuin tulon "D" tiedoista . Kiikun ulostulo “Q” pysyy kyseisessä arvossa seuraavaan kellojaksoon saakka, jolloin se muuttuu taas tulon arvoksi (korkea tai matala, 1 tai 0).
Nyt kun tiedämme, mitä seulorekisterit ovat, jatkamme syvempää sukellusta kiikarityyppeihin ja niiden sovelluksiin. Mutta ennen sitä antamaan käytännönläheisempi kuvaus siitä, missä siirtorekistereitä käytetään, katsotaanpa suosittu siirtorekisteri 74HC595, jota olemme käyttäneet erilaisten mikro-ohjainten kanssa liittämään näyttöä tai LED-sarjaa.
- Vaihda Rekisteröi 74HC595: llä Arduinolla ohjata LED-sarjaa
- Vaihda rekisteröinti ESP32: lla 7-segmenttinäyttöön
- Vaihda rekisteröintiä Raspberry Pi: llä useiden LEDien ohjaamiseksi
- Vaihda Rekisteröi PIC: llä ohjata LEDien sarjaa
Digitaalisen elektroniikan rekisterityypit
Vaihtorekisterit luokitellaan tyyppeihin pääasiassa niiden toimintatavan mukaan, joko sarja- tai rinnakkaisnäytön mukaan.
Siirtorekistereitä on kuusi (6) perustyyppiä , jotka on lueteltu alla, vaikka jotkin niistä voidaan edelleen jakaa datavirran suunnan perusteella joko siirtymällä oikealle tai vasemmalle.
1. Sarja sisään - Sarja ulos siirtorekisteri (SISO)
2. Sarja sisään - rinnakkaislähtörekisteri (SIPO)
3. Rinnakkaistulo - Rinnakkaislähtösiirtorekisteri (PIPO)
4. Rinnakkaisliitäntä - Sarjalähtösiirtorekisteri (PISO)
5. Kaksisuuntaiset siirtorekisterit
6. Laskurit
1. Sarja sisään - Sarja ulos siirtorekisterit
Sarja sisään - Sarjalähtö-siirtorekisterit ovat siirtorekistereitä, jotka virtaavat dataa sarjaan (yksi bitti per kellojakso) ja suoratoistavat dataa myös samalla tavalla, peräkkäin.
Yksinkertainen sarjaliitäntäinen sarjaliitäntäinen 4-bittinen siirtorekisteri on esitetty yllä, rekisteri koostuu neljästä kiikasta ja jaottelu sen toimintaan selitetään alla;
Käynnistyksen yhteydessä siirtorekisteri tyhjennetään ensin pakottaen kaikkien kiikun ulostulot nollaan, syötetiedot syötetään sitten tuloon sarjaan, yksi bitti kerrallaan.
On olemassa kahta perustyyppiä tapaa siirtää dataa ulos läpi SISO siirtorekisterin;
- Rikkomaton lukema
- Tuhoava lukema
- Ei-tuhoava lukema
Rikkomattomiin lukupohjaisiin siirtorekistereihin on aina kirjoitettu / kirjoitettu toimintatila, johon on lisätty ylimääräinen rivi, jotta luku- ja kirjoitusmoodien välillä voidaan vaihtaa.
Kun laite on "kirjoita" -toimintatilassa, siirtorekisteri siirtää jokaisen datan ulos bitin kerrallaan käyttäytymällä täsmälleen samalla tavalla kuin tuhoava lukuversio ja data menetetään, mutta kun toimintatila vaihdetaan "lukemaan", data jotka siirretään sisääntulossa, menevät takaisin järjestelmään ja toimivat siirtorekisterin tulona. Tämä auttaa varmistamaan, että data pysyy pidempään (niin kauan kuin se pysyy lukutilassa)
- Tuhoava lukema
Tuhoisissa lukemissa tiedot menetetään kokonaan, kun kiikku vain siirtää tietoja läpi. Oletetaan, että yllä oleva 4-bittinen siirtorekisteri haluaa lähettää sanan "1101". Siirtorekisterin tyhjentämisen jälkeen kaikkien kiikkujen lähtö muuttuu 0: ksi, joten ensimmäisen kellosyklin aikana, kun sovellamme näitä tietoja (1101) sarjaan, kiikun ulostulot näyttävät alla olevalta taulukolta.
Ensimmäinen kellojakso:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
0 |
0 |
0 |
Toinen kellosykli:
FF0 |
FF1 |
FF2 |
FF3 |
0 |
1 |
0 |
0 |
Kolmas kellojakso:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
0 |
1 |
0 |
Neljäs kellosykli:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
1 |
0 |
1 |
2. Sarja sisään - Rinnakkainen vaihto -rekisteri
Toinen tarkasteltava siirtorekisterityyppi on Sarjainen - Rinnakkainen ulossiirtorekisteri, joka tunnetaan myös nimellä SIPO-siirtorekisteri. Tämän tyyppisiä siirtorekistereitä käytetään tietojen muuntamiseen sarjasta rinnakkaiseksi. Tiedot tulevat peräkkäin kellojaksoa kohden, ja ne voidaan joko siirtää ja vaihtaa tai lukea jokaisessa lähdössä. Tämä tarkoittaa sitä, että kun data luetaan, jokainen luettu bitti tulee saataville samanaikaisesti omalla lähtöjohdollaan (Q0 - Q3 alla esitetylle 4-bittiselle siirtorekisterille).
4-bittinen sarja sisään - Rinnakkainen lähtö -siirtorekisteri on esitetty alla olevassa kuvassa.
Alla on taulukko, joka osoittaa, kuinka data siirtyy sarjakuvasta 4-bittiseen rinnakkaissiirtorekisteriin, datan ollessa 1001.
Asia selvä |
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 |
Hyvä esimerkki sarjaliikenteestä - rinnakkaislähtöön -rekisteristä on 74HC164-siirtorekisteri, joka on 8-bittinen siirtorekisteri.
Laitteessa on kaksi sarjaliitäntätuloa (DSA ja DSB), kahdeksan rinnakkaista datalähtöä (Q0 - Q7). Tiedot syötetään sarjaan DSA: n tai DSB: n kautta ja kumpaakin syötettä voidaan käyttää aktiivisena HIGH-mahdollistuksena tietojen syöttämiseen toisen syötteen kautta. Tiedot siirretään kellotulon (CP) LOW-HIGH-siirtymillä. LOW master reset -tulossa (MR) tyhjentää rekisterin ja pakottaa kaikki lähdöt LOW, muista tuloista riippumatta. Tulot sisältävät puristindiodit. Tämä mahdollistaa virtaa rajoittavien vastusten käytön tulojen liittämiseen jännitteisiin, jotka ylittävät VCC: n.
3. Rinnakkainen sisään - Sarja ulos -vaihtorekisteri
Parallel in - Serial out shift -rekisterissä tiedot toimitetaan rinnakkain, esimerkiksi tarkastellaan alla esitettyä 4-bittistä rekisteriä.
Tätä rekisteriä voidaan käyttää 4-bittisen sanan tallentamiseen ja siirtämiseen siten, että kirjoitus / siirto (WS) -ohjaustulo ohjaa siirtorekisterin toimintatilaa. Kun WS-ohjauslinja on alhaalla (kirjoitusmuoto), tiedot voidaan kirjoittaa ja kellottaa D0: sta D3: een. Datan siirtämiseksi sarjaan, WS-ohjauslinjalle tuodaan HIGH (siirtotila), rekisteri siirtää sitten tiedot kellotuloon. Sarjakuvamuuttujarekisterimme rinnakkaisuutta kutsutaan myös PISO-siirtorekisteriksi.
Hyvä esimerkki rinnakkaisesta sarjasisäisen lähtösiirtorekisteristä on 74-bittinen 8-bittinen siirtorekisteri, vaikka sitä voidaan käyttää myös sarjaliitännän lähtön siirtorekisterinä.
Laitteessa on sarjadatatulo (DS), kahdeksan rinnakkaista datatuloa (D0 - D7) ja kaksi täydentävää sarjaliitäntää (Q7 ja Q7 '). Kun rinnakkaiskuormitussyöttö (PL) on MATALA, data välillä D0 - D7 ladataan siirtorekisteriin asynkronisesti. Kun PL on HIGH, tieto tulee rekisteriin sarjaan DS: llä. Kun kellon käyttöönottotulo (CE) on MATALA, data siirretään CP-tulon LOW-HIGH-siirtymillä. HIGH CE: ssä poistaa CP-syötteen käytöstä. Tulot kestävät 15 V: n ylijännitettä. Tämä mahdollistaa laitteen käytön HIGH-LOW-tasonsiirtosovelluksissa.
Siirtorekisterin toiminnallinen kaavio on esitetty alla;
Järjestelmän ajoituskaavio on alla olevan kuvan mukainen;
4. Rinnakkaisliitäntä - Rinnakkaislähtösiirtorekisteri
Rinnakkaisen sisään - rinnakkaisen lähtösiirtorekisterin kohdalla rinnakkaislähtöjen ulostulodata näkyy samanaikaisesti, kun syöttötiedot syötetään. Tämän tyyppistä siirtorekisteriä kutsutaan myös nimellä PIPO-siirtorekisteri.
Jokaisen tulonastan D0 - D3 tulotiedot luetaan samanaikaisesti, kun laitetta kellotetaan, ja samanaikaisesti kustakin tulosta luettu data välitetään vastaavalla lähdöllä (Q0: sta) Q3).
74HC195 siirtorekisteri on monikäyttöinen siirtorekisterin, joka kykenee toimimaan useimmissa kuvatuilla tavoilla kaikki tyypit olemme keskustelleet toistaiseksi varsinkin kun rinnakkain - yhdensuuntainen ulos siirtorekisterin.
5. Kaksisuuntaiset siirtorekisterit
Siirtorekisterit voivat joko suorittaa oikean tai vasemman tiedonsiirron tai molemmat riippuen siirtorekisterin tyypistä ja niiden kokoonpanosta. Oikeasiirtotoiminnoissa binääridata jaetaan kahdella. Jos tämä toiminto on päinvastainen, binääridata kerrotaan kahdella. Sopivalla yhdistelmälogiikan soveltamisella sarjakytkentärekisteri voidaan konfiguroida suorittamaan molemmat toiminnot.
Harkitse 4-bittistä rekisteriä alla olevassa kuvassa. Pari NAND-porttia on konfiguroitu OR-porteiksi ja niitä käytetään siirtosuunnan ohjaamiseen joko oikealle tai vasemmalle.
Ohjauslinjaa vasemmalle / kirjoita käytetään määrittämään suunta, johon tiedot siirretään joko oikealle tai vasemmalle.
74HC194 kaksisuuntainen siirtorekisteri on hyvä esimerkki. Rekisteri voi toimia kaikissa sarja- ja rinnakkaissyötön tai -lähdön tiloissa ja muunnelmissa. Ohjauslinjan, kellon, tulo- ja lähtönipun korostavan 74HC194: n toimintakaavio on esitetty alla.
Laitteen ajoituskaavio on myös esitetty alla. Se auttaa sinua paremmin ymmärtämään, kuinka ohjauslinja ohjaa rekisterin toimintoja.
6. Laskurit
Laskurit, joita joskus kutsutaan pyörimissiirtorekistereiksi, ovat periaatteessa siirtorekistereitä, joiden lähdöt syötetään takaisin laitteeseen tuloina siten, että se luo tietyn mallin. Tällaisia rekistereitä kutsutaan laskureiksi niiden osoittaman mallin ja sekvenssin vuoksi. Suosituin siirtorekisterilaskurityyppi on rengaslaskuri.
Soittolaskuri
Rengaslaskurit ovat periaatteessa eräänlainen laskuri, jossa merkittävimmän bitin lähtö syötetään takaisin vähiten merkitsevän bitin tulona. 4-bittinen rengaslaskuri on esitetty alla olevassa kaaviossa käyttäen D-varvastossuja.
Kun kellopulssia käytetään, kunkin vaiheen lähtö siirretään seuraavaan vaiheeseen, ja sykli jatkuu. Kun kirkas on käännetty korkealle, kaikki varvastossut paitsi ensimmäinen (joka asetetaan arvoon 1) nollataan.
Shift-rekisterien sovellukset
Siirtorekistereitä käytetään monissa sovelluksissa, joista osa on;
1. Sarjamuunnoksen rinnalla, jossa niitä käytetään kahden laitteen väliseen viestintään tarvittavien johtojen tai johtojen määrän vähentämiseen, koska sarjaliikenne vaatii yleensä vain kaksi johtoa rinnakkaiseen verrattuna, mikä riippuu lähetettävien bittien lukumäärästä.
2. IO-laajennus mikrokontrollereille. Nykyaikaisessa elektroniikassa mikrokontrollerien IO-nastoja kutsutaan kiinteistöiksi, ja niitä tarvitaan mahdollisimman paljon tiettyihin sovelluksiin, kuten 100 ledin kytkemiseen päälle tai 100 reed-kytkimen lukemiseen Arduino- tai Atmeg328p-mikrokontrollerilla. Esimerkiksi alla oleva piirikaavio havainnollistaa, kuinka sarjasta rinnakkaissiirtorekisteriin voidaan ohjata 8 LEDiä käyttämällä vain kolmea mikro-ohjaimen IO-nastaa.
3. Niitä käytetään valtiorekistereissä, joita käytetään peräkkäisissä laitteissa. Kuten rajallinen muistikone, laitteen seuraava tila määritetään aina siirtämällä ja lisäämällä uutta tietoa edelliseen sijaintiin.
4. Aikaviiveistä löytyy toinen pääsovellus. Siirtorekistereitä käytetään laitteiden aikaviiveisiin, kellon säätämän ajan mukaan tai kaskadirekisterirekisterien lisääntyessä tai vähentämällä ottamalla lähtö alemmasta merkitsevästä bitistä.
Aikaviive lasketaan yleensä kaavan avulla;
t = N * (1 / fc)
N on kiikunvaiheen lukumäärä, jolla lähtö otetaan, Fc on kellosignaalin taajuus ja t mikä määritettävä arvo on ajanjakso, jolle lähtö viivästyy.
Kun valitset siirtorekisterin tiettyyn tehtävään, koska se on laaja ja kirjoita se, sinun on tärkeää valita tiettyä tarpeitasi vastaava, ottaen huomioon esimerkiksi toimintatapa, bittikoko (kiikun lukumäärä), oikea tai vasen tai kaksisuuntainen jne.
Jotkut suosituimmista siirtorekistereistä ovat;
- 74HC 194 4-bittinen kaksisuuntainen universaalirekisteri
- 74HC 198 8-bittinen kaksisuuntainen universaalirekisteri
- 74HC595 Sarja-sisään-rinnakkais-lähtö-siirtorekisteri
- 74HC165 Parallel-In-Serial-Out -siirtorekisteri
- IC 74291 4-bittinen yleinen siirtorekisteri, binäärinen ylös / alas-laskuri, synkroninen.
- IC 74395 4-bittinen yleinen siirtorekisteri, jossa on kolmen tilan lähdöt.
- IC 74498 8-bittinen kaksisuuntainen siirtorekisteri, jossa on rinnakkaiset tulot ja kolmen tilan lähdöt.
- IC 74671 4-bittinen kaksisuuntainen siirtorekisteri.
- IC 74673 16-bittinen sarjaliitäntäinen sarjaliitäntäinen siirtorekisteri, jossa on ulostulotallennusrekisterit.
- IC 74674 16-bittinen rinnakkaisporttinen sarjaliitäntäinen siirtorekisteri, jossa on kolmen tilan lähdöt.
On olemassa useita muita, sinun tarvitsee vain löytää, mikä sopii parhaiten sovellukseesi.
Kiitos lukemisesta seuraavaan kertaan.