Pourquoi les AVR Atmel sont-ils si populaires?

25

Une question récente portait sur les avantages / inconvénients de divers types de microcontrôleurs. Les AVR ne semblaient même pas mériter une mention étant donné les réponses. Pourquoi alors semble-t-il à un étranger que les AVR connaissent une ruée vers la popularité? Est-ce uniquement dû à l'Arduino, ou y a-t-il autre chose qui fait de l'AVR un microcontrôleur particulièrement bon?

Tim
la source
1
Modérateurs: Cela devrait être une question du wiki communautaire.
Jason S
5
Et sont-ils aussi populaires dans l'industrie que dans le monde des amateurs?
endolith
1
Outre tous les bons points dans les réponses: "L'AVR a été l'une des premières familles de microcontrôleurs à utiliser la mémoire flash sur puce pour le stockage de programmes." (Wikipedia)
Sz.

Réponses:

37

La famille AVR a beaucoup de bons appareils bon marché, conviviaux pour les amateurs, avec de beaux périphériques, une faible consommation d'énergie et un bon support multiplateforme.

Oui, Arduino en est une grande partie. Mais je pense qu'Arduino est venu à exister comme il l'a fait - et au succès qu'il a - en partie grâce à ces fonctionnalités.

  • Bon: ils fonctionnent bien. Facile à programmer en C pour la plupart des fonctions de base. Documentation adéquate.

  • Peu coûteux: Beaucoup de pièces de 3 $ à 5 $, disponibles auprès des principaux distributeurs en petite quantité.

  • Convient aux amateurs: pièces en paquets de trous traversants - un grand contraste avec la plupart des familles de puces disponibles aujourd'hui. Les nouveaux appareils AVR (par exemple, xmega) le sont moins.

  • Beaux périphériques: oscillateur intégré, mémoire flash, RAM intégrée, ports série, ADC, EEPROM et les autres avantages qui permettent d'exécuter un seul MCU sur un protoboard pour faire des choses de base, sans trop de tracas.

  • Faible consommation d'énergie. Le point majeur d'AVR ces jours-ci. Les ventouses peuvent fonctionner sur une batterie presque indéfiniment si vous savez ce que vous faites.

  • Bon support multiplateforme: l'AVR a été conçu avec le support C à l'esprit - pas après coup. Le soutien de GCC est arrivé tôt, et une grande communauté open source s'est développée autour de cela. C'est toujours l'un des meilleurs MCU que vous pouvez développer à partir de n'importe quelle plate-forme avec des outils gratuits. C'est un gros problème par rapport aux autres familles, dont beaucoup utilisent des compilateurs propriétaires ou ont un support gcc terne. Même PIC était assez tard dans la partie avec de bons compilateurs C gratuits.

Quant à savoir pourquoi il n'y avait pas grand-chose à ce sujet dans les réponses à votre question précédente, je pense que (1) vous voyez un petit échantillon de biais et (2) de nombreuses réponses étaient spécifiquement pour discuter de solutions non AVR - parce que une grande partie de la discussion sur ce site est centrée sur AVR / Arduino. La plupart des familles de microcontrôleurs ne sont pas représentées dans votre liste au moment de la rédaction de ce document, y compris certaines que j'utilise régulièrement et d'autres qui sont parmi les plus populaires au monde.

Windell Oskay
la source
2
Je conviens que la disponibilité d'une chaîne d'outils C a probablement été un facteur de succès pour les amateurs d'AVR. Il y a quelques années, lorsque j'ai commencé à essayer les micros à partir d'un arrière-plan logiciel, les options étaient BASIC Stamp, ce qui était parfait pour les débutants, mais l'environnement de développement n'était pas vraiment satisfaisant pour un programmeur. Il y avait PIC, qui, je crois, n'avait qu'un assembleur disponible gratuitement à l'époque, ce qui est bien, mais je ne me sentais pas comme ASM. Ensuite, il y avait l'AVR qui avait avr-gcc, je pouvais programmer comme un programmeur, les AVR étaient polyvalents et faciles à câbler dans les projets et les programmeurs étaient bon marché et faciles à construire.
Suboptimus
28

J'ai commencé à utiliser des PIC, mais je suis ensuite passé aux AVR. J'ai changé parce qu'il y a GCC pour les AVR. Cela m'a donné un environnement auquel j'étais habitué, gratuitement, et m'a permis de compiler du code sous Linux / OSX, pas seulement Windows.

Bien qu'il existe de nombreux compilateurs C pour les PIC ces jours-ci, certains même pour Linux - ils ont tous leurs propres bizarreries que je ne voulais pas apprendre.

Toby Jaffey
la source
9
+1 gcc FTW! Nous avons essayé d'utiliser quelques compilateurs Microchip C, et leur interprétation de la spécification C a provoqué des invectives émanant d'un cube de collègues. Il souhaite avoir eu gcc.
J. Polfer
1
J'ai commencé à aimer le compilateur Microchip C18 maintenant que je m'y suis habitué. Apprendre à utiliser #pragma et les vecteurs d'interruption était probablement la partie la plus difficile. Les bibliothèques C qu'ils fournissent peuvent économiser beaucoup de temps de développement.
mjh2007
2
Je n'aime pas les compilateurs PIC18 / PIC16, mais j'aime les compilateurs 24F et dsPIC30F / 33F, qui sont basés sur GCC.
Thomas O
9

D'après ce que j'ai vu, les AVR ont connu une vague de popularité uniquement sur des marchés de niche comme les outils amateurs et les applications de prototypage rapide. AVR a fait un excellent travail pour obtenir un support d'outils multiplateforme sur Linux, MAC et PC.

Tous ceux à qui j'ai parlé qui utilisent des microcontrôleurs dans des applications OEM utilisent soit PIC, une sorte de variante ARM ou un MSP430 (uniquement pour les applications à faible puissance). Je n'ai encore rencontré personne utilisant un AVR.

jluciani
la source
2
J'en ai rencontré quelques-uns professionnellement. Je soupçonne que le marché des amateurs dans son ensemble est une goutte dans leur seau.
Windell Oskay
1
Je suis d'accord avec ça. Je ne crois pas qu'un microcontrôleur (ou probablement la plupart des sociétés de semi-conducteurs) survivrait longtemps si leur marché principal avait des amateurs. Il n'y aurait pas assez de volume. Le marché des amateurs peut être une baisse du seau Atmel, mais cela semble être un petit seau;) Peut-être qu'il devrait y avoir une question de suivi - Quelles entreprises et quels types d'applications OEM utilisent les microcontrôleurs Atmel?
jluciani
J'utilise AVR32 dans des produits professionnels. Il repousse les taches des appareils ARM cortex-M3 (dans mon application). J'ai regardé AVR8 mais ils n'y sont jamais parvenus. MSP430 les a battus à fond.
u
4
@Ian Quels types de produits?
jluciani
4
@jluciani Modems de données satellite très petits et de faible puissance. Les modes basse consommation du MSP et de l'AVR32 sont excellents avec la conservation des données RAM. Les modes ARM basse consommation (à l'exception des nouvelles micro pièces énergétiques) ne permettent pas de fonctionner à l'état basse consommation et ne conservent souvent pas le contenu de la RAM.
u
7

Le PIC de Microchip est le numéro un des ventes de microcontrôleurs 8 bits et l'AVR est cinquième. Cela pourrait expliquer pourquoi l'AVR n'est pas mentionné aussi souvent que les autres appareils.

Leon Heller
la source
Avant d'entrer dans les microcontrôleurs et l'électronique, j'avais entendu parler de "PIC" et je n'avais pas entendu parler de "AVR" (bien que j'aie entendu parler d'Arduino).
terrasse du
«PIC» semble être devenu un terme générique pour un MCU à certains égards, comme «Hoover» pour un aspirateur.
Leon Heller
Et je pensais que "PIC" était un "mot à quatre lettres" !!!
u
3
(mot générique) Non, ce n'est pas le cas.
tissit
12
citation nécessaire
joeforker
6

Arduino n'est pas pertinent ou vous vous demandez pourquoi Arduino est si populaire et non pourquoi AVR. Les AVR sont "populaires" depuis un certain temps, indépendamment d'Arduino. Arduino est un produit des mêmes choses qui ont rendu AVR attrayant. C'est un autre produit, un autre devkit. L'AVR n'est pas populaire dans les unités livrées où les 8051 dans les appareils et les PIC dans les cartes à puce ou autres ont des nombres massifs ou sur les marchés des téléphones portables et des PC où l'AVR n'est même pas en concurrence.

Au lieu de populaire , vous pourriez dire que l'AVR est attrayant . Et c'est. Les points principaux sont déjà ressortis: il est disponible et peu coûteux, nécessite très peu de composants ou de fonctionnalités de carte (horloges, bus ...), est facilement FAI et surtout, il existe un bon support logiciel. Vous obtenez un véritable compilateur, des logiciels de programmation et des conceptions matérielles, des documents, des échantillons, des bibliothèques, tous gratuits comme en toute liberté. Vous n'avez pas à vous battre contre les fournisseurs et à vous demander si votre taille de code est limitée ou si vous entendez que votre compilateur a été interrompu ou ne fonctionnera sur aucun système d'exploitation de cette décennie. Si ce n'est pas le cas auparavant, une fois que vous aurez été mordu suffisamment de fois, vous apprécierez les outils et documents ouverts où personne ne dicte ce que vous pouvez et ne pouvez pas faire ou savoir.

tissit
la source
-5

Il existe deux principaux fabricants de μC et le dilemme éternel Pic-Atmel. Je ne peux recommander à personne ce qu'il faut choisir, mais je peux expliquer les raisons qui m'ont poussé à choisir Atmel. Certaines de ces raisons me sont inconnues - peut-être que j'aimais plus la façon dont cela sonne - mais je me sentais plus attiré par cette famille car elle me semblait beaucoup plus proche de l'ancien microprocesseur Z80 et que j'utilisais pour plusieurs beaux projets à l'époque était plus jeune.

Que puis-je dire, si vous décidez d'aller dans une direction, restez-y et restez fidèle à cette famille, selon le principe qu'il vaut mieux connaître une chose complètement que deux choses à mi-chemin.

Mincior
la source
4
Avez-vous déjà entendu parler de ST ou NXP? Et Texas Instruments? Freescale? De plus, les PIC sont une famille de microcontrôleurs fabriqués par une société appelée Microchip. Pic n'est pas un fabricant.
Joe Baker