- Start med projektkrav
- Se på de valgte parametre
- Arbejdsspænding
- Målstik
- Avancerede grænseflader
- Udviklingsmiljø
- Pris og tilgængelighed
- Andre funktioner
- Konklusion
Når det kommer til at vælge mikrokontroller, er det virkelig en forvirrende opgave, da der findes forskellige mikrocontrollere på markedet med samme specifikationer. Så hver parameter bliver vigtig, når det gælder valg af en mikrocontroller. Her sammenligner vi to mest anvendte Microcontroller - PIC Microcontroller og AVR Microcontroller. Her sammenlignes de på forskellige niveauer, hvilket vil være nyttigt at vælge mikrokontroller til dit projekt.
Start med projektkrav
Saml alle oplysninger om dit projekt, der skal startes, inden du begynder at vælge en mikrokontroller. Det er meget vigtigt, at informationen indsamles så meget som muligt, da dette vil spille en vigtig rolle i valg af den rigtige mikrokontroller.
- Indsaml information om projektet, f.eks. Projektets størrelse
- Antal anvendte perifere enheder og sensorer
- Strømkrav
- Projektbudget
- Krav til grænseflader (som USB, SPI, I2C, UART osv.),
- Lav et grundlæggende hardwareblokdiagram,)
- Angiv, hvor mange GPIO der er behov for
- Analoge til digitale indgange (ADC'er)
- PWM'er
- Vælg den rigtige nødvendige arkitektur, dvs. (8-bit, 16-bit, 32-bit)
- Genkend hukommelseskrav til projekt (RAM, Flash osv.)
Se på de valgte parametre
Når al information er samlet, er det et rigtigt tidspunkt at vælge mikrokontroller. I denne artikel vil de to konkurrerende mikrocontroller mærker PIC og AVR blive sammenlignet på forskellige parametre. Afhængigt af projektets behov for at sammenligne de to, skal du se på følgende parametre som f.eks.
- Frekvens: Den hastighed, hvormed mikrokontrolleren fungerer
- Antal I / O-ben: Nødvendige porte og ben
- RAM: Alle variabler og arrays deklareret (DATA) i de fleste MCU'er
- Flash-hukommelse: Uanset hvilken kode du skriver, går her efter kompilering
- Avancerede grænseflader: Avancerede grænseflader såsom USB, CAN og Ethernet.
- Arbejdsspænding: Arbejdsspænding på MCU såsom 5V, 3,3V eller lav spænding.
- Målstik: Stikkene for at lette kredsløbsdesign og størrelse.
De fleste af parametrene er ens i både PIC og AVR, men der er nogle parametre, der helt sikkert adskiller sig, når de sammenlignes.
Arbejdsspænding
Med flere batteridrevne produkter har PIC og AVR formået at forbedre til lavspændingsoperationer. AVR er bedre kendt for lavspændingsdrift end de ældre PIC-serier som PIC16F og PIC18F, fordi disse PIC-serier brugte chipslettet metode, der har brug for mindst 4,5 V for at fungere, og under 4,5 V PIC-programmører er nødt til at bruge række-sletningsalgoritme som ikke kan slette låst enhed. Dette er dog ikke tilfældet i AVR.
AVR har forbedret og lanceret de nyeste P (pico-power) varianter som ATmega328P, som er ekstremt lavt. Også den nuværende ATtiny1634 er forbedret og leveres med dvaletilstande for at reducere strømforbruget, når brugen bruges, hvilket er meget nyttigt i batteridrevne enheder.
Konklusionen er, at AVR tidligere var fokuseret på lavspænding, men PIC er nu blevet transformeret til lavspændingsdrift og har lanceret nogle produkter baseret på picPower.
Målstik
Målstik er meget vigtigt, når det kommer til design og udvikling. AVR har defineret 6 og 10-vejs ISP-grænseflader, hvilket gør det let at bruge, mens PIC ikke har det, så PIC-programmører leveres med flyvende ledninger eller RJ11-stik, der er svære at passe i kredsløbet.
Konklusion er, at AVR har gjort det enkelt med hensyn til kredsløbsdesign og udvikling med målstikkene, mens PIC stadig skal rette op på dette.
Avancerede grænseflader
Med hensyn til avancerede grænseflader er PIC helt sikkert muligheden, da den har fået deres handling med avancerede funktioner som USB, CAN og Ethernet, hvilket ikke er tilfældet i AVR. Man kan dog bruge eksterne chips, såsom FTDI USB til serielle chips, Microchip Ethernet-controllere eller Philips CAN-chips.
Konklusion er, at PIC helt sikkert har fået de avancerede grænseflader end AVR.
Udviklingsmiljø
Bortset fra dette er der vigtige funktioner, der gør både mikrocontrolleren forskellig fra hinanden. Det lette udviklingsmiljø er meget vigtigt. Nedenfor er nogle vigtige parametre, der forklarer det lette udviklingsmiljø:
- Udvikling IDE
- C Kompilatorer
- Samlere
Udvikling IDE:
Både PIC og AVR leveres med deres egne udviklings-IDE'er . PIC-udvikling sker på MPLAB X, som er kendt for at være den stabile og enkle IDE sammenlignet med AVRs Atmel Studio7, som er i stor 750MB størrelse og er lidt klodset med flere tilføjelsesfunktioner, hvilket gør det svært og kompliceret for nybegyndere elektroniske hobbyister.
PIC kan programmeres via mikrochip værktøjer PicKit3 og MPLAB X . AVR er programmeret ved hjælp af værktøjer som JTAGICE og AtmelStudio7. Imidlertid skifter brugerne til de ældre versioner af AVR Studio, såsom 4.18 med service pack3, da den kører meget hurtigere og har grundlæggende funktioner til udvikling.
Konklusionen er, at PIC MPLAB X er lidt hurtigere og brugervenlig end AtmelStudio7.
C kompilatorer:
Både PIC og AVR leveres med henholdsvis XC8 og WINAVR C Compilers. PIC har købt Hi-tech ud og har lanceret deres egen compiler XC8. Dette er fuldstændigt integreret i MPLAB X og fungerer godt. Men WINAVR er ANSI C baseret på GCC-kompilator, hvilket gør det nemt at porte kode og bruge standardbiblioteker. Den gratis 4KB-begrænsede version af IAR C Compiler giver en smag af professionelle kompilatorer, der koster meget. Da AVR er designet til C i starten, er kodeudgangen lille og hurtig.
PIC har mange funktioner, der gør det godt sammenlignet med AVR, men dets kode bliver større på grund af PIC's struktur. Den betalte version er tilgængelig med mere optimering, men den gratis version er ikke godt optimeret.
Konklusionen er, at WINAVR er god og hurtig med hensyn til compilere end PIC XC8.
Samlere:
Med tre 16-bit markørregistre, der forenkler adressering og ordhandlinger, er AVR-samlingssprog meget let med masser af instruktioner og muligheden for at bruge alle 32 registre som akkumulator. Mens PIC-samlere ikke er så godt med alt, der er tvunget til at operere gennem akkumulatoren, tvinger de til at bruge bankomskifter hele tiden for at få adgang til alle specialfunktionsregistre. Selvom MPLAB inkluderer makroer for at forenkle bankskift, men det er kedeligt og tidskrævende.
Også manglen på greninstruktioner, bare spring over og GOTO, som tvinger ind i indviklede strukturer og lidt forvirrende kode. PIC-serien har nogle mikrocontroller-serier meget hurtigere, men igen begrænset til en akkumulator.
Konklusion er, at selvom nogle af PIC-mikrocontrollere er hurtigere, men AVR er bedre at arbejde på med hensyn til samlere.
Pris og tilgængelighed
Når vi taler med hensyn til prisen, er både PIC og AVR meget ens. Begge er tilgængelige i stort set samme pris. Med hensyn til tilgængelighed har PIC formået at levere produkterne i den fastsatte tid sammenlignet med AVR, da Microchip altid havde en politik med korte ledetider. Atmel havde nogle svære tider, da deres brede produktsortiment betyder, at AVR'er er en lille del af deres forretning, så andre markeder kan have prioritet over AVR'er til produktionskapacitet. Så det tilrådes at bruge PIC med hensyn til leveringsplaner, mens AVR kan være kritisk for produktionen. Microchip-dele har tendens til at være lettere tilgængelige, især i små mængder.
Andre funktioner
Både PIC og AVR fås i forskellige pakker. PIC ruller flere versioner ud end AVR. Denne version-udrulning kan have fordele og ulemper afhængigt af applikationerne, da flere versioner skaber forvirring ved valg af den rigtige model, men samtidig giver det bedre fleksibilitet. Den nyeste version af både PIC og AVR er meget lavt og fungerer i forskellige spændingsområder. PIC-ure og timere er mere nøjagtige, men med hensyn til hastighed er PIC og AVR meget ens.
Atmel Studio 7 har tilføjet Production ELF Files, som inkluderer EEPROM, Flash og sikringsdata i en fil. Mens AVR har integreret sikringsdata i deres hex-filformat, så sikring kan indstilles i kode. Dette muliggør overførsel af projekt til produktion lettere for PIC.
Konklusion
PIC og AVR er begge fremragende billige enheder, som ikke kun bruges i industrier, men også et populært valg blandt studerende og hobbyister. Begge er meget udbredt og har gode netværk (fora, kodeeksempler) med aktiv online tilstedeværelse. Begge har god rækkevidde og support for samfundet, og begge fås i store størrelser og formfaktor med kerneuafhængige perifere enheder. Microchip har overtaget Atmel og tager sig nu af både AVR og PIC. I slutningen er det godt forstået, at indlæring af mikrocontroller er som at lære programmeringssprog, da det vil være meget lettere at lære et andet, når du først har lært et.
Det er uanset at sige, at den, der vinder, men i næsten alle grene af ingeniørfag er der ikke noget ord som "bedst", mens "Mest passende til anvendelse" er en velegnet sætning. Det hele afhænger af kravene til et bestemt produkt, udviklingsmetode og fremstillingsproces. Så afhængigt af projekt kan man vælge velegnet mikrocontroller ud af PIC og AVR.