Mengapa AVR digunakan di Arduino?

41

Mengapa Arduino menggunakan AVR? Saya mengerti bahwa mereka adalah prosesor resmi tetapi tidak ada alasan kode tidak dapat porting ke ARM atau arsitektur Freescale selain biaya, kan? Selama ada memori onboard, saya pikir mungkin ada migrasi yang mudah ke bagian-bagian itu.

Saya melihat banyak ARM dalam industri (sepertinya setiap vendor mendorong satu ke dalam desain mereka) dan bertanya-tanya mengapa tidak ada lebih banyak serapan di dunia pengembang Arduino.

Chris Gammell
sumber
4
Siapa pasarmu? Jika Anda mencoba menjual sesuatu yang besar di industri, maka Anda akan menginginkan ARM, karena jika Atmel tenggelam, Anda tidak memiliki apa-apa lagi jika Anda menggunakan AVR. Dengan ARM, ada banyak vendor lain yang menawarkan penggantian drop-in dekat. Meningkatnya kompleksitas ARM kurang menjadi masalah dengan insinyur yang baik daripada dengan penggemar yang tidak tahu dasar-dasar. Jika Anda menjual kepada penggemar, kurva belajar akan terlalu curam, daya prosesor tidak akan digunakan, dan SMT akan menjadi dinding bata yang dibayangkan. Siapa yang Anda khawatirkan tentang pelanggan hobi atau calon majikan? Pls. menjelaskan.
Kevin Vermeer
9
Saya tidak mencoba untuk bersikap ofensif, tetapi pertanyaannya meminta untuk ditanyakan. Atmel berusia lebih dari 25 tahun, memiliki pasar yang sangat sukses selain ARM, AVR sendiri merupakan platform yang sangat sangat sukses. Apa peluang perusahaan seperti itu turun. Ini terdengar seperti berkata, "Jangan gunakan windows, bagaimana jika MicroSoft turun?"
Rick_2047
Saya setuju dengan dua poin Anda yang lain, yaitu bahwa jika Anda memiliki pasar hobi, kemungkinan jarang bahwa kekuatan penuh ARM akan digunakan dan SMT menjadi tembok bata.
Rick_2047
2
Apakah tidak ada Arduino Due dengan SAM3XE (ARM 32 bit) UC di atasnya? Karena, saya punya satu di tangan saya sekarang ...
Doombot
1
Saya ingin mencatat bahwa "saat ini" sebenarnya ada papan berbasis ARM yang dapat diprogram menggunakan Arduino (perpustakaan dan IDE). Teensy 3.2 adalah contoh yang bagus untuk ini. sparkfun.com/products/13736
Paul

Jawaban:

32

Adakah yang peduli tentang apa yang sedang Anda kembangkan?

Iya dan tidak. Saya telah mengembangkan AVR32 untuk proyek tertentu, dan lingkungan pengembangan (khususnya siklus kompilasi / program / debug) mengerikan dibandingkan dengan, misalnya, PIC32.

Pelanggan tidak peduli, kecuali untuk biaya dan pemeliharaan, dan dalam kasus sistem seperti Arduino, programmer tidak akan peduli karena lingkungan Arduino dan siklus pengembangan lebih cepat daripada batas pemasangan AVR32 saat ini.

Saya hanya ingin tahu karena ada kontingen yang kuat untuk AVR di keluarga Arduino. Saya mengerti bahwa mereka adalah prosesor resmi tetapi tidak ada alasan kode tidak dapat porting ke ARM atau arsitektur Freescale selain biaya, kan? Selama ada memori onboard, saya pikir mungkin ada migrasi yang mudah ke bagian-bagian itu.

Tidak ada alasan prosesor lain tidak dapat digunakan, tetapi ada alasan yang sangat bagus mereka memilih perangkat low-end 8 bit daripada perangkat ARM, MIPS, PowerPC, dll.: Kemudahan penggunaan.

Jika Anda telah melihat pengaturan bahkan untuk lengan low-end, ini adalah urutan besarnya lebih kompleks (pemetaan memori, caching, dll) daripada prosesor 8 bit. Tetapi yang lebih penting - pada saat itu tidak ada prosesor DIP arm, dan ini dimaksudkan untuk digunakan dan dibangun oleh seniman dan peretas, belum tentu teknisi elektronik dan insinyur yang merasa nyaman bahkan dengan TQFP 48 pin.

Alasan mengapa AVR dipilih daripada PIC adalah bahwa PIC tidak benar-benar memiliki banyak sumber, open source, kompiler C bebas, antara lain (port SDCC tidak matang).

Saya melihat banyak ARM dalam industri (sepertinya setiap vendor mendorong satu ke dalam desain mereka) dan bertanya-tanya mengapa tidak ada lebih banyak serapan di dunia pengembang Arduino. Pikiran?

Terutama karena kemudahan penggunaan - kompleksitas, mudah disolder, biaya, dan fakta bahwa tidak ada banyak kebutuhan untuk itu. Pengembang menyukai gagasan memiliki banyak daya, tetapi pada akhirnya ketika yang perlu Anda lakukan adalah memindahkan beberapa servos dan mem-flash beberapa lampu dengan FFT low-end, prosesor 8 bit baik-baik saja.

Bahkan ARMS korteks low end yang keluar dalam paket 28 pin masih SOIC, bukan DIP.

Jadi AVR memiliki semua fitur yang tepat:

  • Mudah disolder
  • Mudah didapat melalui pesanan email di seluruh dunia
  • Kompiler GCC C gratis
  • Mudah untuk memahami pengaturan dan penggunaan perangkat dan periferal
  • Murah
  • Di mana-mana - banyak orang dan pengalaman seputar keluarga AVR

Sebagian besar ini masih benar - saya tidak tahu ARM dalam format dip, dan adaptor membuatnya secara signifikan lebih mahal daripada AVR. Sebagian besar, produsen tidak berpikir bahwa prosesor DIP 32 bit yang dikemas akan sangat menguntungkan.

Adam Davis
sumber
Ada satu, Propeller Parallax. Ini memiliki delapan CPU 32-bit pada chip, dan datang dalam paket DIL, QFP dan QFN.
Leon Heller
5
Ini tepat. AVR over PIC karena lisensi, dan AVR over ARM karena kesederhanaan perangkat lunak dan toolchain dan kemampuan menyolder. Untuk proyek Anda sendiri, ini mungkin tidak berlaku. Namun, jika Anda ingin mengembangkan duo-ARM, lihat proyek lain yang serupa. Mereka tidak menangkap seperti yang dimiliki AVR. Ini mungkin juga disebabkan oleh lingkungan dev Arduino.
Kevin Vermeer
Alat AVR32 mana yang Anda gunakan - Saya menggunakan IAR pada AVR32 dan MSP dan telah menemukan lingkungan ini sangat mampu. Biaya tidak menjadi masalah dalam lingkungan profesional - setara dengan kurang dari biaya mempekerjakan seorang insinyur selama seminggu.
uɐɪ
Klaim tentang alat ini dapat diatasi - Arduino menggunakan gcc yang juga memiliki port AVR32.
Chris Stratton
1
NXP sekarang memiliki beberapa ARM Cortex-M0 dalam paket DIP. Saya pikir dari keluarga LPC11xx. Saya membayangkan target pasar mereka sangat murah, kualitas rendah, PCB satu sisi, dalam peralatan.
Marko
16

Karena Anda tampaknya memberikan pendapat, inilah $ 0,02 saya. Apakah saya sedang mengerjakan ARM atau AVR itu penting (dan karenanya, saya peduli), sebagian besar didasarkan pada apa yang saya coba lakukan. Ada kasus penggunaan di mana AVR masuk akal, dan ada saat-saat ketika ARM melakukannya. Secara umum, ada juga tradeoff yang dibuat antara, katakanlah, AVR dan PIC.

Pertama, sementara saya mungkin akan mendapat masalah karena mengatakan ini, "kontingen kuat dalam keluarga Arduino" adalah sesuatu dari minoritas vokal. Kebanyakan arduino folk (pengguna) yang saya temui adalah jenis yang lebih suka memperlakukan perangkat keras mereka dengan cara yang sama mereka menyiapkan skrip python untuk melakukan sesuatu yang lucu, seringkali dengan tingkat pemahaman yang lebih rendah tentang seluk-beluk yang terlibat daripada mereka akan memiliki ketika mereka melakukan "dari noo impor foo". Meskipun ada beberapa manfaat dalam cara Arduino dalam melakukan sesuatu, ada juga banyak ruang untuk kritik.

Saya pikir bermanfaat untuk melihat AVR, selain dari ekosistem Arduino. Kontingen Arduino juga mendapat banyak manfaat dari alasan yang menjadikan AVR sebagai standar defacto untuk hal-hal penghobi - mantel yang semakin banyak diambil alih oleh PIC bahkan sebelum arduino muncul. Pesaing langsung AVR akan menjadi PIC dan sedikit banyak MSP430, yang mendapatkan daya tarik sebagian besar karena dorongan pemasaran berat TI yang dikombinasikan dengan alat subsidi.

Ekosistem

Seperti yang telah disebutkan dalam jawaban lain, AVR adalah satu keluarga yang memiliki cara yang bersih dan terstandarisasi untuk beralih dari nol ke hello world menggunakan alat gratis. Port avr-gcc, bagian-bagian yang membuat winavr toolchain, banyak skema programmer dengan beragam kompleksitas dan fitur tetapi masih terikat oleh otoritas yang berasal dari didukung oleh avrdude membuatnya jauh lebih mudah daripada berurusan dengan membuat toolchain bekerja.

Ekosistem PIC adalah mimpi buruk, dengan sejumlah kompiler, alat pemrograman, assembler, apa pun yang Anda miliki. Banyak dari mereka yang tidak kompatibel satu sama lain. Kebanyakan dari mereka dibayar. Tidak semuanya baik. Lebih penting lagi, tidak ada standar defacto. Alternatif sumber bebas / terbuka (katakanlah, SDCC) meninggalkan banyak yang harus diinginkan, tetapi lebih dari itu, telah gagal memperoleh status standar de facto seperti avr-gcc dan yang dimiliki perusahaan. Bahkan dengan toolchain perangkat lunak bekerja, Anda setidaknya harus berinvestasi dalam semacam programmer. PICkit mungkin hanya berharga $ 20 atau lebih, tetapi ketika Anda harus mencari cara untuk membelinya secara online (Kartu Kredit, pengiriman internasional, kerepotan forex), itu bisa menjadi pemecah kesepakatan bagi penggemar hobi. Tidak ada yang baik,

MSP430 sedikit lebih baik, sebagian besar karena lebih baru (minimal dalam hal popularitas) - Ada jauh lebih sedikit kebisingan untuk bersaing. TI mengirimkan sampel IC kepada Anda dengan efisiensi yang belum pernah saya lihat di tempat lain. mspgcc dalam kondisi OK, dan bahkan ada perangkat lunak debug sumber terbuka yang tidak sulit ditemukan atau diatur. Masalahnya, meskipun, itu tidak ramah sebagai hobi seperti AVR. Anda masih memiliki masalah Programmer, yang lebih mahal daripada apa yang Anda butuhkan untuk membeli PIC. Operasi suplai 3.3V menempatkan penghalang yang dipersepsi untuk orang-orang yang terbiasa dengan Logika 5v. Dan itu tidak skala dalam DIP - Ada yang low-end yang tersedia, tetapi tidak begitu Anda mencapai chip yang lebih sempurna.

Kemudahan penggunaan

DIP vs SMD, saya pikir, adalah perbedaan yang lebih penting daripada yang sering diperhitungkan. DIP IC dapat digunakan di papan tempat memotong roti, papan tujuan umum, apa pun namanya di tempat Anda tinggal, dan sebagainya. SMD IC tentu membutuhkan proses fabrikasi, atau pembelian papan adaptor yang tidak selalu mudah didapat dalam ukuran atau bentuk yang Anda inginkan.

Kualitas lembar data, catatan aplikasi, dan keterbacaannya, juga membuat perbedaan. Atmel tampaknya melakukan pekerjaan yang sedikit lebih baik pada saat itu. Tentu saja, itu penilaian yang sangat subyektif.

AVR dapat menggunakan RC internal sementara PICs sering tidak. Mereka membutuhkan kristal, yang membuatnya sedikit tidak pasti ketika dikombinasikan dengan kurangnya kepercayaan.

AVRs juga tampak lebih bersahabat dengan pemrograman dalam-sistem dibandingkan dengan PICs beberapa tahun yang lalu, walaupun saya bisa dengan mudah salah di sana.

AVR vs ARM

Namun, pertanyaan Anda berkaitan dengan AVR vs ARM. Seperti yang saya katakan di awal, AVR dan ARM menempati ruang yang berbeda dalam spektrum. Jika Anda memiliki sesuatu yang dapat Anda lakukan dengan AVR, lalu mengapa Anda ingin melakukannya dengan ARM? ARM lebih mahal, membutuhkan jumlah bagian yang lebih tinggi, mengkonsumsi lebih banyak energi, membuat kode lebih rumit, membutuhkan proses pembuatan yang lebih mahal. Menyolder TQFP 100 pin lebih mahal daripada menyolder DIP / SOIC 40 pin, tergantung pada bagaimana Anda mengukur biaya. Ini mungkin tidak berlaku jika Anda memproduksi dalam volume besar dan menggunakan teknik produksi yang ramah dengan itu, tetapi jika Anda melakukan itu, maka perbedaan harga akan menjadi lebih menarik untuk pergi dengan solusi yang lebih murah.

Sebagai pengendali masuk untuk peretasan umum di sekitar rumah atau apa pun yang Anda miliki, saya akan mengatakan AVR lebih mudah digunakan karena: - Lebih terstandarisasi dari sudut pandang penggemar, lebih banyak kode yang dapat saya gunakan kembali dari internet karena tidak banyak. variasi penyusun, dan variasi antara nama daftar dan API di antara anggota keluarga. (Coba porting kode LPC ARM ke perangkat keras ATMEL ARM, Anda akan melihat apa yang saya maksud) - Kode menjadi lebih rumit secara inheren (Ya. Benar-benar). - Toolchain membutuhkan pekerjaan tambahan untuk pengaturan. - Membuat antarmuka sedikit lebih mudah. ARM umumnya akan menurunkan Anda ke Logika 3v3 atau 1v8 membuat interfacing ke mainan lain sedikit bermasalah. - Lebih murah - Mendapatkan chip ARM di toko perangkat keras lokal bukan pilihan bagi saya di mana saya tinggal, mendapatkan AVR.

Chintalagiri Shashank
sumber
1
Saya tidak ingat ada PIC, selain dari beberapa bagian OTP di mana bit sekering diprogram sebelumnya sebagai bagian dari pengujian pabrik (satu-satunya cara untuk mengkonfirmasi bahwa mode LP, XT, atau HS bekerja adalah untuk mengkonfigurasi chip untuk mode itu) yang membutuhkan kristal. Beberapa memang memerlukan resistor eksternal dan tutup untuk menggunakan mode RC, dan memiliki spesifikasi yang cukup kasar pada frekuensi yang akan dihasilkan, tapi saya tidak ingat PIC tanpa opsi desain untuk RC internal atau eksternal. Apakah saya sudah lupa?
supercat
Pada kenyataannya, biaya ARM / AVR cukup dekat untuk mencuci untuk sumber daya yang sebanding. Dan paket yang akan digunakan dalam pengaturan produksi tidak selalu berbeda, karena kemungkinan akan menjadi varian QFP atau QFN dari keduanya. Sirkuit dukungan yang dibutuhkan juga cukup sebanding.
Chris Stratton
@ Chris: Ketika Anda faktor dalam sumber daya setiap chip menyediakan, saya akan mengatakan ARM akan keluar lebih murah hampir setiap waktu. Yang mengatakan, intinya adalah bahwa dalam situasi di mana AVR masuk akal dalam lingkungan produksi adalah di mana Anda tidak memerlukan tenaga kuda dan / atau bel dan peluit yang dibawa oleh ARM ke meja. Ketika ditimbang dengan sumber daya yang digunakan alih-alih sumber daya yang tersedia, AVR keluar lebih murah. Saya tidak berpikir sirkuit dukungan sebanding (1 tantalum kapasitor melawan 4, dan spiral serupa lainnya). ARM bukan binatang buas mahal sebanyak itu bisa berlebihan.
Chintalagiri Shashank
@ supercat: Mungkin. Saya harus memeriksa. Bagiku itu tidak pernah tampak jelas beberapa kali aku melihatnya. Saya tahu bahwa setidaknya beberapa dsPIC dapat kembali ke internal, meskipun, jika Anda mengaturnya dengan benar, tetapi bahkan itu membutuhkan sedikit dugaan dan bermain-main untuk menemukan. Lembar data microchip meninggalkan banyak hal yang diinginkan, IMO, tetapi sekali lagi, tergantung pada pasar yang Anda lihat.
Chintalagiri Shashank
@ChintalagiriShashank - mengabaikan perangkat lain dan hanya melihat ukuran flash & ram ada penawaran ARM yang cukup kompetitif dengan misalnya ATMEGA328p. Dan jangan terlalu terganggu oleh topi bypass. Untuk satu, tantalum dapat masuk akal sebagai filter pasokan, tetapi topi bypass sebenarnya adalah reservoir lokal bernilai lebih rendah untuk persyaratan switching frekuensi tinggi sehingga keramik SMT murah. Juga, apa yang mendorong kebutuhan adalah frekuensi switching jam dan I / O - pada laju clock yang sebanding, ARM tidak akan benar-benar membutuhkan semua tutup bypass yang disarankan.
Chris Stratton
12

Bagian dari alasan minat masyarakat besar pada Arduino adalah standardisasi fisik. Sekalipun tata letak fisiknya, dengan memasukkan opsi ekspansi terstandarisasi, pengembang Arduino memungkinkan orang untuk membuat solusi sendiri. Jika Anda ingin mengganti papan Arduino dasar dengan papan lain yang menggunakan mikrokontroler yang berbeda, Anda bisa. IIRC, seseorang telah membangun papan berbasis PIC yang menggunakan faktor bentuk Arduino. ( Papan Ardunio PIC tidak memiliki faktor bentuk yang sama, tetapi sebaliknya serupa.)

Alasan lain untuk kesuksesan Arduino adalah keterbukaannya - sebagian besar mikrokontroler berbasis PIC ditutup; Mereka menggunakan implementasi perangkat keras berpemilik, jadi jika Anda ingin mendesain ulang papan agar lebih sesuai dengan ruang tertentu, Anda kurang beruntung. Mereka menggunakan firmware khusus dan alat pengembangan berpemilik, sehingga jika Anda memiliki bug atau ingin memperluas kemampuan, Anda tidak beruntung. Dengan Arduino, setiap bagian puzzle terbuka: Anda dapat membeli bagian di mana saja, menyusun ulang sesuai kebutuhan, meningkatkan atau memodifikasi firmware DAN alat pengembangan. Anda bisa mulai dengan Arduino IDE, tetapi Anda masih bisa beralih ke C atau Assembly kapan pun Anda membutuhkannya.

Secara pribadi, saya suka Arduino karena mendapat banyak hal 'tepat': Ini tidak terlalu mahal, tidak dikunci ke alat berpemilik, mudah untuk memulainya, punya banyak kemampuan, dan memiliki komunitas pengguna yang besar , yang terus berkembang dan melakukan hal-hal yang rapi.

Craig Trader
sumber
1
Anda mencantumkan alasan yang sangat bagus bahwa penggemar mikrokontroler menyukai Arduino, tetapi pertanyaannya adalah tentang ARM vs AVR. Arduino disebutkan karena keputusannya untuk memilih seri AVR MCU untuk implementasinya. Saya pikir beberapa jawaban yang lebih relevan ada di bawah posting Anda; misalnya, fakta bahwa Atmel mendukung seri AVR-nya dengan kompiler C. Namun, info yang bagus untuk seseorang yang tidak terbiasa dengan Arduino.
Ozmo
7

Keuntungan utama bagi ATmel UC adalah bahwa ada kompiler gratis yang tersedia untuk Linux, PC dan Mac. Tambahkan ke itu GUI lintas-platform sederhana dan Anda memiliki sistem pengembangan gratis yang berjalan pada semua platform.

Biaya adalah faktor utama untuk papan hobi. Karena Anda ingin memiliki harga awal di kisaran $ 30, Anda perlu memiliki biaya UC yang tidak lebih dari beberapa dolar.

ARM akan menjadi kandidat yang sangat baik untuk dewan kelas atas. Banyak perusahaan melisensikan inti ARM dan menambah periferal. Saya percaya ada kompiler gratis untuk Linux, PC dan MAC.

Saya sangat suka Freescale Coldfire untuk papan kelas atas. Saya bekerja di papan untuk peralatan tes yang menggunakan 5206e. Kami menambahkan beberapa DRAM dan konverter A / D dan D / A dengan akurasi tinggi. Itu adalah solusi yang hemat biaya. Saya baru-baru ini membandingkan Coldfire dengan berbagai ARM.

Beberapa 8-bit Freescale UC bagus tapi saya tidak yakin mereka memiliki alat gratis.

jluciani
sumber
4
Terima kasih atas komentar yang bermanfaat, tetapi 8 baris 'tanda tangan' sedikit ekstrem, situs berbasis stackoverflow ini cenderung memandang rendah iklan situs Anda sendiri dalam jawaban Anda.
davr
5
@ jluciani, jika Anda ingin mengiklankan situs web Anda yang lain, letakkan tautan di profil Anda, bukan di jawaban Anda. Setelah semua, blog Anda bukanlah jawaban untuk ini pertanyaan ...
Craig Trader
5

Saya setuju dengan paket dip, tidak setuju bahwa lengan lebih sulit untuk dikonfigurasi, lpcs, tetapi mereka bukan satu-satunya anak di lengan blok (atmel itu sendiri dalam hal ini). Dari apa yang saya ingat dan alami, Atmel dulu dan mungkin masih lebih ramah bagi pengembang. Kupu-kupu AVR sangat membantu mereka untuk mendapatkan lebih banyak pengguna ke basis pengguna yang sudah berukuran baik dan bahagia. PIC itu hanya menyakitkan dalam banyak hal, alat avr ada di sana, pemrograman mudah dan tidak dikenakan biaya lebih dari beberapa kabel dan konektor dari gubuk radio. Alat-alatnya ada dan gratis tetapi tidak semudah mainline gcc di mana Anda menemukan solusi lengan dan ibu jari. Jauh sebelum Arduino keluar, AVR adalah chip pilihan untuk proyek-proyek hobi.

Tidak ada yang bisa bersaing dengan ARM sekarang. Untuk prosesor lain yang Anda sentuh dalam sehari, Anda menyentuh beberapa ARM minimal. Untuk beberapa hampir semua yang Anda sentuh menggunakan ARM. Ini adalah fit alami sebagai pembunuh 8 bit, bisa mendapatkan kinerja yang jauh lebih baik daripada 8 bit untuk ukuran, harga, dll yang sama. Alat jauh lebih baik, set instruksi jauh lebih bersih daripada sebagian besar pesaingnya sehingga kode yang sama berjalan yang jauh lebih cepat, dll. Karena siapa pun dan saudara mereka dapat menyematkan ARM dan tidak terkunci ke dalam perusahaan seperti pic, avr, msp430 ada berbagai macam solusi, dan banyak cara berbeda untuk berurusan dengan campuran mik / ram mikrokontroler dan tabel vektor interupsi. Sayangnya solusi yang lebih populer adalah yang paling menyakitkan. Coba sam7 atau sesuatu seperti itu atau stellaris.

Bukan selalu prosesor yang menjadi masalah, beberapa chip telah mengetahui masalah, beberapa memiliki masalah lain yang diketahui. beberapa mungkin tidak menawarkan pin io kolektor terbuka dengan pull up yang lemah dan Anda harus meletakkan perangkat keras di luar chip untuk antarmuka ke sesuatu, di mana yang lain mungkin memiliki yang tersedia pada satu atau semua pin. Saya sarankan mengambil sampel bidang, mencoba berbagai perusahaan dan solusi sehingga ketika Anda ingin daya rendah Anda dapat dengan mudah menggunakan msp430, Anda ingin memproses daya dalam chip kecil Anda pergi dengan lengan atau jika Anda ingin membuat proyek terbuka yang Anda harap orang lain akan membangun di garasi mereka Anda mendasarkannya pada Arduino, jika Anda bisa.

Intinya meskipun untuk pertanyaan Anda adalah itu benar-benar tergantung pada aplikasi Anda dan bagaimana Anda menulisnya dan kinerja dan sumber daya yang Anda minati. Dengan cara yang sama bahwa gcc atau firefox akan berjalan pada banyak platform dan prosesor yang berbeda, Anda pasti bisa tulis aplikasi C Anda untuk dijalankan pada berbagai mikrokontroler ... JIKA... Anda memiliki lapisan abstraksi spesifik mikrokontroler, yang memiliki biaya. jika mikrokontroler memiliki fitur yang cukup mirip dan memiliki fitur yang Anda butuhkan dan Anda berencana untuk maju dan menggabungkannya. Jika platform berikutnya memiliki cukup memori / sumber daya. Anda lebih tertarik pada portabilitas daripada kinerja, dll. Mungkin Anda perlu merencanakan ini sebelumnya. atau setidaknya pada peralihan pertama dari A ke B Anda mendesain ulang perangkat lunak, jika / ketika ada peralihan ketiga dari B ke C, itu tidak terlalu menyakitkan.

old_timer
sumber
Tidak ada yang bisa bersaing dengan ARM sekarang. <- Dalam industri. Dalam dunia hobi, AVR masih sangat, sangat kuat, dan akan bertahan lama.
Kevin Vermeer
Sepenuhnya setuju satu dunia avr gila populer, dunia lain yang kebetulan menjadi tempat di mana produk kami membeli sentuhan dan menggunakan, di mana uang itu, itu adalah sesuatu yang lain. Jadi untuk bersenang-senang di rumah, pelajari satu, untuk pekerjaanmu, belajarlah yang lain, dan bermain sepanjang hari dan sepanjang malam.
old_timer
4

Saya tahu Anda mengatakan "selain biaya", tetapi sebenarnya itu adalah hal yang paling penting bagi penggemar. Anda tidak perlu lebih dari satu UART atau lebih dari satu SPI untuk platform yang murah dan generik. Setelah Anda mulai membutuhkan kecepatan> 20mhz, Anda benar-benar harus melihat pengaturan khusus (ymmv tentu saja)

penjuin
sumber
3

Beberapa poin kecil yang tidak dimunculkan dalam komentar lain:

  • Arduino ditujukan untuk proyek I / O skala kecil, menambahkan sedikit kecerdasan ke sirkuit. Mereka biasanya berulir tunggal, perangkat waktu nyata, di mana ARM akan sangat terbuang. Ada banyak opsi untuk papan ARM tentu saja, tetapi use case biasanya berbeda - biasanya mereka boot ke sistem operasi skala penuh.

  • Dengan menargetkan case use skala kecil ini, semuanya menjadi lebih mudah - jumlah pin, komponen pendukung, konsumsi daya dll.

Yang mengatakan, untuk kasus penggunaan target Arduino, itu tidak seperti Anda menjelekkannya. Prosesor 16MHz banyak mendengus untuk jam Alarm Anda dengan chaser LED terintegrasi (atau apa pun :)

David Sainty
sumber
2

Arduino adalah tersedia pada prosesor lainnya. Lihat ChipKit dari Microchip, misalnya. Itu menggunakan PIC 32.

Olin Lathrop
sumber
Maaf Olin, judulnya adalah usaha saya yang salah dalam mengedit pertanyaan, dibuat dari badannya. Seharusnya lebih tepat sekarang.
clabacchio
1

Percobaan kedua (judul posting asli dan pertanyaan dari +3 tahun yang lalu telah diubah sejak jawaban asli):

Ayam dan telur, tetapi terutama selama beberapa tahun terakhir (ARM 2007 meluncurkan arsitektur Cortex-M), MCU 32-bit semakin populer dan vendor lebih baik dalam menyediakan akses yang lebih cepat dan lebih mudah bagi komunitas EE ketika mendesain di> 8- bit micros (alat sw lebih baik, alat gratis, lebih banyak contoh ...).

Ketika Atmel, bersama dengan 100 lainnya, menawarkan perangkat Cortex-M juga dan telah memperbarui rantai alatnya untuk mendukung AVR ke ARM, ditambah hubungan jangka panjang, jalur peningkatan Arduino diberikan (?). Tapi, alternatif muncul dan tampaknya melibatkan upaya alternatif untuk mendapatkan bagiannya dari kue "hobbyyist": misalnya dipasangkan oleh NXP / ARM, dan baru-baru ini "CoAction Hero",: 32-bit Open-Source ARM Cortex-M3 Board di KickStarter .

Pikiran akhir, 3 tahun setelah pertanyaan awal: ketika semua vendor menawarkan core Cortex-M 32-bit - dapatkah Arduino sekarang benar-benar menjadi non-Atmel?

Jawaban asli: Alf-Egil Bogen, salah satu pendiri Atmel AVR, melihat beberapa latar belakang untuk pergerakan industri dari 8-bit ke 32-bit core ARM di blog videonya di sini http: //blog.energymicro. com / 2013/04/24 / avr2arm / .

EFM32
sumber