Digitaalipiirit/Rekisterit ja laskurit

Rekisterit

muokkaa

Rekistereitä käytetään tiedon tallentamiseen. Ne kootaan kiikuista. Koska bitillä on kaksi arvoa ja kiikuilla kaksi tilaa, voidaan rekisterin jokaiseen kiikkuun tallettaa yksi bitti. Rekisterit voidaan jaotella kahteen ryhmään sen mukaan, miten tieto ladataan rekisteriin ja miten rekisterin sisältö saadaan luettua. Ryhmät ovat rinnakkaisrekisteri ja erilaiset siirtorekisterit.

Rinnakkaisrekisteri

muokkaa

Yleisimmin käytetty rekisterirakenne on rinnakkaisrekisteri (parallel register), johon tieto kopioidaan kellosignaalin reunalla. Tallennettu tieto on jatkuvasti saatavilla kiikkujen lähdöistä. Rinnakkaisrekisteriin liittyy usein asynkroninen nollaus R-tulon avulla ja toiminnan salliminen ja estäminen sallintatulon EN avulla. Myös asetus S-tulon avulla on mahdollinen.

 
4-Bittisen rinnakkaisrekisterin piirrosmerkki. Yhteinen ohjauslohko ja neljä D-kiikkua.

Siirtorekisterit

muokkaa

Useissa digitaalitekniikan sovelluksissa tarvitaan rekisterin sisällön sivuttaissiirtoa. Alla olevassa kuvassa 3 on esitetty SIPO-tyyppisen (serial-in paraller-out) siirtorekisterin rakenne D-kiikkuja käyttäen. Rekisteriin talletettavat bitit tuodaan yksi kerrallaan vasemmanpuolimmaisen kiikun tuloon ja siirretään eteenpäin kellopulssien avulla. Koska kellopulssi tulee samanaikaisesti kaikkiin kiikkuihin ja kiikuilla on riittävän suuri viive, siirtyy jokaisen kiikun nykyinen tila seuraavaan kiikkuun. Vaikka edellisen kiikun lähtö muuttuisi kiikun viiveen jälkeen, kellopulssi ei enää vaikuta seuraavaan kiikun kellotulossa, eikä kiikun seuraava tila pääse vaikuttamaan seuraavan kiikun tilamuutokseen. Siirtorekisterin bittien määrällä ei ole rajoitusta. Kun rekisteri on täynnä, bitit voidaan lukea samanaikaisesti kiikkujen lähdöistä. Siirtorekisterin sisältö saadaan luettua myös sarjamuodossa viimeisen kiikun lähdöstä bitti kerrallaan tuomalla täyteen rekisteriin kellopulsseja. Mikäli vain viimeisen kiikun lähtö on luettavissa, on kyseessä SISO-tyyppinen (serial-in serial out, kuva 1.) siirtorekisteri. PISO-tyyppinen (parallel-in serial-out, kuva 2.) siirtorekisteri on kyseessä silloin, kun rekisterin sisällä tapahtuu rinnakkais-sarjamuunnos.

 
kuva 1. 4-bittinen SISO-siirtorekisteri.


 
kuva 2. 4-bittinen PISO-Siirtorekisteri
 
kuva 3. 4-bittinen SIPO-Siirtorekisteri


Laskurit

muokkaa

Laskurit ovat sekvenssipiirejä, joissa tietty tilasekvenssi toistuu jatkuvasti. Tärkeä laskurien ryhmä ovat binaarilaskurit. Niiden binaariluvuksi tulkittu sisältö kasvaa tai vähenee yhdellä jokaisella kellopulssin aktiivisella reunalla.


Binaarilaskurit

muokkaa

Binaarilaskurit (binary counter) ovat sekvenssipiirejä, jotka käyvät läpi piirin kaikki tilat suuruusjärjestyksessä, kun piirin tila tulkitaan binaariluvuksi. Binaarilukulaskureita on useita erilaisia. Ylöspäin laskevassa binaarilaskurissa tilat kierretään suuruusjärjestyksessä nollasta ylöspäin, joten esimerkiksi neljäbittisessä binaarilaskurissa peräkkäiset tilat ovat 0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, jne. Neljäibittisen alaspäin laskevan binaarilaskurin tilat ovat päinvastaisessa järjestyksessä. Kaksisuuntainen laskuri laskee molempiin suuntiin. Sen laskemissuunta valitaan ohjastulon avulla. Mikäli ylöspäin laskevan binaarilaskurin alkuarvo on 0, sen voidaan tulkita laskevan saapuvien kellopulssien määrää.

 
4-bittinen binaarilaskuri

Rengaslaskuri

muokkaa

Jos siirtorekisterin viimeisen kiikun lähtö kytketään sen ensimmäisen kiikun tuloon, saadaan rengaslaskuri (ring counter). Rengaslaskurin sisältönä oleva bittikuvio kiertää niin, että n-bittisen laskurin sisältö on ennallaan n:n kellopulssin jälkeen. Useissa digitaalisissa laitteissa tarvitaan joukkoa ohjauspulsseja, joista kukin vuorollaan on ykkönen ja muut nollia.

 
Ohjauspulssijonon muodostaminen rengaslaskurilla
 
Rengaslaskuri D-kiikulla toteutettuna

Johnson-laskuri

muokkaa

JK-kiikuilla toteutettu Johnson-laskuri (Johnson counter) muodostetaan niin, että siirtorekisterin viimeisen kiikun lähtö kytketään ensimmäisen kiikun K-tuloon ja viimeisen kiikun lähdön komplementti ensimmäisen kiikun J-tuloon. Johnson-laskurissa kopioituu kellopulssin reunalla viimeisen kiikun tilan komplementti ensimmäiseen kiikkuun. Jos Johnson-laskuri on täynnä nollia, se alkaa täyttyä vasemmalta lukien ykkösillä. Kun se on täynnä ykkösiä, se täyttyy vasemmalta lukien nollilla. n-bittisessä Johnson-laskurissa on käytössä 2n tilaa.

 
Johnson laskuri JK-kiikuilla toteutettuna

Lähteet

muokkaa
  • Seppo Haltsonen, Jaakko Levomäki, Esko T. Rautanen: Digitaalitekniikka. Edita, 2004. ISBN 951-37-3886-8.