Berdasarkan persyaratan kasar saya berada di kisaran 36 hingga 72 MHz, memiliki 16kb + SRAM, 128kb + flash, yang dapat diprogram dalam C, saya telah memutuskan bahwa untuk aplikasi saya, saya ingin menggunakan ARM Cortex M3 MCU.
Pertanyaannya adalah, kriteria apa yang digunakan orang untuk memilih versi M3 yang akan digunakan? Ada banyak vendor yang mungkin seperti TI, ST, NXP, Freescale, dll, dll.
Pembeda utama dari sudut pandang saya adalah kemudahan pemrograman. Idealnya saya mengujinya di papan breakout / pengembangan, diikuti dengan implementasi di PCB saya sendiri.
microcontroller
arm
JDS
sumber
sumber
Jawaban:
Saya pikir @markt sudah pasti di tempat yang tepat: Toolchain, periferal, paket, devkits.
Saya akan menambahkan beberapa, dan mungkin melepas beberapa. Toolchain tentu penting, tetapi GRATIS mungkin atau mungkin tidak. Kadang-kadang, bekerja tanpa dukungan nyata bisa lebih mahal daripada yang Anda pikirkan, dan menggunakan paket komersial yang masuk akal mungkin sepadan untuk situasi tertentu. Terkadang, lulus audit lisensi yang menyeluruh juga penting, dan menggunakan alat gratis dengan lisensi terbatas dapat menggigit Anda nanti.
Pustaka CMSIS yang baik untuk mendukung mikrokontroler adalah suatu keharusan bagi saya. CMSIS - Standar Antarmuka Perangkat Lunak Mikrokontroler Cortex - arm.com/products/processors/cortex-m/… - adalah lapisan abstraksi perangkat keras untuk mikrokontroler seri Cortex-M. Secara teori, jika perpustakaan memenuhi persyaratan CMSIS, perpustakaan itu independen terhadap vendor, dan lebih mudah untuk menukar keluarga yang berbeda, dan Anda tidak perlu mempelajari kembali lingkungan dari bawah ke atas untuk dapat menggunakan perpustakaan. Salah satu aspek yang menarik dari lingkungan ARM Cortex adalah kemampuan untuk mengubah platform tanpa banyak keringat. Jika Anda memilih platform yang tidak membeli ke struktur CMSIS, Anda mungkin tidak dapat bergerak dengan nyaman.
Bagi saya, papan dev yang murah dan nyaman adalah suatu keharusan, tetapi ini mungkin atau mungkin tidak sepenting beberapa hal lain (saya pikir seri STM32 memiliki papan ketik yang luar biasa). Jika keluarga memiliki papan dev yang sangat mudah dan murah, maka Anda lebih mungkin mencari bantuan dari pengguna yang lebih besar jika Anda membutuhkannya. Juga, chip ini cenderung berada dalam paket SMT. Ketika Anda meledakkan chip, atau port pada chip, atau sedikit pada port pada chip, mengganti chip adalah PITA yang melibatkan pengerjaan ulang SMD. Jika Anda dapat membeli dua atau tiga papan masing-masing seharga $ 10- $ 15, dan menggantinya saat Anda menghancurkannya, Anda bahkan tidak akan BERPIKIR tentang melakukan pengerjaan ulang SMD!
Pikirkan "Ekstra". Anda mungkin memerlukan sesuatu di atas dan di luar apa yang dianggap sebagai "perangkat". Misalnya, mungkin Anda memiliki kebutuhan bluetooth yang berat, dan Anda dapat memilih untuk menggunakan Nordic Semiconductor untuk dukungan semacam itu. Anda mungkin mempertimbangkan beberapa hal lain, seperti betapa mudahnya bootloading, dll.
Pikirkan Dokumentasi. Saya agak kurang terkesan dengan betapa sulitnya mengarungi beberapa dokumentasi STM.
sumber
Mengingat keinginan Anda untuk papan dev, pertimbangkan apa yang tersedia di sana.
Jika Anda datang dari platform lain (PIC, Atmel, dll) menerima bahwa akan ada kurva belajar yang adil di banyak bidang dalam pindah ke ARM, tetapi itu baik dan benar-benar layak.
sumber
Jika Anda tidak memiliki preferensi yang kuat (misalnya harga, ukuran, kekuatan, ditambah apa yang orang lain sebutkan), maka saya akan mempertimbangkan siapa yang mendukung Anda. Jika pabrikan tidak membalas pertanyaan Anda, itu bisa menjadi masalah. Atau apakah mereka memiliki distributor lokal dengan FAE (Field Applciation Engineer) yang dapat Anda tanyakan? Itu sangat penting bagi perusahaan kecil dan penghobi.
Beberapa bagian mungkin tidak tersedia dalam jumlah kecil. Misalnya, mereka yang memiliki DRAM dalam paket yang sama ditujukan untuk pembeli besar (> 10 k unit).
sumber
Mungkin STM32L151VBT6 sesuai dengan kebutuhan Anda. Bahkan kami menggunakannya di perusahaan kami dengan biaya yang moderat dan bagus dalam hal konsumsi daya. Anda juga akan mendapatkan sebagian besar sumber daya desain di http://www.st.com .
Fitur Utama dari STM32L151VB MCU adalah:
Platform ultra-daya rendah 1,65 V hingga 3,6 V catu daya
-40 ° C hingga 85 ° C / 105 ° C kisaran suhu
0,3 μA Mode siaga (3 pin bangun)
0,9 μA Mode siaga + RTC
Mode Stop 0,57 μA (16 garis wakeup)
1.2 μA Mode berhenti + RTC
9 μA Mode Jalankan daya rendah
214 μA / MHz Jalankan mode
10 nA kebocoran I / O sangat rendah
<8 waktu bangun
Inti: ARM®Cortex ™ -M3 CPU 32-bit
Dari 32 kHz hingga maksimal 32 MHz
33,3 puncak DMIPS (Dhrystone 2.1)
Unit perlindungan memori
Atur ulang dan manajemen pasokan
BOR ultra-aman, daya rendah (reset brownout) dengan 5 ambang batas yang dapat dipilih
POR / PDR berdaya sangat rendah
Programmable voltage detector (PVD)
Sumber jam
Osilator kristal 1 hingga 24 MHz
Osilator 32 kHz untuk RTC dengan kalibrasi
Kecepatan Tinggi Internal 16 MHz pabrik-dipangkas RC (+/- 1%)
Daya Rendah Internal 37 kHz RC
Daya internal multispeed rendah 65 kHz hingga 4,2 MHz
PLL untuk jam CPU dan USB (48 MHz)
Bootloader yang sudah diprogram
USART didukung
Dukungan pengembangan
Mendukung debug kawat seri
JTAG dan lacak didukung
Hingga 83 I / Os cepat (73 I / Os 5V toleran), semua dapat dipetakan pada 16 vektor interupsi eksternal
Kenangan:
Hingga 128 KB Flash dengan ECC
Hingga 16 KB RAM
Hingga 4 KB EEPROM sejati dengan ECC
80 Byte Backup Register
Driver LCD untuk segmen hingga 8x40
Mendukung penyesuaian kontras
Mendukung mode berkedip
Konverter step-up on board
Periferal analog yang kaya (turun ke 1,8 V)
12-bit ADC 1 Msps hingga 24 saluran
Saluran DAC 2 12-bit dengan buffer output
2x Pembanding daya ultra rendah (mode jendela dan kemampuan bangun)
Pengontrol DMA 7x saluran
8x antarmuka komunikasi periferal
1x USB 2.0 (internal 48 MHz PLL)
3x USART (ISO 7816, IrDA)
2x SPI 16 Mbits / s
2x I2C (SMBus / PMBus)
Timer 10x: 6x 16-bit dengan hingga 4 saluran IC / OC / PWM, timer dasar 2x 16-bit, timer timer pengawas 2x (independen dan jendela)
Hingga 20 saluran penginderaan kapasitif yang mendukung tombol sentuh, sensor sentuh linear dan putar, unit perhitungan CRC, ID unik 96-bit
sumber