Teller (digital) - Counter (digital)

Spenningsendringer på de 5 utgangene til den binære telleren teller fra 00000, venstre til 11111 (eller 31), høyre (vertikalt).

I digital logikk og databehandling er en teller en enhet som lagrer (og noen ganger viser) antall ganger en bestemt hendelse eller prosess har skjedd, ofte i forhold til en klokke . Den vanligste typen er en sekvensiell digital logikkrets med en inngangslinje kalt klokken og flere utgangslinjer. Verdiene på utgangslinjene representerer et tall i det binære eller BCD -tallsystemet . Hver puls som brukes på klokkeinngangen øker eller reduserer tallet i telleren.

En motkrets er vanligvis konstruert av et antall flip-flops koblet i kaskade. Tellere er en veldig mye brukt komponent i digitale kretser , og er produsert som separate integrerte kretser og også inkorporert som deler av større integrerte kretser.

Elektroniske tellere

En elektronisk teller er en sekvensiell logisk krets som har et klokkeinngangssignal og en gruppe utgangssignaler som representerer et heltall "tellende" verdi. Ved hver kvalifisert klokkekant vil kretsen øke (eller redusere, avhengig av kretsutforming) tellingen. Når tellingen har nådd slutten av tellesekvensen (maksimale tellinger ved økning, nulltelling ved reduksjon), vil den neste klokken føre til at tellingen flyter over eller underflyter, og tellingssekvensen starter på nytt. Internt bruker tellere flip-flops for å representere gjeldende tellinger og for å beholde tellingen mellom klokkene. Avhengig av type teller kan utgangen være en direkte representasjon av tellingen (et binært tall) eller den kan være kodet. Eksempler på sistnevnte inkluderer ringtellere og tellere som sender ut grå koder.

Mange tellere gir ytterligere inngangssignaler for å lette dynamisk kontroll av tellesekvensen, for eksempel:

  • Tilbakestill - setter tellingen til null. Noen IC -produsenter kaller det "klart" eller "master reset (MR)".
  • Aktiver - tillater eller hemmer telling.
  • Retning - bestemmer om tellingen vil øke eller redusere.
  • Data - parallelle inndata som representerer en bestemt telleverdi.
  • Last - kopierer parallelle inndata til tellingen.

Noen tellere gir en Terminal Count -utgang som indikerer at neste klokke vil forårsake overløp eller understrøm. Dette brukes vanligvis for å implementere tellerkaskadering (kombinere to eller flere tellere for å lage en enkelt, større teller), ved å koble Terminal Count -utgangen til en teller til Aktiver inngangen til den neste telleren.

Modulen til en teller er antall tilstander i sin tellesekvens. Maksimal mulig modul bestemmes av antall flip-flops. For eksempel kan en firebits teller ha en modul på opptil 16 (2^4).

Teller er vanligvis klassifisert som enten synkron eller asynkron. I synkrone tellere deler alle flip-flops en felles klokke og endrer tilstand samtidig. I asynkrone tellere har hver flip-flop en unik klokke, og flip-flop-tilstandene endres på forskjellige tidspunkter.

Synkrone tellere er kategorisert på forskjellige måter. For eksempel:

  • Modul teller - teller gjennom et bestemt antall stater.
  • Tiårsteller - modul 10 teller (teller gjennom ti stater).
  • Opp/ned teller - teller både opp og ned, som angitt av en kontrollinngang.
  • Ringteller - dannet av et "sirkulært" skiftregister .
  • Johnson counter - en vridd ringteller.
  • Gråkodeteller-sender ut en sekvens med grå koder.

Telleverk implementeres på en rekke måter, inkludert som dedikerte MSI- og LSI- integrerte kretser , som innebygde tellere i ASIC-er , som generelle teller- og timerutstyr i mikrokontrollere og som IP-blokker i FPGA-er .

Asynkron (krusning) teller

Asynkron teller laget av to JK flip-flops

En asynkron (krusning) teller er en "kjede" av vippeklapper (T) der den minst signifikante vippen (bit 0) klokkes med et eksternt signal (tellerinngangsklokken) og alle andre vipper er klokkes etter utgangen fra den nærmeste, mindre signifikante flip-floppen (f.eks. bit 0 klokker bit 1 flip-flop, bit 1 klokker bit 2 flip-flop, etc.). Den første vippen blir klokket av stigende kanter; alle andre flip-flops i kjeden blir klokket av fallende klokkekanter. Hver flip-flop introduserer en forsinkelse fra klokkekanten til utgangskontakten, og får dermed tellerbitene til å endres på forskjellige tidspunkter og gir en ringvirkning når inngangsklokken forplanter seg gjennom kjeden. Når den implementeres med diskrete flip-flops, blir ringtellere vanligvis implementert med JK flip-flops , med hver flip-flop konfigurert til å veksle når den klokkes (dvs. J og K er begge koblet til logic high).

I det enkleste tilfellet består en-bits teller av en enkelt vippe. Denne telleren øker (ved å bytte utgang) en gang per klokkesyklus og vil telle fra null til en før den flyter over (starter på nytt på null). Hver utgangstilstand tilsvarer to klokkesykluser, og følgelig er flip-flop-utgangsfrekvensen nøyaktig halvparten av frekvensen til inngangsklokken. Hvis denne utgangen deretter brukes som klokkesignal for en andre flip-flop, vil paret av flip-flops danne en to-bits kruseteller med følgende statussekvens:

Klokke syklus Q1 Q0 (Q1: Q0) desimal
0 0 0 0
1 0 1 1
2 1 0 2
3 1 1 3
4 0 0 0

Ytterligere flip-flops kan legges til kjeden for å danne tellere av vilkårlig ordstørrelse, med utgangsfrekvensen for hver bit lik nøyaktig halvparten av frekvensen til den nærmeste, mindre signifikante biten.

Rippel -tellere viser ustabile utgangstilstander mens inngangsklokken forplanter seg gjennom kretsen. Varigheten av denne ustabiliteten (utgangstiden) er proporsjonal med antall flip-flops. Dette gjør ringtellerne uegnede for bruk i synkrone kretser som krever at telleren har en rask utgangstid. Det er også ofte upraktisk å bruke bølgetellerutgangsbiter som klokker for eksterne kretser fordi ringvirkningen forårsaker tidsforskjell mellom bitene. Rippel-tellere brukes ofte som tellere for generelle formål og klokkefrekvensdelere i applikasjoner der øyeblikkelig telling og timing-skjevhet er uviktig.

Synkron teller

En 4-bits synkron teller som bruker JK flip-flops

I en synkron teller er klokkeinngangene til flip-flops koblet sammen og alle flip-flops utløses samtidig av den vanlige klokken. Følgelig endrer alle flip-flops tilstanden samtidig (parallelt).

For eksempel er kretsen vist til høyre en stigende (opptelling) fire-bits synkron teller implementert med JK flip-flops. Hver bit av denne telleren får lov til å veksle når alle de mindre signifikante bitene er i en logisk høy tilstand. Når klokken stiger kant, bytter bit 1 hvis bit 0 er logisk høyt; bit 2 bytter hvis bitene 0 og 1 begge er høye; bit 3 bytter hvis bitene 2, 1 og 0 alle er høye.

Tiårsteller

En krets tiårsteller med JK Flip-flops (74LS112D)

En tiårsteller er en som teller med desimalsifre, snarere enn binær. En tiårsteller kan ha hver (det vil si at den kan telle i binærkodet desimal , slik 7490 integrerte kretsen gjorde) eller andre binære kodinger. En tiårsteller er en binær teller som er designet for å telle til 1001 (desimal 9). En vanlig firetrinns teller kan enkelt endres til en tiårsteller ved å legge til en NAND-port som i skjematikken til høyre. Legg merke til at FF2 og FF4 gir inngangene til NAND -porten. NAND -portutgangene er koblet til CLR -inngangen til hver av FF -ene. ". Den teller fra 0 til 9 og nullstilles deretter til null. Tellerutgangen kan settes til null ved å pulsere tilbakestillingslinjen. Tellingen øker deretter hver klokkepuls til den når 1001 (desimal 9). Når den øker til 1010 (desimal 10) går begge inngangene til NAND -porten høyt.Resultatet er at NAND -utgangen går lavt, og nullstiller telleren. D går lavt kan være et CARRY OUT -signal, som indikerer at det har vært en telling på ti.

Ringteller

En ringteller er et sirkulært skiftregister som initieres slik at bare en av flip-flops er tilstanden mens andre er i sine nulltilstander.

En ringteller er et skiftregister (en kaskadetilkobling av flip-flops ) med utgangen til den siste som er koblet til inngangen til den første, det vil si i en ring. Vanligvis sirkuleres et mønster som består av en enkelt bit, slik at staten gjentar hver n klokkesyklus hvis n flip-flops brukes.

Johnson -teller

En Johnson-teller (eller ring-teller-ringteller , vridd ringteller , gå-ringteller eller Möbius-teller ) er en modifisert ringteller, der utgangen fra det siste trinnet blir invertert og matet tilbake som input til det første trinnet. Registeret går gjennom en sekvens av bitmønstre, hvis lengde er lik to ganger lengden på skiftregisteret, og fortsetter på ubestemt tid. Disse tellerne finner spesialiserte applikasjoner, inkludert de som ligner tiårstelleren, digital-til-analog-konvertering, etc. De kan enkelt implementeres ved bruk av flip-flops av D- eller JK-type.

Datavitenskap tellere

I computability teori , en teller betraktes som en form for minne. En teller lagrer et enkelt naturlig tall (opprinnelig null ) og kan være vilkårlig langt. En teller vurderes vanligvis i forbindelse med en finite-state-maskin (FSM), som kan utføre følgende operasjoner på telleren:

  • Kontroller om telleren er null
  • Øk telleren med en.
  • Reduser telleren med en (hvis den allerede er null, etterlater den den uendret).

Følgende maskiner er oppført i rekkefølge etter effekt, med hver enkelt strengere enn den under:

  1. Deterministisk eller ikke-deterministisk FSM pluss to tellere
  2. Ikke-deterministisk FSM pluss en stabel
  3. Ikke-deterministisk FSM pluss en teller
  4. Deterministisk FSM pluss en teller
  5. Deterministisk eller ikke-deterministisk FSM.

For den første og siste, spiller det ingen rolle om FSM er en deterministisk endelig automat eller en ikke -deterministisk endelig automat . De har samme makt. De to første og de siste er nivåer av Chomsky -hierarkiet .

Den første maskinen, en FSM pluss to tellere, tilsvarer kraften til en Turing -maskin . Se artikkelen om tellermaskiner for et bevis.

Nettdisk

En webteller eller treffteller er et dataprogram som angir antall besøkende, eller treff, en bestemt webside har mottatt. Når de er satt opp, økes disse tellerne med én hver gang nettsiden åpnes i en nettleser .

Nummeret vises vanligvis som et innebygd digitalt bilde eller i ren tekst eller på en fysisk teller som en mekanisk teller . Bilder kan presenteres i en rekke fonter eller stiler; det klassiske eksemplet er hjulene på en kilometerteller .

Web counter var populær i midten til slutten av 1990-tallet og begynnelsen av 2000-tallet, senere erstattet av mer detaljerte og komplette web trafikktiltak.

Datamaskinbaserte tellere

Mange automatiseringssystemer bruker PC og bærbare datamaskiner til å overvåke forskjellige parametere for maskiner og produksjonsdata. Tellerne kan telle parametere som antall produserte stykker, produksjonspartinummer og målinger av mengden materiale som brukes.

Mekaniske tellere

Lenge før elektronikk ble vanlig, ble mekaniske enheter brukt til å telle hendelser. Disse er kjent som telletellere . De består vanligvis av en serie disker montert på en aksel, med sifrene null til ni merket på kanten. Den høyre disken flytter ett trinn med hver hendelse. Hver disk bortsett fra den venstre til venstre har et fremspring som, etter at en omdreining er fullført, flytter den neste platen til den ene trinnet til venstre. Slike tellere ble brukt som kilometerteller for sykler og biler og i båndopptakere , drivstoffdispensere , i produksjonsmaskiner så vel som i andre maskiner. En av de største produsentene var Veeder-Root-selskapet, og navnet ble ofte brukt på denne typen disker.

Håndholdte tellere brukes hovedsakelig til lagertelling og til å telle mennesker som deltar på arrangementer.

Elektromekaniske tellere ble brukt til å samle totaler i tabuleringsmaskiner som var banebrytende innen databehandlingsindustrien.

Se også

Referanser

  1. ^ "Decade Counter" . Integrert publisering . Hentet 19. mars 2020 .
  2. ^ Singh, Arun Kumar (2006). Digital Principles Foundation of Circuit Design and Application . New Age Publishers. ISBN 81-224-1759-0.
  3. ^ Horowitz, Paul; Hill, Winfield (1989). The Art of Electronics . Cambridge University Press. ISBN 0-521-37095-7.
  4. ^ Graf, Rudolf F (1999). Modern Dictionary of Electronics . Newnes. ISBN 0-7506-9866-7.
  5. ^ VR History , Veeder.

Eksterne linker

  • Medier relatert til motkretser på Wikimedia Commons