AVR mikrokontroller. Grunderna i programmering

AVR mikrokontroller.  Grunderna i programmering
AVR mikrokontroller. Grunderna i programmering

Låt oss försöka ta reda på vad en AVR-mikrokontroller är, vad den är och vad den består av. Låt oss ta reda på vilka familjer av mikrokontroller det finns från ATMEL och i vilka paket produceras mikrochips från denna tillverkare. Låt oss välja det mikrokretsfodral som är mest lämpligt för att bekanta oss med AVR-mikrokontroller.

Styrenheter och mikrokontroller

Mikrokontrollerär en elektronisk enhet, en mikrokrets som är en liten dator med eget minne och datorkärna (mikroprocessor), samt en uppsättning ytterligare gränssnitt för att ansluta en mängd olika enheter för in- och utmatning av olika information, styrning av enheter och mätning olika parametrar. Mikroprocessor, RAM, flashminne, in-/utgångsportar, timers, kommunikationsgränssnitt - allt detta finns i en kristall, ett chip, som kallas en mikrokontroller.

Vad är skillnaden mellan en mikrokontroller och en kontroller?- en styrenhet betyder en specifik krets eller kort med olika komponenter för att styra och utföra tilldelade uppgifter, och en mikrokontroller är en universell styrkrets som är placerad på en liten chipkristall och som kan arbeta enligt ett tydligt definierat program.

Driften av mikrokontrollern och dess kringutrustning utförs enligt ett program som är inspelat i internminnet och kan lagras i ett sådant minne under ganska lång tid (flera decennier).

Vad är en AVR-mikrokontroller

AVR mikrokontroller, producerad av ATMEL, är en familj av 8-bitars och nyare 32-bitars mikrokontroller med RISC-arkitektur, som kombinerar en datorkärna, flashminne och olika kringutrustning (analoga och digitala in- och utgångar, gränssnitt, etc.) i en kristall. Dessa är små och mycket mångsidiga mikrokretsar som kan övervaka och styra olika enheter, interagera med varandra samtidigt som de förbrukar väldigt lite energi.

Denna RISC-kärna utvecklades av två studenter från staden Trondheim (den tredje folkrikaste staden i Norge, belägen vid Nidelvaflodens mynning) - Alf-Egil Bogen och Vegard Wollen. 1995 gav dessa personer ett erbjudande till ATMEL Corporation att producera nya 8-bitars mikrokontroller, sedan dess har AVR-mikrokontroller vunnit stor popularitet och bred tillämpning.

Vad står förkortningen AVR för? - det finns två mest troliga alternativ här:

  1. A Avancerad V virtuell R ISC;
  2. A Om Egil Bogen V egard Wollan R ISC, för att hedra skaparna - Alpha och Vegard.

Hela klassen av mikrokontroller är indelad i familjer:

  • liten AVR(till exempel: ATtiny13, ATtiny88b ATtiny167) - startnivå, miniatyrchips, lite minne och portar, grundläggande kringutrustning;
  • megaAVR(till exempel: ATmega8, ATmega48, ATmega2561) - medelklass, mer minne och portar, mer olika kringutrustning;
  • XMEGA AVR(till exempel: ATxmega256A3U, ATxmega256A3B) - seniorklass, många resurser, bra prestanda, USB-stöd, förbättrad säkerhet;
  • 32-bitars AVR UC3(till exempel: AT32UC3L016, ATUC256L4U) - nya högpresterande 32-bitars mikrokontroller som stöder många tekniker och gränssnitt, inklusive USB, Ethernet MAC, SDRAM, NAND Flash och andra.

AVR-mikrokontroller har ett omfattande kommandosystem, som sträcker sig från 90 till 133 kommandon, beroende på mikrokontrollermodell. Som jämförelse innehåller PIC-mikrokontroller från 35 till 83 instruktioner, beroende på familj.

De flesta kommandon är väl optimerade och exekveras i en klockcykel, vilket gör att du kan få bra prestanda till låg kostnad för resurser och energi.

Hus för AVR-chips

AVR-mikrokontroller finns i DIP, SOIC, TQFP, PLCC, MLF, CBGA och andra paket. Exempel på några fall visas i figuren nedan.

Ris. 1. IC-paket för AVR-mikrokontroller - DIP, SOIC, TQFP, PLCC.

Som du kan se finns det fodral för AVR-mikrokontroller som passar alla smaker och behov. Du kan välja ett billigt chip i ett DIP8-paket och göra en miniatyrleksak eller någon enkel enhet, eller så kan du köpa en mer funktionell och dyr mikrokontroller i ett TQFP64-paket och ansluta en mängd olika sensorer, indikatorer och ställdon till den för att göra mer seriösa uppgifter.

För nybörjare av AVR-programmerare är chips i ett DIP-paket mest bekväma att löda och kan enkelt monteras på en mängd olika monteringspaneler, till exempel på Breadboard och andra.

AVR mikrokontroller. Grunderna i programmering

Struktur och huvudsakliga egenskaper hos AVR-mikrokontroller

I den här artikeln kommer vi att försöka beskriva i allmänna termer, huvuddragen, vad är "inuti det", vad som behövs för att börja arbeta med AVR-mikrokontroller, etc.

Vad är Tiny, Mega?

Företag Atmel producerar en omfattande linje av åttabitars mikrokontroller baserade på AVR-kärnan, uppdelade i flera underfamiljer, som skiljer sig i tekniska egenskaper, applikation, pris:

  • ATtiny– AVR-familjen av mikrokontroller optimerade för applikationer som kräver relativt hög prestanda (upp till 1,0 MIPS och kan fungera vid frekvenser upp till 20,0 MHz), energieffektivitet (ATtiny är den enda familjen som kan arbeta från 0,7 V matningsspänning!) och kompakthet ( det finns mikrokontroller i SOT23-6-höljet - endast 6 stift, och varje stift har flera funktioner, till exempel: I/O-port, ADC-ingång, PWM-utgång, etc.). Det är här deras tillämpningsområde framträder: enheter som är kritiska för pris, energiförbrukning, storlek etc.
  • ATmega– en familj av AVR-mikrokontroller designade för användning inom en mängd olika områden, tack vare en mycket stor uppsättning kringutrustning, en stor mängd programminne, in-/utgångsportar, etc. Kort sagt, det finns utrymme att expandera.
  • ATxmega– en ny familj av AVR-mikrokontroller med en ännu större uppsättning kringutrustning än ATmega (tillagd enhet för direkt minnesåtkomst, DAC, CRC-modul, fullt USB-gränssnitt, snabbare ADC, etc.), med driftsfrekvenser upp till 32,0 MHz.

Det är värt att notera huvudfunktionen hos alla ovanstående enheter: de har alla en enda arkitektur, och detta gör det enkelt att överföra kod från en mikrokontroller till en annan.
Mikrokontroller finns i både DIP- och SMD-paket (var och en med sina egna för- och nackdelar).

De mest populära förpackningsfodral är:

  • DIP (Dual Inline Package) - hölje med två rader av kontakter
  • QFP (Quad Flat Package) - platt paket med fyra rader av kontakter
  • SOIC (Small-Outline Integrated Circuit) – små integrerade kretsar (liten yta)

När det gäller amatörradioövningar är mikrokontroller, naturligtvis, av största intresse för DIP-paket, eftersom de är lättast att arbeta med - de har en ganska stor delning mellan stiften och dessutom kan du använda uttag för dem (detta är en speciell kontakt där du kan installera mikrokretsar utan lödning).
I allmänhet är ett uttag en extremt bekväm uppfinning - stiften är alltid intakta och du kan upprepade gånger ta bort och sätta in en mikrokrets, och det är mycket lättare att göra prototyper av framtida enheter.

Strömförsörjning och klockning av AVR-mikrokontroller

AVR mikrokontroller byggd med CMOS-teknik, vilket säkerställer mycket låg strömförbrukning. I praktiken strömförbrukning linjärt och direkt proportionell mot driftsfrekvensen (ju högre frekvens, desto högre strömförbrukning).



Matningsspänningen för AVR-mikrokontroller sträcker sig från 2,7 till 5,5V(6.0V är max, även om min AVR på något sätt fungerade på 7V - och ingenting, den lever fortfarande än i dag). Detta innebär att AVR direkt kan styra, utbyta data osv. med olika enheter (både 3,3V-toleranta och 5V-toleranta) utan att behöva använda några logiska nivåomvandlare. För mer exakt bearbetning av analoga signaler tillhandahåller AVR separata stift för att driva den analoga delen av mikrokontrollern, som inkluderar enheter som en ADC, DAC och Analog komparator. Dessutom har AVR-mikrokontroller flera "vilolägen" för att ge bästa möjliga energibesparingar.

Dessutom kan varje stift på mikrokontrollern (beroende på driftfrekvens och matningsspänning) försörja externa enheter med ström upp till 40,0 mA(max!), men allt kan "laddas ner/laddas ner" från mikrokontrollern upp till 200,0 mA(maximal!).

Frekvensintervallet för klocksignaler skiljer sig beroende på "familjens senioritet" (ATtiny är den yngsta familjen av AVR-mikrokontroller och ATxMega den äldsta För vissa representanter, särskilt ATtiny-familjen, kan driftsfrekvensen nå 20,0 MHz, för ATmega den). inte överstiger 16,0 MHz, medan ATxMega inte överstiger 32,0 MHz. Varje AVR-mikrokontroller har dessutom en intern RC-oscillator upp till 8,0 MHz, vilket gör att du kan klara dig utan en extern klocksignalkälla.

Atmel producerar mikrokontroller med maximala driftsfrekvenser som är halva standarden (för att öka energibesparingen), så du bör vara uppmärksam på kodningen av mikrokontroller när du köper dem. Detaljerad information om vilken mikrokontroller som fungerar vid vilka frekvenser och matningsspänningar, vilka kodningar som finns tillgängliga, förpackning för denna mikrokontroller, etc. finns i avsnittet "Beställningsinformation" i varje datablad.

Nedan finns en exempeltabell från databladet för mikrokontrollern ATtiny13. I kolumnen "Beställningskod" kan du se skillnaderna mellan kodningarna och det är inte svårt att gissa vad de är kopplade till.



Vad finns inuti AVR-mikrokontrollern?

Som redan nämnts i förordet, AVR mikrokontroller har en Harvard-arkitektur (det huvudsakliga kännetecknet för en sådan arkitektur är att programminne och RAM, såväl som deras åtkomstbussar, är separerade för att öka hastigheten på kommandoexekveringen: medan ett kommando körs hämtas nästa från programmet minne) med en RISC-processor, med hastighet 1,0 MIPS. Alla mikrokontroller, oavsett modell och layout, har samma centralenhet (processor/kärna). En enda kärna gör ett program skrivet på vilket språk som helst mer universellt och kan, om så önskas, ersättas i vilket projekt som helst, till exempel en dyrare styrenhet med en annan billigare, med minimala ändringar i koden.

RISC(Reduced Instruction Set Computer) – en processor med en uppsättning enkla monteringsinstruktioner (lägg till, subtrahera, skift vänster/höger, "logisk AND", etc.), alla instruktioner har en fast längd, processorn innehåller ett stort antal allmänna ändamålsregister, etc. För att till exempel beräkna någon form av matematisk genomsnittlig ekvation måste processorn utföra flera enkla monteringsinstruktioner, till skillnad från en CISC-processor, som har instruktioner "för alla tillfällen." -processor, eftersom inte alla monteringsinstruktioner har ett fast format, resten är 32-bitar. Detta betyder att varje instruktion upptar 16 eller 32 bitar i programminnet monteringsinstruktioner är det som gör den till en avancerad virtuell RISC-processor (AVR).

MIPS(Miljon instruktioner per sekund) - AVR-mikrokontroller kan exekvera (ungefär) en miljon instruktioner vid 1,0 MHz, eller enkelt uttryckt, de flesta monteringsinstruktioner exekveras i en enda klockcykel.



Hjärnan i en AVR-mikrokontroller är dess centrala bearbetningsenhet (CPU/kärna).

Några komponenter i processorn:

Aritmetisk logikenhet

Programräknare

Stackpekare

  • Statusregister
  • Flash-programminne
  • Dataminne

Register för allmänna ändamål

Perifera register (I/O-register)

RAM-minne (SRAM-minne)

Klocksystem. Detta system kan jämföras med det kardiovaskulära systemet

Avbrottsenhet

Kringutrustning, jag kommer att lista några av dem:

I/O-portar

EEPROM-minne

USB (endast xMega), USART, I2C, SPI, JTAG-gränssnitt

Watchdog, Timer/Counter (med PWM-oscillator, fånga/jämföra, etc.)

ADC, DAC (endast xMega), Analog komparator

Externa avbrottsmoduler

Uppsättningen av kringutrustning i olika familjer (Tiny, Mega och xMega) och olika mikrokontroller i dessa familjer är olika. Det finns mikrokontroller packade med en mängd olika kringutrustning, men också, för kostnadskritiska utvecklingar, finns det mikrokontroller med en liten (nödvändig) uppsättning kringutrustning.

En av fördelarna med AVR-mikrokontroller är möjligheten att använda kringutrustning i olika gemensamma driftslägen, vilket mycket ofta förenklar utvecklarens uppgift. AVR har även ett inbyggt system för återställning och övervakning av matningsspänningsnivån (System Control and Reset), vilket säkerställer normal start av mikrokontrollern och vid behov tillförlitlig avstängning.

Styr-/statusregistren för kringutrustning finns i dataminnesområdet, mellan allmänna register och RAM, vilket säkerställer hög prestanda vid arbete med kringutrustning. Utvecklaren har naturligtvis full tillgång till dessa register (I/O-register).

Vad krävs för att mikrokontrollern ska fungera?

  • skriva ett program (program). För att skriva ett program/algoritm som mikrokontrollern kommer att fungera för behöver du en integrerad utvecklingsmiljö för AVR-mikrokontroller, som inkluderar en kod/textredigerare, kompilator, länkare och andra verktyg.
  • kretsdesign. Programmet ensamt räcker inte för att mikrokontrollern ska fungera; det kräver också ett minimisats (en uppsättning externa elektroniska enheter) för att förse mikrokontrollern med matningsspänning och en klocksignal så att åtminstone mikrokontrollerns kärna fungerar.
Följande bild visar den "klassiska" mikrokontrollersatsen som krävs för normal drift.


Figuren visar minimikretskraven för ATmega16 mikrokontroller. Med detta växlingsschema börjar AVR-mikrokontrollerns kärna att fungera, du kan använda alla in-/utgångsportar och andra kringutrustningar. Kort sagt, mikrokontrollern är i full stridsberedskap. För att till exempel börja använda en ADC eller Analog Comparator, bör du först programmässigt konfigurera kringutrustningen med hjälp av dess kontroll-/övervakningsregister för att ställa in det driftläge du behöver, etc., och sedan applicera de undersökta signalerna till ingångarna på motsvarande kringutrustning.

- Kvarts och kondensatorer C1, C2 (22 pF vardera) förser mikrokontrollern och alla dess kringutrustning med en högkvalitativ klocksignal (maximal frekvens - 16,0 MHz).

Motstånd R1(10K), ger en hög nivå vid RESET-ingången, nödvändig för stabil drift av mikrokontrollern. Om, under drift av mikrokontrollern, spänningen på detta stift faller under en viss nivå, kommer mikrokontrollern att återställas och driften av den avsedda algoritmen kan störas.

- ISP-kontakt används för in-circuit programmering, det vill säga det är nödvändigt att skriva programmet du skrev in i mikrokontrollerns minne direkt på kortet (utan att ta bort mikrokontrollern från enheten).

- Gasreglage L1 och kondensatorerna C3, C4 tillhandahåller matningsspänning till analoga perifera enheter, såväl som vissa register över I/O-portar. Om mikrokontrollern inte har en analog del, finns det inga analoga strömstift, som ett resultat av dessa komponenter behövs inte. Den förenklade kabeldragningen för mikrokontrollern är som följer: för det första, eftersom mikrokontrollern berövades extern klockning, bör det indikera att klockningen kommer från den interna RC-oscillatorn genom att ställa in lämpliga säkringsbitar (en slags begränsande driftsparametrar för mikrokontrollern) ).
Den maximala frekvensen för den interna oscillatorn är 8,0 MHz, vilket innebär att mikrokontrollern inte kommer att kunna arbeta vid sin maximala frekvens (prestanda).
För det andra har den analoga delen av mikrokontrollern (liksom vissa register för ingångs-/utgångsportarna) ingen strömkälla, vilket utesluter deras användning.
För det tredje finns det ingen kontakt för programmering i kretsar, så för att skriva fast programvaran i mikrokontrollerns minne måste du ta bort den från enheten, skriva den någonstans och sedan återställa den till sin plats. Som du själv förstår är detta inte särskilt bekvämt (ta bort/sätta in, löda/avlöda), och kan leda till skador på både mikrokontrollern själv (benen kan gå sönder, överhettas från lödning etc.) och närliggande enheter - kontakt, spår ombord osv.

Vid anslutning av reservkraftkällor uppstår ofta frågan om vad en ATS eller automatisk överföring av en reserv är. Med hjälp av en AVR upprätthålls en konstant strömförsörjning även under kortvariga avbrott i huvudenergikällan - det är vad den behövs för. För att välja rätt automatisk överföringssystem måste du förstå hur det automatiska överföringssystemet fungerar.

Innan en reservkraftkälla ansluts till konsumenter måste de kopplas bort från det allmänna elnätet. Detta kan göras manuellt med en omkopplare, men det här alternativet är förknippat med ett fel hos energiförbrukarna. I det här fallet kan en kontinuerlig kraftförsörjning endast säkerställas med hjälp av automatisering, varför det faktiskt behövs automatisk överföring av en reserv - ATS.

När vi definierar ATS kan vi säga att detta är ett system som med hjälp av kontaktorer eller startmotorer överför belastningen från en strömkälla till en annan. Starter är ett ställdon som direkt överför belastningen från huvudströmkällan till nödkällan.

Ett annat grundläggande element i ATS-kretsar är ett faskontrollrelä, som registrerar parametrarna för den elektriska strömmen i nätverket.

Dessutom kan ATS-kretsar innefatta styrenheter, som övervakar parametrar vid start av generatorn, och mellanreläer, som tillhandahåller olika tilläggsfunktioner.

ATS-kretsar är som regel implementerade på växelskåp används ibland för stora föremål. Det finns färdiga lösningar, men för att utföra specifika uppgifter under givna förutsättningar och säkerställa den mest kompletta funktionaliteten monteras ofta automatiska överföringsväxlar utifrån komponenter som uppfyller specifika tekniska förutsättningar. Före anslutning är det obligatoriskt att testa ATS-enheter med huvudkretsen ansluten via LATR.

Det är värt att överväga det faktum att samtidig strömförsörjning från två olika källor har följande nackdelar:

  • Stora förluster av elektrisk energi i matningstransformatorn.
  • Kortslutningsströmmarna med denna anslutning är mycket större än i fallet med en separat strömförsörjningskrets.
  • Utrustningsskyddet blir svårare.
  • Svårigheter uppstår med att välja ett specifikt driftläge.
  • Det finns ingen möjlighet till parallell strömförsörjning. Detta på grund av det befintliga reläskyddet och utrustningens egenskaper.

Det är av dessa skäl som ett sådant behov uppstod som separat strömförsörjning och omedelbar återställning av el för konsumenterna. AVR klarar denna uppgift perfekt. Med automatisk överföring sker strömanslutningen omedelbart, på 0,3 - 0,8 sekunder.

Var används de?

Automatiska överföringssystem är installerade på bensin- eller dieselgeneratorer. De fungerar i enfas eller trefas AC-nätverk. Dessa självstartande generatorer är oumbärliga hjälpkraftenheter.

Klassificering

AVR-enheter är indelade i följande typer:

  • Envägsarbete. I ett sådant schema finns det en arbets- och en reservdel av den elektriska matningskretsen.
  • Dubbelsidigt arbete. Varje matningsledning i sådana enheter kan fungera och vara backup.

Vilka är kraven för ATS-enheter?

  1. Dessa enheter måste slås på inom kortast möjliga tidsintervall efter att huvudströmförsörjningen till konsumenterna stängts av.
  2. ATS-enheten måste fungera konstant, oavsett orsaken till strömavbrottet.
  3. Operationen måste ske en gång.

Hur fungerar AVR?

Vad mer behövs en AVR till? Tack vare denna enhet övervakas den lägsta och högsta tillåtna inspänningen. Förekomsten av fasrotation kontrolleras också.

När spänningen sjunker på en av faserna, såväl som förändringar i frekvens eller spänningsfall, det vill säga när dessa parametrar lämnar de angivna gränserna för huvudströmkretsen, öppnar faskontrollreläet kontaktorkontakterna vid huvudingången och stänger kontakterna för reservingångskontaktorerna. Därefter utlöses switcharna, konsumenterna kopplas bort från huvudströmkällan och ansluts till backupen. De flesta AVR-system fungerar som regel på denna princip.

När strömparametrarna i huvudkretsen återställs stängs huvudkretskontaktorns kontakter samtidigt som reservkontaktorns kontakter öppnas. Som regel har kretsarna dessutom en blockering för samtidig drift av spolarna.

Med hjälp av en ATS kan du förhindra att två linjer (huvud och backup) slås på samtidigt. I kretsar där partitionering används kommer den automatiska överföringsenheten att blockera påslagning av sektionen "AB". Vid behov är ATS utrustade med ett speciellt mekaniskt låssystem.

Dessa enheter kan installeras i separata skåp. Beroende på strömförbrukningen kan de vara: små, fullstora, två och tre sektioner. Dessutom kan ATS placeras i distributions- och ingångsskåp.

Engineering Center "ProfEnergia" har alla nödvändiga verktyg för högkvalitativ testning av ATS-enheter, ett välkoordinerat team av proffs och licenser som ger rätten att utföra alla nödvändiga tester och mätningar. Genom att välja ProfEnergias ellaboratorium väljer du pålitlig och högkvalitativ drift av din utrustning!

AVR-familjen - inkluderar 8-bitars mikrokontroller för ett brett utbud av uppgifter. För komplexa projekt med ett stort antal ingångar/utgångar förses du med AVR Mega och AVR xmega mikrokontroller, som finns i paket från 44 till 100 stift och har upp till 1024 kB flashminne, och deras driftshastighet är uppe. till 32 miljoner operationer per sekund. Nästan alla modeller har förmågan att generera PWM, inbyggd ADC och DAC.

Miljontals radioamatörer utvecklar intressanta projekt på AVR - detta är den mest populära familjen av MKs, många böcker har skrivits om dem på ryska och andra språk i världen.

Intressant: för firmware behöver du en programmerare, en av de vanligaste är AVRISP MKII, som du enkelt kan göra från din Arduino.

Populariteten för AVR-familjen har hållits på en hög nivå i många år under de senaste 10 åren, intresset för dem har underblåsts av Arduino-projektet - ett kort för ett enkelt inträde i den digitala elektronikens värld.

Användningsområden för olika Tiny, Mega

Det är omöjligt att tydligt beskriva tillämpningsområdet för mikrokontrollern, eftersom den är obegränsad, men den kan klassificeras enligt följande:

  1. Tiny AVR är den enklaste i tekniska termer. De har lite minne och stift för att ansluta signaler, och priset är lämpligt. Detta är dock en idealisk lösning för enkla projekt, allt från automatisk styrning av bilinteriörbelysning till oscilloskopsonder för gör-det-själv-elektronikreparation. De används också i det Arduino-kompatibla projektet - Digispark. Detta är den minsta versionen av en tredjeparts Arduino; gjord i USB-minneformat.
  2. MEGA-familjen har länge varit den främsta bland avancerade radioamatörer, de är kraftfullare och har större minneskapacitet och fler stift än i Tiny. Detta möjliggör komplexa projekt, men familjen är för bred för att kortfattat beskrivas. De användes i de första Arduino-brädorna, som huvudsakligen är utrustade med ATMEGA

Utgången från alla MK utan extra förstärkare kommer att använda lysdioder eller en LED-matris som indikatorer, till exempel.

AVR xMega eller äldre mikrokontroller

Atmel-utvecklare skapade AVR xMega som en kraftfullare MK, medan de fortfarande tillhörde AVR-familjen. Detta var nödvändigt för att göra utvecklarens arbete enklare när han flyttade till en mäktigare familj.

AVR xMega har två riktningar:

  • MKs med en matningsspänning på 1,8-2,7 volt arbetar med en frekvens på upp till 12 MHz, deras ingångar är resistenta mot en spänning på 3,3 V;
  • MKs med en matningsspänning på 2,7-3,6 volt kan redan arbeta vid högre frekvenser - upp till 32 MHz, och ingången är resistent mot 5 volt.

Också värt att notera: AVR xMega fungerar utmärkt i fristående system eftersom de har låg strömförbrukning. Till exempel: när timers och realtidsklockor är igång, förbrukar RTC:er 2 mA ström och är redo för drift från externa avbrott eller timerspill, såväl som från tid. En mängd olika 16-bitars timer används för att utföra en mängd olika funktioner.

Arbetar med en USB-port

Låt oss börja med det faktum att för att programmera mikrokontrollern måste du använda en seriell port, men på moderna datorer saknas ofta en COM-port. Hur ansluter man en mikrokontroller till en sådan dator? Om du använder USB-UART-omvandlare kan detta problem lösas mycket enkelt. Du kan montera den enklaste omvandlaren med FT232 och CH340 mikrokretsar, och dess diagram presenteras nedan.

En sådan omvandlare finns på Arduino UNO och Aduino Nano-kort.

Vissa AVR-mikrokontroller har inbyggd (hårdvara) USB:

  • ATmega8U2;
  • ATmega16U2;
  • ATmega32U2.

Denna lösning används för att implementera kommunikation mellan en dator och Arduino mega2560 via USB, där mikrokontrollern bara "förstår" UART.

Syftet med DAC och ADC för AVR-mikrokontroller

Digital-till-analog-omvandlare (DAC) är enheter som omvandlar signalerna från ettor och nollor (digitala) till analoga (jämnt varierande). De huvudsakliga egenskaperna är bitdjup och samplingsfrekvens. ADC:n omvandlar den analoga signalen till digital form.

Portar med ADC-stöd behövs för att ansluta analoga sensorer, till exempel av resistiv typ, till mikrokontrollern.

DAC:n har hittat sin tillämpning i digitala filter, där insignalen bearbetas i mjukvara och matas ut genom DAC:n i analog form nedan ser du visuella oscillogram. Den nedre grafen är ingångssignalen, den mittersta grafen är samma signal, men bearbetad av ett analogt filter, och den översta grafen är ett digitalt filter på Tiny45 mikrokontroller. Ett filter behövs för att bilda det erforderliga frekvensområdet för signalen, såväl som för att bilda en signal av en viss form.


Ett exempel på användning av en ADC är ett oscilloskop på en mikrokontroller. Tyvärr kommer det inte att vara möjligt att spåra frekvenserna för mobiloperatörer och PC-processorn, men frekvenser i storleksordningen 1 MHz är lätta. Det kommer att vara en utmärkt assistent när du arbetar med att byta strömförsörjning.

Och här är en detaljerad video av detta projekt, monteringsinstruktioner och tips från författaren:

Vilken litteratur bör jag läsa om AVR-mikrokontroller för nybörjare?

Berg av litteratur har skrivits för att utbilda unga yrkesverksamma, låt oss titta på några av dem:

  1. Evstifeev A.V. "AVR-mikrokontroller från Mega-familjen." Boken diskuterar mikrokontrollers arkitektur i detalj. Syftet med alla register och timers, liksom deras driftlägen, beskrivs. Funktionen av kommunikationsgränssnitt med omvärlden, SPI, etc., har studerats. Kommandosystemet är avslöjat för en genomsnittlig radioamatör att förstå. Materialet i boken "AVR Microcontrollers of the Mega Family: User Guide" hjälper dig att studera chipets struktur och syftet med var och en av dess noder, vilket verkligen är viktigt för alla mikrokontrollerprogrammerare.
  2. Belov A.V. – "AVR-mikrokontroller i amatörradiopraxis." Som titeln antyder är den här boken till stor del ägnad åt den praktiska sidan av att arbeta med mikrokontroller. Mikrokontrollern ATiny2313, som har blivit en klassiker, undersöks i detalj, liksom många kretsar för montering.
  3. Hartov V.Ya. "AVR-mikrokontroller. Workshop för nybörjare." Det kommer att hjälpa dig att förstå AVR studio 4, liksom STK-startpaketet. Du kommer att lära dig hur man arbetar med seriella och parallella gränssnitt, såsom UART, I2C och SPI. Boka "AVR Microcontrollers. Workshop för nybörjare" skriven av en lärare på MSTU. N.E. Bauman och används där för att studera detta ämne.

Att studera denna familj av mikrokontroller har hjälpt många elektronikentusiaster att börja arbeta och utveckla projekt. Det är värt att börja med en populär familj för att alltid ha tillgång till ett hav av information.

Bland radioamatörer på nybörjarnivå finns det bara en konkurrent till AVR - PIC mikrokontroller.