kategorier: Praktisk elektronik, Mikrokontrollkretsar
Antal visningar: 21376
Kommentarer till artikeln: 0

Typer och arrangemang av AVR-mikrokontroller

 


AVR - Detta är namnet på den populära familjen av mikrokontroller som företaget producerar. Atmel. Förutom ABP utfärdas under detta märke mikrokontrollers och andra arkitekturer som ARM och i8051.


Vad är AVR-mikrokontroller?

Mikrokontroller AVR

Det finns tre typer av mikrokontroller:

  1. AVR 8-bitars.

  2. AVR 32-bitars.

  3. AVR xMega

I mer än ett decennium är den mest populära 8-bitarsfamiljen av mikrokontroller. Många skinkor började studera mikrokontroller från honom. Nästan alla av dem lärde sig världen av programmerbara styrenheter genom att göra sina enkla hantverk, till exempel LED-blinkande lampor, termometrar, klockor, såväl som enkel automatisering, såsom kontroll av belysning och värmeapparater.

Mikrokontroller AVR 8-bitar i sin tur är indelade i två populära familjer:

  • ATtiny - namnet visar att den yngsta (liten - ung, ung, yngst), i princip har 8 stift eller mer. Volymen på deras minne och funktionalitet är vanligtvis mer blygsam än i följande;

  • aTmega - Mer avancerade mikrokontroller har mer minne, stift och olika funktionella enheter;

Mikrokontroller Attiny

Den mest kraftfulla underfamiljen av mikrokontroller är xMega - dessa mikrokontroller finns i fall med ett stort antal stift, från 44 till 100. Så mycket är nödvändigt för projekt med ett stort antal sensorer och ställdon. Dessutom ger den ökade minneskapaciteten och hastigheten dig hög prestanda.

Mikrokontroller Atmega

Transcript: Pin (eng. Pin - nål, pin) är utgången från mikrokontrollern eller, som de säger, benet. Därför ordet "pinout" - dvs information om syftet med var och en av benen.


Vad är mikrokontroller för och vad är de för?

Mikrokontroller används nästan överallt! Nästan varje enhet på 2000-talet fungerar på en mikrokontroller: mätinstrument, verktyg, hushållsapparater, klockor, leksaker, musiklådor och vykort, såväl som mycket mer; uppräkning bara tar flera sidor med text.

Utvecklaren kan använda den analoga signalen från botten av den till ingången till mikrokontrollern och manipulera data om dess värde. Detta arbete utförs av en ADC (analog-till-digital-omvandlare). Denna funktion gör det möjligt för användaren att kommunicera med mikrokontrollern, såväl som att uppfatta olika parametrar i den omgivande världen med hjälp av sensorer.

AVR mikrokontroller på brödskiva

I vanliga AVR-mikrokontroller, till exempel, ATMEGA328som under 2017 är hjärtat i många kretskort Arduinomen om dem senare. Begagnade 8 kanaler ADCmed bitdjup 10 bitar. Detta betyder att du kan läsa värdet från 8 analoga sensorer. Och digitala sensorer är anslutna till de digitala utgångarna, vilket kan vara uppenbart. Emellertid kan en digital signal endast vara 1 (enhet) eller 0 (noll), medan en analog signal kan ta ett oändligt antal värden.

Digitala och analoga signaler

förklaring:


kapacitet Är ett värde som kännetecknar kvaliteten, noggrannheten och känsligheten för den analoga ingången. Det låter inte särskilt tydligt. Lite övning: en 10-bitars ADC, spela in analog information från en port i 10 bitar minne, med andra ord, en smidigt förändrad digital signal känns igen av en mikrokontroller som ett numeriskt värde från 0 till 1024.

En 12-bitars ADC ser samma signal, men med högre noggrannhet - i formen från 0 till 4096, vilket innebär att de uppmätta värdena på insignalen blir fyra gånger mer exakt. För att förstå var 1024 och 4096 kom ifrån, höj bara 2 till kraften i ADC-bitdjupet (2 till kraften på 10, för 10 bit, etc.)

För att styra lasteffekten finns det PWM-kanaler till ditt förfogande. De kan till exempel användas för att justera ljusstyrka, temperatur eller motorvarvtal. I samma 328 styrenhet finns 6 av dem.

I allmänhet visas AVR-mikrokontrollerns struktur i diagrammet:

Mikrokontroller AVR-struktur

Alla noder är signerade, men vissa namn är kanske inte så uppenbara. Låt oss titta på deras notation.

  • ALU - aritmetisk-logisk enhet. Behövs för att utföra beräkningen.

  • Allmänna register (RON) - Register som kan ta emot data och lagra dem medan mikrokontrollern är ansluten till ström raderas efter en omstart. Servera som tillfälliga celler för datahantering.

  • avbrott - något som en händelse som inträffar på grund av interna eller externa påverkan på mikrokontrollern - timeröverflöde, externt avbrott från stift MK, etc.

  • JTAG - ett gränssnitt för programmering i kretsen utan att ta bort mikrokontrollern från kortet.

  • Flash, RAM, EEPROM - typer av minne - program, tillfällig arbetsdata, långvarig lagring oberoende av strömförsörjningen till mikrokontrollern, i enlighet med ordningen i namnen.

  • Tidtagare och räknare - de viktigaste noderna i mikrokontrollern, i vissa modeller kan antalet vara upp till ett dussin. De behövs för att rapportera antalet åtgärder respektive tidsintervall och räknarna ökar sitt värde för någon av händelserna. Deras arbete och dess läge beror på programmet, men dessa åtgärder utförs i hårdvara, d.v.s. parallellt med programmets huvudtext kan de orsaka avbrott (genom timeröverskridning, som tillval) i valfritt skede av kodutförandet, på vilken rad som helst.

  • A / D (Analog / Digital) - ADC, vi har redan beskrivit dess syfte.

  • WatchDogTime (Watchdog Timer) - en RC-oscillator oberoende av mikrokontrollern och till och med dess klockgenerator, som räknar en viss tidsperiod och genererar en MK-återställningssignal om den fungerade och vaknar om den var i viloläge (energisparande). Dess funktion kan inaktiveras genom att ställa WDTE-biten till 0.


Mikrokontrollens utgångar är ganska svaga, vilket innebär att strömmen genom dem vanligtvis är upp till 20-40 milliamp, vilket är tillräckligt för att tända LED- och LED-indikatorerna. För en kraftfullare belastning behövs ström- eller spänningsförstärkare, till exempel samma transistorer.


Vad behöver du för att börja studera mikrokontroller?

Först måste du köpa själva mikrokontrollern. Den första mikrokontrollerns roll kan vara vilken som helst Attiny2313, Attiny85, Atmega328 och andra. Det är bättre att välja den modell som beskrivs i lektionerna som du kommer att engagera dig i.

Attiny2313

Nästa sak du behöver är programmerare. Det behövs för att ladda ner firmware till MK: s minne, det anses vara det billigaste och mest populära USBASP.

programmerare

Lite dyrare, men inte mindre vanliga programmerare AVRISP MKII, som du kan göra själv - från en vanlig styrelse Arduino

Programmerare AVRISP MKII

Ett annat alternativ är att blinka igenom dem USB UART adapter, som vanligtvis görs på en av omvandlarna: FT232RL, CH340, PL2303 och CP2102.

USB-UART-adapter

I vissa fall används AVR-mikrokontroller med USB-hårdvarustöd för en sådan omvandlare; det finns inte för många sådana modeller. Här är några:

  • ATmega8U2;

  • ATmega16U2;

  • ATmega32U2.

USB-hårdvarubaserad AVR-mikrokontroller

Endast en "men" - UART-startlasteren måste först laddas i mikrokontrollerns minne. Naturligtvis för detta behöver du fortfarande en programmerare för AVR-mikrokontroller.


Intressant: Bootloader - Detta är ett normalt program för en mikrokontroller, men med en ovanlig uppgift - efter att den har startats (ansluts till ström), förväntar den sig under en tid att firmware kan laddas in i den. Fördelen med denna metod är att du kan blixta vilken USB-UART-adapter som helst, och de är väldigt billiga. Nackdelen är att firmware tar lång tid att ladda.

För arbete UART (RS-232) gränssnitt i AVR-mikrokontroller tilldelade en hel UDR-register (UART-dataregister). UCSRA (RX, TX transceiver bitinställningar), UCSRB och UCSRR - en uppsättning register som är ansvariga för gränssnittsinställningarna som helhet.


Hur kan jag skriva program?

Förutom programmeraren, för att skriva och ladda ner programmet behöver du en IDE - utvecklingsmiljö. Du kan naturligtvis skriva kod i anteckningar, gå igenom kompilatorer etc. Varför är det nödvändigt när det finns utmärkta färdiga alternativ. Kanske en av de mest kraftfulla är IAR, men den betalas.

Den officiella Atmel IDE är AVR Studio, som byttes namn på Atmel studio i version 6. Den stöder alla AVR-mikrokontroller (8, 32, xMega), upptäcker automatiskt kommandon och hjälper till att komma in, markerar rätt syntax och mycket mer.Med sin hjälp kan du blinka MK.

Det vanligaste är C AVR, så hitta en tutorial om det, det finns massor av ryskspråkiga alternativ, och ett av dem är Khartov V.Ya. “AVR-mikrokontroller. Workshop för nybörjare. "

Programmering av mikrokontroller

Det enklaste sättet att lära sig AVR

Köp eller gör det själv Arduino styrelse. Arduino-projektet är utformat specifikt för utbildningsändamål. Den har dussintals brädor med olika former och antal kontakter. Det viktigaste i arduino är att du inte bara köper en mikrokontroll, utan ett fullfjädrat felsökningskort som är lödat till ett högkvalitativt textolittryckt kretskort, täckt med en mask och monterade SMD-komponenter.

De vanligaste är Arduino Nano och Arduino UNO, som är väsentligen identiska, förutom att Nano är ungefär tre gånger mindre än Uno.

Arduino uno

Några fakta:

  • Arduino kan programmeras på ett standardspråk - “C AVR”;

  • hans egna - ledningar;

  • standardutvecklingsmiljö - Arduino IDE;

  • för att ansluta till en dator, behöver du bara ansluta USB-kabeln till mikro-USB-uttaget på Arduino nano-kortet, installera drivrutinerna (troligen kommer detta att hända automatiskt, utom när konverteraren på CH340, jag hade inte drivrutiner på Win 8.1, jag var tvungen att ladda ner den, men det Det tog inte mycket tid.) Sedan kan du ladda upp dina "skisser";

  • "Skisser" är namnet på programmen för arduino.

Experiment med Arduino UNO

rön

Mikrokontroller kommer att vara till stor hjälp i din amatörradiopraxis, som gör att du kan upptäcka världen av digital elektronik, designa dina egna mätinstrument och hemmeautomationsutrustning.

Se även på elektrohomepro.com:

  • PIC-mikrokontroller för nybörjare
  • Mikrokontrollerprogrammering för nybörjare
  • Ansluta och programmera Arduino för nybörjare
  • Programmerbara mikrokontroller i JavaScript: vilken man ska välja, egenskaper ...
  • Vad är mikrokontroller - ändamål, enhet, programvara

  •