- Beginnen Sie mit der Projektanforderung
- Schauen Sie sich die vorgestellten Parameter an
- Betriebsspannung
- Zielanschlüsse
- Erweiterte Schnittstellen
- Entwicklungsumgebung
- Preis und Verfügbarkeit
- Andere Eigenschaften
- Fazit
Wenn es um die Auswahl von Mikrocontrollern geht, ist dies eine verwirrende Aufgabe, da auf dem Markt verschiedene Mikrocontroller mit denselben Spezifikationen erhältlich sind. Daher wird jeder Parameter wichtig, wenn es um die Auswahl eines Mikrocontrollers geht. Hier vergleichen wir zwei am häufigsten verwendete Mikrocontroller - PIC Microcontroller und AVR Microcontroller. Hier werden sie auf verschiedenen Ebenen verglichen, was bei der Auswahl des Mikrocontrollers für Ihr Projekt hilfreich ist .
Beginnen Sie mit der Projektanforderung
Sammeln Sie alle Informationen zu Ihrem zu startenden Projekt, bevor Sie einen Mikrocontroller auswählen. Es ist sehr wichtig, dass die Informationen so weit wie möglich gesammelt werden, da dies eine wichtige Rolle bei der Auswahl des richtigen Mikrocontrollers spielen würde.
- Sammeln Sie Informationen zum Projekt, z. B. Projektgröße
- Anzahl der verwendeten Peripheriegeräte und Sensoren
- Leistungsbedarf
- Budget des Projekts
- Schnittstellenanforderung (wie USB, SPI, I2C, UART usw.),
- Erstellen Sie ein grundlegendes Hardware-Blockdiagramm.)
- Schreiben Sie auf, wie viele GPIO benötigt werden
- Analoge zu digitale Eingänge (ADCs)
- PWMs
- Wählen Sie die richtige Architektur aus, dh (8-Bit, 16-Bit, 32-Bit)
- Erkennen des Speicherbedarfs des Projekts (RAM, Flash usw.)
Schauen Sie sich die vorgestellten Parameter an
Wenn alle Informationen gesammelt sind, ist es der richtige Zeitpunkt, den Mikrocontroller auszuwählen. In diesem Artikel werden die beiden konkurrierenden Mikrocontroller-Marken PIC und AVR anhand verschiedener Parameter verglichen. Abhängig von der Notwendigkeit des Projekts, die beiden zu vergleichen, betrachten Sie die folgenden Parameter wie:
- Frequenz: Geschwindigkeit, mit der der Mikrocontroller arbeitet
- Anzahl der E / A-Pins: Erforderliche Ports und Pins
- RAM: Alle in den meisten MCUs deklarierten Variablen und Arrays (DATA)
- Flash-Speicher: Der Code, den Sie schreiben, wird nach dem Kompilieren hier abgelegt
- Erweiterte Schnittstellen: Erweiterte Schnittstellen wie USB, CAN und Ethernet.
- Arbeitsspannung: Arbeitsspannung der MCU wie 5 V, 3,3 V oder Niederspannung.
- Zielanschlüsse: Die Anschlüsse für eine einfache Schaltungsgestaltung und -größe.
Die meisten Parameter sind sowohl in PIC als auch in AVR ähnlich, aber es gibt einige Parameter, die sich im Vergleich sicherlich unterscheiden.
Betriebsspannung
Mit mehr batteriebetriebenen Produkten konnten sich PIC und AVR für den Niederspannungsbetrieb verbessern. AVR sind für den Niederspannungsbetrieb besser bekannt als die älteren PIC-Serien wie PIC16F und PIC18F, da diese PIC-Serien ein Chip-Löschverfahren verwendeten, das mindestens 4,5 V für den Betrieb benötigt, und PIC-Programmierer unter 4,5 V einen Zeilenlöschalgorithmus verwenden müssen das gesperrte Gerät kann nicht gelöscht werden. Dies ist jedoch bei AVR nicht der Fall.
AVR hat die neuesten P-Varianten (Pico-Power) wie ATmega328P verbessert und auf den Markt gebracht, die extrem stromsparend sind. Auch der aktuelle ATtiny1634 wurde verbessert und verfügt über Ruhemodi, um den Stromverbrauch bei Verwendung von Brownout zu reduzieren, was bei batteriebetriebenen Geräten sehr nützlich ist.
Die Schlussfolgerung ist, dass AVR zuvor auf Niederspannung ausgerichtet war, PIC jetzt jedoch für den Niederspannungsbetrieb umgestaltet wurde und einige auf picPower basierende Produkte auf den Markt gebracht hat.
Zielanschlüsse
Zielverbinder sind sehr wichtig für Design und Entwicklung. AVR hat 6- und 10-Wege-ISP-Schnittstellen definiert, was die Verwendung vereinfacht, während PIC diese nicht hat. Daher werden PIC-Programmierer mit fliegenden Kabeln oder RJ11-Buchsen geliefert, die schwer in die Schaltung zu passen sind.
Die Schlussfolgerung ist, dass der AVR es in Bezug auf Schaltungsdesign und -entwicklung mit den Zielanschlüssen einfach gemacht hat, während PIC dies noch korrigieren muss.
Erweiterte Schnittstellen
In Bezug auf erweiterte Schnittstellen ist der PIC sicherlich die Option, da er mit erweiterten Funktionen wie USB, CAN und Ethernet ausgestattet ist, was bei AVR nicht der Fall ist. Man kann jedoch externe Chips wie FTDI USB zu seriellen Chips, Microchip Ethernet Controller oder Philips CAN Chips verwenden.
Fazit ist, dass der PIC sicherlich die erweiterten Schnittstellen als AVR hat.
Entwicklungsumgebung
Abgesehen davon gibt es wichtige Merkmale, die beide Mikrocontroller voneinander unterscheiden. Die einfache Entwicklungsumgebung ist sehr wichtig. Im Folgenden sind einige wichtige Parameter aufgeführt, die die einfache Entwicklungsumgebung erklären:
- Entwicklungs-IDE
- C Compiler
- Monteure
Entwicklungs-IDE:
Sowohl PIC als auch AVR werden mit eigenen Entwicklungs-IDEs geliefert . Die PIC-Entwicklung erfolgt auf MPLAB X, das als stabile und einfache IDE im Vergleich zu Atros Studio7 von AVR bekannt ist. Es hat eine Größe von 750 MB und ist etwas klobig mit mehr Zusatzfunktionen, was es für unerfahrene elektronische Hobbyisten schwierig und kompliziert macht.
Der PIC kann mit den Mikrochip-Tools PicKit3 und MPLAB X programmiert werden . Der AVR wird mit Tools wie JTAGICE und AtmelStudio7 programmiert. Die Benutzer wechseln jedoch zu älteren Versionen von AVR Studio wie 4.18 mit Service Pack3, da es viel schneller läuft und grundlegende Funktionen für die Entwicklung bietet.
Die Schlussfolgerung ist, dass der PIC MPLAB X etwas schneller und benutzerfreundlicher ist als AtmelStudio7.
C Compiler:
Sowohl PIC als auch AVR werden mit XC8- bzw. WINAVR C-Compilern geliefert. Der PIC hat Hi-Tech aufgekauft und einen eigenen Compiler XC8 gestartet. Dies ist vollständig in MPLAB X integriert und funktioniert gut. WINAVR ist jedoch ANSI C, das auf dem GCC-Compiler basiert, wodurch es einfach ist, Code zu portieren und Standardbibliotheken zu verwenden. Die kostenlose, limitierte 4-KB-Version von IAR C Compiler bietet einen Eindruck von professionellen Compilern, der viel kostet. Da der AVR am Anfang für C ausgelegt ist, ist die Code-Ausgabe klein und schnell.
Der PIC verfügt über viele Funktionen, die ihn im Vergleich zu AVR gut machen, aber sein Code wird aufgrund der Struktur des PIC größer. Die kostenpflichtige Version ist mit mehr Optimierung verfügbar, die kostenlose Version ist jedoch nicht gut optimiert.
Die Schlussfolgerung ist, dass WINAVR in Bezug auf Compiler gut und schnell ist als PIC XC8.
Monteure:
Mit drei 16-Bit-Zeigerregistern, die Adressierungs- und Wortoperationen vereinfachen, ist die AVR-Assemblersprache mit vielen Anweisungen und der Möglichkeit, alle 32 Register als Akkumulator zu verwenden, sehr einfach. Während der PIC-Assembler nicht so gut ist, wenn alles gezwungen ist, über den Akkumulator zu arbeiten, muss die Bank ständig umgeschaltet werden, um auf alle Sonderfunktionsregister zuzugreifen. MPLAB enthält zwar Makros zur Vereinfachung des Bankwechsels, ist jedoch langwierig und zeitaufwändig.
Auch das Fehlen von Verzweigungsanweisungen, einfach überspringen und GOTO, was zu verschlungenen Strukturen und etwas verwirrendem Code führt. Die PIC-Serie hat einige Mikrocontroller-Serien viel schneller, ist aber wiederum auf einen Akku beschränkt.
Die Schlussfolgerung ist, dass einige PIC-Mikrocontroller zwar schneller sind, AVR jedoch in Bezug auf Assembler besser zu bearbeiten ist.
Preis und Verfügbarkeit
In Bezug auf den Preis sind sich PIC und AVR sehr ähnlich. Beide sind zum meist gleichen Preis erhältlich. In Bezug auf die Verfügbarkeit ist es dem PIC gelungen, die Produkte im Vergleich zum AVR in der festgelegten Zeit zu liefern, da Microchip immer kurze Vorlaufzeiten hatte. Atmel hatte einige schwierige Zeiten, da AVRs aufgrund ihrer breiten Produktpalette nur einen kleinen Teil ihres Geschäfts ausmachen, sodass andere Märkte bei der Produktionskapazität Vorrang vor AVRs haben können. Daher ist es ratsam, PIC in Bezug auf Lieferpläne zu verwenden, während AVR für die Produktion von entscheidender Bedeutung sein kann. Mikrochip-Teile sind in der Regel leichter verfügbar, insbesondere in kleinen Mengen.
Andere Eigenschaften
Sowohl PIC als auch AVR sind in verschiedenen Paketen erhältlich. Der PIC bringt mehr Versionen als AVR heraus. Diese Version kann je nach Anwendung Vor- und Nachteile haben, da mehr Versionen bei der Auswahl des richtigen Modells Verwirrung stiften und gleichzeitig eine bessere Flexibilität bieten. Die neueste Version von PIC und AVR ist sehr stromsparend und arbeitet in verschiedenen Spannungsbereichen. PIC-Uhren und Timer sind genauer, aber in Bezug auf die Geschwindigkeit sind PIC und AVR sehr ähnlich.
Atmel Studio 7 hat Produktions-ELF-Dateien hinzugefügt, die EEPROM-, Flash- und Sicherungsdaten in einer Datei enthalten. Während AVR Sicherungsdaten in das Hex-Dateiformat integriert hat, kann die Sicherung im Code eingestellt werden. Dies erleichtert PIC die Übertragung des Projekts in die Produktion.
Fazit
PIC und AVR sind ausgezeichnete, kostengünstige Geräte, die nicht nur in der Industrie eingesetzt werden, sondern auch bei Studenten und Hobbyisten eine beliebte Wahl sind. Beide sind weit verbreitet und verfügen über gute Netzwerke (Foren, Codebeispiele) mit aktiver Online-Präsenz. Beide haben eine gute Reichweite und Unterstützung für die Community und sind in großen Größen und Formfaktoren mit unabhängigen Kernperipheriegeräten erhältlich. Microchip hat Atmel übernommen und kümmert sich nun sowohl um AVR als auch um PIC. Am Ende ist klar, dass das Erlernen von Mikrocontrollern dem Erlernen von Programmiersprachen gleicht, da das Erlernen einer anderen Sprache viel einfacher ist, sobald Sie eine gelernt haben.
Es ist unabhängig davon, wer gewinnt, aber in fast allen Bereichen der Technik gibt es kein Wort wie „am besten“, während der Ausdruck „am besten für die Anwendung geeignet“ gut geeignet ist. Alles hängt von den Anforderungen eines bestimmten Produkts, der Entwicklungsmethode und des Herstellungsprozesses ab. Je nach Projekt kann man also aus PIC und AVR einen gut geeigneten Mikrocontroller auswählen.