- Begin met de projectvereisten
- Kijk naar de aanbevolen parameters
- Werkspanning
- Doelconnectoren
- Geavanceerde interfaces
- Ontwikkelomgeving
- Prijs en beschikbaarheid
- Andere mogelijkheden
- Conclusie
Als het gaat om het kiezen van een microcontroller, is het echt een verwarrende taak, omdat er verschillende microcontrollers op de markt zijn met dezelfde specificaties. Dus elke parameter wordt belangrijk als het gaat om het selecteren van een microcontroller. Hier vergelijken we twee meest gebruikte Microcontroller: PIC Microcontroller en AVR Microcontroller. Hier worden ze op verschillende niveaus vergeleken, wat handig zal zijn bij het selecteren van een microcontroller voor uw project.
Begin met de projectvereisten
Verzamel alle informatie over uw te starten project voordat u een microcontroller gaat kiezen. Het is erg belangrijk dat de informatie zoveel mogelijk wordt verzameld, omdat dit een belangrijke rol zou spelen bij het kiezen van de juiste microcontroller.
- Verzamel informatie over het project, zoals de grootte van het project
- Aantal gebruikte randapparatuur en sensoren
- Benodigd vermogen
- Budget van het project
- Interfacesvereisten (zoals USB, SPI, I2C, UART enz.),
- Maak een basishardwareblokschema,)
- Geef aan hoeveel GPIO nodig is
- Analoog naar digitale ingangen (ADC's)
- PWM's
- Selecteer de juiste architectuur die nodig is, dwz (8-bit, 16-bit, 32-bit)
- Herken geheugenvereisten van het project (RAM, Flash enz.)
Kijk naar de aanbevolen parameters
Als alle informatie is verzameld, is het een goed moment om de microcontroller te kiezen. In dit artikel worden de twee concurrerende microcontrollermerken PIC en AVR vergeleken op verschillende parameters. Bekijk de volgende parameters, afhankelijk van de behoefte van het project om de twee te vergelijken, zoals,
- Frequentie: snelheid waarmee de microcontroller werkt
- Aantal I / O-pinnen: vereiste poorten en pinnen
- RAM: alle variabelen en arrays gedeclareerd (DATA) in de meeste MCU's
- Flash-geheugen: welke code u ook schrijft, komt hier na het compileren
- Geavanceerde interfaces: geavanceerde interfaces zoals USB, CAN en Ethernet.
- Werkspanning: werkspanning van MCU zoals 5V, 3.3V of laagspanning.
- Doelconnectoren: de connectoren voor het gemak van circuitontwerp en grootte.
De meeste parameters zijn vergelijkbaar in zowel PIC als AVR, maar er zijn enkele parameters die zeker verschillen wanneer ze worden vergeleken.
Werkspanning
Met meer op batterijen werkende producten zijn de PIC en AVR erin geslaagd om te verbeteren voor de laagspanningsactiviteiten. AVR staat beter bekend om zijn laagspanningsbedrijf dan de oudere PIC-series zoals PIC16F en PIC18F omdat deze PIC-serie een chip-gewiste methode gebruikt die ten minste 4,5 V nodig heeft om te werken, en onder 4,5 V moeten PIC-programmeurs een rij-wis-algoritme gebruiken die het vergrendelde apparaat niet kan wissen. Dit is echter niet het geval bij AVR.
AVR heeft de nieuwste P (pico-power) varianten zoals ATmega328P verbeterd en gelanceerd, die extreem laag vermogen hebben. Ook de huidige ATtiny1634 is verbeterd en wordt geleverd met slaapmodi om het stroomverbruik te verminderen wanneer brownout wordt gebruikt, wat erg handig is bij apparaten met batterijvoeding.
De conclusie is dat AVR voorheen gefocust was op laagspanning, maar PIC is nu getransformeerd voor laagspanning en heeft een aantal producten gelanceerd op basis van picPower.
Doelconnectoren
Target connectoren zijn erg belangrijk als het gaat om ontwerp en ontwikkeling. AVR heeft 6- en 10-weg ISP-interfaces gedefinieerd, waardoor het gemakkelijk te gebruiken is, terwijl PIC het niet heeft, dus PIC-programmeurs worden geleverd met vliegende kabels of RJ11-aansluitingen die moeilijk in het circuit passen.
Conclusie is dat de AVR het qua circuitontwerp en ontwikkeling eenvoudig heeft gemaakt met de doelconnectoren, terwijl PIC dit nog moet rechtzetten.
Geavanceerde interfaces
In termen van geavanceerde interfaces, dan is de PIC zeker de optie, omdat deze zijn werk heeft gedaan met geavanceerde functies zoals USB, CAN en Ethernet, wat niet het geval is in AVR. Men kan echter externe chips gebruiken, zoals FTDI USB naar seriële chips, Microchip Ethernet-controllers of Philips CAN-chips.
De conclusie is dat de PIC zeker de geavanceerde interfaces heeft dan AVR.
Ontwikkelomgeving
Afgezien hiervan zijn er belangrijke kenmerken waardoor beide microcontrollers van elkaar verschillen. Het gemak van de ontwikkelomgeving is erg belangrijk. Hieronder staan enkele belangrijke parameters die het gemak van de ontwikkelomgeving verklaren:
- Ontwikkeling IDE
- C Compilers
- Assemblers
Ontwikkeling IDE:
Zowel PIC als AVR hebben hun eigen ontwikkelings-IDE's . PIC-ontwikkeling wordt gedaan op MPLAB X, waarvan bekend is dat het de stabiele en eenvoudige IDE is in vergelijking met AVR's Atmel Studio7, die een grote grootte heeft van 750 MB en een beetje onhandig is met meer add-on-functies die het moeilijk en gecompliceerd maken voor beginnende elektronische hobbyisten.
De PIC kan worden geprogrammeerd door de microchip gereedschappen PICkit3 en MPLAB X . De AVR wordt geprogrammeerd met behulp van tools zoals JTAGICE en AtmelStudio7. De gebruikers schakelen echter over naar de oudere versies van AVR Studio, zoals 4.18 met service pack3, omdat het veel sneller werkt en basisfuncties voor ontwikkeling heeft.
De conclusie is dat de PIC MPLAB X iets sneller en gebruiksvriendelijker is dan AtmelStudio7.
C Samenstellers:
Zowel PIC als AVR worden geleverd met respectievelijk XC8 en WINAVR C Compilers. De PIC heeft Hi-tech uitgekocht en hun eigen compiler XC8 gelanceerd. Dit is volledig geïntegreerd in MPLAB X en functioneert goed. Maar WINAVR is ANSI C gebaseerd op de GCC-compiler, waardoor het gemakkelijk is om code over te dragen en standaardbibliotheken te gebruiken. De gratis beperkte versie van 4KB van IAR C Compiler geeft de indruk van professionele compilers die veel kosten. Omdat de AVR in het begin is ontworpen voor C, is de code-uitvoer klein en snel.
De PIC heeft veel eigenschappen die het goed maken in vergelijking met AVR, maar de code wordt groter door de structuur van de PIC. De betaalde versie is beschikbaar met meer optimalisatie, maar de gratis versie is niet goed geoptimaliseerd.
De conclusie is dat WINAVR goed en snel is in termen van compilers dan PIC XC8.
Monteurs:
Met drie 16-bits pointerregisters die adressering en woordbewerkingen vereenvoudigen, is de AVR-assembleertaal zeer eenvoudig met veel instructies en de mogelijkheid om alle 32 registers als accumulator te gebruiken. Terwijl de PIC-assembler niet zo goed is met alles dat gedwongen wordt om via de accumulator te werken, dwingt hij om de hele tijd van bank te wisselen om toegang te krijgen tot alle speciale functieregisters. Hoewel MPLAB macro's bevat om het wisselen van bank te vereenvoudigen, is het vervelend en tijdrovend.
Ook het ontbreken van vertakkingsinstructies, gewoon overslaan en GOTO, wat in ingewikkelde structuren en een beetje verwarrende code dwingt. De PIC-serie heeft een aantal microcontrollerseries veel sneller, maar opnieuw beperkt tot één accumulator.
De conclusie is dat, hoewel sommige PIC-microcontrollers sneller zijn, AVR beter is om aan te werken in termen van assemblers.
Prijs en beschikbaarheid
Over de prijs gesproken, dan lijken zowel PIC als AVR veel op elkaar. Beide zijn verkrijgbaar in vrijwel dezelfde prijs. In termen van beschikbaarheid is de PIC erin geslaagd om de producten in een bepaalde tijd te leveren in vergelijking met de AVR, aangezien Microchip altijd een beleid had van korte doorlooptijden. Atmel had moeilijke tijden omdat hun brede productassortiment betekent dat AVR's een klein deel van hun bedrijf uitmaken, zodat andere markten voorrang kunnen krijgen op AVR's voor wat betreft productiecapaciteit. Het is dus raadzaam om PIC te gebruiken in termen van leveringsschema's, terwijl AVR cruciaal kan zijn voor de productie. Microchiponderdelen zijn meestal gemakkelijker verkrijgbaar, vooral in kleine hoeveelheden.
Andere mogelijkheden
Zowel PIC als AVR zijn verkrijgbaar in verschillende pakketten. De PIC rolt meer versies uit dan AVR. De uitrol van deze versie kan voor- en nadelen hebben, afhankelijk van de toepassingen, zoals meer versies verwarring veroorzaken bij het selecteren van het juiste model, maar tegelijkertijd zorgt het voor meer flexibiliteit. De nieuwste versie van zowel PIC als AVR hebben een zeer laag vermogen en werken in verschillende spanningsbereiken. PIC-klokken en timers zijn nauwkeuriger, maar qua snelheid zijn de PIC en AVR vrijwel hetzelfde.
Atmel Studio 7 heeft Production ELF Files toegevoegd, die EEPROM-, Flash- en fuse-gegevens in één bestand bevatten. Terwijl AVR fuse-gegevens heeft geïntegreerd in hun hex-bestandsformaat, zodat de fuse in code kan worden ingesteld. Dit maakt de overdracht van project naar productie eenvoudiger voor PIC.
Conclusie
PIC en AVR zijn beide uitstekende goedkope apparaten die niet alleen in industrieën worden gebruikt, maar ook een populaire keuze zijn onder studenten en hobbyisten. Beide worden veel gebruikt en hebben goede netwerken (forums, codevoorbeelden) met actieve online aanwezigheid. Beide hebben een goed bereik en ondersteuning voor de gemeenschap en beide zijn beschikbaar in grote maten en vormfactor met onafhankelijke randapparatuur. Microchip heeft Atmel overgenomen en verzorgt nu zowel AVR als PIC. Uiteindelijk is het duidelijk dat het leren van een microcontroller is als het leren van programmeertalen, aangezien het leren van een andere veel gemakkelijker zal zijn als je er eenmaal een hebt geleerd.
Het is ongeacht om te zeggen dat degene die wint, maar in bijna alle takken van engineering bestaat er geen woord als "beste", terwijl de term "Meest geschikt voor toepassing" een zeer geschikte uitdrukking is. Het hangt allemaal af van de vereisten van een bepaald product, ontwikkelingsmethode en fabricageproces. Dus afhankelijk van het project kan men een geschikte microcontroller kiezen uit PIC en AVR.