Saya telah melakukan beberapa pengembangan dengan ATMega dan saya ingin memperluas wawasan saya. Saya punya beberapa chip seri Cortex M4 dan ingin membuat ARM yang setara dengan Breadboarduino
Saya berencana untuk etsa papan saya sendiri atau menggunakan papan breakout untuk ARM dan papan tempat memotong roti sisanya. Referensi atau skema komponen minimum akan sangat dihargai.
Apakah ada sumber daya yang baik untuk menentukan komponen minimum yang diperlukan untuk beroperasi, dan idealnya memprogram, chip ARM?
MEMPERBARUI:
Saya terbuka untuk saran perangkat keras alternatif. Di bawah ini adalah chip yang saat ini saya coba kerjakan:
arm
microprocessor
prototyping
ZnArK
sumber
sumber
Jawaban:
Ini sangat tergantung pada chip yang Anda gunakan - Anda tidak menentukan yang mana yang Anda dapatkan. Biasanya Anda akan memerlukan setidaknya kristal, topi decoupling dan reset logika. Antarmuka pemrograman mungkin antarmuka JTAG sederhana.
Tetapi semua ini harus dinyatakan dalam lembar data chip.
Pembaruan (untuk STM32F407):
Lihatlah halaman-halaman berikut dalam lembar data
Anda tidak akan memerlukan rangkaian reset (ini terintegrasi - lihat halaman 23) atau osilator (osilator 16MHz terintegrasi dipilih saat startup, lihat halaman 22). Jadi menggunakan papan breakout LQFP144 (seperti yang dari futurlec (lihat bagian bawah halaman) mungkin benar-benar cukup.
Anda juga dapat melihat skema papan STM32F4DISCOVERY (lihat buku panduan pengguna , halaman 33. Apa yang Anda lihat di sini adalah sirkuit dasar - dan bahkan berisi kristal eksternal.
sumber
Anda yakin ingin melakukan ini untuk Cortex-M4? Ini adalah lompatan besar dari AVR, dan saya tidak melihat bagaimana Anda akan menggunakan semua fitur yang disediakannya. Untuk memulai dengan Cortex-M4 biasanya datang dalam paket besar, biasanya lebih dari 80 pin untuk bagian entry level, dan 200+ tidak terkecuali, pikirkan QFP atau BGA. Apakah akan membuat papan breakout dengan dua baris 40 pin ke papan tempat memotong roti?
Cortex-M4 juga dirancang untuk kecepatan tinggi: 120 MHz hingga 200+ MHz. OK, Anda mungkin tidak perlu mendesain PCB untuk kecepatan itu jika Anda menggunakan PLL on-chip. Tetapi bagaimana dengan peripheral, seperti USB atau Ethernet?
Tentu saja Anda dapat menjalankannya pada kecepatan yang lebih rendah, dan meninggalkan banyak fungsi on-chip, tapi saya ingin tahu apa penggunaan Cortex-M4 sebagai permulaan. Saya pikir Cortex-M3 atau bahkan -M0 lebih tepat untuk memulai. Saya tidak ingin mengecewakan Anda, saya ingin tetap realistis.
Jika Anda tidak ingin pergi ke depan dengan Cortex-M4 yang dapat Anda lakukan dengan hardware eksternal minimal. NXP LPC407x misalnya memiliki osilator RC internal yang merupakan osilator default saat reset, sehingga Anda bahkan tidak memerlukan kristal. Sirkuit reset dan decoupling catu daya yang tepat akan menjadi semua yang Anda butuhkan untuk menjalankannya.
Untuk Cortex-M0, NXP LPC111x mungkin layak untuk dilihat. Memang, itu tidak datang dengan banyak memori, tetapi tersedia dalam paket DIL-28 , yang jarang untuk ARM. Atau Anda dapat menggunakan papan pengembangan seperti LPCXpresso ,
di mana bagian kanan adalah papan aplikasi, yang dapat dipisahkan dari tautan-LPC. Seperti yang Anda lihat, hampir tidak ada perangkat keras eksternal yang diperlukan untuk aplikasi tersebut. Dan jika Anda menyolder satu set header di atasnya, Anda dapat menancapkannya ke papan tempat memotong roti.
sumber
Seperti yang dikatakan Steven, ini adalah lompatan yang cukup besar untuk ARM dari mikro 8-bit, jadi harapkan sedikit pembelajaran / waktu yang dihabiskan dalam perjalanan.
Saya juga tidak akan menggunakan M4 untuk ARM pertama Anda, hanya karena belum terlalu lama dan ada sedikit dukungan / info untuk itu. Saya pikir M3 atau M0 adalah pilihan yang lebih baik, dan akan banyak untuk melanjutkan.
Anda tentu dapat membuat papan Anda sendiri, tetapi mungkin akan lebih baik untuk mengambil papan dev kecil / murah terlebih dahulu. Dari segi pengembangan, ada banyak pilihan, dari yang gratis (gerhana + GCC + OpenOCD) hingga yang mahal (Keil, Rowley, dll.) Secara pribadi saya menggunakan Raisonance Ride7 IDE dan alat-alat dengan seri STM32 ARM M3 / M4s, yang sedikit lebih murah dari Keil / Rowely tapi cukup bagus.
Lihatlah salah satu papan dev sederhana dari seseorang seperti ST, Olimex, dll. Papan dev ini memiliki skema paling sederhana yang bisa saya temukan, untuk STM32 Cortex-M3.
sumber
The Arduino Karena harus keluar cukup segera:
Chip adalah SAM3X8 Cortex-M3 dari Atmel. Mungkin pantas ditunggu jika Anda sudah terbiasa dengan papan gaya Arduino dan dokumentasi gaya Atmel. Dan karena itu akan menjadi open source untuk memenuhi persyaratan Arduino, Anda tentu saja bisa menggunakan breadboard-duino itu.
sumber
Saya akan merekomendasikan Anda memeriksa Mbed dengan perangkat korteks-m3 dengan beberapa periferal yang bagus, nxp menyediakan kompiler dan banyak perpustakaan dan perpustakaan komunitas, cara yang sangat mudah untuk memprogramnya dan sudah dalam satu paket untuk digunakan pada papan tempat memotong roti. Saya pikir ini akan menjadi cara termudah untuk beralih dari AVR ke ARM.
sumber
Banyak bagian ST dapat, setidaknya jika tidak menggunakan transceiver USB, menjalankan osilator kecepatan tinggi internal mereka.
Itu pada dasarnya berarti "sirkuit" Anda terdiri dari bypass caps dan beberapa resistor pada hal-hal seperti reset dan sebagai terminasi pada antarmuka SWD.
Papan eval $ 8-10 ST akan memprogram bagian-bagian yang Anda letakkan di papan Anda sendiri di atas bus SWD; ada alat open source untuk mereka juga, sehingga Anda dapat menempatkan operasi pemrograman tepat di Makefile Anda.
Melakukan sesuatu dalam 48 PQFP mungkin akan membuat hidup lebih mudah pada upaya papan pertama Anda. Anda dapat memasang ini tanpa perbesaran (hanya memiliki jalinan halus yang tersedia untuk memperbaiki satu atau dua jembatan yang mungkin Anda buat per sisi), tetapi memiliki pembesar yang tersedia untuk memeriksa pekerjaan Anda akan sangat membantu.
sumber