- Magsimula sa Kailangan ng Proyekto
- Tingnan ang Tampok na Mga Parameter
- Paggawa ng Boltahe
- Mga Target na Konektor
- Mga advanced na interface
- Kapaligiran sa Pag-unlad
- Presyo at Pagkakaroon
- Iba pang Mga Tampok
- Konklusyon
Pagdating sa pagpili ng microcontroller, talagang nakakalito ang gawain dahil maraming iba't ibang mga microcontroller ang magagamit sa merkado na may parehong pagtutukoy. Kaya't ang bawat parameter ay nagiging mahalaga pagdating sa pagpili ng isang microcontroller. Dito namin pinaghahambing ang dalawang pinaka-karaniwang ginagamit na Microcontroller- PIC Microcontroller at AVR Microcontroller. Dito inihambing ang mga ito sa iba't ibang mga antas na makakatulong sa pagpili ng microcontroller para sa iyong proyekto.
Magsimula sa Kailangan ng Proyekto
Ipunin ang lahat ng impormasyon tungkol sa iyong proyekto upang masimulan bago magsimulang pumili ng anumang microcontroller. Napakahalaga na ang impormasyon ay dapat na natipon hangga't maaari hangga't ito ay may mahalagang papel sa pagpili ng tamang microcontroller.
- Mangalap ng impormasyon ng proyekto tulad ng Laki ng Project
- Bilang ng Mga Ginamit na Peripheral at Sensor
- Kinakailangan sa Kuryente
- Budget ng Project
- Mga Kinakailangan sa Mga Interface (tulad ng USB, SPI, I2C, UART atbp),
- Gumawa ng isang Batayan sa Diagram ng Block ng Hardware,)
- Ilista kung ilang GPIO ang kinakailangan
- Analog sa Mga Digital Input (ADC)
- Mga PWM
- Piliin ang Tamang Arkitekturang Kailangan na ie (8-bit, 16-bit, 32-bit)
- Kilalanin ang Kinakailangan sa Memory ng proyekto (RAM, Flash atbp)
Tingnan ang Tampok na Mga Parameter
Kapag ang lahat ng impormasyon ay natipon, kung gayon ito ay tamang oras upang piliin ang microcontroller. Sa artikulong ito ang dalawang nakikipagkumpitensyang microcontroller na tatak PIC at AVR ay ihinahambing sa iba't ibang mga parameter. Nakasalalay sa pangangailangan ng proyekto upang ihambing ang dalawa, tingnan ang mga sumusunod na parameter tulad ng,
- Dalas: Bilis kung saan gagana ang microcontroller
- Bilang ng mga I / O pin: Mga kinakailangang port at pin
- RAM: Ang lahat ng mga variable at array ay idineklara (DATA) sa karamihan ng mga MCU
- Memory ng Flash: Anumang code na isulat mo ay napupunta rito pagkatapos na maipon
- Mga Advanced na Interface: Mga advanced na interface tulad ng USB, CAN at Ethernet.
- Nagtatrabaho Boltahe: Nagtatrabaho boltahe ng MCU tulad ng 5V, 3.3V o Mababang boltahe.
- Mga Target na Konektor: Ang mga konektor para sa kadalian ng disenyo at laki ng circuit.
Ang karamihan sa mga parameter ay pareho sa parehong PIC at AVR ngunit may ilang mga parameter na tiyak na naiiba kapag inihambing.
Paggawa ng Boltahe
Sa maraming mga produktong pinapatakbo ng baterya, ang PIC at AVR ay pinamamahalaang mapabuti para sa mga operasyon ng mababang boltahe. Ang AVR ay mas kilala sa pagpapatakbo ng mababang boltahe kaysa sa mas matandang serye ng PIC tulad ng PIC16F at PIC18F dahil ang mga serye ng PIC na ito ay gumamit ng chip-erased na pamamaraan na nangangailangan ng hindi bababa sa 4.5V upang mapatakbo, at sa ibaba ang mga programer ng 4.5V PIC ay kailangang gumamit ng row-erase algorithm na hindi mabubura ang naka-lock na aparato. Gayunpaman hindi ito ang kaso sa AVR.
Ang AVR ay napabuti at inilunsad ang pinakabagong mga variant ng P (pico-power) tulad ng ATmega328P na labis na mababa ang lakas. Gayundin ang kasalukuyang ATtiny1634 ay napabuti at may mga mode ng pagtulog upang mabawasan ang pagkonsumo ng kuryente kapag ginamit ang brownout na lubhang kapaki-pakinabang sa mga aparatong pinalakas ng baterya.
Ang konklusyon ay ang AVR ay nakatuon sa mababang boltahe dati ngunit ang PIC ngayon ay nabago para sa operasyon ng mababang boltahe at naglunsad ng ilang mga produkto batay sa picPower.
Mga Target na Konektor
Napakahalaga ng mga target na konektor pagdating sa disenyo at pag-unlad. Tinukoy ng AVR ang 6 at 10-way na mga interface ng ISP, na ginagawang mas madaling gamitin samantalang wala ito ng PIC, kaya ang mga programmer ng PIC ay may kasamang lumilipad na mga lead o socket ng RJ11 na mahirap na magkasya sa circuit.
Ang konklusyon ay ang AVR na ginawa itong simple sa mga tuntunin ng disenyo ng circuit at pag-unlad na may mga target na konektor samantalang ang PIC ay kailangan pa ring iwasto ito.
Mga advanced na interface
Sa mga tuntunin ng mga advanced na interface, pagkatapos ang PIC ay tiyak na ang pagpipilian dahil nakuha nito ang kanilang kilos sa mga advanced na tampok tulad ng USB, CAN at Ethernet na hindi ang kaso sa AVR. Gayunpaman ang isang ay maaaring gumamit ng panlabas na chips, tulad ng FTDI USB sa mga serial chip, mga Microchip Ethernet Controller o Philips CAN chips.
Ang konklusyon ay ang PIC ay tiyak na nakuha ang mga advanced na interface kaysa sa AVR.
Kapaligiran sa Pag-unlad
Maliban dito mayroong mga mahahalagang tampok na ginagawang magkakaiba ang microcontroller sa bawat isa. Ang kadalian ng kapaligiran sa pag-unlad ay napakahalaga. Nasa ibaba ang ilang mahahalagang parameter na magpapaliwanag sa kadalian ng kapaligiran sa pag-unlad:
- Development IDE
- C Compiler
- Mga Assembler
Development IDE:
Parehong PIC at AVR ay may kasamang sariling mga IDE sa pag-unlad . Ang pagpapaunlad ng PIC ay ginagawa sa MPLAB X, na kilalang matatag at simpleng IDE kumpara sa AVR's Atmel Studio7 na may laki na 750MB at medyo clunky na may higit pang mga add-on na tampok na nagpapahirap at kumplikado sa newbie electronic hobbyists.
Ang PIC ay maaaring-program sa pamamagitan ng mga kasangkapan microchip PicKit3 at MPLAB X . Ang AVR ay na-program sa pamamagitan ng paggamit ng mga tool tulad ng JTAGICE at AtmelStudio7. Gayunpaman ang mga gumagamit ay lumilipat sa mga mas lumang bersyon ng AVR Studio tulad ng 4.18 na may service pack3 dahil mas mabilis itong tumatakbo at may mga pangunahing tampok para sa pag-unlad.
Ang konklusyon ay ang PIC MPLAB X ay medyo mas mabilis at madaling gamitin kaysa sa AtmelStudio7.
C Compiler:
Parehong PIC at AVR ay may kasamang XC8 at WINAVR C Compiler ayon sa pagkakabanggit. Bumili ang PIC ng Hi-tech at naglunsad ng kanilang sariling compiler XC8. Ito ay ganap na isinama sa MPLAB X at gumagana nang maayos. Ngunit ang WINAVR ay ANSI C batay sa GCC compiler na ginagawang madali sa port code at gumamit ng karaniwang mga aklatan. Ang libreng limitadong bersyon ng 4KB ng IAR C Compiler ay nagbibigay ng isang lasa ng mga propesyonal na tagatala na nagkakahalaga ng malaki. Dahil ang AVR ay dinisenyo para sa C sa simula, ang output ng code ay maliit at mabilis.
Ang PIC ay may maraming mga tampok na ginagawang maayos kumpara sa AVR ngunit ang code ay nagiging mas malaki dahil sa istraktura ng PIC. Ang bayad na bersyon ay magagamit na may higit pang pag-optimize subalit ang libreng bersyon ay hindi mahusay na na-optimize.
Ang konklusyon ay ang WINAVR ay mabuti at mabilis sa mga tuntunin ng compiler kaysa sa PIC XC8.
Mga Assembler:
Sa pamamagitan ng tatlong 16-bit pointer register na pinapasimple ang pagtakbo at mga pagpapatakbo ng salita, ang wika ng pagpupulong ng AVR ay napakadali na may maraming mga tagubilin at kakayahang gamitin ang lahat ng 32 mga rehistro bilang nagtitipon. Samantalang ang PIC assembler ay hindi ganoon kahusay sa lahat ng bagay na sapilitang upang mapatakbo sa pamamagitan ng nagtitipon, pinipilit na gamitin ang paglipat ng bangko sa lahat ng oras upang ma-access ang lahat ng Mga Registrong Espesyal na Pag-andar. Bagaman may kasamang mga macros ang MPLAB upang gawing simple ang paglipat ng bangko ngunit nakakapagod at umuubos ng oras.
Gayundin ang kakulangan ng mga tagubilin sa sangay, laktawan lamang at GOTO, na kung saan ay pinipilit sa magkakaugnay na mga istraktura at medyo nakalilito na code. Ang serye ng PIC ay may ilang serye ng microcontroller na mas mabilis ngunit muling limitado sa isang nagtitipid.
Ang konklusyon ay iyon, bagaman ang ilan sa mga PIC microcontroller ay mas mabilis ngunit ang AVR ay mas mahusay na magtrabaho sa mga tuntunin ng mga assembler.
Presyo at Pagkakaroon
Ang pakikipag-usap sa mga tuntunin ng presyo, pagkatapos ay pareho ang PIC at AVR na magkatulad. Parehong magagamit sa halos parehong presyo. Sa mga tuntunin ng pagkakaroon pagkatapos ang PIC ay pinamamahalaang upang maihatid ang mga produkto sa itinakdang oras ihambing sa AVR tulad ng Microchip palaging may patakaran ng maikling oras ng lead. Ang Atmel ay may ilang mga mahirap na oras dahil ang kanilang malawak na saklaw ng produkto ay nangangahulugang ang mga AVR ay maliit na bahagi ng kanilang negosyo, kaya ang ibang mga merkado ay maaaring unahin kaysa sa mga AVR para sa kapasidad sa produksyon. Kaya ipinapayong gamitin ang PIC sa mga tuntunin ng mga iskedyul ng paghahatid samantalang ang AVR ay maaaring maging kritikal para sa paggawa. Ang mga bahagi ng microchip ay may posibilidad na mas madaling magamit lalo na sa kaunting dami.
Iba pang Mga Tampok
Ang parehong PIC at AVR ay magagamit sa iba't ibang mga pakete. Ang PIC ay naglalabas ng maraming mga bersyon kaysa sa AVR. Ang bersyon na ito ay dapat magkaroon ng kalamangan at kahinaan depende sa mga application tulad ng mas maraming mga bersyon lumikha ng pagkalito sa pagpili ng tamang modelo ngunit sa parehong oras nagbibigay ito ng mas mahusay na kakayahang umangkop. Ang pinakabagong bersyon ng parehong PIC at AVR ay napakahusay na nagpapatakbo at nagpapatakbo sa iba't ibang saklaw ng boltahe. Ang mga orasan ng PIC at timer ay mas tumpak ngunit sa mga tuntunin ng bilis ang PIC at AVR ay magkatulad.
Ang Atmel Studio 7 ay nagdagdag ng Production ELF Files, na nagsasama ng EEPROM, Flash at fuse data sa isang file. Sapagkat ang AVR ay nagsama ng data ng fuse sa kanilang hex file format upang ang fuse ay maaaring itakda sa code. Pinapayagan nitong ilipat ang proyekto sa produksyon nang mas madali para sa PIC.
Konklusyon
Ang PIC at AVR ay kapwa mahusay na mga kagamitang mababa ang gastos na hindi lamang ginagamit sa mga industriya kundi isang tanyag na pagpipilian sa mga mag-aaral at libangan. Parehong malawakang ginagamit at mayroong mahusay na mga network (mga forum, mga halimbawa ng code) na may aktibong online na presensya. Parehong may mahusay na maabot at suportahan ng komunidad at pareho ang magagamit sa malawak na sukat at form factor na may pangunahing independiyenteng mga paligid. Kinuha ng Microchip ang Atmel at ngayon ay nag-iingat ng parehong AVR at PIC. Sa huli, lubos na nauunawaan na ang pag-aaral ng microcontroller ay tulad ng pag-aaral ng mga wika sa pagprograma, dahil ang pag-aaral ng iba pa ay magiging mas madali kapag natutunan mo ang isa.
Hindi alintana na sabihin na ang sinumang manalo, ngunit sa halos lahat ng sangay ng engineering, walang salitang kagaya ng "pinakamahusay" samantalang ang "Pinakaangkop para sa Aplikasyon" ay angkop na parirala. Ang lahat ay nakasalalay sa mga kinakailangan ng isang partikular na produkto, pamamaraan ng pag-unlad at proseso ng pagmamanupaktura. Kaya depende sa proyekto, maaaring pumili ang isa ng angkop na microcontroller na wala sa PIC at AVR.