kategorier: Praktisk elektronik, Microcontroller kredsløb
Antal visninger: 21376
Kommentarer til artiklen: 0

Typer og arrangement af AVR-mikrokontrollere

 


AVR - Dette er navnet på den populære familie af mikrokontrollere, som virksomheden producerer. Atmel. Ud over ABP under dette mærke udstedes mikrocontrollere og andre arkitekturer som ARM og i8051.


Hvad er AVR-mikrokontrollere?

Mikrokontrollere AVR

Der er tre typer mikrokontrollere:

  1. AVR 8-bit.

  2. AVR 32-bit.

  3. AVR xMega

I mere end et årti er den mest populære 8-bit familie af mikrokontrollere. Mange skinker begyndte at studere mikrokontrollere fra ham. Næsten alle af dem lærte verden af ​​programmerbare controllere ved at udføre deres enkle håndværk, såsom LED blinkende lys, termometre, ure, såvel som enkel automatisering, såsom kontrol af belysning og opvarmningsapparater.

Microcontrollers AVR 8-bit er til gengæld opdelt i to populære familier:

  • ATtiny - Fra navnet er det klart, at den yngre (lille - ung, ung, yngre) dybest set har fra 8 stifter eller mere. Mængden af ​​hukommelse og funktionalitet er normalt mere beskeden end i det følgende;

  • atmega - Mere avancerede mikrokontrollere har mere hukommelse, stifter og forskellige funktionelle enheder;

Mikrokontrollere Attiny

Den mest kraftfulde underfamilie af mikrokontrollere er xMega - disse mikrokontrollere er tilgængelige i tilfælde med et stort antal stifter, fra 44 til 100. Så meget er nødvendigt til projekter med et stort antal sensorer og aktuatorer. Derudover giver den øgede hukommelseskapacitet og hastighed dig mulighed for at få høj ydeevne.

Microcontroller Atmega

Udskrift: Pin (eng. Pin - nåle, pin) er output fra mikrokontrolleren eller, som de siger, benet. Derfor ordet "pinout" - dvs. information om formålet med hvert af benene.


Hvad er mikrokontrollere til, og hvad er de til?

Mikrokontrollere bruges næsten overalt! Næsten alle enheder i det 21. århundrede fungerer på en mikrocontroller: måleinstrumenter, værktøjer, husholdningsapparater, ure, legetøj, musikbokse og postkort samt meget mere; enumeration alene vil tage flere sider med tekst.

Udvikleren kan bruge det analoge signal fra bunden af ​​det til input fra mikrokontrolleren og manipulere data om dets værdi. Dette arbejde udføres af en analog-til-digital konverter (ADC). Denne funktion gør det muligt for brugeren at kommunikere med mikrokontrolleren samt opfatte forskellige parametre i den omgivende verden ved hjælp af sensorer.

AVR-mikrocontroller på brødbræt

I almindelige AVR-mikrokontrollere, for eksempel, ATmega328som i 2017 er hjertet i mange kredsløbskort Arduinomen om dem senere. Brugt 8 kanal ADCmed bitdybde 10 bit. Dette betyder, at du kan læse værdien fra 8 analoge sensorer. Og digitale sensorer er forbundet til de digitale udgange, hvilket kan være indlysende. Imidlertid kan et digitalt signal kun være 1 (enhed) eller 0 (nul), mens et analogt signal kan tage et uendeligt antal værdier.

Digitale og analoge signaler

forklaring:


kapacitet Er en værdi, der kendetegner kvaliteten, nøjagtigheden og følsomheden af ​​den analoge indgang. Det lyder ikke meget klart. Lidt praksis: et 10-bit ADC, optager analog information fra en port i 10 bits hukommelse, med andre ord, et glat skiftende digitalt signal genkendes af en mikrocontroller som en numerisk værdi fra 0 til 1024.

En 12-bit ADC ser det samme signal, men med større nøjagtighed - i form fra 0 til 4096, hvilket betyder, at de målte værdier for indgangssignalet vil være 4 gange mere nøjagtige. For at forstå, hvor 1024 og 4096 kom fra, skal du blot hæve 2 til kraften i ADC-bitdybden (2 til kraften på 10, for 10 bit osv.)

For at kontrollere belastningen er der PWM-kanaler til din rådighed. De kan f.eks. Bruges til at justere lysstyrke, temperatur eller motorhastighed. I den samme 328 controller er der 6 af dem.

Generelt er strukturen af ​​AVR-mikrokontrolleren afbildet i diagrammet:

Mikrokontroller AVR-struktur

Alle noder er underskrevet, men stadig er nogle navne muligvis ikke så indlysende. Lad os se på deres notation.

  • ALU - aritmetisk-logisk enhed. Nødvendigt for at udføre beregningen.

  • Generelle anvendelsesregistre (RON) - Registre, der kan modtage data og gemme dem, mens mikrokontrolleren er tilsluttet strøm, slettes efter en genstart. Serveres som midlertidige celler til datafunktioner.

  • afbryder - noget som en begivenhed, der opstår på grund af intern eller ekstern påvirkning af mikrokontrolleren - timeroverløb, ekstern afbrydelse fra pin MK osv.

  • JTAG - en grænseflade til programmering i kredsløb uden at fjerne mikrokontrolleren fra tavlen.

  • Flash, RAM, EEPROM - hukommelsestyper - programmer, midlertidige arbejdsdata, langtidslagring uafhængigt af strømforsyningen til mikrokontrolleren, i henhold til rækkefølgen i navnene.

  • Timere og tællere - de vigtigste noder i mikrokontrolleren, i nogle modeller kan deres antal være op til et dusin. De er nødvendige for at rapportere antallet af mål henholdsvis tidsintervaller, og tællerne øger deres værdi for nogen af ​​begivenhederne. Deres arbejde og dets tilstand afhænger af programmet, men disse handlinger udføres i hardware, dvs. parallelt med programmets hovedtekst kan de forårsage afbrydelse (ved timeroverløb, som en mulighed) på ethvert trin af kodeudførelse, på enhver linje af det.

  • A / D (analog / digital) - ADC, vi har allerede beskrevet dens formål.

  • WatchDogTime (Watchdog Timer) - en RC-oscillator uafhængig af mikrokontrolleren og endda dens urgenerator, der tæller et bestemt tidsrum og genererer et MK-nulstillingssignal, hvis det fungerede, og vågner op, hvis det var i dvaletilstand (strømbesparelse). Dens drift kan deaktiveres ved at indstille WDTE-bit til 0.


Udgangene til mikrokontrolleren er temmelig svage, hvilket betyder, at strømmen gennem dem normalt er op til 20-40 milliampere, hvilket er nok til at tænde LED- og LED-indikatorerne. For en mere kraftfuld belastning er strøm- eller spændingsforstærkere nødvendige, for eksempel de samme transistorer.


Hvad har du brug for for at studere mikrokontrollere?

Først skal du købe selve mikrokontrolleren. Rollen som den første mikrokontroller kan være enhver Attiny2313, Attiny85, Atmega328 og andre. Det er bedre at vælge den model, der er beskrevet i de lektioner, du vil engagere dig i.

Attiny2313

Den næste ting, du har brug for, er programmør. Det er nødvendigt at downloade firmware til hukommelsen til MK, det betragtes som den billigste og mest populære USBASP.

programmør

Lidt dyrere, men ikke mindre almindelig programmør AVRISP MKII, som du kan gøre selv - fra et almindeligt tavle Arduino

Programmerer AVRISP MKII

En anden mulighed er at blinke gennem dem USB UART adapter, som normalt udføres på en af ​​konvertere: FT232RL, CH340, PL2303 og CP2102.

USB-UART-adapter

I nogle tilfælde bruges AVR-mikrokontrollere med USB-hardwarestøtte til en sådan konverter; der er ikke for mange sådanne modeller. Her er nogle:

  • ATmega8U2;

  • ATmega16U2;

  • ATmega32U2.

USB-hardware-baseret AVR-mikrocontroller

Kun én “men” - UART-startloaderen skal først indlæses i mikrokontrollerens hukommelse. Selvfølgelig har du stadig brug for en programmerer til AVR-mikrokontrollere.


Interessant: Bootloader - Dette er et normalt program for en mikrocontroller, men med en usædvanlig opgave - efter dens lancering (tilslutning til strøm) forventer den i nogen tid, at firmware kan indlæses i det. Fordelen ved denne metode er, at du kan blinke enhver USB-UART-adapter, og de er meget billige. Ulempen er, at firmwaren tager lang tid at indlæse.

Til arbejde UART (RS-232) interface i AVR-mikrokontrollerne tildelt en hel UDR-register (UART-dataregister). UCSRA (RX, TX transceiver bit-indstillinger), UCSRB og UCSRС - et sæt registre, der er ansvarlige for interfaceindstillingerne som helhed.


Hvordan kan jeg skrive programmer?

Ud over programmereren har du brug for et IDE - udviklingsmiljø til skrivning og download af programmet. Du kan selvfølgelig skrive kode i notepad, passere gennem compilere osv. Hvorfor er det nødvendigt, når der er fremragende færdige muligheder. En af de mest magtfulde er måske IAR, men den betales.

Den officielle Atmel IDE er AVR Studio, der blev omdøbt til Atmel studio i version 6. Det understøtter alle AVR-mikrokontrollere (8, 32, xMega), registrerer automatisk kommandoer og hjælper med at indtaste, fremhæver den rigtige syntaks og meget mere.Med dens hjælp kan du blinke MK.

Det mest almindelige er C AVR, så find en tutorial om det, der er mange russiske sproglige muligheder, og en af ​​dem er Khartov V.Ya. “AVR-mikrokontrollere. Workshop for begyndere. "

Mikrocontroller-programmering

Den nemmeste måde at lære AVR på

Køb eller gør det selv Arduino bestyrelse. Arduino-projektet er designet specifikt til uddannelsesmæssige formål. Det har snesevis af tavler med forskellige former og antal kontakter. Den vigtigste ting i arduino er, at du ikke kun køber en mikrocontroller, men et fuldgyldigt debugboard, der er loddet til et tekstolitpapir i høj kvalitet, dækket med en maske og monterede SMD-komponenter.

De mest almindelige er Arduino Nano og Arduino UNO, som i det væsentlige er identiske, bortset fra at Nano er omkring 3 gange mindre end Uno.

Arduino uno

Et par kendsgerninger:

  • Arduino kan programmeres på et standardsprog - “C AVR”;

  • hans egne - ledninger;

  • standardudviklingsmiljø - Arduino IDE;

  • for at oprette forbindelse til en computer, skal du bare tilslutte USB-kablet til mikro-USB-stikket på Arduino nano-kortet, installere driverne (sandsynligvis sker dette automatisk, undtagen når konverteren på CH340, jeg ikke havde drivere på Win 8.1, jeg var nødt til at downloade det, men det Det tog ikke meget tid.) Så kan du uploade dine "skitser";

  • "Skitser" er navnet på programmerne til arduino.

Eksperimenter med Arduino UNO

fund

Mikrokontrollere vil være en stor hjælp i din amatørradiopraksis, som giver dig mulighed for at opdage verdenen af ​​digital elektronik, designe dine egne måleinstrumenter og hjemmeautomatiseringsudstyr.

Se også på elektrohomepro.com:

  • PIC-mikrokontrollere til begyndere
  • Mikrocontroller-programmering for begyndere
  • Tilslutning og programmering af Arduino til begyndere
  • Programmerbare mikrokontrollere i JavaScript: hvilken man skal vælge, egenskaber ...
  • Hvad er mikrokontrollere - formål, enhed, software

  •