Lär sig Counter ICs använda en Arduino (2 / 7 steg)
Steg 2: Grunderna i Counter ICs
Räknaren ICs är en komplex konfiguration av NOR gates. NOR är en speciell kombination av (minst) fyra MOSFETS. NOR gates har två ingångar och en utgång. Den input och output kan vara antingen hög eller låg. Output tillstånd beror på de ingående staterna på följande sätt:
Källa: Wikipedia
INPUT | Utgång | |
---|---|---|
A | B | A ELLER B |
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 0 |
Så resultatet är bara hög när båda ingångarna är låg. Detta är den mest grundläggande delen av en räknare. Var och en av dessa NOR gates är Parade i en konfiguration som kallas en "flip-flop". Flip-flops har två ingångar (S och R) och två utgångar (Q och Q *), och har endast två stabila stater:
SR dörrklinka operation | ||||
---|---|---|---|---|
S | R | Action | ||
0 | 0 | Ingen förändring | ||
0 | 1 | Q = 0 | ||
1 | 0 | Q = 1 | ||
1 | 1 | Begränsad kombination |
De två utdata staterna kan väljas mellan genom att ange antingen S eller R hög. När båda ingångarna är låg, lagrar flip-flop dess utgång tillstånd enligt oavsett ingång det senast mottagna. Om vi sträng en av produkterna från en flip-flop till ingången på den nästa flip floppen, tillsammans med vissa andra nödvändiga anslutningar, då beror varje flip-flop ner linjen på vippor innan det föregående stater. De tidigare staterna beror på antalet utlösande händelser som systemet har fått. Den första produktionen ändrar tillstånd med varje yttre utlösande händelse, kallas en klocka puls. De andra flip-flop förändringarna uppge varje två klocka pulser. De tredje flip-flop förändringarna påstå varje fyra klocka pulser, och så vidare, med antalet klocka pulser krävs för att ändra statens fördubblas för varje efterföljande flip-flop.
Men vad hände med den andra flip-flop utgången? Det fanns två för var och en. I själva verket varje extra utgång motsvarar en bit information. Om vi skulle testa spänningar av dessa utgångar efter att skicka räknaren ett visst antal klocka pulser, skulle vi se:
Klockan puls | Utgång |
---|---|
0 | LLL |
1 | LLH |
2 | LHL |
3 | LHH |
4 | HLL |
5 | HLH |
6 | HHL |
7 | HHH |
Vilket är binär kod! Med den här konfigurationen kan vi bara räkna 8 olika stater, men genom att lägga en annan flip-flop, kunde vi räkna till 16. Med två mer, kunde man räkna till 32, och så vidare! Tabellen visar en tre bitars räknare. Om vi hade en 8 bitars räknare, det kunde räkna upp till 256, och skulle kunna lagra en byte av information! Om vi sträng två 8-bitars räknare tillsammans, kan vi räkna upp till 256 * 256 = 65536! Beroende på hur många händelser du behöver räkna, du kan sträng en massa räknare tillsammans och nå lämpliga räknande gränsen. Räknare i den här konfigurationen kallas "rippel räknare", sedan staten av tidigare flip-flop ringar längs till nästa flip-flop. Det finns många andra typer av digital räknare, men detta är lättast att förstå.