- Začnite s projektnimi zahtevami
- Oglejte si predstavljene parametre
- Delovna napetost
- Ciljni konektorji
- Napredni vmesniki
- Razvojno okolje
- Cena in razpoložljivost
- Druge lastnosti
- Zaključek
Pri izbiri mikrokrmilnika je resnično zmedena naloga, saj so na trgu na voljo različni mikrokrmilniki z enakimi specifikacijami. Vsak parameter torej postane pomemben pri izbiri mikrokrmilnika. Tu primerjamo dva najpogosteje uporabljena mikrokrmilnika - mikrokrmilnik PIC in mikrokrmilnik AVR. Tu jih primerjajo na različnih ravneh, kar bo v pomoč pri izbiri mikrokrmilnika za vaš projekt.
Začnite s projektnimi zahtevami
Zberite vse informacije o svojem projektu, ki ga želite začeti, preden začnete izbirati kateri koli mikrokrmilnik. Zelo pomembno je, da se informacije zbirajo v največji možni meri, saj bi to igralo pomembno vlogo pri izbiri ustreznega mikrokrmilnika.
- Zberite informacije o projektu, kot je Velikost projekta
- Število uporabljenih zunanjih naprav in senzorjev
- Potrebna moč
- Proračun projekta
- Zahteva za vmesnike (kot so USB, SPI, I2C, UART itd.),
- Naredite osnovni blokovni diagram strojne opreme,)
- Navedite, koliko GPIO potrebujete
- Analogno digitalni vhodi (ADC)
- PWM
- Izberite potrebno arhitekturo, tj. (8-bitna, 16-bitna, 32-bitna)
- Prepoznavanje potreb po pomnilniku projekta (RAM, Flash itd.)
Oglejte si predstavljene parametre
Ko so zbrane vse informacije, je pravi čas, da izberemo mikrokrmilnik. V tem članku bomo primerjali dve konkurenčni znamki mikrokrmilnika PIC in AVR glede na različne parametre. Glede na potrebo projekta za primerjavo obeh si oglejte naslednje parametre, kot so:
- Frekvenca: hitrost delovanja mikrokrmilnika
- Število V / I zatičev: potrebna vrata in zatiči
- RAM: Vse spremenljivke in polja, deklarirana (DATA) v večini MCU-jev
- Flash pomnilnik: Katera koli koda, ki jo napišete, gre tukaj po sestavi
- Napredni vmesniki: napredni vmesniki, kot so USB, CAN in Ethernet.
- Delovna napetost: Delovna napetost MCU, kot je 5V, 3,3V ali nizka napetost.
- Target Connectors: Konektorji za lažjo zasnovo in velikost vezja.
Večina parametrov je podobnih tako v PIC kot v AVR, vendar obstajajo nekateri parametri, ki se zagotovo razlikujejo v primerjavi.
Delovna napetost
Z več baterijskimi izdelki sta se PIC in AVR uspela izboljšati pri nizkonapetostnih operacijah. AVR so bolj znani po nizkonapetostnem delovanju kot starejše serije PIC, kot sta PIC16F in PIC18F, ker so te serije PIC uporabljale izbrisane čipe, ki za delovanje potrebujejo vsaj 4,5 V, in pod 4,5 V programerji PIC morajo uporabiti algoritem za brisanje vrstic. ki ne more izbrisati zaklenjene naprave. Vendar pri AVR to ne drži.
AVR je izboljšal in predstavil najnovejše različice P (pico-power), kot je ATmega328P, ki so izjemno nizke porabe. Tudi trenutni ATtiny1634 se je izboljšal in prihaja z načini mirovanja za zmanjšanje porabe energije, ko se uporablja funkcija brownout, kar je zelo koristno pri napravah na baterije.
Zaključek je, da so se AVR že prej osredotočili na nizkonapetostne, PIC pa je zdaj preoblikovan za nizkonapetostno delovanje in je lansiral nekaj izdelkov, ki temeljijo na picPowerju.
Ciljni konektorji
Ciljni konektorji so zelo pomembni pri načrtovanju in razvoju. AVR je opredelil 6 in 10-smerne vmesnike ISP, kar olajša uporabo, medtem ko jih PIC nima, zato imajo PIC programerji leteče vodnike ali vtičnice RJ11, ki jih je težko vgraditi v vezje.
Zaključek je, da je AVR poenostavil načrtovanje in razvoj vezij s ciljnimi priključki, medtem ko mora PIC to še popraviti.
Napredni vmesniki
Kar zadeva napredne vmesnike, je PIC zagotovo ta možnost, saj je to storil z naprednimi funkcijami, kot so USB, CAN in Ethernet, kar pa v AVR ni. Vendar pa lahko uporabimo zunanje čipe, kot so FTDI USB za serijske čipe, krmilnike Microchip Ethernet ali čipe Philips CAN.
Zaključek je, da ima PIC zagotovo napredne vmesnike kot AVR.
Razvojno okolje
Poleg tega obstajajo pomembne lastnosti, zaradi katerih se mikrokrmilnik razlikuje med seboj. Enostavnost razvojnega okolja je zelo pomembna. Spodaj je nekaj pomembnih parametrov, ki bodo pojasnili enostavnost razvojnega okolja:
- Razvoj IDE
- C Prevajalniki
- Monterji
IDE za razvoj:
Tako PIC kot AVR imata lastne razvojne IDE . Razvoj PIC-a se izvaja na MPLAB X, za katerega je znano, da je stabilen in preprost IDE v primerjavi z AVR-jevim Atmel Studio7, ki je velik 750 MB in je nekoliko bolj neroden z več dodatnimi funkcijami, kar otežuje in zapleta za nove elektronske ljubitelje.
PIC se lahko programirajo preko mikročipa orodij PicKit3 in MPLAB X . AVR se programira z uporabo orodij, kot sta JTAGICE in AtmelStudio7. Vendar uporabniki prehajajo na starejše različice AVR Studio, kot je 4.18 s servisnim paketom3, saj deluje veliko hitreje in ima osnovne funkcije za razvoj.
Zaključek je, da je PIC MPLAB X nekoliko hitrejši in uporabniku prijaznejši od AtmelStudio7.
Prevajalniki C:
Tako PIC kot AVR imata prevajalnika XC8 in WINAVR C. PIC je odkupil Hi-tech in lansiral svoj prevajalnik XC8. Ta je popolnoma integriran v MPLAB X in dobro deluje. Toda WINAVR je ANSI C, ki temelji na prevajalniku GCC, kar olajša prenos kode in uporabo standardnih knjižnic. Brezplačna omejena različica prevajalnika IAR C 4KB daje okus profesionalnim prevajalnikom, ki stanejo veliko. Ker je AVR na začetku zasnovan za C, je izhodna koda majhna in hitra.
PIC ima veliko funkcij, zaradi katerih je dobro v primerjavi z AVR, vendar je njegova koda večja zaradi strukture PIC. Plačljiva različica je na voljo z več optimizacijo, vendar brezplačna različica ni dobro optimizirana.
Zaključek je, da je WINAVR glede prevajalnikov dober in hiter kot PIC XC8.
Monterji:
S tremi 16-bitnimi kazalnimi registri, ki poenostavljajo naslavljanje in besedne operacije, je montažni jezik AVR zelo preprost z veliko navodili in možnostjo uporabe vseh 32 registrov kot akumulator. Medtem ko sestavljalnik PIC ni tako dober z vsem, kar je prisiljeno delovati prek akumulatorja, prisili, da za dostop do vseh registrov posebnih funkcij ves čas uporablja preklop med bankami. MPLAB sicer vključuje makre za poenostavitev zamenjave bank, vendar je dolgočasno in dolgotrajno.
Tudi pomanjkanje navodil za vejo, samo preskočite in GOTO, ki sili v zapletene strukture in nekoliko zmedeno kodo. Serija PIC ima nekaj serij mikrokrmilnikov veliko hitreje, vendar spet omejene na en akumulator.
Zaključek je, da čeprav so nekateri mikrokrmilniki PIC hitrejši, vendar je z AVR bolje delati v smislu monterjev.
Cena in razpoložljivost
Če govorimo o ceni, sta si PIC in AVR zelo podobna. Oba sta na voljo v večinoma isti ceni. Kar zadeva razpoložljivost, je PIC uspel izdelke dostaviti v predpisanem času v primerjavi z AVR, saj je Microchip vedno imel politiko kratkih rokov. Atmel je imel nekaj težkih časov, saj njihova široka paleta izdelkov pomeni, da so AVR-ji majhen del njihovega poslovanja, zato imajo lahko drugi trgi prednost pred AVR-ji za proizvodne zmogljivosti. Zato je priporočljivo uporabljati PIC v smislu rokov dobave, medtem ko je AVR lahko ključnega pomena za proizvodnjo. Deli mikročipa so ponavadi lažje dostopni, zlasti v majhnih količinah.
Druge lastnosti
Tako PIC kot AVR sta na voljo v različnih paketih. PIC uvaja več različic kot AVR. Ta uvedba različice ima lahko prednosti in slabosti, odvisno od aplikacij, na primer več različic ustvarja zmedo pri izbiri ustreznega modela, hkrati pa zagotavlja večjo prilagodljivost. Najnovejša različica PIC in AVR imata zelo malo moči in delujeta v različnih napetostnih območjih. Ure in merilniki časa PIC so natančnejši, vendar sta glede hitrosti PIC in AVR zelo enaka.
Atmel Studio 7 je dodal produkcijske datoteke ELF, ki v eno datoteko vključujejo podatke EEPROM, Flash in varovalke. Medtem ko je AVR vključil podatke varovalk v njihov šestnajstiški format datoteke, tako da je varovalko mogoče nastaviti v kodo. To omogoča lažji prenos projekta v proizvodnjo za PIC.
Zaključek
Oba PIC in AVR sta odlični poceni napravi, ki se ne uporabljata samo v industriji, temveč sta priljubljena izbira med študenti in ljubitelji. Oba se pogosto uporabljata in imata dobra omrežja (forumi, primeri kod) z aktivno spletno prisotnostjo. Oba imata dober doseg in podporo v skupnosti, oba pa sta na voljo v širokih velikostih in oblikah z neodvisno zunanjo opremo. Microchip je prevzel Atmel in zdaj skrbi za AVR in PIC. Na koncu dobro razumemo, da je učenje mikrokrmilnika podobno učenju programskih jezikov, saj bo učenje drugega veliko lažje, ko se ga naučite.
Ne glede na to lahko rečemo, da kdor zmaga, vendar v skoraj vseh vejah tehnike ni besede, kot je "najboljši", medtem ko je "Najbolj primeren za uporabo" zelo primeren stavek. Vse je odvisno od zahtev določenega izdelka, razvojne metode in proizvodnega procesa. Torej, odvisno od projekta, lahko med PIC in AVR izberemo zelo primeren mikrokrmilnik.