- Börja med projektkrav
- Titta på de utvalda parametrarna
- Arbetsspänning
- Målkontakter
- Avancerade gränssnitt
- Utvecklingsmiljö
- Pris och tillgänglighet
- Andra funktioner
- Slutsats
När det gäller att välja mikrokontroller är det verkligen en förvirrande uppgift eftersom det finns olika mikrokontroller tillgängliga på marknaden med samma specifikationer. Så varje parameter blir viktig när det gäller att välja en mikrokontroller. Här jämför vi två mest använda Microcontroller - PIC Microcontroller och AVR Microcontroller. Här jämförs de på olika nivåer vilket kan vara till hjälp vid val av mikrokontroller för ditt projekt.
Börja med projektkrav
Samla all information om ditt projekt som ska startas innan du väljer någon mikrokontroller. Det är mycket viktigt att informationen samlas in så mycket som möjligt eftersom det skulle spela en viktig roll för att välja rätt mikrokontroller.
- Samla in information om projektet, till exempel projektets storlek
- Antal kringutrustning och sensorer som används
- Strömkrav
- Projektets budget
- Gränssnittskrav (som USB, SPI, I2C, UART etc),
- Gör ett grundläggande maskinvarublockschema,)
- Lista ner hur många GPIO som behövs
- Analoga till digitala ingångar (ADC)
- PWM
- Välj rätt arkitektur som behövs dvs. (8-bitars, 16-bitars, 32-bitars)
- Känna igen minneskrav för projektet (RAM, Flash etc)
Titta på de utvalda parametrarna
När all information är samlad är det rätt tid att välja mikrokontroller. I denna artikel kommer de två konkurrerande varumärkena PIC och AVR att jämföras på olika parametrar. Beroende på behovet av projekt för att jämföra de två, titta på följande parametrar som,
- Frekvens: Hastighet med vilken mikrokontrollern kommer att fungera
- Antal I / O-stift: Nödvändiga portar och stift
- RAM: Alla deklarerade variabler och matriser (DATA) i de flesta MCU: er
- Flash-minne: Oavsett kod du skriver går här efter kompilering
- Avancerade gränssnitt: Avancerade gränssnitt som USB, CAN och Ethernet.
- Arbetsspänning: Arbetsspänning för MCU som 5V, 3.3V eller lågspänning.
- Målkontakter: Kontakterna för enkel kretsdesign och storlek.
De flesta av parametrarna är lika i både PIC och AVR men det finns vissa parametrar som säkert skiljer sig åt jämfört.
Arbetsspänning
Med fler batteridrivna produkter har PIC och AVR lyckats förbättra lågspänningsoperationerna. AVR är bättre kända för lågspänningsdrift än de äldre PIC-serierna som PIC16F och PIC18F eftersom dessa PIC-serier använde chipraderad metod som behöver minst 4,5 V för att fungera, och under 4,5 V PIC-programmerare måste använda radraderingsalgoritm som inte kan radera låst enhet. Detta är dock inte fallet i AVR.
AVR har förbättrat och lanserat de senaste P (pico-power) varianterna som ATmega328P som är extremt lågeffektiva. Också den nuvarande ATtiny1634 har förbättrats och kommer med vilolägen för att minska strömförbrukningen när brownout används vilket är mycket användbart i batteridrivna enheter.
Slutsatsen är att AVR tidigare hade fokuserat på lågspänning men PIC har nu transformerats för lågspänningsoperationen och har lanserat några produkter baserade på picPower.
Målkontakter
Målkontakter är mycket viktiga när det gäller design och utveckling. AVR har definierat 6 och 10-vägs ISP-gränssnitt, vilket gör det enkelt att använda medan PIC inte har det, så PIC-programmerare kommer med flygledningar eller RJ11-uttag som är svåra att passa i kretsen.
Slutsatsen är att AVR har gjort det enkelt när det gäller kretsdesign och utveckling med målkontakterna medan PIC fortfarande behöver åtgärda detta.
Avancerade gränssnitt
När det gäller avancerade gränssnitt är PIC säkert alternativet eftersom det har fått sin verksamhet med avancerade funktioner som USB, CAN och Ethernet vilket inte är fallet i AVR. Man kan dock använda externa chips, till exempel FTDI USB till seriella chips, Microchip Ethernet-kontroller eller Philips CAN-chips.
Slutsatsen är att PIC säkert har avancerade gränssnitt än AVR.
Utvecklingsmiljö
Utöver detta finns det viktiga funktioner som gör att både mikroprocessorn skiljer sig från varandra. Den enkla utvecklingsmiljön är mycket viktig. Nedan följer några viktiga parametrar som förklarar den enkla utvecklingsmiljön:
- Utveckling IDE
- C Kompilatorer
- Assemblers
Utveckling IDE:
Både PIC och AVR levereras med egna utvecklings-IDE . PIC-utveckling görs på MPLAB X, som är känt för att vara den stabila och enkla IDE jämfört med AVR: s Atmel Studio7 som är av stor 750MB storlek och är lite klumpig med fler tilläggsfunktioner vilket gör det svårt och komplicerat för nybörjare elektroniska hobbyister.
PIC kan programmeras via Microchip verktyg PICkit3 och MPLAB X . AVR programmeras med hjälp av verktyg som JTAGICE och AtmelStudio7. Men användarna byter till de äldre versionerna av AVR Studio som 4.18 med service pack3 eftersom det går mycket snabbare och har grundläggande funktioner för utveckling.
Slutsatsen är att PIC MPLAB X är lite snabbare och användarvänligare än AtmelStudio7.
C kompilatorer:
Både PIC och AVR levereras med XC8 respektive WINAVR C Compilers. PIC har köpt ut Hi-tech och har lanserat sin egen kompilator XC8. Detta är helt integrerat i MPLAB X och fungerar bra. Men WINAVR är ANSI C baserat på GCC-kompilator vilket gör det enkelt att portkod och använda standardbibliotek. Den gratis 4KB-begränsade versionen av IAR C Compiler ger en smak av professionella kompilatorer som kostar mycket. Eftersom AVR är designad för C i början är kodutgången liten och snabb.
PIC har många funktioner som gör det bra jämfört med AVR men dess kod blir större på grund av PIC: s struktur. Den betalda versionen är tillgänglig med mer optimering men den fria versionen är inte optimerad.
Slutsatsen är att WINAVR är bra och snabbt när det gäller kompilatorer än PIC XC8.
Montörer:
Med tre 16-bitars pekregister som förenklar adressering och ordhantering är AVR-monteringsspråket väldigt enkelt med många instruktioner och möjligheten att använda alla 32 register som ackumulator. Medan PIC-samlare inte är så bra med allt som tvingas fungera genom ackumulatorn, tvingar man att använda bankväxling hela tiden för att komma åt alla specialfunktionsregister. Även om MPLAB innehåller makron för att förenkla bankväxling men det är tråkigt och tidskrävande.
Också bristen på greninstruktioner, bara hoppa över och GOTO, som tvingas in i krångliga strukturer och lite förvirrande kod. PIC-serien har vissa mikrokontroller-serier mycket snabbare men återigen begränsad till en ackumulator.
Slutsatsen är att även om vissa av PIC-mikrokontroller är snabbare men AVR är bättre att arbeta med när det gäller monterare.
Pris och tillgänglighet
När vi pratar om priset är både PIC och AVR mycket lika. Båda finns i mestadels samma pris. När det gäller tillgänglighet har PIC lyckats leverera produkterna under bestämd tid jämfört med AVR eftersom Microchip alltid hade korta ledtider. Atmel hade några svåra tider, eftersom deras breda produktsortiment betyder att AVR-apparater är en liten del av deras verksamhet, så andra marknader kan prioritera AVRs för produktionskapacitet. Så det är tillrådligt att använda PIC när det gäller leveransscheman medan AVR kan vara avgörande för produktionen. Delar av mikrochips är lättare tillgängliga, särskilt i små mängder.
Andra funktioner
Både PIC och AVR finns i olika paket. PIC lanserar fler versioner än AVR. Denna utrullning av versionen kan ha fördelar och nackdelar beroende på applikationer, eftersom fler versioner skapar förvirring när man väljer rätt modell men samtidigt ger den bättre flexibilitet. Den senaste versionen av både PIC och AVR har mycket låg effekt och fungerar inom olika spänningsintervall. PIC-klockor och timers är mer exakta men när det gäller hastighet är PIC och AVR väldigt lika.
Atmel Studio 7 har lagt till produktions ELF-filer, som inkluderar EEPROM, Flash och säkringsdata i en fil. AVR har integrerat säkringsdata i sitt hex-filformat så att säkring kan ställas in i kod. Detta gör det lättare för PIC att överföra projekt till produktion.
Slutsats
PIC och AVR är båda utmärkta billiga enheter som inte bara används i branscher utan också ett populärt val bland studenter och hobbyister. Båda används ofta och har bra nätverk (forum, kodexempel) med aktiv online-närvaro. Båda har bra räckvidd och stöd för samhället och båda finns i breda storlekar och formfaktor med kärnoberoende kringutrustning. Microchip har tagit över Atmel och tar nu hand om både AVR och PIC. I slutet är det väl underförstått att lärande av mikrokontroller är som att lära sig programmeringsspråk, eftersom att lära sig ett annat blir mycket lättare när du har lärt dig ett.
Det är oavsett att säga att den som vinner, men i nästan alla tekniska grenar finns det inget ord som "bäst" medan "Mest lämplig för tillämpning" är en lämplig fras. Allt beror på kraven för en viss produkt, utvecklingsmetod och tillverkningsprocess. Så beroende på projekt kan man välja väl lämpad mikrokontroller ur PIC och AVR.