Tælleren for antallet af impulser er en enhed, ved hvis udgange en binær eller binær decimalkode opnås, bestemt af antallet af modtagne impulser. Tællere kan bygges på to-trins D-flip-flops , T-flip-flops og JK-flip-flops .
Tællerens hovedparameter er tællemodulet - det maksimale antal enkeltsignaler, der kan tælles af tælleren. Tællere er betegnet med ST (fra den engelske tæller).
Tællere er klassificeret:
Skemaet for en binær tæller kan opnås ved hjælp af formel syntese , men en heuristisk ser ud til at være mere visuel. Sandhedstabellen for en binær tæller er en sekvens af binære tal fra nul til , hvor n er tællerens kapacitet. Observation af cifrene i tallene, der udgør tabellen, fører til en forståelse af blokdiagrammet for en binær tæller. Tilstandene for det mindst betydende ciffer, når det ses i den tilsvarende kolonne i tabellen, viser vekslen mellem nuller og ettaller på formen 01010101 ..., hvilket er naturligt, da det mindst betydende ciffer modtager et inputsignal og skifter fra hver input handling. I det næste ciffer observeres en sekvens af par af nuller og ener af formen 00110011 .... I det tredje ciffer dannes en sekvens af firere af nuller og enere 00001111 ... osv. Ud fra denne observation kan det ses, at det næste ciffer i anciennitet skifter med en frekvens, der er to gange mindre end denne.
Det er kendt, at tælleudløseren deler frekvensen af indgangsimpulserne med to. Ved at sammenligne denne kendsgerning med mønsteret angivet ovenfor, ser vi, at tælleren kan bygges som en kæde af sekventielt inkluderede tælleudløsere. Bemærk forresten, at ifølge GOST er elementernes input afbildet til venstre og udgangene til højre. Overholdelse af denne regel fører til det faktum, at i antallet i tælleren er de nederste cifre placeret til venstre for de ældre.
Skemaerne for binære sekventielle tællere betragtes ovenfor, det vil sige sådanne tællere, hvor, når tilstanden af en bestemt trigger ændres, den næste trigger exciteres, og triggerne ændrer deres tilstande ikke samtidigt, men sekventielt. Hvis n triggere i denne situation skal ændre deres tilstande, vil der være behov for n tidsintervaller for at fuldføre denne proces, svarende til tidspunktet for ændring af tilstanden for hver af triggerne. Denne sekventielle karakter af drift er årsagen til to ulemper ved en seriel tæller: en lavere tællehastighed sammenlignet med parallelle tællere og muligheden for falske signaler ved udgangen af kredsløbet. I parallelle tællere sendes kloksignaler til alle flip-flops samtidigt.
Den sekventielle karakter af tællerudløserovergange er en kilde til falske signaler ved dens udgange. For eksempel, i en fire-bit tæller, der tæller i en konventionel fire-bit binær kode med "vægte" af bit 8-4-2-1, når den går fra tilstand til tilstand , vil følgende sekvens af tilstande vises ved outputtet :
Dette betyder, at under overgangen fra tilstand 7 til tilstand 8, vil koder svarende til tilstande 6 dukke op ved tællerindgangene i kort tid; fire; 0. Ændring af disse mellemtilstande kan forårsage forkert drift af andre logiske kredsløb, f.eks. hvis en dekoder er forbundet til en sådan tæller , kan aktive tilstande kortvarigt vises på dens udgange 0, 4, 6, hvilket fejlagtigt kan ændre tilstandene af andre triggere forbundet til dem ved indgangene - dette uønskede fænomen kaldes logiske løb eller signalløb. Racer kan elimineres ved at bruge tællere med nabo- eller anti-racing tilstandskodning, for eksempel ved at tælle i refleksiv grå kode .
For at reducere tiden for transiente processer er det muligt at implementere tælleren i varianten med tilførsel af inputtælleimpulser samtidigt til alle triggere. I dette tilfælde får vi en tæller med parallel overførsel.
I henhold til skemaerne for tællere med parallel overførsel er tællere bygget, koblingsforsinkelsen for en trigger, hvori er i forhold til perioden for de talte impulser.
Eksempel . Hvis omskiftningsforsinkelsen for en trigger er 30 ns, så når der bygges en tæller i henhold til skemaet med sekventiel overførsel af mere end fire bit, der opererer i en konventionel binær kode, med en periode med tælleimpulser på 120 ns og derunder, tæller fejl vil begynde, har overførslen ikke tid til at forplante sig gennem kæden af triggere før ankomsten af den næste tælleimpuls.
I tællere med parallel overførsel sendes signaler til triggernes informationsindgange, som er en logisk funktion af tællerens tilstand og bestemmer specifikke triggere, der skal ændre deres tilstand ved en given indgangsimpuls. Gate-princippet er som følger: flip-floppen ændrer sin tilstand, når den næste synkroniseringsimpuls sendes, hvis alle tidligere flip-flops var i tilstanden af en logisk enhed.
Parallelle tællere har en højere ydeevne sammenlignet med serielle, da den logiske funktion fra den aktuelle tilstand af tælleren og tælleimpulsen sendes til alle triggers koblingsindgange samtidigt.
Synkrone tællere med parallel overførsel har den maksimale hastighed, hvis struktur vi vil finde heuristisk ved at overveje processerne med at tilføje en til binære tal og trække den fra dem.
I forbindelse med restriktionerne for konstruktion af tællere med parallel overførsel af stor kapacitet, anvendes tællere med gruppestruktur eller tællere med seriel-parallel overførsel i vid udstrækning. Cifrene på sådanne tællere er opdelt i grupper, inden for hvilke princippet om parallel overførsel er organiseret. Selve grupperne er forbundet sekventielt ved hjælp af konjunktorer , der danner en overførsel til den næste gruppe med en enkelt tilstand af alle tidligere udløsere. Hvis tilstanden for alle triggere i gruppen er enkelt, vil ankomsten af det næste inputsignal skabe en overførsel fra denne gruppe. Denne situation forbereder inter-gruppe-konjunktoren til at sende indgangssignalet direkte til den næste gruppe.
I værste tilfælde for ydeevne, når carry passerer gennem alle grupper og går ind i input fra den sidste,
t SET = t • (ĺ - 1) + t GR ,hvor ĺ er antallet af grupper, t GR er tidspunktet for etablering af koden i gruppen.
I den udviklede serie af IC'er er der normalt 5 ... 10 varianter af binære tællere, lavet i form af fire-cifrede grupper (sektioner). Kaskadering af sektioner kan udføres ved at skifte dem i serie langs overførselskæderne, organisere parallel-serielle overførsler eller for mere komplekse målere med to ekstra kontrolindgange til tælleaktivering og overførselsaktivering ved at organisere parallelle overførsler både i grupper og mellem dem.
Et træk ved binære tællere af den synkrone type er tilstedeværelsen af situationer med samtidig skift af alle dens cifre (for eksempel for en summeringstæller ved skift fra kodekombination 11 ... 1 til kombination 00 ... 0, når tælleren løber over og et overførselssignal genereres). Samtidig omskiftning af mange triggere skaber en betydelig strømimpuls i styreenhedens strømforsyningskredsløb og kan føre til fejl i deres drift. Derfor er der især i vejledningsmaterialerne om brugen af nogle LSI/VLSI af programmerbar logik en begrænsning på kapaciteten af binære tællere med en given værdi k (for eksempel 16). Hvis det er nødvendigt at bruge en tæller med større kapacitet, anbefales det at skifte til Grå-koden, for hvilken overgange fra en kodekombination til en anden ledsages af kun at skifte en bit. Sandt nok, for at opnå et tælleresultat i binær kode, skal du bruge en ekstra kodekonverter, men dette er en pris, du skal betale for at slippe af med højintensive strømimpulser i strømkredsløb.
Mikrocontrollere | ||||||||
---|---|---|---|---|---|---|---|---|
Arkitektur |
| |||||||
Producenter |
| |||||||
Komponenter | ||||||||
Periferi |
| |||||||
Grænseflader | ||||||||
OS | ||||||||
Programmering |
|