Saya telah menggunakan AVRS 8-bit selama beberapa tahun sekarang. Akhir-akhir ini, saya merasa dibatasi oleh kecepatan transfer data periferal dan perpustakaan tingkat yang lebih tinggi.
Saya mengalami kesulitan menemukan / memilih jalur mikrokontroler baru untuk dijelajahi. Saya sudah melihat
- NXP - Tidak dapat menemukan programmer
- Freescale - Harus mendaftar untuk IDE
- AVR32 - Pilihan chip terbatas pada digikey
Chip NXP terlihat sangat bagus, tetapi seperti apa pun yang bukan PIC / AVR / Ardiuno, kurva belajarnya cukup curam.
Saya bertanya-tanya apakah ada yang bisa menyarankan garis pengendali mikro yang memenuhi (dalam urutan kepentingan) persyaratan berikut
- Chip yang dapat disolder dengan tangan. (Saya bisa melakukan LQFP 100)
- 32 bit
- Tuan rumah Linux
- Toolchain gratis
- IDE bagus / gratis
- <500 $ biaya awal untuk pemrograman / debugging / kompilasi tidak terbatas
- Bisa mendukung
- Dukungan Ethernet / USB
Saya bersedia melihat Freescale dan NXP lagi, jika seseorang dapat menunjukkan kepada saya bahwa saya melewatkan beberapa informasi tentang rantai alat dan pemrogram mereka. Saya kira Anda bisa mengatakan AVR32 persis apa yang saya cari, tapi saya tidak senang dengan pemilihan chip mereka. Mereka semua memiliki jumlah pin yang lebih tinggi dan stok rendah saat digikey.
Terima kasih.
sumber
Jawaban:
Saya pasti akan merekomendasikan NXP - rangkaian chip yang layak, periferal yang baik (UART dengan baudgen dan FIFOS yang fleksibel, SPI dengan FIFO dll.) Dokumentasi yang luar biasa * dan opsi pemrograman yang fleksibel. Dapatkan debugger JTAG / SWD (suku cadang Cortex menggunakan SWD - pin lebih sedikit dari JTAG dan dapat melakukan hal-hal seperti mengatur breakpoints saat menjalankan). Saya menggunakan versi kickstart gratis dari meja kerja tertanam IAR - ini memiliki batas kode 32K yang baik untuk saya tetapi perlu diketahui bahwa peningkatan ukuran kode mahal. Banyak orang tampaknya baik-baik saja dengan GCC / winarm. Beberapa bagian Cortex (misalnya LPC1343) dapat memuat firmware dari stik USB menggunakan bootloader onboard. Ketersediaan bagian umumnya baik - Saya tidak pernah kesulitan menemukan persediaan. Ada juga banyak devboards / pelarian yang tersedia untuk bagian NXP.
sumber
ARM, ARM, ARM.
ARM melisensikan core prosesor mereka ke banyak perusahaan. Ini berarti Anda akan menemukan alat yang baik, dukungan, dan dokumentasi dari lebih dari satu sumber.
PIC, AVR dan MSP430 semuanya menderita masalah yang sepenuhnya dimiliki oleh satu perusahaan.
Ingatlah dengan mikrokontroler ARM bahwa Cortex-M3 dari NXP akan lebih dekat dengan Cortex-M3 dari ST atau Luminary daripada ARM9 atau ARM7TDMI dari NXP. Lebih sering daripada tidak, kompiler, debugger dan programmer lebih umum di seluruh core daripada produsen.
Mendapatkan toolchain Codesourcery GCC ARM dan dongle ARM JTAG murah akan membantu Anda.
sumber
Saya akan memilih NXP. Dalam waktu singkat Cortex-M3 telah menjadi standar untuk pengontrol ARM (saya berasumsi bahwa menurut Freescale maksud Anda Coldfire). Karena ARM7TDMI NXP juga memiliki tradisi keluarga perangkat yang luas untuk dipilih.
Adapun seorang programmer untuk NXP, IMO setiap programmer JTAG harus melakukan pekerjaannya (CMIIW).
sunting
Saya sedang membaca tentang mbed , yang sepertinya cara termudah untuk memulai dengan NXP Cortex M3 (pengontrol yang digunakan adalah LPC1768). Anda memprogram / mengkompilasi online (sehingga Linux tidak menjadi masalah), dan Anda memprogram melalui USB (perangkat tersebut muncul sebagai perangkat penyimpanan massal tempat Anda dapat menyalin program yang dikompilasi). Tidak diperlukan programmer. Program yang ditulis untuk mbed harus langsung portabel ke LPC1768 di papan lain.
sumber
Coba PIC24 16-bit dan dsPIC. Banyak dari mereka tersedia dalam DIL, dan mereka memberikan hingga 40 MIPS. Perangkat lunak pengembangan gratis tersedia dan debugkit / programmer PICkit 3 cukup murah dengan harga $ 50. Versi MPLAB berikutnya akan memiliki dukungan Linux, tersedia versi beta.
sumber
Saya pikir Anda akan bisa mendapatkan alat ARM gratis sebagai kebebasan. Pemrograman harus bisa dilakukan dari bootloader serial atau (terbuka) JTAG. Ada beberapa chip dan modul STM32 dan NXP yang saya lihat yang membuat saya terkesan.
Saya juga diingatkan tentang pertanyaan ini .
sumber
Jika Anda benar-benar ingin menggunakan 32-bit, coba PIC32. Ketersediaan tinggi dari Microchip. Untuk debugging Linux, MPLAB X adalah dalam versi beta 4 dan mendukung Linux, Windows dan Mac OS X. Saya pikir Anda juga akan memerlukan PICkit 3 atau programmer serupa untuk $ 50-60.
Namun, saya akan lebih condong ke 16-bit dsPIC dan PIC24 karena mereka jauh lebih murah, dapat di-debug dengan PICkit 2 dan mudah diprogram. Juga mereka tersedia dalam paket DIP, meskipun ini tidak masalah bagi Anda (?) Saya sedikit bias terhadap mereka mengingat bahwa saya menggunakannya dalam proyek saya.
sumber
Satu- satunya prosesor 32-bit yang saat ini sedang diproduksi dalam paket DIP adalah Propeller Parallax . (Chip yang sama juga tersedia dalam paket QFP 44-Pin dan 44-Pin QFN yang jauh lebih kecil, semuanya dengan 32 pin I / O tujuan umum). Ada juga beberapa alat pengembangan untuk itu yang berjalan di Linux .
Jadi dengan mudah memenuhi 2 kriteria pertama Anda dan sebagian besar (sayangnya, tidak semua) dari kriteria Anda yang tersisa.
sumber
Lihatlah FEZ Domino . Itu tidak memenuhi semua persyaratan Anda, tetapi menawarkan cukup banyak jika Anda tidak memerlukan kontrol level serendah mungkin.
sumber
Seri chip Cypress PSoC memiliki kombinasi fitur yang belum pernah saya lihat di IC lainnya.
Chip PSoC5 termasuk ARM Cortex M3 32-bit, tetapi sejauh yang saya tahu mereka semua dikemas dalam sesuatu seperti TQFP100. Seri chip PSoC1 dan PSoC3 mencakup banyak chip DIP yang dikemas, tetapi mereka semua memiliki satu inti 8 bit atau lainnya.
Selain CPU, chip ini juga memiliki interkoneksi yang dapat diprogram seperti FPGA kecil, dan beberapa op-amp analog on-chip.
http://www.psocdeveloper.com/
sumber
ARM Atmel dapat memenuhi tagihan, sebagian besar
Mereka datang dalam TQFP, dan Anda dapat menggunakan salah satu yang lebih kecil di 64 pin.
Memeriksa
Saya berkembang secara eksklusif di Linux
GCC ARM Toolchain, yang lebih mudah diatur sekarang dengan skrip build seperti summon arm toolchain.
Anda memiliki saya di sana. Mungkin seseorang dapat mengatur gerhana atau mungkin mengembangkan untuk melakukan pekerjaan itu, tapi saya belum mencoba. Saya menggunakan vim dan kate.
Pemrograman dan kompilasi akan menelan biaya sekitar $ 100, mungkin, untuk membuat prototipe papan minimal. Chip ini dilengkapi dengan bootloader bawaan di ROM yang memungkinkan Anda memprogram chip tersebut. Anda tidak perlu debugger untuk memprogramnya. Anda bisa mendapatkan segger bermerek Atmel (dan terkunci) dengan harga sekitar $ 100. Jika Anda mampu membelinya maka saya sarankan tidak pergi untuk yang terkunci tetapi membayar 200 atau 300 untuk yang tidak terkunci. Ada juga pilihan lain yang jauh lebih murah yang belum pernah saya coba. Usbprog terlihat sangat menjanjikan.
Cukup yakin itu ada, meskipun Anda harus memeriksa untuk memastikan. Saya tidak menggunakannya, jadi saya tidak yakin apakah semuanya memilikinya.
Dukungan USB ada di sana. Dukungan Ethernet perlu ditambahkan secara eksternal. Banyak contoh untuk dipilih.
sumber
Saya menggunakan papan demo lpc4330-xplorer untuk LPC4330 NXP. Saya menggunakan toolchain buatan tangan, tetapi Anda bisa menggunakan Yagarto (jika Anda tidak peduli dengan FP keras), atau kompiler ARM apa pun, jika Anda dapat menggali skrip linker. NXP memiliki beberapa periferal yang sangat bagus seperti State Configurable Timer (Anda dapat membaca: generator fungsi) yang mampu melakukan cukup banyak hal. Mereka juga memiliki beberapa SGPIO yang bagus. Selain itu mereka memiliki banyak timer di papan. Ini juga merupakan prosesor ganda (chip berbasis M4-M0). Tentu saja, seluruh lini LPC mereka cukup bagus.
Agar adil, garis pSOC Cypress terlihat bagus juga, tapi saya tidak punya kesempatan untuk menggunakannya. Yang lain semua pasti memiliki kegunaan dan pemirsa, tapi saya menggunakan lingkungan pengembangan Linux, tidak ada IDE, dan beberapa alat baris perintah. Saya memilih jalan ini karena ketika ada yang tidak beres, dan selalu terjadi, saya merasa lebih mudah bagi saya untuk memburu masalah jika saya tidak harus mengupas lapisan-lapisan alat. Plus, tidak ada batasan kode. Dan, meskipun tidak terlalu jelas dari pencarian internet, jalur LPC didukung dengan baik oleh open source.
Akhirnya, LPC memang menyediakan cukup banyak kode sampel di LPCOpen. Sekali lagi, untuk bersikap adil, jika Anda ingin mengkompilasi dengan alat open source, dibutuhkan sedikit kerja, tetapi itu tidak sulit. Mereka bahkan punya contoh server web yang cukup bagus di Internet. Mereka memang memiliki buku resep SCT juga (SCT membutuhkan sedikit waktu untuk memahami, tetapi begitu Anda melakukannya, itu benar-benar bagus), tetapi dapat membutuhkan sedikit waktu untuk mengerjakan contoh-contoh, dan contoh-contoh SCT di LPCOpen sangat menyedihkan. Tetapi, sangat layak untuk menjalankan dan menjalankan chip NXP. Saya bahkan menghabiskan sedikit waktu dengan NuttX (saya bosan dengan kode bare-metal SEMUA waktu) dan lpc4330-xplorer.
Bagaimanapun, semoga sukses dengan apa pun yang Anda pilih.
sumber
Ini pilihan saya:
sumber