Matematisk grunnlag for digitale kretsløp. Påføring av digitale brikker

FOREDRAG

Ved disiplin

"Organisering og drift av datamaskiner"

for studenter

spesialiteter 2-40 01 01 “Programvare informasjonsteknologier»

Oshmyany 2010


KOMMENTAR

For forelesningsmateriale om disiplinen "Organisering og drift av datamaskiner" for studenter med spesialitet 2-40 01 01 "Informasjonsteknologiprogramvare", utviklet av læreren ved utdanningsinstitusjonen "Oshmyany State Agrarian-Economic College" M.G. Shatkevich.

Relevansen av det metodiske materialet, dets betydning. Dette settet med forelesninger er et sett med materialer som er nødvendig for høykvalitets organisering av studentenes arbeid i praktiske klasser for å mestre disiplinen "Organisering og drift av datamaskiner" for studenter med spesialitet 2-40 01 01 "Informasjonsteknologiprogramvare"

Forelesningene er utviklet i strengt samsvar med forskriften om pedagogiske og metodiske komplekser av disipliner som er gjeldende ved Oshmyany State Agrarian and Economic College. Komplekset inkluderte forelesninger om alle deler av disiplinen "Organisering og funksjon av datamaskiner."

Mulighet praktisk anvendelse. Forelesningssettet kan anbefales til lærere når de forbereder og gjennomfører klasser i disiplinen "Organisering og drift av datamaskiner" for studenter av spesialiteten 2-40 01 01 "Informasjonsteknologiprogramvare", samt heltidsstudenter under selvstendig studium .

Konklusjon av sykkelkommisjonen. Forelesningssettet ble gjennomgått på et møte i sykluskommisjonen for juridiske disipliner og informasjonsteknologier, og anbefalt for bruk internt på høyskoler (protokoll nr.___ datert "____"___________________20___).


Introduksjon. 4

Presentasjon av informasjon i en datamaskin... 5

Koder med feildeteksjon. 9

Feilrettingskoder. 10

Del 2. Algebra av logikk og teoretiske grunnlag for syntesen av digitale enheter. 11



Elementer i matematisk logikk. elleve

Former for logiske funksjoner og deres bruk for syntese av logiske kretser.. 13

Logiske elementer og kretser. Klassifisering av logiske enheter. 15

Metoder for å minimere logiske funksjoner. 17

Del 3. Syntese av kombinasjonskretser.. 18

Stadier for å konstruere en logisk krets.. 18

Multipleksere og demultipleksere.. 20

Dekrypteringer og krypteringer.. 22

Komparatorer, addere.. 24

Seksjon 4. Utløserelementer for digitale enheter. 25

Klassifisering av triggere og deres Generelle egenskaper. Asynkron RS flip-flop og dens varianter 25

Asynkrone flip-flops med én inngang. 27

Synkrone triggere.. 29

Seksjon 5. Syntese av digitale automater. 31

Registrerer. Skiftregister. 31

Tellere i henhold til mod M. Vendbare tellere. Syntese sekvensielle kretser.. 33

Seksjon 6. Nåværende situasjon og utviklingsutsikter elementbase og midler datateknologi . 35


Introduksjon

Kurset Organisering og drift av datamaskiner er bygget på det grunnleggende utsagnet om at: En datamaskin kan sees på som et hierarki av strukturelle nivåer i en organisasjon.

Denne uttalelsen gjelder både for maskinvareorganisasjonen og strukturen og organisasjonen programvare. På øvre nivå hierarkier er problemorienterte programvare, for eksempel Mathcad (for å løse matematiske problemer), Visual Basic Til kontorapplikasjoner, nivået under er lokalisert prosedyremessig orienterte språk(C/C++, Pascal)..., det laveste nivået er nivået for fysisk implementering av digitale logiske elementer.

Hovedmålet med kurset: kjennskap til nivået av fysisk realisering og noe teoretiske grunnlag, brukes til å beskrive de lavere nivåene i en organisasjon:

ü prinsippet om digital representasjon av data i tekniske enheter;

ü grunnleggende om logisk algebra og dens bruk for å beskrive funksjonen til digitale enheter;

ü tallsystemer;

ü noen grunnleggende konsepter for digitale kretser: kombinerte logiske enheter og enheter med minne (flip-flops, registre, tellere).

En betydelig del av problemstillingene som er studert er av anvendt karakter, og bidrar i betydelig grad til informert valg av passende teknikker i spesifikke situasjoner, noen ganger tillater det å øke betydelig ytelsesegenskaper programvaremoduler(reduser mengden minne som kreves eller utførelsestid).

Formålet med å undervise i faget "Organisering og drift av datamaskiner" er å studere det fysiske grunnlaget for konstruksjon og drift moderne virkemidler datateknologi, prinsipper for konstruksjon og drift av dataelementer, noder og enheter. Disiplinen inkluderer informasjon om de aritmetiske, logiske og kretsløpende grunnleggende for datamaskinkonstruksjon og er grunnlaget for etterfølgende studier av disiplinen "Mikroprosessorteknologi".

Disiplinen er basert på kunnskapen studentene har tilegnet seg mens de studerer disiplinene "matematikk" og "informatikk".

For å studere undervisningsmateriell gir praktisk og laboratoriearbeid. Disiplinprogrammet er tilrettelagt for 68 timer, hvorav 34 timer er forelesninger, 24 timer er praktiske leksjoner 10.00 – laboratorietimer.

Bibliografi

1. Babich N. P., Zhukov I. A. Datakretser. Byggemåter og

2. Design: Opplæringen. – K.: “MK-Press”, 2004

3. Zhmakin A.P. Dataarkitektur. - St. Petersburg: BHV-Petersburg, 2006

4. Lysikov B.G. Digital og datateknologi. - Mn.: UP Ecoperspective, 2002

5. Novikov Yu. V. Grunnleggende om digitale kretser. Grunnleggende elementer og diagrammer. Designmetoder. M.: Mir, 2001

6. Ugryumov E.P. Digitale kretser. - St. Petersburg: BHV-Petersburg, 2004

7. Boyko V.I. Kretsdesign elektroniske kretser. Mikroprosessorer og mikrokontrollere. - St. Petersburg: BHV-Petersburg, 2004

8. Tsilker B. Ya., Orlov S.A. Organisering av datamaskiner og systemer. – St. Petersburg: Peter, 2004

9. Datavitenskap: lærebok / B.V. Sable – Rostov n/a: Phoenix, 2006


Seksjon 1. Matematisk grunnleggende digital kretsdesign

25. april 2010 klokken 16.16

Selvstudium kretsingeniører. Enkle konsepter. Del 1

  • Elektronikk for nybegynnere

Studiet av digitale kretser må begynne med teorien om automater. I denne artikkelen kan du finne noen grunnleggende ting som vil hjelpe deg å ikke gå deg vill i flere artikler. Jeg prøvde å gjøre artikkelen lett å lese, og jeg er sikker på at en utrent leser lett vil kunne forstå den.


Signal- et materiallagringsmedium som brukes til å overføre meldinger over et kommunikasjonssystem. Et signal, i motsetning til en melding, kan genereres, men mottaket er ikke nødvendig (meldingen må aksepteres av mottakeren, ellers er det ikke en melding, men bare et signal).

Artikkelen diskuterer et digitalt diskret signal. Dette er et signal som har flere nivåer. Det er klart at et binært signal har to nivåer - og de tas til å være 0 og 1. Når høy level er betegnet med én, og lav med null - denne logikken kalles positiv, ellers negativ.

Et digitalt signal kan representeres som et tidsdiagram.

I naturen diskrete signaler eksisterer ikke, så de erstattes av analoge. Et analogt signal kan ikke gå fra 0 til 1 umiddelbart, så et slikt signal har en forkant og en fallende flanke.
Hvis du tegner det på en forenklet måte, ser det slik ut:

1 - lavt nivå signal, 2 - høyt signalnivå, 3 - signalstigning (kant), 4 - signalnedgang (kutt)

Signaler kan konverteres. Til dette formål bruker de i praksis logiske porter, og for å skrive ned dette formelt brukes logiske funksjoner. Her er de viktigste:

Negasjon - inverterer signalet.
På diagrammene er det angitt som følger:

Logisk ELLER (logisk addisjon, disjunksjon)

På diagrammet:

Logisk OG (logisk multiplikasjon, konjunksjon)

På diagrammet:

De to siste kan ha negativ utgang (NAND, NOR). Verdiene til deres logiske funksjoner er invertert, og utgangen tegnes som en sirkel i diagrammet.

En oppsummeringstabell over logiske funksjoner av to argumenter ser slik ut:

Arbeid med logiske funksjoner er basert på lovene i logisk algebra, hvor det grunnleggende er skissert i den vedlagte filen. Det er også oppgaver for egenkontroll og Kontrollspørsmål om dette emnet.

Designe logiske kretser ved å bruke logiske algebrafunksjoner

Logisk krets er et sett med logiske elektroniske elementer koblet til hverandre på en slik måte at en gitt lov for kretsens operasjon er oppfylt, med andre ord, en gitt logisk funksjon utføres.
Basert på avhengigheten av utgangssignalet på inngangssignalet, kan alle elektroniske logiske kretser deles inn i:

Ordninger av den første typen, dvs. kombinasjonskretser, hvis utgangssignal bare avhenger av tilstanden til inngangssignalene i hvert øyeblikk;

Ordninger av den andre typen eller akkumulerende kretser(opplegg sekvensiell), som inneholder akkumulerende kretser ( elementer med minne), hvis utgangssignal avhenger både av inngangssignalene og av tilstanden til kretsen ved tidligere tider.

Avhengig av antall innganger og utganger kan kretser være: med én inngang og én utgang, med flere innganger og én utgang, med én inngang og flere utganger, med flere innganger og utganger.

I henhold til metoden for synkronisering er ordninger delt inn i Med ekstern synkronisering(synkrone automatiske maskiner), med intern synkronisering(asynkrone automater er deres spesielle tilfelle).

Nesten enhver datamaskin består av en kombinasjon av kretser av den første og andre typen med varierende kompleksitet. Dermed er grunnlaget for enhver digital maskin som behandler digital informasjon, er det to typer elektroniske elementer: hjernetrim eller kombinasjon Og memorering. Logiske elementer utfører det enkleste logiske operasjoner over digital informasjon, og lagringsenheter tjener til å lagre den. Som du vet, består en logisk operasjon av å konvertere digital informasjon til utdata i henhold til visse regler.

Vi kan anta at elementære logiske funksjoner er logiske operatorer de nevnte elektroniske elementene, dvs. ordninger Hver slik ordning er utpekt av en spesifikk grafisk symbol. (De ble presentert ovenfor - Elementer OG, ELLER, IKKE, NOR-NOT, AND-NOT)

Som et eksempel, nedenfor er et elektrisk funksjonsdiagram av en logisk omformer (kombinasjonsmaskin) som implementerer logisk funksjon i et elementært grunnlag av logiske elementer OG, ELLER, IKKE.

For å konsolidere foreslår jeg at du syntetiserer det selv logisk krets, implementere følgende logiske funksjoner:

Dette kan for eksempel gjøres i Elektronisk arbeidsbenk.

Her er et eksempel på den første fullførte oppgaven:

Jeg snakket om logiske elementer - "byggesteinene" som utgjør grunnlaget for digital teknologi og deres formål. I dette innlegget vil jeg snakke mer detaljert om søknaden digitale brikker inneholder logiske elementer.

De enkleste ordningene

Den første ordningen er den enkleste prøvetaker for testing av elektriske kretser. Ved å bruke denne sonden kan du bestemme påliteligheten til elektrisk kontakt, finne en åpen krets, kontrollere brukbarheten til motstander og halvlederdioder og transistorer.

Diagram av en sonde for å teste kontinuiteten til en elektrisk krets.

La oss beskrive arbeidet hans. Når XT-probene er åpne, settes et høyt logisk spenningsnivå ved inngangene til det logiske elementet DD1 i forhold til den felles ledningen. Følgelig vil utgangen fra element DD1 være et lavt logisk nivå, mens LED VD1 ikke vil lyse. Hvis probene er koblet til hverandre, vil DD1-inngangen ha et lavt logisk nivå, og utgangen vil være høy. En lysende diode vil indikere at utgangene er lukket for hverandre. Når probene er koblet til en arbeidskrets, vil LED-en lyse, og hvis LED-en ikke lyser, betyr det at det er en åpen krets i kretsen.

Følgende diagram nedenfor er logisk sonde. Den er designet for å bestemme det logiske spenningsnivået i elektriske kretser digitale enheter.


Logisk sondekrets.

I original tilstand Ved inngangene til det logiske elementet DD1 og utgangen DD2 settes et høyt logisk nivå, og følgelig lyser VD1 LED. Når LED-ene er koblet til en krets med høyt logisk nivå, fortsetter VD1-LED-en å lyse, og når et lavt logisk nivå vises ved DD1-inngangen, vil VD1-LED-en slukke tilsvarende.

Ytterligere fortelling om bruk av digitale mikrokretser er ikke mulig uten kunnskap intern struktur digitale TTL- og CMOS-mikrokretser og deres overføringsegenskaper.

Intern struktur av TTL digitale brikker

Alle familier av digitale brikker er basert på grunnleggende logiske elementer. For alle mikrokretser i TTL-familien er et slikt element element 2I-NOT, som har følgende intern organisasjon. Nedenfor er et diagram over 2I-NOT-elementet og dets transiente respons


Skjema for grunnelementet TTL 2I-NOT og dets transiente respons.

Ved inngangen til elementet er multi-emitter transistor VT1 da forsterker trinn på transistor VT2 og push-pull utgangstrinn på transistorene VT3, VT4.

La oss beskrive operasjonen til 2I-NOT logikkelementet. I starttilstanden overstiger ikke inngangsspenningen 0,5 V, og emitterkrysset til transistoren VT1 er åpent, denne spenningen er ikke nok til å overføre kollektorovergangen til åpen tilstand, det samme gjelder emitterkrysset til transistoren VT2, VT4. Derfor er disse transistorene lukket, og transistoren VT3 er åpen, av spenningen som kommer fra R2. Diode VD3 viser seg å være åpen og spenningen ved utgangen av elementet er omtrent 3...4 V ( punkt A). Når spenningen ved emitterne til VT1 begynner å øke, begynner transistor VT2 å åpne seg, og transistor VT3 lukkes jevnt ( seksjon A – B). En ytterligere økning i spenningen på inngangstransistoren fører til at transistor VT2 åpner enda mer, spenningen på R3 øker også og transistor VT4 åpner. Som et resultat omgår emitterkrysset til transistoren VT4 motstanden R3, og transistoren VT2 åpner seg skarpt, og spenningen ved utgangen til elementet synker. I dette øyeblikket ( seksjon B – C) alle transistorer er åpne og inne aktiv modus. Hvis du fortsetter å øke inngangsspenningen, vil transistorene VT2 og VT4 gå inn i metningsmodus ( seksjon B – D), og transistoren VT3 vil lukke og utgangsspenningen vil bli lik metningsspenningen til transistoren VT4, og strømmen vil begrenses av motstanden R4.

Seksjon B – C forbigående respons kan brukes for analog signalbehandling, V denne modusen Transientresponsen har høy linearitet og maksimalt strømforbruk.

Intern design av CMOS digitale brikker

Akkurat som i TTL-familien, CMOS-brikker grunnelementet er 2I-NOT, hvis interne struktur er vist nedenfor


Diagram over det grunnleggende 2I-NOT CMOS-elementet og dets forbigående respons.

Dette logiske elementet fungerer komplementære felteffekttransistorer . Transistorer med p-type kanal (VT1, VT2) koblet til den positive lederen til strømkilden, med n-type kanal (VT3, VT4) koblet i serie.

Ved en inngangsspenning på 2 V eller mindre er transistorene VT1 og VT2 åpne, siden spenningen i gate-source-seksjonene (med en forsyningsspenning på 9 V) er minst 7 V. Spenningen i de samme seksjonene av transistorene VT3 og VT4 er utilstrekkelig til å åpne dem, derfor vil det ved utgangen av elementet være en spenning nesten lik forsyningsspenningen, det vil si omtrent 9 V ( punkt A). Når inngangsspenningen øker, begynner transistorene å åpne seg, og VT1 og VT2 begynner å lukke. På seksjon A – B denne prosessen foregår relativt jevnt, og seksjon B – C den er raskere og mest lineær. Ved punkt B transistorene VT1 og VT2 er nesten helt lukket, og VT3 og VT4 er åpne. Utgangsspenning i dette tilfellet er den liten og med en ytterligere økning i inngangsspenningen til nivået til strømkilden, har den en tendens til null ( punkt G).

Logisk element i lineær modus

Bruken av logiske elementer av digitale mikrokretser for å arbeide med analoge signaler er bare mulig hvis de modus byttes til lineær eller i nærheten av det. Så i lineær modus TTL-element tilsvarer en forsterker med en forsterkning på 10 ... 15 (omtrent 20 dB), og CMOS-element– en forsterker med en forsterkning på 10 ... 20 (20 ... 26 dB).


Utgang av et logisk element i lineær modus: fra venstre til høyre ved strøm, spenning, tilbakemelding.

For å sende ut et logisk element til en lineær seksjon, bruk ulike måter. En av dem er basert på inkludering ved inngangen til TTL-elementmotstanden R. Denne motstanden vil føre til at en strøm flyter gjennom emitterkrysset til TTL-elementets inngangstransistor. Ved å endre motstanden til den eksterne motstanden, kan du endre spenningen ved utgangen av elementet, det vil si endre posisjonen til driftspunktet på overføringskarakteristikken. Til TTL-elementer Motstanden til en slik ekstern motstand varierer fra 1 kOhm til 3 kOhm. Imidlertid denne metoden ikke aktuelt for CMOS-brikker, siden de opererer uten utgangsstrømmer (det er lekkasjestrømmer, men de er små og ustabile).

Den andre måten å bringe et logisk element inn i driftsmodus kan være ved å bruke til inngangen til den tilsvarende spenningen, for eksempel ved å bruke resistiv deler. Ja, for TTL-elementer midten av den lineære delen av overføringskarakteristikken tilsvarer inngangsspenning 1,5…1,8 V, og for CMOS 3…6 V(ved forsyningsspenning 9 V). For forskjellige logiske elementer er ikke denne spenningen den samme, så den velges eksperimentelt. Verdiene til inngangsmotstandene er valgt på en slik måte at inngangsstrømmene til elementene ikke påvirker spenningen som fjernes fra den resistive deleren.

Den tredje metoden er den mest effektive for dette skape negativ tilbakemelding (NF) Av DC mellom inngangen og utgangen til elementet, på grunn av hvilket driftspunktet automatisk opprettholdes i den nødvendige delen av overføringskarakteristikken og ikke krever nøye valg av eksterne motstander. Denne metoden er implementert for logiske porter med inversjon inngangssignal: NOT, AND-NOT, OR-NOT.

Motstand motstand i OOS-kretsen velges basert på å gi elementet den nødvendige inngangsstrømmen. Til CMOS-elementer det utgjør fra flere kilo-ohm til titalls mega-ohm, og for TTL – fra titalls ohm til 1 kOhm. Men bruken av OOS reduserer forsterkningen av elementet.

Logiske forsterkere

For å bruke logiske elementer som signalforsterkere, er det nødvendig å bringe driftspunktet til den lineære delen av overføringskarakteristikken. Hovedegenskapene til slike forsterkere er vist i tabellen nedenfor.

Serie Opplegg
utgang til
lineær
modus
Til oss,
dB
Fmax,
MHz
R forbruk
mW
du ut,
I
Rin,
kOhm
R ut,
kOhm
R1,
kOhm
R2,
kOhm
K155 OOC 18 40 20 1,2 0,6 0,05 0,68 0,68
Nåværende 21 0,8 1,9
K176 OOC 25 5,5 5 … 20 1,5 0,4 0,05 7,5 5,1
Nåværende 17 3 … 4 5,0 3,5 6 6,2 4
561 OOC 25 1000 7 1000 1000

Kretsen til den enkleste forsterkeren basert på et TTL-element er vist nedenfor. Justering av forsterkeren kommer ned til å stille inn driftspunktet til elementet med trimmemotstanden R1 i midten av den lineære delen av overføringskarakteristikken.


Den enkleste forsterkeren basert på et TTL-element

Ulempe enkle forsterkere er lav inngangsimpedans, som begrenser deres anvendelsesområde. I tillegg er gevinsten liten. Eliminert denne ulempen brukes sammen med transistorer. Forsterkningen økes ved å koble flere trinn i serie. I tillegg inneholder den digitale brikken flere identiske elementer, som gjør det mulig å lage flerkanalsforsterkere. Et eksempel er diagrammet vist nedenfor. Hovedkarakteristikker til forsterkeren: gain – 50; utgangsimpedans 50 Ohm, inngangsimpedans 5 kOhm, øvre grensefrekvens 40 MHz.


Forsterkerkrets med transistor ved inngangen

CMOS-elementer kan også brukes til forsterkere, kretsen til den ene er vist nedenfor. En vanlig ulempe med CMOS-forsterkere er høy utgangsimpedans. Det kan elimineres ved å installere et logisk element ved utgangen emitter-følger på transistoren og koble den til OOS-kretsen.


Forsterkerkretser basert på CMOS-elementer.

Terskelenheter basert på logiske elementer

Terskelenheter , kalt komparatorer, er designet for å transformere analogt signal inn i digital informasjon. Den enkleste terskelenheten er Schmitt-utløseren, som er beskrevet i denne artikkelen. I tillegg til dannelsen av impulser og restaurering digitale signaler, terskelenheter brukes i analoge - digitale omformere, pulsgeneratorer av forskjellige former.


Diagram over en terskelenhet basert på logiske elementer.

I det store og hele er det logiske elementet i seg selv en terskelenhet, men det overføringskarakteristikk ikke helt lineær. For å øke lineariteten til overføringskarakteristikken til et logisk element, må det dekkes positiv tilbakemelding (POF) ved likestrøm gjennom motstand R2. I dette tilfellet blir det en slags Schmitt trigger med evne til å regulere terskelspenninger. Hystereseløkkebredde(forskjell mellom terskelspenninger) avhenger av forholdet mellom verdiene til motstandene R1 og R2. Følsomheten avhenger også av disse motstandene. Når R2 øker og R1 reduseres, øker følsomheten og bredden på hysteresesløyfen reduseres. Til TTL-brikker motstand R1 = 0,1 ... 2 kOhm, og R2 = 2 ... 10 kOhm. Terskelenheter basert på CMOS-elementer er svært økonomiske, men ulempen er lav følsomhet. Til CMOS-brikker R1 er flere titalls kilo-ohm, og R2 er flere hundre kilo-ohm.

Generatorer basert på logiske elementer

Digitale mikrokretser er mye brukt i kretsskjemaer for ulike generatorer med frekvenser fra brøkdeler av en hertz til titalls megahertz og de fleste ulike former impuls. Generelt representerer generatorer et forsterkningstrinn eller flere, som er dekket frekvensavhengig tilbakemelding. RC, LC, RLC kretser, samt piezokeramiske og kvartsresonatorer.

Vist under generatorkrets med RC-frekvensavhengig krets. Driften av denne generatoren er assosiert med lade- og utladingsprosessene til kondensator C1 gjennom motstand R1.


RC oscillatorkrets

I denne generatorkretsen er en OOS implementert gjennom motstand R1, som setter det logiske elementet i lineær modus, og en frekvensavhengig POS implementeres gjennom kondensator C1. Denne generatoren bruker både TTL- og CMOS-elementer. Resistansen til motstanden R1 velges på samme måte som for forsterkertrinnet med OOS, og kapasitansen til kondensatoren velges avhengig av nødvendig oscillasjonsfrekvens. Generasjonsfrekvensen kan bestemmes ved å bruke den omtrentlige formelen

F\approx\frac(0.7)(RC)

Ved drift produserer en slik generator firkantede pulser med en driftssyklus tilnærmet lik 2. Den maksimale generasjonsfrekvensen er begrenset av verdien av koblingsforsinkelsen til logiske elementer, så for CMOS-brikker maksimal frekvens beløper seg til 2…4 MHz, og for TTL- noen titalls MHz.

Ved å bruke digitale brikker kan du også få sinusbølgegenerator, for dette formålet er det nødvendig å bruke LC krets. Diagrammet for en slik generator er vist nedenfor.


LC oscillatorkrets

Både seriell og parallell brukes som frekvensavhengig kommunikasjon oscillerende krets , men i alle fall vil oscillasjonsfrekvensen samsvare Thompsons formel

F=\frac(1)(2 \pi \sqrt(LC))

Motstanden til motstand R1 velges på samme måte som for forsterkertrinnet.

Ulempen med generatorene beskrevet ovenfor er den lave stabiliteten til den genererte frekvensen. For å øke den brukes piezokeramiske og kvartsresonatorer, inkludert deres i en kjede tilbakemelding i stedet for en kondensator eller oscillerende krets.


Generatorkrets med kvartsstabilisering frekvenser

Teori er bra, men uten praktisk anvendelse er det bare ord.

Vi starter reisen din inn i elektronikkens verden med et dykk inn i digital elektronikk. For det første fordi dette er toppen av pyramiden elektronisk verden, For det andre, enkle konsepter digital elektronikk er enkel og forståelig.

Har du noen gang tenkt på hvilket fenomenalt gjennombrudd innen vitenskap og teknologi som har skjedd takket være elektronikk og digital elektronikk spesielt? Hvis ikke, ta smarttelefonen og se nøye på den. Et så enkelt utseende er resultatet av en enorm mengde arbeid og fenomenale prestasjoner av moderne elektronikk. Opprettelsen av en slik teknikk ble gjort mulig takket være den enkle ideen om at all informasjon kan representeres i form av tall. Så uansett hvilken informasjon enheten jobber med, innerst inne er det tallknusing.

Du er sannsynligvis kjent med romerske og arabiske tall. I det romerske systemet er tall representert som en kombinasjon av bokstavene I, V, X, L, C, D, M, og på arabisk ved å bruke kombinasjonen av symbolene 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Men det finnes andre former for å representere tall. En av dem er binær form. Eller, som det oftere kalles, det binære tallsystemet. I et slikt tallsystem er et hvilket som helst tall en sekvens av bare "0" og "1".

arabisk Roman Binær
0 - 00
1 Jeg 01
2 II 10
3 III 11

Matematikere og ingeniører har jobbet hardt, og i dag kan all informasjon presenteres som en kombinasjon av nuller og enere: et signal fra en bevegelsessensor, musikk, video, foto, temperatur, og til og med denne teksten du leser nå er faktisk i dybden på enheten din ser ut som en sekvens av nuller og enere.

Uansett hvilken informasjon en digital enhet håndterer, innerst inne behandler den tall.

Hvorfor akkurat "0" og "1", og ikke "0", "1" og "2", for eksempel? Faktisk har det vært ganske vellykkede forsøk på å lage digital teknologi, som ikke bruker binært, men ternært tallsystem ("0", "1" og "2"), men binært vant likevel.

Kanskje hun vant fordi Sovjetunionen kollapset, eller kanskje fordi "0" og "1" er lettere å representere i skjemaet elektriske signaler. Dette betyr at digitale enheter basert på binært system beregninger er enklere og billigere å gjøre. Jeg skal snakke mer om binære tall senere.

Strukturen til en digital enhet

Nesten hver digital enhet Det er typiske elementer, kombinasjonen som den består av. Noen elementer er veldig enkle, noen er mer komplekse, og noen er helt komplekse. I amatørpraksis er de vanligste: triggere, tidtakere, tellere, registre, mikrokontrollere, komparatorer, etc.

La oss velge noe fra denne listen og se hvordan det fungerer. La det være en mikrokontroller (MK)! Ok, jeg innrømmer det. Jeg valgte mikrokontrolleren av en grunn. Faktum er at det var fremkomsten av mikroprosessorer som gjorde en reell revolusjon innen elektronikk og presset utviklingen til et nytt nivå.

MK er den mest tallrike og populære typen mikroprosessorer i verden. Det som gjør det spesielt er at mikrokontrolleren er en mikro-PC – en hel datamaskin i én brikke. Se for deg en datamaskin på størrelse med for eksempel en krone. Dette er MK.

Mikrokontrollere brukes overalt: i moderne TV-er, kjøleskap, nettbrett, sikkerhetssystemer. Uansett hvor noe må kontrolleres, kan en mikrokontroller finne sin plass. Og alt takket være det faktum at, som enhver mikroprosessor, kan MK programmeres. Som et resultat kan samme type brikke brukes i hundrevis av forskjellige enheter.

I våre dager er de mest populære f.eks. AVR mikrokontrollere, PIC, ARM. Hvert av selskapene som produserer de listede typene mikrokontrollere produserer dusinvis, om ikke hundrevis, av varianter av mikrokontrollere designet for alle tenkelige og utenkelige oppgaver.

Hvordan fungerer en mikrokontroller?

Til tross for kompleksiteten i designet til en ekte mikrokontroller, kan du fortelle hvordan den fungerer i bare én setning: "Teksten til programmet er skrevet til minnet til mikrokontrolleren, MK leser kommandoer fra dette programmet og utfører dem," det er alle.

Selvfølgelig kan ikke MK utføre noen kommandoer. Han har et grunnleggende sett med kommandoer som han forstår og vet hvordan han skal utføre. Ved å kombinere disse kommandoene kan du få nesten alle programmer som enheten vil gjøre akkurat det du vil at den skal gjøre.

I moderne verden en mikroprosessor (MK er også en mikroprosessor, men spesialisert) kan enten ha mye grunnleggende kommandoer, eller veldig lite. Dette er en slik betinget inndeling som til og med ble laget to begreper for: CISC og RISC. CISC er mye forskjellige typer kommandoer for alle anledninger, RISC - dette er kun de mest nødvendige og mest brukte kommandoene, dvs. redusert sett med kommandoer.

De fleste mikrokontrollere er RISC. Dette forklares med det faktum at når du bruker et redusert sett med kommandoer, er mikrokontrollere enklere og billigere å produsere, og de er enklere og raskere for maskinvareutviklere å mestre. Det er mange forskjeller mellom CISC og RISC, men foreløpig er det eneste viktige å huske at CISC har mange kommandoer, RISC har få kommandoer. Vi skal se nærmere på disse to ideene en annen gang.

Hva skjer når mikrokontrolleren slås på?

Så la oss forestille oss en ideell verden der du har en MK og et program allerede er spilt inn i minnet. Eller, som de vanligvis sier, MK er "flash" (i dette tilfellet kalles programmet "firmware") og er klar for kamp.

Hva skjer når du leverer strøm til MK-kretsen din? Det viser seg ikke noe spesielt. Det er ingen magi der i det hele tatt. Følgende vil skje:

Etter at strømmen er satt på, vil mikrokontrolleren gå for å se på hva som er i minnet. Samtidig "vet" han hvor han skal lete for å finne den første kommandoen i programmet sitt.

Plasseringen av begynnelsen av programmet er etablert under produksjonen av MK og endres aldri. MK teller den første kommandoen, utfører den, teller deretter den andre kommandoen, utfører den, deretter den tredje, og så videre til den siste. Når teller han siste kommando, så vil alt starte på nytt, siden MK kjører programmet i en sirkel hvis det ikke får beskjed om å stoppe. Så det er sånn det fungerer.

Men dette hindrer deg ikke i å skrive komplekse programmer som hjelper deg med å kontrollere kjøleskap, støvsugere, industrimaskiner, lydspillere og tusenvis av andre enheter. Du kan også lære hvordan du lager enheter med MK. Det vil ta tid, lyst og litt penger. Men dette er så små ting, ikke sant?

Hvordan fungerer en typisk MK?

Ethvert mikroprosessorsystem er basert på tre pilarer:

  1. prosessor(ALU + kontrollenhet),
  2. Hukommelse(ROM, RAM, FLASH),
  3. I/O-porter .

Prosessoren, ved hjelp av I/O-porter, mottar/sender data i form av tall og utfører ulike funksjoner på dem aritmetiske operasjoner og lagrer dem i minnet. Kommunikasjon mellom prosessoren, portene og minnet skjer gjennom ledninger kalt dekk(dekk er delt inn i flere typer etter formål) . Dette generell idé drift av MP-systemet. Som på bildet under.

MK, som jeg allerede skrev, er også en mikroprosessor. Bare spesialisert. Fysisk struktur av MK mikrokretser forskjellige serier kan avvike betydelig, men ideologisk vil de være like og vil ha slike for eksempel blokker som: ROM, RAM, ALU, inngangs-/utgangsporter, tidtakere, tellere, registre.

rom Permanent minne. Alt som er skrevet til den forblir i ROM-en selv etter at enheten er koblet fra strømforsyningen.
RAM Midlertidig minne. RAM er arbeidsminnet til MK. Alle mellomresultater av kommandoutførelse eller data fra eksterne enheter er plassert i den.
ALU Den matematiske hjernen til en mikrokontroller. Det er han som adderer, subtraherer, multipliserer, og noen ganger deler, sammenligner nuller og enere i prosessen med å utføre programkommandoer. Et av de viktigste organene til MK.
I/O-porter Bare enheter for å kommunisere MK med omverdenen. Uten dem kan du verken skrive til eksternt minne eller motta data fra sensoren eller tastaturet.
Tidtakere Lagde du kake eller kylling? Har du satt en tidtaker for å varsle deg når retten er klar? I MK utfører timeren lignende funksjoner: den teller intervaller, gir et signal om drift, etc.
Tellere De kommer godt med når du skal telle noe.
Registrerer Det mest uforståelige ordet for de som minst en gang har prøvd å mestre Assembler på egenhånd. Og forresten, de fungerer på en måte som rask RAM for MK. Hvert register er en slags minnecelle. Og i hver MK er det bare noen få dusin av dem.

Den moderne utviklingsskalaen for digital elektronikk er så enorm at selv for hvert element fra denne tabellen kan du skrive en hel bok, eller til og med mer enn én. Jeg vil beskrive de grunnleggende ideene som vil hjelpe deg videre uavhengig å forstå mer detaljert hver av enhetene.

Hjernen til mikrokontrolleren

Mikroprosessoren/mikrokontrolleren fungerer alltid i henhold til programmet som er innebygd i den. Programmet består av en sekvens av operasjoner som MK kan utføre. Operasjoner utføres i CPU - dette er hjernen til mikrokontrolleren. Det er dette organet som kan utføre aritmetiske og logiske operasjoner med tall. Men det er fire viktigere operasjoner han kan gjøre:

  • lesing fra en minnecelle
  • skrive til minnecellen
  • lese fra I/O-porten
  • skrive til I/O-porten

Disse operasjonene er ansvarlige for å lese/skrive informasjon inn i minnet og eksterne enheter via I/O-porter. Og uten dem blir enhver prosessor til ubrukelig søppel.

Teknisk sett består prosessoren av en ALU (prosessorkalkulator) og en kontrollenhet som styrer samspillet mellom I/O-porter, minne og en aritmetisk logikkenhet (ALU).

Mikrokontroller minne

Tidligere i tabellen med typiske enheter inkludert i MK, indikerte jeg to typer minne: ROM og RAM. Forskjellen mellom dem er at i ROM lagres dataene mellom å slå på enheten. Men samtidig er ROM et ganske tregt minne. Derfor er det RAM, som er ganske raskt, men som kun kan lagre data når det tilføres strøm til enheten. Det er verdt å slå av enheten og alle dataene er derfra... ingenting.

Hvis du har en bærbar eller personlig datamaskin, er du kjent med denne situasjonen: du skrev et berg med tekst, glemte å lagre det på HDD, strømmen gikk plutselig ut. Du slår på datamaskinen, men det er ingen tekst. Det er riktig. Mens du skrev det, ble det lagret i RAM. Derfor forsvant teksten da datamaskinen ble slått av.

I den fremmede verden kalles RAM og ROM RAM og ROM:

  1. RAM (Random Access Memory) - minne med tilfeldig tilgang
  2. ROM (Read Only Memory) - skrivebeskyttet minne

I vårt land kalles de også flyktig og ikke-flyktig hukommelse. Som, etter min mening, mer nøyaktig gjenspeiler naturen til hver type minne.

rom

I dag har ROM-minne av typen FLASH (eller, etter vår mening, EEPROM) blitt stadig mer utbredt. Den lar deg lagre data selv når enheten er slått av. Derfor, i moderne MCUer, for eksempel i AVR MCU, brukes FLASH-minne som ROM.

Tidligere var ROM-minnebrikker en gang programmerbare. Derfor, hvis et program eller data med feil ble registrert, ble en slik mikrokrets ganske enkelt kastet. Litt senere dukket det opp ROM-er som kunne skrives om mange ganger. Dette var UV-slettbare brikker. De har levd ganske lenge og finnes til og med nå i noen enheter fra 1990-tallet...2000-tallet. For eksempel kommer denne ROM-en fra USSR.

De hadde en betydelig ulempe - hvis krystallen (den som er synlig i vinduet) ble opplyst ved et uhell, kunne programmet bli skadet. Og også ROM er fortsatt tregere enn RAM.

RAM

RAM, i motsetning til ROM, PROM og EEPROM, er flyktige og når enheten er slått av, går all data i RAM tapt. Men ikke en eneste mikroprosessorenhet kan klare seg uten den. Siden under drift er det nødvendig å lagre resultatene av beregninger og data som prosessoren jobber med et sted. ROM er ikke egnet for disse formålene på grunn av sin treghet.

PROGRAM OG DATAMINNE

I tillegg til inndelingen i flyktig (RAM) og ikke-flyktig minne, har mikrokontrollere en inndeling i dataminne og programminne. Det betyr at MK har spesielt minne, som kun er beregnet for lagring av MK-programmet. I moderne tid er dette vanligvis en FLASH ROM. Det er fra dette minnet at mikrokontrolleren leser kommandoene den utfører.

Separat fra programminnet er det et dataminne der mellomarbeidsresultater og alle andre data som kreves av programmet er plassert. Programminnet er vanlig RAM.

Denne separasjonen er god fordi ingen feil i programmet kan skade selve programmet. For eksempel når MK ved en feil prøver å skrive i stedet for en kommando i programmet tilfeldig tall. Det viser seg at programmet er pålitelig beskyttet mot skade. Forresten, denne divisjonen har sitt eget spesielle navn - "Harvard-arkitektur".

På 1930-tallet ga den amerikanske regjeringen Harvard- og Princeton-universitetene i oppdrag å utvikle arkitektur Datamaskin for marineartilleri. På slutten av 1930-tallet ved Harvard University utviklet Howard Aiken seg arkitektur datamaskin Mark I, heretter oppkalt etter dette universitetet.

Nedenfor har jeg skjematisk avbildet Harvard-arkitektur:

Dermed blir programmet og dataene det jobber med fysisk lagret i forskjellige steder. Som for store prosessorsystemer som personlig datamaskin, så lagres dataene og programmet på samme sted mens programmet kjører.

MINNESHIERARKI

HVORDAN HJERNEN TIL EN MIKROKONTROLL ER SIGNERT

Du mener allerede at hjernen til MK er CPU -- prosessor, som består av en ALU (aritmetisk-logisk enhet) og en kontrollenhet (CU). Kontrollenheten styrer hele orkesteret fra minne, eksterne enheter og ALU. Takket være ham kan MK utføre kommandoer i den rekkefølgen vi ønsker.

ALU er en kalkulator, og kontrollenheten forteller ALU hva, med hva, når og i hvilken rekkefølge den skal beregne eller sammenligne. ALU kan addere, subtrahere, noen ganger dividere og multiplisere, og utføre logiske operasjoner: OG, ELLER, IKKE (mer om dem litt senere)

Enhver datamaskin, inkludert MK, kan i dag bare fungere med binære tall som består av "0" og "1". Akkurat dette enkel idé førte til en revolusjon innen elektronikk og den eksplosive utviklingen av digital teknologi.

La oss anta at ALU må legge til to tall: 2 og 5. I forenklet form vil det se slik ut:

I dette tilfellet vet kontrollenheten i hvilket minnested den skal ta tallet "2", hvor tallet "5" og i hvilket minnested resultatet skal plasseres. CU vet om alt dette fordi den leste om det i en kommando fra et program som dette øyeblikket Jeg leste det i programmet. Jeg vil fortelle deg mer detaljert om arematiske operasjoner med binære tall og hvordan ALU-addereren fungerer fra innsiden litt senere.

Vel, sier du, hva om du trenger å få disse tallene ikke fra programmet, men utenfra, for eksempel fra en sensor? Hva burde jeg gjøre? Det er her I/O-porter spiller inn, ved hjelp av hvilke MK kan motta og overføre data til eksterne enheter: skjermer, sensorer, motorer, ventiler, skrivere, etc.

LOGISKE OPERASJONER

Du er sikkert veldig kjent med vitsen om "kvinnelig logikk"? Men vi vil snakke ikke om det, men om logikk i prinsippet. Logikken opererer med årsak-virkning-forhold: hvis solen har stått opp, har den blitt lys. Årsaken "solen stod opp" forårsaket effekten "den ble lys." Dessuten kan vi si "SANN" eller "USANN" om hver påstand.

For eksempel:

  • «Fugler svømmer under vann» er løgn
  • "Vann er vått" - ved romtemperatur er dette utsagnet sant

Som du merket, kan det andre utsagnet enten være sant eller usant under visse forhold. Datamaskinen vår har bare tall, og ingeniører og matematikere kom opp med ideen om å angi sannhet som "1" og usant som "0". Dette gjorde det mulig å skrive sannheten til et utsagn i form av binære tall:

  • "Fugler svømmer under vann" = 0
  • "Vann er vått" = 1

Og en slik notasjon tillot matematikere å utføre hele operasjoner med disse utsagnene - logiske operasjoner. George Boole var den første som tenkte på dette. Etter som denne algebraen er oppkalt: "Boolsk algebra", som viste seg å være veldig praktisk for digitale maskiner.

Den andre halvdelen av ALU er logiske operasjoner. De lar deg "sammenligne" utsagn. Det er bare noen få grunnleggende logiske operasjoner: OG, ELLER, IKKE - men dette er nok, siden mer komplekse kan kombineres fra disse tre.

Logisk operasjon OG betegner samtidigheten av utsagn, dvs. at begge påstandene er sanne samtidig. For eksempel uttalelse vil bare være sant hvis begge de enklere påstandene er sanne. I alle andre tilfeller vil resultatet av den logiske OG-operasjonen være falsk.

Logisk operasjon ELLER vil være sant hvis minst ett av utsagnene som er involvert i operasjonen er sant. "Fugler svømmer under vann" og "Vann er vått" sant, siden utsagnet "vann er vått" er sant

Logisk operasjon IKKE endrer sannheten til et utsagn til dens motsatte betydning. Dette er logisk negasjon. For eksempel:

Solen står opp hver dag = SANN

IKKE (Sola står opp hver dag) = IKKE SANN = USANT

Takket være logiske operasjoner kan vi sammenligne binære tall, og siden våre binære tall alltid betyr noe, for eksempel et slags signal. Det viser seg at takket være boolsk algebra kan vi sammenligne virkelige signaler. Dette er hva den logiske delen av ALU gjør.

INN-/UTGANGSENHET

Vår MK skal kommunisere med omverdenen. Først da vil det være en nyttig enhet. For dette formålet har MK spesielle enheter som kalles input/output enheter.
Takket være disse enhetene kan vi sende signaler fra sensorer, tastaturer og andre til mikrokontrolleren eksterne enheter. Og etter å ha behandlet slike signaler, vil MK sende et svar gjennom utgangsenhetene, som det vil være mulig å regulere rotasjonshastigheten til motoren eller lysstyrken til lampen.

La meg oppsummere:

  1. Digital elektronikk - toppen av elektronikkens isfjell
  2. En digital enhet kjenner og forstår bare tall
  3. All informasjon: melding, tekst, video, lyd, kan kodes ved hjelp av binære tall
  4. En mikrokontroller er en mikrodatamaskin på en enkelt brikke
  5. Ethvert mikroprosessorsystem består av tre deler: prosessor, minne, inngangs-/utgangsenheter
  6. Prosessoren består av en ALU og en kontrollenhet
  7. ALU kan utføre aritmetiske og logiske operasjoner med binære tall

Bli hos oss. I de følgende artiklene vil jeg fortelle deg mer detaljert hvordan MK-minnet, I/O-portene og ALU er ordnet. Og etter det vil vi gå enda lenger og til slutt nå analog elektronikk.

p.s.
Fant du en feil? Fortell meg!

/blogg/tsifrovaya-elektronika-chto-eto/ I denne historien er de første skrittene inn i elektronikkens verden tatt fra en uvanlig retning. Du starter reisen gjennom elektronikk med en verden av digitale kretser, med mikrokontrollere 2016-11-17 2016-12-26 digital elektronikk, digitale kretser, mikrokontroller, logiske elementer

Stor radioamatør og programdesigner