- Commencez avec les exigences du projet
- Regardez les paramètres présentés
- Tension de travail
- Connecteurs cibles
- Interfaces avancées
- Environnement de développement
- Prix et disponibilité
- Autres caractéristiques
- Conclusion
Lorsqu'il s'agit de choisir un microcontrôleur, c'est vraiment une tâche déroutante car il existe différents microcontrôleurs disponibles sur le marché avec les mêmes spécifications. Ainsi, chaque paramètre devient important lorsqu'il s'agit de sélectionner un microcontrôleur. Ici, nous comparons les deux microcontrôleurs PIC les plus couramment utilisés et les microcontrôleurs AVR. Ici, ils sont comparés à différents niveaux, ce qui sera utile pour sélectionner le microcontrôleur pour votre projet.
Commencez avec les exigences du projet
Rassemblez toutes les informations sur votre projet à démarrer avant de commencer à choisir un microcontrôleur. Il est très important que les informations soient collectées autant que possible car cela jouerait un rôle important dans le choix du bon microcontrôleur.
- Recueillir des informations sur le projet telles que la taille du projet
- Nombre de périphériques et de capteurs utilisés
- Puissance requise
- Budget du projet
- Exigence d'interfaces (comme USB, SPI, I2C, UART etc.),
- Créer un schéma de principe du matériel de base,)
- Listez combien de GPIO sont nécessaires
- Entrées analogiques à numériques (ADC)
- PWM
- Sélectionnez la bonne architecture requise (8 bits, 16 bits, 32 bits)
- Reconnaître les besoins en mémoire du projet (RAM, Flash, etc.)
Regardez les paramètres présentés
Lorsque toutes les informations sont rassemblées, le moment est venu de choisir le microcontrôleur. Dans cet article, les deux marques de microcontrôleurs concurrentes PIC et AVR seront comparées sur une variété de paramètres. En fonction du besoin du projet de comparer les deux, examinez les paramètres suivants tels que,
- Fréquence: vitesse à laquelle le microcontrôleur fonctionnera
- Nombre de broches d'E / S: ports et broches requis
- RAM: toutes les variables et tableaux déclarés (DATA) dans la plupart des MCU
- Mémoire flash: le code que vous écrivez va ici après la compilation
- Interfaces avancées: interfaces avancées telles que USB, CAN et Ethernet.
- Tension de fonctionnement: tension de fonctionnement du MCU telle que 5 V, 3,3 V ou basse tension.
- Connecteurs cibles: les connecteurs facilitant la conception et la taille du circuit.
La plupart des paramètres sont similaires dans les deux PIC et AVR, mais certains paramètres diffèrent sûrement lorsqu'ils sont comparés.
Tension de travail
Avec plus de produits fonctionnant sur batterie, le PIC et l'AVR ont réussi à s'améliorer pour les opérations basse tension. Les AVR sont mieux connus pour un fonctionnement à basse tension que les anciennes séries PIC telles que PIC16F et PIC18F car ces séries PIC utilisaient une méthode d'effacement de puce qui nécessite au moins 4,5 V pour fonctionner, et en dessous de 4,5 V les programmeurs PIC doivent utiliser un algorithme d'effacement de ligne. qui ne peut pas effacer l'appareil verrouillé. Cependant, ce n'est pas le cas dans AVR.
AVR a amélioré et lancé les dernières variantes P (pico-power) telles que ATmega328P qui sont extrêmement faible consommation. De plus, l'ATtiny1634 actuel s'est amélioré et est livré avec des modes de veille pour réduire la consommation d'énergie en cas de baisse de tension, ce qui est très utile dans les appareils alimentés par batterie.
La conclusion est que AVR était auparavant axé sur la basse tension, mais PIC a maintenant été transformé pour le fonctionnement à basse tension et a lancé certains produits basés sur picPower.
Connecteurs cibles
Les connecteurs cibles sont très importants pour la conception et le développement. AVR a défini des interfaces ISP 6 et 10 voies, ce qui le rend facile à utiliser alors que PIC ne l'a pas, donc les programmeurs PIC sont livrés avec des fils volants ou des prises RJ11 qui sont difficiles à installer dans le circuit.
La conclusion est que l' AVR a simplifié les choses en termes de conception et de développement de circuits avec les connecteurs cibles, alors que PIC doit encore y remédier.
Interfaces avancées
En termes d'interfaces avancées, alors le PIC est sûrement l'option car il a fait ses preuves avec des fonctionnalités avancées telles que USB, CAN et Ethernet, ce qui n'est pas le cas dans AVR. Cependant, on peut utiliser des puces externes, telles que des puces FTDI USB vers série, des contrôleurs Microchip Ethernet ou des puces Philips CAN.
La conclusion est que le PIC a sûrement les interfaces avancées que l'AVR.
Environnement de développement
En dehors de cela, il existe des caractéristiques importantes qui rendent les deux microcontrôleurs différents l'un de l'autre. La facilité de l'environnement de développement est très importante. Voici quelques paramètres importants qui expliqueront la facilité de l'environnement de développement:
- IDE de développement
- Compilateurs C
- Assembleurs
IDE de développement:
PIC et AVR sont livrés avec leurs propres IDE de développement . Le développement PIC est effectué sur MPLAB X, qui est connu pour être l'IDE stable et simple comparé à Atmel Studio7 d'AVR qui est de grande taille de 750 Mo et est un peu maladroit avec plus de fonctionnalités complémentaires qui le rendent difficile et compliqué pour les amateurs électroniques débutants.
Le PIC peut être programmé par les outils de puces électroniques PICkit3 et MPLAB X . L'AVR est programmé à l'aide d'outils tels que JTAGICE et AtmelStudio7. Cependant, les utilisateurs passent aux anciennes versions d'AVR Studio telles que 4.18 avec le service pack3 car il fonctionne beaucoup plus rapidement et possède des fonctionnalités de base pour le développement.
La conclusion est que le PIC MPLAB X est un peu plus rapide et convivial que AtmelStudio7.
Compilateurs C:
PIC et AVR sont livrés avec les compilateurs XC8 et WINAVR C respectivement. Le PIC a racheté Hi-tech et a lancé son propre compilateur XC8. Ceci est complètement intégré dans MPLAB X et fonctionne bien. Mais WINAVR est ANSI C basé sur le compilateur GCC qui facilite le portage du code et l'utilisation des bibliothèques standard. La version limitée gratuite de 4 Ko d'IAR C Compiler donne une idée de compilateurs professionnels qui coûte cher. Puisque l'AVR est conçu pour C au début, la sortie de code est petite et rapide.
Le PIC a de nombreuses fonctionnalités qui le rendent bien comparé à AVR, mais son code devient plus volumineux en raison de la structure du PIC. La version payante est disponible avec plus d'optimisation, mais la version gratuite n'est pas bien optimisée.
La conclusion est que WINAVR est bon et rapide en termes de compilateurs que PIC XC8.
Assembleurs:
Avec trois registres de pointeur de 16 bits qui simplifient l'adressage et les opérations de mots, le langage d'assemblage AVR est très simple avec de nombreuses instructions et la possibilité d'utiliser les 32 registres comme accumulateur. Alors que l'assembleur PIC n'est pas très bien avec tout forcé de fonctionner à travers l'accumulateur, oblige à utiliser la commutation de banque tout le temps pour accéder à tous les registres de fonctions spéciales. Bien que MPLAB inclut des macros pour simplifier le changement de banque, il est fastidieux et prend du temps.
Aussi le manque d'instructions de branche, il suffit de sauter et GOTO, qui force dans des structures alambiquées et un code un peu déroutant. La série PIC a des séries de microcontrôleurs beaucoup plus rapides mais encore une fois limitées à un accumulateur.
La conclusion est que, bien que certains microcontrôleurs PIC soient plus rapides, il est préférable de travailler sur AVR en termes d'assembleurs.
Prix et disponibilité
En termes de prix, alors PIC et AVR sont très similaires. Les deux sont disponibles pour la plupart au même prix. En termes de disponibilité, le PIC a réussi à livrer les produits dans les délais prescrits par rapport à l'AVR car Microchip a toujours eu une politique de délais courts. Atmel a connu des moments difficiles car sa large gamme de produits signifie que les AVR ne représentent qu'une petite partie de son activité, de sorte que d'autres marchés peuvent avoir la priorité sur les AVR pour la capacité de production. Il est donc conseillé d'utiliser PIC en termes de délais de livraison alors que l'AVR peut être critique pour la production. Les pièces Microchip ont tendance à être plus facilement disponibles, en particulier en petites quantités.
Autres caractéristiques
PIC et AVR sont disponibles dans une variété de packages. Le PIC déploie plus de versions qu'AVR. Ce déploiement de version peut avoir des avantages et des inconvénients en fonction des applications, car davantage de versions créent de la confusion dans le choix du modèle approprié, mais en même temps, il offre une meilleure flexibilité. La dernière version du PIC et de l'AVR est de très faible puissance et fonctionne dans une variété de plages de tension. Les horloges et les minuteries PIC sont plus précises, mais en termes de vitesse, le PIC et l'AVR sont très similaires.
Atmel Studio 7 a ajouté les fichiers ELF de production, qui incluent les données EEPROM, Flash et fusible dans un seul fichier. Alors que l'AVR a intégré les données de fusible dans leur format de fichier hexadécimal afin que le fusible puisse être défini dans le code. Cela facilite le transfert du projet vers la production pour PIC.
Conclusion
PIC et AVR sont tous deux d'excellents appareils à faible coût qui ne sont pas seulement utilisés dans les industries, mais également un choix populaire parmi les étudiants et les amateurs. Les deux sont largement utilisés et disposent de bons réseaux (forums, exemples de code) avec une présence en ligne active. Les deux ont une bonne portée et un bon support de la communauté et tous deux sont disponibles dans de grandes tailles et un facteur de forme avec des périphériques principaux indépendants. Microchip a repris Atmel et s'occupe désormais d'AVR et de PIC. À la fin, il est bien entendu que l'apprentissage d'un microcontrôleur est comme apprendre des langages de programmation, car en apprendre un autre sera beaucoup plus facile une fois que vous en aurez appris un.
Il est tout de même de dire que celui qui gagne, mais dans presque toutes les branches de l'ingénierie, il n'y a pas de mot tel que «meilleur» alors que l'expression «la plus appropriée pour l'application» est bien adaptée. Tout dépend des exigences d'un produit particulier, de la méthode de développement et du processus de fabrication. Ainsi, en fonction du projet, on peut choisir un microcontrôleur bien adapté parmi PIC et AVR.