Introduktion til Digitale Kredsløb

Introduktion


Computere tænker på en lidt sjov måde. De tænker binært, så det eneste, de tænker på, er 0'er og 1-taller. I forbindelse med digitale kredsløb refererer binær til et system til repræsentation af information eller data ved hjælp af kun to mulige værdier eller tilstande. Disse værdier er typisk repræsenteret som 0 og 1, hvilket svarer til tilstandene "off" og "on" i et digitalt kredsløb.

Digitale kredsløb, såsom dem, der findes i mikrocontrollere, bruger binære signaler til at kommunikere og behandle data. De binære signaler skabes ved at manipulere spændingsniveauerne for de elektriske signaler, der strømmer gennem kredsløbet.

For eksempel kan en mikrocontroller bruge et binært signal til at styre en LED. En binær værdi på 1 kan bruges til at tænde LED'en, mens en binær værdi på 0 bruges til at slukke den.

Binære tal


Binært data bruges også til repræsentation af tal i digitale kredsløb. I binær kan hvert ciffer kun have en værdi på 0 eller 1. Så hvordan kan man tælle, hvis man kun kan bruge 0 og 1? Faktisk svarer det til at tælle i decimal, bortset fra at binær kun har to mulige værdier!

Lad os fortsætte med at lære at tælle til 15 i binær.
For at tælle til 15 i binær har vi brug for 4 pladser til vores tal 0 og 1. Vi starter med alle at pladser,  holder et nul [0 0 0 0] - dette er lig med 0. Ok, så langt så godt! Hvis vi derefter vender det ciffer, der er mest til højre til 1, således [0 0 0 1], så har vi tallet 1 repræsenteret i binær.

Hvad så med tallet 2? For nummer 2 flytter vi vores ciffer 1 en plads til venstre [0 0 1 0]. Nu har vi det pladsen mest til højre til at holde et 0, som vi havde med den binære repræsentation af 0. Hvis vi derefter flipper den plads til et 1-tal, tæller vi et enkelt ciffer op - så 3 i binær ville være [0 0 1 1]. For den binære repræsentation af 4 bemærker vi, at vi ikke kan flippe et 0 til en 1 for at tælle op, så vi erstatter 1'erne på fjerde- og tredjepladsen med 0 og placerer en 1 på andenpladsen.  Så 4 i binær ser sådan ud [0 1 0 0]. (Dette var også den metode, vi brugte, da vi talte fra 1 til 2 i binær). Dette er metoden til at tælle i binær. Prøv selv og se om I kan forstå de binære tal i figur 1:


Figur 1: viser decimaltallene og deres tilsvarende binære repræsentation op til tallet 15.

Du har måske allerede gættet, at hvis vi ville repræsentere et tal større end 15, ville vi have brug for mere end 4 steder for at holde cifrene. Det er sådan, en computer tæller og dybest set modtager og leverer al information,  lige fra pixels til din skærm til de mest komplekse beregninger, når du spiller dit yndlingscomputerspil! Lad os bare sige, at computere er meget hurtige til at tælle binære tal.

 

Logic Gates


Logic gates er som de grundlæggende byggesten i et digitalt kredsløb. Ligesom lego kan vi sætte dem sammen i forskellige konstruktioner med forskellige formål. Nogle af disse porte kaldes AND, OR, NOT, NAND, NOR, XOR og XNOR.

Alle disse porte har to indgange og en udgang, bortset fra NOT, som kun har en indgang. NOT-porten er også kendt som en inverter, da den gør 1'er til 0'er og omvendt. Logic gates har hver et symbol, der repræsenterer dem i digitale kredsløb, se figur 2:

Figur 2: Logic Gates. Indgangene er repræsenteret med de to linjer til venstre ind i portene. Udgangen er den enkelte linje til højre for portene.



AND-porten producerer kun logic 1-output, når alle dets indgange er logic 1. Om outputtet er 0 eller 1 af logic gates afhænger af kombinationen af de to indgange for den pågældende logic gate. Nedenfor er en oversigt over disse kombinationer for resten af de nævnte logic gates:

OR: Denne port producerer et logic 1-output, når mindst en af dens indgange er logic 1.

NOT: Denne port producerer komplementet af dens input; det vil sige, at en logic 1-indgang producerer en logic 0-udgang og omvendt.

NAND: Denne gate er en kombination af en AND gate og en NOT gate. Det producerer kun et logisk 0-output, når alle dets input er logic 1.

NOR: Denne port er en kombination af en OR-port og en NOT-port. Det producerer kun et logic 1-output, når alle dets input er logic 0.

XOR: Denne port producerer en logic 1-udgang, når nøjagtigt en af dens indgange er logic 1.

XNOR: Denne port er en kombination af en XOR-port og en NOT-port. Det producerer en logic 1-udgang, når begge dens indgange er de samme.

Ved at samle disse gates i et digitalt kredsløb vil de kunne træffe beslutninger baseret på en kombination af digitale signaler, der kommer fra deres indgange. Det ønskes at bruge så få porte som muligt, da det gør kredsløbene mere effektive.  Dette mindsker CPU'ens arbejde og det udføres derfor hurtigere. Derfor er logic gates baseret på noget, der hedder boolsk algebra. Boolsk algebra er en matematisk metode, man kan bruge til at finde den mest effektive konstruktion af logic gates, der er nødvendig for at udføre hvad applikationen kræver.

 

 

Boolsk Algebra

Lad os dykke lidt længere ned i dette ved at udforske AND-gaten. I figuren nedenfor, figur 3, kan du se konstruktionen af et kredsløb af en AND-gate.


Figur 3: Illustrerer kredsløbet for en AND-gate.
Spændingskilder: Vin, A og B
Transistorer: T1 og T2
Modstande: Ra, Rb og Rout


I bloggen om [analoge kredsløb] lærte vi, at hvis vi forbinder 5 V til collector for transistor T1 (Vin) på figur 3, og der ikke er nogen spænding fra A eller B, vil der ingen spænding være for udgangen (Vout). Hvis vi ændrer spændingen ved A til 5 V, er der stadig ingen spænding til udgangen. Det samme gælder for B. Først når både A og B påføres 5 volt, vil vi have 5 volt ved udgangen, fordi det ville betyde, at begge transistorer åbnes. Dette koncept for AND-gaten's kredsløb er demonstreret i nedenstående figur.


Figur 4: Bemærk, at den eneste situation, hvor vi får 5 V ved udgangen, er, når både A og B har 5 V.

 

I digital elektronik er der kun høj og lav, 1 og 0. Hvis vi så erstatter 5 V og 0 V med 1-taller og 0'ere, får vi det, der kaldes truthtables. Dette koncept er begyndelsen på digital elektronik.

Figur 5: Truth table for en AND-gate.

 

Truthtables kan beskrives ved hjælp af en ligning. Alle gates har truthtables og deres egne ligninger, selvom matematikken, der bruges i digital elektronik, er forskellig fra almindelig matematik. Som vi nævnte lidt tidligere, hedder denne matematik boolsk algebra.

 

Vi kan forestille os, at vi havde et rimeligt kompleks digital kredsløb som den, der er vist nedenfor. Her har vi tre input: A, B og C. Og et output: Z

Figur 6: Et digital kredsløb.
Inputs: A, B and C
Output: Z

 

Dette kan se meget smart og praktisk ud, men måske kan vi gøre det lidt bedre. Så hvordan gør vi det? Vi bruger boolsk algebra. Vi starter med at skrive det boolske udtryk for det digitale kredsløb i figur 6.


Udtrykket for det digitale kredsløb ovenfor er:

Figur 7: Boolsk udtryk for kredsløbet i figur 6.

 

Derefter bruger vi boolske algebrametoder til at reducere dette komplekse udtryk til sin enkleste form.


Figur 8: Forskellige udtryk udleddet ved brug af boolsk algebra. Hvert led beskriver kredsløbet, der ses på figur 6.

 

Alle de udtryk, der ses lige ovenfor, er ækvivalente. De kan hver især beskrive en anden konstruktion af et kredsløb, men alle disse kredsløb gør nøjagtigt det samme. Det betyder, at adfærden af alle disse kredsløb kan beskrives ved det samme truthtable vist nedenfor.

Figur 9: Truthtable for kredsløbet i figur 6 og for alle udtryk set i figur 8.

 

Så vi startede med dette store komplekse digitale kredsløb set i figur 6, og ved at bruge boolsk algebra reducerede vi det kredsløb til et, der kan beskrives af det samme truthtable, men med 2 gates i stedet for 7.

Figur 10: Det reducerede kredsløb fra figur 6.

Dette kredsløb har brug for færre komponenter, så det er mere pålideligt, det er hurtigere, det genererer mindre varme og det er billigere at lave. Dette er grunden til, at boolsk algebra er et ekstremt kraftfuldt værktøj til design af digitale kredsløb og computere.

 

 

Lovene for Bolsk Algebra

For at vi kan bruge dette yderst nyttige værktøj, er vi nødt til at vide om dets love. Dette vil kræve lidt øvelse, da der er en hel del love at lære. Disse love er:

  • Annulment
  • Identity
  • Idempotent
  • Complement
  • Double Negation
  • De Morgan's Law
  • Associative
  • Cummutive
  • Distributive
  • Absorptive

 

Hvis du føler dig klar til at gå endnu længere og udvide din forståelse af digitale kredsløb ved at lære mere om boolsk algebra, giver dette sted en god måde at komme i gang på. Alt forklares fra bunden, og derefter vises et par eksempler for boolsk algebra.

De aktioner, der udføres af digitale kredsløb, huskes ofte af computeren i det, der kaldes hukommelseselementer og registre.


Hukommelseselementer og Registre
Disse er kredsløb, der gemmer binær information, såsom RAM, ROM og EPROM. Du kan forestille dig det som et bibliotek, der kategoriserer og gemmer oplysninger i deres egne specifikke sektioner, så oplysningerne nemt kan findes og benyttes. At oprette disse registre kræver en god forståelse af kodning og vil også kræve en vis indsats for at. Men hvorfor skal vi gemme disse data i første omgang.  Der er masser af forskellige grunde - måske vil vi arbejde på, sammenligne eller dele oplysningerne i vores hukommelseselementer og registre. Dette gøres ved sequential circuits.

 

sequential circuits

Sequential circuits er digitale kredsløb, der bruger hukommelseselementer og registre til at gemme information og arbejde på disse oplysninger i en bestemt rækkefølge baseret på et clock-signal. Det er måden hvorpå en computer planlægger sine beregninger i et bestemt hierarki af handlinger, så det fungerer på den mest effektive måde. Disse kredsløb kan kategoriseres i to typer: Synchronous Sequential Circuits og Asynchronous Sequential Circuits

 

Synchronous Sequential Circuits
I Synchronous Sequential Circuits er hukommelseselementerne forbundet på en måde, så output fra et hukommelseselement fodres ind i input fra et andet hukommelseselement og danner en kæde af feedback. Disse kredsløb fungerer synkroniseret med et clock-signal, som sikrer, at signalerne samples og gemmes på samme tid.

Asynchronous Sequential Circuits
I Asynchronous Sequential Circuits er hukommelseselementerne forbundet på en måde, så udgangen af et hukommelseselement fodres ind i indgangen til et andet hukommelseselement uden feedback, hvilket danner et kombinatorisk logisk kredsløb. Disse kredsløb er ikke afhængige af et clock-signal, og kredsløbets udgang kan til enhver tid ændres baseret på indgangene. Kredsløbets tilstand til enhver tid bestemmes af indgangene og den tidligere tilstand.

Arithmetic Circuits
Disse kredsløb udfører aritmetiske operationer, såsom addition, subtraktion, multiplikation og division.

 

Data Converters

Data converter er kredsløb, der konverterer digitale signaler til analoge signaler og omvendt, såsom ADC'er og DAC'er. ADC'er og DAC'er er meget nyttige til at forbinde den virkelige analoge verden med den digitale verden. Du kan tænke på dem som oversættere mellem de to. Har du nogensinde spekuleret på, hvordan en termostat kender og viser den korrekte temperatur? Jamen det gør den det ved at måle den analoge temperatur ved hjælp af en sensor, og så mapper den denne værdi i sin beregning for at vise den korrekte temperatur digitalt.

Skriv kommentar!

Relevante produkter

TS101 digital loddekolbeTS101 digital loddekolbe i hånd
TS101 digital loddekolbe med USB C forsyning
Tilbudspris Fra 699,00 kr
22 på lager
TS80P USB-C Loddekolbe kitTS80P Loddekolbe
TS80P USB-C Loddekolbe kit
Tilbudspris Fra 799,00 kr
4 på lager
bruge Loddekolbe Renser til at rengøre loddekolbespidsenLoddekolbe Renser
Luksus Loddekolbe renser
Tilbudspris 89,00 kr
12 på lager