Pulssien lukumäärän laskuri on laite, jonka lähdöistä saadaan binääri- tai binääridesimaalikoodi , joka määräytyy vastaanotettujen pulssien lukumäärän mukaan. Laskurit voidaan rakentaa kaksivaiheisiin D-flip-flops , T-flip-flops ja JK-flip-flops .
Laskurin pääparametri on laskentamoduuli - yksittäisten signaalien enimmäismäärä , jonka laskuri voi laskea. Laskurit on merkitty ST:llä (englanninkielisestä laskurista).
Laskurit luokitellaan:
Binäärilaskurin kaavio voidaan saada käyttämällä muodollista synteesiä , mutta heuristinen näyttää olevan visuaalisempi. Binäärilaskurin totuustaulukko on binäärilukujen sarja nollasta , jossa n on laskurin kapasiteetti. Taulukon muodostavien numeroiden havainnointi johtaa binäärilaskurin lohkokaavion ymmärtämiseen. Pienimmän merkitsevän numeron tilat katsottuna taulukon vastaavassa sarakkeessa näyttävät nollien ja ykkösten vuorottelun muodossa 01010101 ..., mikä on luonnollista, koska vähiten merkitsevä numero vastaanottaa tulosignaalin ja vaihtaa jokaisesta syöttötoiminto. Seuraavassa numerossa havaitaan nolla- ja ykkösparien sarja muotoa 00110011 .... Kolmannessa numerossa muodostuu nollien neljän ja ykkösten sarja 00001111 ... jne. Tästä havainnosta voidaan nähdä, että seuraava virka-ajan numero vaihtuu taajuudella, joka on kaksi kertaa pienempi kuin tämä.
Tiedetään, että laskentaliipaisin jakaa tulopulssien taajuuden kahdella. Vertaamalla tätä tosiasiaa yllä esitettyyn malliin, näemme, että laskuri voidaan rakentaa peräkkäin sisällytettyjen laskentalaukaisimien ketjuksi. Huomaa muuten, että GOST:n mukaan elementtien tulot on kuvattu vasemmalla ja lähdöt oikealla. Tämän säännön noudattaminen johtaa siihen, että laskurin sisältämässä numerossa alemmat numerot sijaitsevat vanhempien numeroiden vasemmalla puolella.
Yllä on tarkasteltu binääristen peräkkäisten laskurien kaavioita, eli sellaisia laskureita, joissa tietyn liipaisimen tilan muuttuessa seuraava liipaisin viritetään ja liipaisimet eivät muuta tilojaan samanaikaisesti, vaan peräkkäin. Jos tässä tilanteessa n liipaisimen täytyy muuttaa tilaansa, tämän prosessin suorittamiseen tarvitaan n aikaväliä, joka vastaa kunkin liipaisimen tilan muuttamisaikaa. Tämä toiminnan peräkkäinen luonne johtuu sarjalaskurin kahdesta haitasta: alhaisemmasta laskentanopeudesta rinnakkaisiin laskureihin verrattuna ja väärien signaalien mahdollisuudesta piirin lähdössä. Rinnakkaislaskureissa kellosignaalit lähetetään kaikille kiikkuille samanaikaisesti.
Laskurin liipaisusiirtymien peräkkäinen luonne on väärien signaalien lähde sen lähdöissä. Esimerkiksi nelibittisessä laskurissa, joka laskee perinteisessä nelibittisessä binäärikoodissa, jonka bittien "painot" ovat 8-4-2-1, siirryttäessä tilasta tilaan seuraava tilasarja ilmestyy ulostuloon :
Tämä tarkoittaa, että tilasta 7 tilaan 8 siirtymisen aikana laskurituloihin ilmestyy lyhyen aikaa tiloja 6 vastaavat koodit; neljä; 0. Näiden välitilojen muuttaminen voi aiheuttaa muiden logiikkapiirien virheellisen toiminnan, esimerkiksi jos dekooderi on kytketty tällaiseen laskuriin , sen lähdöissä voi hetkeksi ilmaantua aktiivisia tiloja 0, 4, 6, mikä voi muuttaa virheellisesti muut liipaisimet, jotka on kytketty niihin tuloissa - tätä ei-toivottua ilmiötä kutsutaan loogisiksi kilpailuiksi tai signaalikilpailuiksi. Kilpailut voidaan eliminoida käyttämällä laskureita, joissa on naapuri- tai kilpailun vastainen tilakoodaus, esimerkiksi laskemalla reflektiivinen harmaakoodi .
Transienttiprosessien ajan lyhentämiseksi on mahdollista toteuttaa laskuri vaihtoehdossa syöttämällä sisääntulolaskentapulsseja samanaikaisesti kaikille liipaisuille. Tässä tapauksessa saamme laskurin rinnakkaissiirrolla.
Rinnakkaissiirrolla varustettujen laskurien kaavioiden mukaan rakennetaan laskureita, joissa yhden liipaisimen kytkentäviive on verrannollinen laskettujen pulssien ajanjaksoon.
Esimerkki . Jos yhden liipaisimen kytkentäviive on 30 ns, silloin kun laskuri rakennetaan kaavion mukaisesti yli neljän bitin peräkkäisellä siirrolla, joka toimii tavanomaisessa binäärikoodissa, pulssien laskentajaksolla 120 ns tai vähemmän, laskettaessa epäonnistumisia alkaa, siirrolla ei ole aikaa edetä liipaisuketjun läpi ennen seuraavan laskentaimpulssin saapumista.
Rinnakkaissiirrolla varustetuissa laskureissa signaaleja lähetetään triggerien tietotuloihin, jotka ovat laskurin tilan looginen funktio ja määrittävät erityiset liipaisimet, joiden tulee muuttaa tilaansa tietyllä tulopulssilla. Avainnusperiaate on seuraava: flip-flop muuttaa tilaansa, kun seuraava synkronointipulssi välitetään, jos kaikki aiemmat kiikut olivat loogisen yksikön tilassa.
Rinnakkaislaskurit ovat tehokkaampia kuin sarjalaskurit, koska laskurin nykytilasta ja laskentapulssista tuleva looginen toiminto lähetetään kaikkien liipaisujen kytkentätuloihin samanaikaisesti.
Rinnakkaissiirrolla varustetuilla synkronisilla laskureilla on maksiminopeus, jonka rakenteen löydämme heuristisesti ottamalla huomioon prosessit, joissa binäärilukuihin lisätään yksi ja vähennetään se niistä.
Suuren kapasiteetin rinnakkaissiirron laskureiden rakentamista koskevien rajoitusten yhteydessä käytetään laajalti ryhmärakenteellisia tai sarja-rinnakkaissiirrolla varustettuja laskureita. Tällaisten laskurien numerot on jaettu ryhmiin, joissa rinnakkaisen siirron periaate on järjestetty. Itse ryhmät yhdistetään peräkkäin käyttämällä konjunktoreita , jotka muodostavat siirron seuraavaan ryhmään kaikkien aikaisempien liipaisujen yhdellä tilassa. Jos ryhmän kaikkien triggereiden tila on yksittäinen, seuraavan tulosignaalin saapuminen luo siirron tästä ryhmästä. Tämä tilanne valmistaa ryhmien välisen liittimen välittämään tulosignaalin suoraan seuraavalle ryhmälle.
Pahimmassa tapauksessa suorituskyvyn kannalta, kun siirto kulkee kaikkien ryhmien läpi ja tulee viimeisen syötteeseen,
t SET = t • (ĺ - 1) + t GR ,missä ĺ on ryhmien lukumäärä, t GR on koodin muodostamisaika ryhmässä.
Kehitetyissä IC-sarjoissa on yleensä 5 ... 10 binäärilaskuria, jotka on tehty nelinumeroisten ryhmien (osien) muodossa. Osuuksien kaskadiointi voidaan suorittaa kytkemällä niitä sarjaan siirtoketjuja pitkin, järjestämällä rinnakkaissarjasiirrot tai monimutkaisemmilla mittareilla kahdella lisäohjaustulolla laskenta- ja siirtomahdollisuutta varten järjestämällä rinnakkaiset siirrot sekä ryhmissä että niiden välillä.
Synkronisen tyypin binäärilaskurien ominaisuus on tilanteet, joissa kaikki sen numerot vaihdetaan samanaikaisesti (esimerkiksi summauslaskuria varten, kun vaihdetaan koodiyhdistelmästä 11 ... 1 yhdistelmään 00 ... 0, kun laskuri ylivuotetaan ja siirtosignaali muodostetaan). Monien liipaisujen samanaikainen kytkeminen luo ohjausyksikön tehonsyöttöpiireihin merkittävän virtapulssin ja voi johtaa niiden toimintahäiriöön. Tästä syystä ohjemateriaaleissa erityisesti joidenkin ohjelmoitavan logiikan LSI/VLSI:n käytöstä on binäärilaskurien kapasiteettia rajoitettu tietyllä arvolla k (esimerkiksi 16). Jos on tarpeen käyttää suuremman kapasiteetin laskuria, on suositeltavaa siirtyä Gray-koodiin, jossa siirtymiset koodiyhdistelmästä toiseen liittyvät vain yhden bitin vaihtamiseen. Totta, saadaksesi laskentatuloksen binäärikoodissa, sinun on käytettävä ylimääräistä koodimuunninta, mutta tämä on hinta, joka on maksettava tehopiireissä olevien voimakkaiden virtapulssien poistamisesta.
Mikro-ohjaimet | ||||||||
---|---|---|---|---|---|---|---|---|
Arkkitehtuuri |
| |||||||
Valmistajat |
| |||||||
Komponentit | ||||||||
Periferia | ||||||||
Liitännät | ||||||||
OS | ||||||||
Ohjelmointi |
|