- Vad är en räknare?
- Vad är asynkron?
- Asynkron räknare
- Asynkron trunkerad räknare och decennieräknare
- Timing Diagram av asynkron räknare och dess sanningstabell
- Skapa asynkron räknare, exempel och användbarhet
- Frekvensdelare
- Fördelar och nackdelar med asynkron räknare
Vad är en räknare?
En räknare är en anordning som kan räkna vilken som helst särskild händelse utifrån hur många gånger den eller de specifika händelserna inträffar. I ett eller flera digitala logiska system kan denna räknare räkna och lagra det antal gånger någon särskild händelse eller process har inträffat, beroende på en klocksignal. Den vanligaste typen av räknare är sekventiell digital logikkrets med en enda klockingång och flera utgångar. Utgångarna representerar binära eller binära kodade decimaltal. Varje klockpuls ökar antingen antalet eller minskar antalet.
Vad är asynkron?
Asynkron står för frånvaron av synkronisering. Något som inte existerar eller inträffar samtidigt. I dator- eller telekommunikationsströmmen står Asynchronous för att styra driftstimingen genom att bara skicka en puls när den tidigare operationen är klar snarare än att skicka den med regelbundna intervall.
Asynkron räknare
Nu förstod vi att vad som är kontra och vad som är meningen med ordet asynkron . En asynkron räknare kan räknas med hjälp av asynkron klockingång. Räknare kan enkelt göras med hjälp av flip-flops. Eftersom räkningen beror på klocksignalen, i fallet med en asynkron räknare, tillhandahålls ändrade tillståndsbitar som klocksignalen till de efterföljande vipporna. Dessa flip-flops är seriekopplade och klockpulsen krusar genom räknaren. På grund av krusningsklockans puls kallas det ofta en krusningsräknare. En asynkron räknare kan räkna 2 n - 1 möjliga räkningstillstånd.
Asynkron trunkerad räknare och decennieräknare
Eftersom det finns ett maximalt utgångsnummer för asynkrona räknare som MOD-16 med en upplösning på 4-bit, finns det också möjligheter att använda en grundläggande asynkron räknare i en konfiguration att räkningstillståndet är mindre än deras maximala utgångsnummer. Modulo- eller MOD-räknare är en av dessa typer av räknare. Konfigurationen görs på ett sådant sätt att räknaren återställer sig till noll vid ett förkonfigurerat värde och har trunkerade sekvenser.
Så, om en räknare med det specifika antalet upplösningar (n-bit Upplösning) räknas upp till kallas som fullsekvensräknare och å andra sidan, om den är mindre än det maximala antalet, kallas den som en trunkerad räknare.
För att få fördelen med de asynkrona ingångarna i vippan kan asynkron trunkerad räknare användas med kombinationslogik.
Modulo 16 asynkron räknare kan modifieras med hjälp av ytterligare logiska grindar och kan användas på ett sätt så att utgången ger ett decennier (dividerat med 10) räknarutgång, vilket är användbart för att räkna standard decimaltal eller i aritmetiska kretsar. Denna typ av räknare kallas Decade Counters.
Decade Counters kräver återställning till noll när utgången når ett decimalvärde på 10.
Om vi räknar 0-9 (10 steg) blir det binära talet -
Antalantal | Binärt nummer | Decimalvärde |
0 | 0000 | 0 |
1 | 0001 | 1 |
2 | 0010 | 2 |
3 | 0011 | 3 |
4 | 0100 | 4 |
5 | 0101 | 5 |
6 | 0110 | 6 |
7 | 0111 | 7 |
8 | 1000 | 8 |
9 | 1001 | 9 |
Så när utgången når 1001 (BCD = 9), måste räknaren återställas. För att återställa räknaren måste vi mata tillbaka detta tillstånd till återställningsingången. Räknare som räknar 0000 (BCD = 0) till 1001 (BCD = 9), kallas BCD eller binärkodad decimalräknare.
Timing Diagram av asynkron räknare och dess sanningstabell
I ovanstående bild användes en grundläggande asynkron räknare som decennieräknarkonfiguration med 4 JK-flip-flops och en NAND-grind 74LS10D. Den asynkrona räknaren räknar uppåt på varje klockpuls från 0000 (BCD = 0) till 1001 (BCD = 9). Varje JK-flip-flop-utgång ger en binär siffra, och den binära utmatningen matas till nästa efterföljande flip-flop som en klockingång. I den slutliga utgången 1001, som är 9 i decimal, är utgången D som är mest signifikant bit och utgången A som är en minst signifikant bit, i logik 1. Dessa två utgångar är anslutna över 74LS10Ds ingång. När nästa klockpuls mottas, återgår utgången från 74LS10D till tillståndet från Logic High eller 1 till Logic Low eller 0.
I en sådan situation när 74LS10D ändrar utgången, återställs 74LS73 JK-flip-flops då utgången från NAND-grinden är ansluten över 74LS73 CLEAR-ingång. När flip-flopsna återställdes blev utgången från D till A alla 0000 och utgången från NAND-grinden återställdes till Logic 1. Med en sådan konfiguration blev den övre kretsen som visas i bilden Modulo-10 eller ett decennieräknare.
Den Sanningen tabell dekadräknarens visas i nästa tabell-
Klockpuls | Decimalvärde | Utgång - D | Utgång - C | Utgång - B | Utgång - A |
1 | 0 | 0 | 0 | 0 | 0 |
2 | 1 | 0 | 0 | 0 | 1 |
3 | 2 | 0 | 0 | 1 | 0 |
4 | 3 | 0 | 0 | 1 | 1 |
5 | 4 | 0 | 1 | 0 | 0 |
6 | 5 | 0 | 1 | 0 | 1 |
7 | 6 | 0 | 1 | 1 | 0 |
8 | 7 | 0 | 1 | 1 | 1 |
9 | 8 | 1 | 0 | 0 | 0 |
10 | 9 | 1 | 0 | 0 | 1 |
11 | 0 | 0 | 0 | 0 | 0 |
Bilden nedan visar tidsdiagrammet och de fyra utgångarna på klocksignalen. Återställningspulsen visas också i diagrammet.
Skapa asynkron räknare, exempel och användbarhet
Vi kan ändra räkningscykeln för den asynkrona räknaren med den metod som används för att trunka räknarutmatningen. För andra räkningscykler kan vi ändra ingångsanslutningen över NAND-grinden eller lägga till andra konfigurationer för logiska grindar.
Som vi diskuterade tidigare är att maximal modul kan implementeras med n antal flip-flops 2 n. För detta, om vi vill designa en trunkerad asynkron räknare, bör vi ta reda på den lägsta effekten av två, som antingen är större eller lika med vår önskade modul.
Till exempel, om vi vill räkna 0 till 56 eller mod - 57 och upprepa från 0, är det högsta antalet av vipporna krävs n = 6, som kommer att ge maximal modul av 64. Om vi väljer färre antal vipporna den modulus räcker inte för att räkna siffrorna från 0 till 56. Om vi väljer n = 5 är den maximala MOD = 32, vilket är otillräckligt för räkningen.
Vi kan kaskadera två eller flera 4-bitars rippelräknare och konfigurera varje individ som " dividerad med 16" eller " dividerad med 8" -formationer för att få MOD-128 eller mer specificerad räknare.
I 74LS-segmentet skulle 7493 IC kunna konfigureras på ett sådant sätt, som om vi konfigurerar 7493 som " dividerat med 16 " -räknare och kaskaderar ytterligare 7493 chipsets som en " dividerad med 8 " -räknare, får vi en " dividera med 128" -frekvens delare.
Andra IC: er som 74LS90 erbjuder programmerbar rippelräknare eller delare som kan konfigureras som en delning med 2, dividerad med 3 eller dividerad med 5 eller andra kombinationer också.
Å andra sidan är 74LS390 ett annat flexibelt val som kan användas för stora delar med ett nummer från 2 till 50 100 och andra kombinationer också.
Frekvensdelare
En av de bästa användningarna av den asynkrona räknaren är att använda den som en frekvensdelare. Vi kan sänka hög klockfrekvens till ett användbart, stabilt värde mycket lägre än den faktiska högfrekventa klockan. Detta är mycket användbart när det gäller digital elektronik, tidsrelaterade applikationer, digitala klockor, avbrottsgeneratorer.
Antag att vi använder klassisk NE555 timer IC som är en monostabil / astabel multivibrator, som körs på 260 kilohertz och stabiliteten är +/- 2%. Vi kan enkelt lägga till en “ Divided by 2” 18-bit rippelräknare och få 1 Hz stabil utgång som kan användas för att generera 1 sekund fördröjning eller 1 sekund av pulsen, vilket är användbart för digitala klockor.
Detta är en enkel krets för att producera stabil frekvens eller timing från en instabil källa genom att dela frekvensen med hjälp av krusningsräknare. Mer exakta kristalloscillatorer kan producera exakt hög frekvens än signalgeneratorerna.
Fördelar och nackdelar med asynkron räknare
Asynkrona räknare kan enkelt byggas med typ D flip-flops. De kan implementeras med hjälp av " dividera med n " -räknekrets, som ger mycket mer flexibilitet vid större räkningsområdesrelaterade applikationer, och den trunkerade räknaren kan producera valfritt modulantal.
Men trots dessa funktioner erbjuder asynkron räknare vissa begränsningar och nackdelar.
När du använder den asynkrona räknaren krävs en ytterligare omsynkronisering av utgångs- flip-flops för att omsynkronisera flip-flops. För den trunkerade sekvensräkningen behövs extra feedbacklogik när den inte är lika med.
När man räknar ett stort antal bitar, på grund av kedjesystemet, blev utbredningsfördröjningen i successiva steg för stor vilket är mycket svårt att bli av med. I en sådan situation är synkrona räknare snabbare och tillförlitliga. Det finns också räkningsfel i asynkron räknare när höga klockfrekvenser tillämpas över den.