categorie: Elettronica pratica, Circuiti a microcontrollore
Numero di visite: 21376
Commenti sull'articolo: 0

Tipi e disposizione dei microcontrollori AVR

 


AVR - Questo è il nome della popolare famiglia di microcontrollori che l'azienda produce. Atmel. Oltre a ABP con questo marchio vengono emessi microcontrollori e altre architetture come ARM e i8051.


Cosa sono i microcontrollori AVR?

Microcontrollori AVR

Esistono tre tipi di microcontrollori:

  1. AVR a 8 bit.

  2. AVR a 32 bit.

  3. AVR xMega

Per più di un decennio, il più popolare è la famiglia di microcontrollori a 8 bit. Molti prosciutti iniziarono a studiare i suoi microcontrollori. Quasi tutti hanno imparato il mondo dei controller programmabili facendo i loro semplici mestieri, come luci lampeggianti a LED, termometri, orologi, nonché una semplice automazione, come il controllo di apparecchi di illuminazione e riscaldamento.

I microcontrollori AVR a 8 bit, a loro volta, sono divisi in due famiglie popolari:

  • ATtiny - il nome indica che il più giovane (piccolo - giovane, giovane, più giovane), ha fondamentalmente 8 o più pin. Il volume della loro memoria e funzionalità è di solito più modesto rispetto al seguente;

  • ATmega - I microcontrollori più avanzati hanno più memoria, pin e varie unità funzionali;

Microcontrollori Attiny

La sottofamiglia più potente di microcontrollori è xMega: questi microcontrollori sono disponibili in casi con un numero enorme di pin, da 44 a 100. Tanto è necessario per progetti con un numero elevato di sensori e attuatori. Inoltre, la maggiore capacità di memoria e velocità consentono di ottenere prestazioni elevate.

Microcontrollore Atmega

trascrizione: Pin (eng. Pin - ago, perno) è l'uscita del microcontrollore o, come si suol dire, la gamba. Da qui la parola "pinout" - cioè informazioni sullo scopo di ciascuna delle gambe.


A cosa servono i microcontrollori ea cosa servono?

I microcontrollori vengono utilizzati quasi ovunque! Quasi tutti i dispositivi del 21 ° secolo funzionano su un microcontrollore: strumenti di misura, strumenti, elettrodomestici, orologi, giocattoli, carillon e cartoline, e molto altro; la sola enumerazione richiederà diverse pagine di testo.

Lo sviluppatore può utilizzare il segnale analogico dal basso verso l'ingresso del microcontrollore e manipolare i dati sul suo valore. Questo lavoro viene eseguito da un convertitore analogico-digitale (ADC). Questa funzione consente all'utente di comunicare con il microcontrollore, nonché di percepire vari parametri del mondo circostante mediante sensori.

Microcontrollore AVR su breadboard

Nei comuni microcontrollori AVR, ad esempio, ATmega328che nel 2017 è il cuore di molti circuiti stampati Arduinoma su di loro più tardi. Usato 8 canali ADCcon profondità di bit 10 bit. Ciò significa che è possibile leggere il valore da 8 sensori analogici. E i sensori digitali sono collegati alle uscite digitali, il che può essere ovvio. Tuttavia, un segnale digitale può essere solo 1 (unità) o 0 (zero), mentre un segnale analogico può assumere un numero infinito di valori.

Segnali digitali e analogici

spiegazione:


capacità È un valore che caratterizza la qualità, l'accuratezza e la sensibilità dell'ingresso analogico. Non sembra molto chiaro. Un po 'di pratica: un ADC a 10 bit, registra informazioni analogiche da una porta in 10 bit di memoria, in altre parole, un segnale digitale che cambia in modo uniforme viene riconosciuto da un microcontrollore come valore numerico da 0 a 1024.

Un ADC a 12 bit vede lo stesso segnale, ma con una precisione maggiore - nella forma da 0 a 4096, il che significa che i valori misurati del segnale di ingresso saranno 4 volte più precisi. Per capire da dove provengono 1024 e 4096, basta alzare 2 a una potenza uguale alla profondità di bit ADC (2 a una potenza di 10, per 10 bit, ecc.)

Per controllare la potenza di carico, sono disponibili canali PWM, che possono essere utilizzati, ad esempio, per regolare la luminosità, la temperatura o il regime del motore. Nello stesso controller 328 ce ne sono 6.

In generale, la struttura del microcontrollore AVR è rappresentata nel diagramma:

Struttura AVR a microcontrollore

Tutti i nodi sono firmati, ma alcuni nomi potrebbero non essere così ovvi. Diamo un'occhiata alla loro notazione.

  • ALU - dispositivo aritmetico-logico. Necessario per eseguire il calcolo.

  • Registri di uso generale (RON) - I registri che possono ricevere dati e archiviarli mentre il microcontrollore è collegato all'alimentazione, vengono cancellati dopo un riavvio. Servire come celle temporanee per le operazioni sui dati.

  • interrupt - qualcosa come un evento che si verifica a causa di influenze interne o esterne sul microcontrollore - overflow del timer, interruzione esterna dal pin MK, ecc.

  • JTAG - un'interfaccia per la programmazione in-circuit senza rimuovere il microcontrollore dalla scheda.

  • Flash, RAM, EEPROM - tipi di memoria - programmi, dati di lavoro temporanei, memoria a lungo termine indipendente dall'alimentazione del microcontrollore, secondo l'ordine nei nomi.

  • Timer e contatori - i nodi più importanti nel microcontrollore, in alcuni modelli il loro numero può arrivare fino a una dozzina. Sono necessari per riportare il numero di misure, rispettivamente, gli intervalli di tempo e i contatori aumentano il loro valore per uno qualsiasi degli eventi. Il loro lavoro e la sua modalità dipendono dal programma, tuttavia, queste azioni vengono eseguite in hardware, ad es. parallelamente al testo principale del programma, possono causare l'interruzione (tramite overflow del timer, come opzione) in qualsiasi fase dell'esecuzione del codice, su qualsiasi riga di esso.

  • A / D (analogico / digitale) - ADC, ne abbiamo già descritto lo scopo.

  • WatchDogTime (Timer watchdog) - un oscillatore RC indipendente dal microcontrollore e persino dal suo generatore di clock, che conta un certo periodo di tempo e genera un segnale di ripristino MK se funzionava e si riattiva se era in modalità di sospensione (risparmio energetico). Il suo funzionamento può essere disabilitato impostando il bit WDTE su 0.


Le uscite del microcontrollore sono piuttosto deboli, il che significa che la corrente che li attraversa è in genere fino a 20-40 milliampere, il che è sufficiente per illuminare gli indicatori LED e LED. Per un carico più potente, sono necessari amplificatori di corrente o di tensione, ad esempio gli stessi transistor.


Di cosa hai bisogno per iniziare a studiare i microcontrollori?

Per prima cosa devi acquistare il microcontrollore stesso. Il ruolo del primo microcontrollore può essere qualsiasi Attiny2313, Attiny85, Atmega328 e altri. È meglio scegliere il modello descritto nelle lezioni in cui sarai coinvolto.

ATtiny2313

La prossima cosa di cui hai bisogno è programmatore. È necessario per scaricare il firmware nella memoria di MK, è considerato il più economico e popolare USBASP.

programmatore

Un programmatore un po 'più costoso, ma non meno comune AVRISP MKII, che puoi fare da solo - da una tavola normale Arduino

Programmatore AVRISP MKII

Un'altra opzione è quella di farle scorrere UART USB adattatore, che di solito viene eseguito su uno dei convertitori: FT232RL, CH340, PL2303 e CP2102.

Adattatore USB-UART

In alcuni casi, i microcontrollori AVR con supporto hardware USB sono utilizzati per un tale convertitore; non ci sono troppi di questi modelli. Eccone alcuni:

  • ATmega8U2;

  • ATmega16U2;

  • ATmega32U2.

Microcontrollore AVR basato su hardware USB

Solo un "ma": il bootloader UART deve essere prima caricato nella memoria del microcontrollore. Naturalmente, per questo, hai ancora bisogno di un programmatore per i microcontrollori AVR.


Interessante: Bootloader - Questo è un normale programma per un microcontrollore, ma con un compito insolito: dopo il suo lancio (collegamento all'alimentazione), si aspetta da tempo che il firmware possa essere caricato al suo interno. Il vantaggio di questo metodo è che puoi eseguire il flashing di qualsiasi adattatore USB-UART e sono molto economici. Lo svantaggio è che il caricamento del firmware richiede molto tempo.

Per lavoro UART L'interfaccia (RS-232) nei microcontrollori AVR ha assegnato un intero UDR del registro (Registro dati UART). UCSRA (impostazioni bit transceiver RX, TX), UCSRB e UCSRС - un insieme di registri responsabili delle impostazioni dell'interfaccia nel suo complesso.


Come posso scrivere programmi?

Oltre al programmatore, per scrivere e scaricare il programma è necessario un ambiente di sviluppo IDE. Ovviamente puoi scrivere codice nel blocco note, passare attraverso compilatori, ecc. Perché è necessario quando ci sono eccellenti opzioni già pronte. Forse uno dei più potenti è lo IAR, ma è pagato.

L'IDE Atmel ufficiale è AVR Studio, che è stato ribattezzato Atmel studio nella versione 6. Supporta tutti i microcontrollori AVR (8, 32, xMega), rileva automaticamente i comandi e aiuta a entrare, evidenzia la sintassi corretta e molto altro.Con il suo aiuto, puoi eseguire il flash di MK.

Il più comune è C AVR, quindi trova un tutorial su di esso, ci sono tonnellate di opzioni in lingua russa e uno di questi è Khartov V.Ya. “Microcontrollori AVR. Workshop per principianti. "

Programmazione del microcontrollore

Il modo più semplice per imparare l'AVR

Acquista o fai da te Scheda Arduino. Il progetto Arduino è progettato specificamente per scopi didattici. Ha decine di schede con varie forme e numero di contatti. La cosa più importante in Arduino è che stai acquistando non solo un microcontrollore, ma una scheda di debug completa saldata a un circuito stampato di textolite di alta qualità, coperto da una maschera e montato componenti SMD.

I più comuni sono Arduino Nano e Arduino UNO, sono sostanzialmente identici, tranne per il fatto che il "Nano" è circa 3 volte più piccolo di "Uno".

Arduino uno

Alcuni fatti:

  • Arduino può essere programmato in una lingua standard - "C AVR";

  • il suo - cablaggio;

  • ambiente di sviluppo standard - Arduino IDE;

  • per connettersi a un computer, è sufficiente collegare il cavo USB alla presa micro-USB sulla scheda nano Arduino, installare i driver (molto probabilmente questo accadrà automaticamente, tranne quando il convertitore sul CH340, non avevo driver su Win 8.1, dovevo scaricarlo, ma doveva scaricarlo Non ci è voluto molto tempo.) Quindi puoi caricare i tuoi "schizzi";

  • "Sketches" è il nome dei programmi per Arduino.

Esperimenti con Arduino UNO

risultati

I microcontrollori saranno di grande aiuto nella tua pratica radioamatoriale, che ti permetterà di scoprire il mondo dell'elettronica digitale, progettare i tuoi strumenti di misura e le apparecchiature di automazione domestica.

Vedi anche su electro-it.tomathouse.com:

  • Microcontrollori PIC per principianti
  • Programmazione del microcontrollore per principianti
  • Connessione e programmazione di Arduino per principianti
  • Microcontrollori programmabili in JavaScript: quale scegliere, caratteristiche ...
  • Cosa sono i microcontrollori: scopo, dispositivo, software

  •