Perché gli AVR Atmel sono così popolari?


25

Una recente domanda sui vantaggi / svantaggi di vari tipi di MCU. Gli AVR non sembravano nemmeno degne di nota, date le risposte. Perché allora a un estraneo sembra che gli AVR stiano vivendo un impeto di popolarità? Ciò è dovuto esclusivamente ad Arduino o c'è qualcos'altro che rende l'AVR un microcontrollore particolarmente buono?


1
Moderatori: questa dovrebbe essere una domanda Wiki della community.
— Jason S,

5
E sono così popolari nell'industria come lo sono nel mondo degli hobbisti?
— endolith,

1
A parte tutti i punti positivi delle risposte: "L'AVR è stata una delle prime famiglie di microcontrollori a utilizzare la memoria flash su chip per l'archiviazione dei programmi". (Wikipedia)
— Sz.

Risposte:


37

La famiglia AVR ha molti buoni dispositivi economici, adatti agli hobbisti con belle periferiche, basso consumo energetico e un buon supporto multipiattaforma.

Sì, Arduino è una parte importante. Ma penso che Arduino sia esistito nel modo in cui ha funzionato - e per il successo che ha - in parte dovuto a quelle caratteristiche.

  • Bene: funzionano bene. Facile da programmare in C per la maggior parte delle funzioni di base. Documentazione adeguata.

  • Economico: molti pezzi da $ 3- $ 5, disponibili presso i principali distributori in piccole quantità.

  • Hobbyist friendly: parti in pacchetti a foro passante: un grande contrasto con molte famiglie di chip oggi disponibili. I dispositivi AVR più recenti (ad esempio, xmega) sono meno.

  • Belle periferiche: oscillatore incorporato, memoria flash, RAM integrata, porte seriali, ADC, EEPROM e le altre chicche che consentono di eseguire un singolo MCU su una scheda protoboard per fare cose di base, senza troppi problemi.

  • Basso consumo energetico. Oggigiorno il principale punto di AVR. I polloni possono funzionare a batteria quasi per sempre se sai cosa stai facendo.

  • Buon supporto multipiattaforma: l'AVR è stato progettato pensando al supporto C, non come ripensamento. Il supporto di GCC è arrivato presto e una grande comunità open source si è sviluppata attorno a questo. È ancora uno dei migliori MCU che puoi sviluppare da qualsiasi piattaforma con strumenti gratuiti. Questo è molto importante rispetto alle altre famiglie, molte delle quali usano compilatori proprietari o hanno un supporto gcc poco brillante. Anche PIC era in ritardo al gioco con buoni compilatori C gratuiti.

Per quanto riguarda il motivo per cui non c'era molto a riguardo nelle risposte alla tua domanda precedente, penso che (1) stai vedendo piccoli errori di campionamento e (2) molte delle risposte erano specificamente per discutere di soluzioni non AVR, perché gran parte della discussione su questo sito è incentrata su AVR / Arduino. La maggior parte delle famiglie di microcontrollori non sono rappresentate nel tuo elenco al momento della stesura di questo, compresi alcuni che uso regolarmente e altri che sono tra i più popolari al mondo.


2
Concordo sul fatto che la disponibilità di una toolchain in C sia stata probabilmente un fattore nel successo hobbistico di AVR. Alcuni anni fa, quando ho iniziato a dilettarmi con i micros da un background software, le opzioni erano BASIC Stamp, il che era ottimo per i principianti, ma l'ambiente di sviluppo non era davvero soddisfacente per un programmatore. C'era PIC, che credo avesse solo un assemblatore disponibile al momento, il che è OK ma non mi sentivo ASM. Poi c'era l'AVR che aveva avr-gcc, potevo programmare come un programmatore, gli AVR erano versatili e facili da collegare ai progetti e i programmatori erano economici e facili da costruire.
— Suboptimus,

28

Ho iniziato a utilizzare i PIC ma in seguito sono passato agli AVR. Sono passato perché c'è GCC per gli AVR. Questo mi ha dato un ambiente a cui ero abituato, gratuitamente, e mi ha permesso di compilare il codice su Linux / OSX, non solo su Windows.

Anche se al giorno d'oggi ci sono molti compilatori C per PIC, alcuni anche per Linux - tutti hanno le loro stranezze che non volevo imparare.


9
+1 gcc FTW! Abbiamo cercato di utilizzare un paio di compilatori C Microchip e la loro interpretazione delle specifiche C ha provocato la diffusione di invettive da un cubo di colleghi. Vorrebbe avere CCG.
— J. Polfer,

1
Ho iniziato ad apprezzare il compilatore Microchip C18 ora che mi sono abituato. Imparare a usare #pragma e i vettori di interruzione è stata probabilmente la parte più difficile. Le librerie C che forniscono possono far risparmiare molto tempo di sviluppo.
— mjh2007,

2
Non mi piacciono i compilatori PIC18 / PIC16, ma mi piacciono i compilatori 24F e dsPIC30F / 33F, che sono basati su GCC.
— Thomas O

9

Da quello che ho visto, gli AVR hanno avuto un impeto di popolarità solo in mercati di nicchia come gli strumenti per hobbisti e le applicazioni di prototipazione rapida. AVR ha svolto un ottimo lavoro nell'ottenere il supporto di strumenti multipiattaforma su Linux, MAC e PC.

Tutti quelli con cui ho parlato che utilizzano microcontrollori in applicazioni OEM utilizzano PIC, una sorta di variante ARM o un MSP430 (solo per applicazioni a bassa potenza). Devo ancora incontrare qualcuno che utilizza un AVR.


2
Ne ho incontrati alcuni professionalmente. Sospetto che il mercato degli hobbisti nel suo insieme sia una goccia nel loro secchio.
— Windell Oskay,

1
Sono d'accordo. Non credo che un microcontrollore (o probabilmente la maggior parte delle aziende produttrici di semiconduttori) sopravviverebbe a lungo se il loro mercato primario avesse un hobby. Non ci sarebbe abbastanza volume. Il mercato degli hobbisti potrebbe essere un calo nel secchio Atmel ma sembra un piccolo secchio;) Forse dovrebbe esserci una domanda di follow-up: quali aziende e tipi di applicazioni OEM utilizzano i microcontrollori Atmel?
— jluciani,

Uso AVR32 in prodotti professionali. Elimina i punti dai dispositivi ARM cortex-M3 (nella mia applicazione). Ho visto AVR8 ma non ce l'hanno mai fatta. MSP430 li ha battuti profondamente.
— uɐɪ

4
@Ian Quali tipi di prodotti?
— jluciani,

4
@jluciani Modem dati satellitari molto piccoli ea bassa potenza. Le modalità a basso consumo di MSP e AVR32 sono eccellenti con la conservazione dei dati RAM. Le modalità ARM a basso consumo (ad eccezione delle nuove microcomponenti energetiche) non consentono il funzionamento in modalità di risparmio energetico e spesso non mantengono il contenuto della RAM.
— uɐɪ

7

Il PIC di Microchip è il numero uno nelle vendite di MCU a 8 bit e l'AVR è il quinto. Questo potrebbe spiegare perché l'AVR non viene menzionato spesso come altri dispositivi.


Prima di entrare nei microcontrollori e nell'elettronica, avevo sentito parlare di "PIC" e non avevo sentito parlare di "AVR" (sebbene avessi sentito parlare di Arduino).
— terrazza

"PIC" sembra essere diventato in qualche modo un termine generico per un MCU, come "Hoover" per un aspirapolvere.
— Leon Heller,

E ho pensato che "PIC" fosse una "parola di quattro lettere" !!!
— uɐɪ

3
(parola generica) No, non è così.
— tissit,

12
citazione necessaria
— joeforker

6

Arduino è irrilevante o ti staresti chiedendo perché Arduino è così popolare e non perché AVR. Gli AVR sono stati "popolari" per un po 'completamente indipendentemente da Arduino. Arduino è un prodotto delle stesse cose che hanno reso AVR attraente. È un altro prodotto, un altro devkit. L'AVR non è popolare nelle unità fornite in cui 8051 nei dispositivi e PIC nelle smart card o quant'altro ha numeri enormi o nei mercati di cellulari e PC in cui l'AVR non è nemmeno in concorrenza.

Invece di popolare , potresti dire che AVR è attraente . E questo è. I punti principali sono già emersi: è disponibile ed economico, richiede pochissimi componenti o funzionalità della scheda (orologi, bus ...), è facilmente ISP e, soprattutto, c'è un buon supporto software. Ottieni un vero compilatore, programmando progetti di software e hardware, documenti, esempi, librerie, tutto gratis come in libertà. Non è necessario combattere i fornitori e chiedersi se la dimensione del codice è limitata o si sente che il compilatore è stato sospeso o non funzionerà su alcun sistema operativo da questo decennio. Se non prima, allora una volta che sei stato morso abbastanza volte, apprezzerai strumenti e documenti aperti in cui nessuno impone ciò che puoi e non puoi fare o sapere.


-5

Ci sono due principali produttori di μC e l'eterno dilemma Pic-Atmel. Non posso raccomandare a nessuno cosa scegliere, ma posso spiegare i motivi che mi hanno spinto a scegliere Atmel. Alcuni di questi motivi sono sconosciuti anche a me stesso - forse mi è piaciuto di più come sembra - ma mi sono sentito più attratto da questa famiglia perché mi sembrava molto più vicino al vecchio microprocessore Z80 e che ho usato per diversi bellissimi progetti quando era più giovane.

Cosa posso dire, se decidi di andare in una direzione, attenersi ad essa e rimanere fedele a quella famiglia, secondo il principio che è meglio conoscere una cosa completamente rispetto a due cose a metà strada.


4
Hai mai sentito parlare di ST o NXP? Che ne dici di Texas Instruments? Freescale? Inoltre, i PIC sono una famiglia di microcontrollori prodotti da una società chiamata Microchip. Pic non è un produttore.
— Joe Baker,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.