- Începeți cu Cerința de proiect
- Uită-te la Parametrii prezentați
- Tensiune de lucru
- Conectori țintă
- Interfețe avansate
- Mediu de dezvoltare
- Preț și disponibilitate
- Alte caracteristici
- Concluzie
Când vine vorba de alegerea microcontrolerului, este într-adevăr o sarcină confuză, deoarece există diverse microcontrolere disponibile pe piață cu aceleași specificații. Deci, fiecare parametru devine important atunci când vine vorba de selectarea unui microcontroler. Aici comparăm două dintre cele mai utilizate microcontroler PIC și microcontroler AVR. Aici sunt comparate la diferite niveluri, ceea ce va fi util în selectarea microcontrolerului pentru proiectul dumneavoastră.
Începeți cu Cerința de proiect
Adunați toate informațiile despre proiectul dvs. pentru a începe înainte de a începe să alegeți orice microcontroler. Este foarte important ca informațiile să fie colectate cât mai mult posibil, deoarece acest lucru ar juca un rol important în alegerea microcontrolerului potrivit.
- Adunați informații despre proiect, cum ar fi Dimensiunea proiectului
- Numărul de periferice și senzori utilizați
- Cerința de putere
- Bugetul proiectului
- Cerințe privind interfețele (cum ar fi USB, SPI, I2C, UART etc.),
- Realizați o diagramă de bloc hardware de bază,)
- Enumerați câte GPIO sunt necesare
- Intrări analogice cu digitale (ADC)
- PWM-uri
- Selectați arhitectura corectă necesară, adică (8 biți, 16 biți, 32 biți)
- Recunoașteți cerința de memorie a proiectului (RAM, Flash etc.)
Uită-te la Parametrii prezentați
Când toate informațiile sunt colectate, atunci este momentul potrivit să alegeți microcontrolerul. În acest articol, cele două mărci concurente de microcontroler PIC și AVR vor fi comparate pe o varietate de parametri. În funcție de necesitatea proiectului de a compara cele două, uitați-vă la următorii parametri, cum ar fi,
- Frecvență: Viteza la care va funcționa microcontrolerul
- Numărul de pini I / O: porturi și pini necesari
- RAM: Toate variabilele și matricile declarate (DATA) în majoritatea MCU-urilor
- Memorie Flash: orice cod scrieți merge aici după compilare
- Interfețe avansate: interfețe avansate precum USB, CAN și Ethernet.
- Tensiune de lucru: Tensiunea de lucru a MCU, cum ar fi 5V, 3.3V sau joasă tensiune.
- Conectori țintă: Conectorii pentru ușurința proiectării și dimensiunii circuitului.
Majoritatea parametrilor sunt similari atât în PIC cât și în AVR, dar există câțiva parametri care diferă cu siguranță în comparație.
Tensiune de lucru
Cu mai multe produse cu baterii, PIC și AVR au reușit să se îmbunătățească pentru operațiunile de joasă tensiune. AVR sunt mai cunoscute pentru funcționarea de joasă tensiune decât vechile serii PIC, cum ar fi PIC16F și PIC18F, deoarece aceste serii PIC foloseau metode șterse de chip care necesită cel puțin 4,5 V pentru a funcționa, iar programatorii PIC sub 4,5 V trebuie să utilizeze algoritmul de ștergere a rândurilor care nu poate șterge dispozitivul blocat. Cu toate acestea, acest lucru nu este cazul în AVR.
AVR a îmbunătățit și a lansat cele mai recente variante P (pico-power), cum ar fi ATmega328P, care sunt extrem de reduse. De asemenea, actualul ATtiny1634 s-a îmbunătățit și vine cu moduri de repaus pentru a reduce consumul de energie atunci când este utilizat brownout, ceea ce este foarte util în dispozitivele alimentate cu baterii.
Concluzia este că AVR s-au concentrat anterior pe tensiunea joasă, dar PIC a fost acum transformat pentru funcționarea de joasă tensiune și a lansat câteva produse bazate pe picPower.
Conectori țintă
Conectorii țintă sunt foarte importanți atunci când vine vorba de proiectare și dezvoltare. AVR a definit interfețe ISP cu 6 și 10 căi, ceea ce îl face ușor de utilizat, în timp ce PIC nu o are, astfel încât programatorii PIC sunt livrați cu cabluri de zbor sau prize RJ11, care sunt dificil de montat în circuit.
Concluzia este că AVR a făcut-o simplă în ceea ce privește proiectarea și dezvoltarea circuitelor cu conectorii țintă, în timp ce PIC trebuie să remedieze acest lucru.
Interfețe avansate
În ceea ce privește interfețele avansate, atunci PIC este cu siguranță opțiunea, deoarece a funcționat cu funcții avansate precum USB, CAN și Ethernet, ceea ce nu este cazul în AVR. Cu toate acestea, se pot folosi cipuri externe, cum ar fi FTDI USB către cipuri seriale, controlere Microchip Ethernet sau cipuri CAN Philips.
Concluzia este că PIC are cu siguranță interfețe avansate decât AVR.
Mediu de dezvoltare
În afară de aceasta, există caracteristici importante care fac atât microcontrolerul diferit unul de celălalt. Ușurința mediului de dezvoltare este foarte importantă. Mai jos sunt câțiva parametri importanți care vor explica ușurința mediului de dezvoltare:
- IDE de dezvoltare
- C Compilatoare
- Asamblatori
IDE de dezvoltare:
Atât PIC cât și AVR vin cu propriile IDE de dezvoltare . Dezvoltarea PIC se face pe MPLAB X, care este cunoscut ca fiind IDE stabil și simplu în comparație cu Atmel Studio7 de la AVR, care are o dimensiune mare de 750 MB și este puțin cam ciudat, cu mai multe caracteristici suplimentare, ceea ce îl face dificil și complicat pentru pasionații de electronice începători.
PIC poate fi programat prin intermediul instrumentelor cu microcipuri PicKit3 și MPLAB X . AVR-ul este programat folosind instrumente precum JTAGICE și AtmelStudio7. Cu toate acestea, utilizatorii trec la versiunile mai vechi ale AVR Studio, cum ar fi 4.18 cu service pack3, deoarece rulează mult mai rapid și are caracteristici de bază pentru dezvoltare.
Concluzia este că PIC MPLAB X este puțin mai rapid și ușor de utilizat decât AtmelStudio7.
Compilatoare C:
Atât PIC, cât și AVR sunt livrate cu compilatoare XC8 și respectiv WINAVR C. PIC a cumpărat Hi-tech și și-a lansat propriul compilator XC8. Acesta este complet integrat în MPLAB X și funcționează bine. Dar WINAVR este ANSI C bazat pe compilatorul GCC, ceea ce face ușor portul codului și utilizarea bibliotecilor standard. Versiunea limitată 4KB gratuită a IAR C Compiler oferă o aromă de compilatoare profesionale care costă mult. Deoarece AVR este conceput pentru C la început, ieșirea codului este mică și rapidă.
PIC are multe caracteristici care îl fac bine în comparație cu AVR, dar codul său devine mai mare datorită structurii PIC. Versiunea cu plată este disponibilă cu mai multă optimizare, însă versiunea gratuită nu este bine optimizată.
Concluzia este că WINAVR este bun și rapid în ceea ce privește compilatoarele decât PIC XC8.
Asamblatori:
Cu trei registre de pointer de 16 biți care simplifică adresarea și operațiile de cuvinte, limbajul de asamblare AVR este foarte ușor, cu o mulțime de instrucțiuni și capacitatea de a utiliza toate cele 32 de registre ca acumulator. În timp ce ansamblorul PIC nu este atât de bine cu tot ce este forțat să funcționeze prin acumulator, forțează să folosească comutarea bancară tot timpul pentru a accesa toate registrele de funcții speciale. Deși MPLAB include macrocomenzi pentru a simplifica comutarea bancară, dar este plictisitor și consumă mult timp.
De asemenea, lipsa instrucțiunilor de ramificare, doar săriți și GOTO, care forțează în structuri complicate și un cod puțin confuz. Seria PIC are unele serii de microcontrolere mult mai rapide, dar din nou limitate la un singur acumulator.
Concluzia este că, deși unele dintre microcontrolerele PIC sunt mai rapide, dar AVR este mai bine să lucreze în ceea ce privește asamblarele.
Preț și disponibilitate
Vorbind din punct de vedere al prețului, atunci atât PIC cât și AVR sunt mult similare. Ambele sunt disponibile în mare parte la același preț. În ceea ce privește disponibilitatea, atunci PIC a reușit să livreze produsele în timp stipulat comparativ cu AVR, deoarece Microchip a avut întotdeauna o politică de timp scurt. Atmel a avut momente dificile, deoarece gama largă de produse înseamnă că AVR-urile reprezintă o mică parte a activității lor, astfel încât alte piețe pot avea prioritate față de AVR-urile pentru capacitatea de producție. Deci, este recomandabil să utilizați PIC în ceea ce privește programele de livrare, în timp ce AVR poate fi esențial pentru producție. Piesele de microcip tind să fie mai ușor disponibile mai ales în cantități mici.
Alte caracteristici
Atât PIC cât și AVR sunt disponibile în diverse pachete. PIC lansează mai multe versiuni decât AVR. Această lansare a versiunii poate avea avantaje și dezavantaje în funcție de aplicații, precum mai multe versiuni creează confuzie în selectarea modelului adecvat, dar, în același timp, oferă o flexibilitate mai bună. Cea mai recentă versiune atât a PIC, cât și a AVR este foarte redusă și funcționează într-o gamă variată de tensiuni. Ceasurile și cronometrele PIC sunt mai exacte, dar în ceea ce privește viteza, PIC și AVR sunt aproape la fel.
Atmel Studio 7 a adăugat Production ELF Files, care include EEPROM, Flash și date de siguranță într-un singur fișier. În timp ce AVR a integrat datele de siguranță în formatul lor de fișier hexagonal, astfel siguranța poate fi setată în cod. Acest lucru permite transferul proiectului către producție mai ușor pentru PIC.
Concluzie
PIC și AVR sunt ambele dispozitive excelente cu cost redus, care nu sunt utilizate numai în industrii, ci și o alegere populară în rândul studenților și amatorilor. Ambele sunt utilizate pe scară largă și au rețele bune (forumuri, exemple de coduri) cu prezență online activă. Ambele au o acoperire și asistență comunitară bune și ambele sunt disponibile în dimensiuni largi și factor de formă cu periferice de bază independente. Microchipul a preluat Atmel și acum are grijă atât de AVR, cât și de PIC. La sfârșit, se înțelege bine că învățarea microcontrolerului este ca învățarea limbajelor de programare, deoarece învățarea altuia va fi mult mai ușoară după ce ați învățat una.
Indiferent dacă se spune că oricine câștigă, dar în aproape toate ramurile ingineriei, nu există nici un cuvânt precum „cel mai bun”, în timp ce „Cel mai potrivit pentru aplicație” este o expresie foarte potrivită. Totul depinde de cerințele unui anumit produs, de metoda de dezvoltare și de procesul de fabricație. Deci, în funcție de proiect, se poate alege un microcontroler adecvat din PIC și AVR.