Saya memiliki fantasi rahasia (oops, bukan rahasia lagi) untuk membangun komputer sederhana dari awal. Saya mencari mikroprosesor yang mudah digunakan untuk memulai. Saya tahu tentang tersangka biasa seperti 6502, 68000, 8086, Z80, dll. Tapi saya ingin tahu apakah ada sesuatu yang lebih baik di luar sana. Inilah daftar keinginan saya:
Harus memiliki:
- Laju clock rendah (4-25 MHz)
- Tidak lebih dari 40-60 pin, lebih disukai dalam konfigurasi DIP
- Kemampuan untuk mengatasi sekitar 64KB memori, tetapi hingga 1MB atau lebih akan lebih baik
- Arsitektur program tersimpan (bukan ruang instruksi hanya baca) (Sunting: ini mengesampingkan sebagian besar mikrokontroler kelas bawah, seperti PIC dan AVR)
- Model memori datar, tidak dibelokkan atau tersegmentasi seperti 8086
Ingin, tetapi tidak perlu memiliki:
- Set instruksi RISCy (load-store)
- Register tujuan umum
- Bermacam-macam pin I / O TTL
- Built-in flash ROM
Apa mikroprosesor atau mikrokontroler yang akan Anda sarankan itu relatif mudah untuk kawat dan mendapatkan rutin ROM pertama yang ditulis untuk?
Tujuan saya adalah mendapatkan sistem Forth (atau serupa) yang sederhana. Hanya untuk mengatakan saya berhasil.
Sunting: Setelah melakukan sedikit riset, saya pikir sesuatu seperti ARM7 akan cocok untuk saya. Muncul dengan jumlah flash dan SRAM yang tidak sepele untuk dimainkan - kadang-kadang sebanyak 256K flash dan 64K SRAM - bersama dengan I / O digital, ADC, seri I / O, dan banyak lagi.
Ini satu: papan pengembangan STR711 ARM .
sumber
Jawaban:
Saya setuju bahwa ARM adalah cara untuk menggunakan mikrokontroler 32-bit. ARM ada di mana-mana dan bahasa rakitannya dapat digunakan di berbagai keluarga mikrokontroler. ARM juga memiliki dukungan yang baik dari toolchain GCC. Arsitektur chip ARM7TDMI telah mendominasi ruang mcu 32-bit dalam 5 tahun terakhir dan ARM Cortex-M3 adalah pengganti yang muncul. Cortex-M3 memang memiliki arsitektur Harvard (instruksi terpisah dan ruang alamat data), tapi saya rasa itu bukan batasan.
Micromint memiliki reputasi yang solid, dan mereka menawarkan papan Cortex-M3 dengan opsi yang dapat dikonfigurasi dengan harga yang layak. Namun, jika Anda benar-benar membutuhkan konfigurasi DIP, saya sudah sukses dengan mbed
Sekarang, hal selanjutnya adalah bahasa. Anda menyebutkan FORTH. Saya juga merekomendasikan Python-on-a-Chip dan eLua sebagai bahasa yang kuat dan mudah dipelajari yang bekerja pada platform target ukuran ini. eLua lebih berkembang sepenuhnya tetapi memiliki kebutuhan sumber daya yang lebih besar daripada Python-on-a-Chip. Pengungkapan penuh: Saya penulis VM PyMite yang digunakan dalam Python-on-a-Chip. Jadi, jika tujuan Anda adalah membuat bahasa Anda sendiri, saya sepenuhnya memahami kegembiraan dari latihan itu.
sumber
Untuk hal-hal kecil UC Arduino , murah, menyenangkan, komunitas yang baik
Untuk mesin kelas ARM yang termurah mungkin steker sheeva mereka membuat mesin lengkap yang luar biasa dibangun menjadi catu daya wallwart dan mesin papan tunggal yang sedikit besar dengan lebih banyak i / o
Atau ada papan beagle , lebih ditujukan untuk kinerja audio / video.
Semuanya menjalankan linux sehingga Anda memiliki sejumlah besar perangkat lunak pengembangan
sumber
MSP430 dari Texas Instruments memiliki konsumsi daya yang sangat rendah, set instruksi yang kecil tapi sangat waras (tidak seperti PIC), alat open-source dan format DIP dalam garis nilai mereka. Mereka baru saja merilis kit starter $ 4,30 (ya, itu empat dolar tiga puluh sen, gratis biaya pengiriman) yang mencakup antarmuka USB untuk pemrograman dan debugging dan dua chip DIP untuk dimainkan. Lihat itu .
sumber
Anda bisa mendapatkan FPGA dan mengejek semuanya - tidak perlu prosesor.
Saya tergoda untuk mencoba dan membuat komputer MIPS sederhana sebelumnya. Saya punya desain CPU dasar, tetapi akan sulit untuk mengatakan paling tidak untuk kawat-bungkus atau prototipe keluar.
sumber
Lihat mikrokontroler ATmega Atmel, mereka memiliki semua yang Anda minta kecuali kemampuan mengeksekusi kode dari RAM, dan mereka sangat mudah diatur.
Beberapa prosesor ARM 32 bit kecil seperti ARM7TDMI akan menjadi alternatif, tetapi ini tidak datang dalam paket DIP. Hal yang sama berlaku untuk mikrokontroler Renesas R8C / M16C.
sumber
Kedengarannya seperti proyek hebat! Saya melakukan satu kembali pada 70-an dengan chip 8008, dan sedikit RAM dan ROM. Saya memprogramnya untuk memainkan sedikit nada dengan speaker yang terhubung ke port I / O. Bagian dari rangkaian memori melibatkan chip timer yang dikendalikan oleh kapasitor. Saya menyolder pada kapasitor tambahan yang, ketika didorong ke kontak, membuat semuanya melambat 1000. Kemudian saya gunakan di kelas sebagai demonstran. Pertama saya akan menjalankannya lambat dan siswa dapat mendengar speaker akan klik, klik. Kemudian saya melepas kapasitor, dan mereka mendengar nada. Saya mencoba memberi kesan pada mereka bagaimana komputer menyelesaikan satu instruksi sebelum memulai yang berikutnya.
sumber
Lihat OLIMEX mereka memiliki papan pengembangan untuk sebagian besar pengontrol mikro modern dan jika Anda benar-benar ingin DIP mereka memiliki prosesor ARM di papan dalam format suka DIP ( 1 ). Mereka juga menjual JTAG dan memiliki beberapa kode demo yang tersedia untuk sebagian besar papan (gcc) sehingga sangat mudah untuk dibangun dan dijalankan. Sebagian besar papan mereka tersedia melalui Sparkfun . Saya pribadi suka mikropon berbasis LPC ARM Phillips tetapi apa pun dari Olimex bagus.
AVR32 juga akan bekerja untuk Anda (non-havard). Saya baru saja mulai menggunakannya dan sangat terkejut betapa mampu dan mudahnya menggunakannya.
Untuk membangun dari awal sebenarnya bukan pilihan hari ini kecuali jika Anda menggunakan micro 8 bit dip atau memiliki pengaturan untuk menyolder papan pemasangan permukaan dan men-debug papan pc digital yang kompleks.
sumber
Tergantung pada tujuan Anda, Anda mungkin ingin mempertimbangkan untuk membangun CPU Anda sendiri dengan fitur yang Anda inginkan, daripada menggunakan CPU yang ada. Lihatlah Homebuilt CPU webring. Bahkan ada penggemar
gilayang membangun CPU dari relay!sumber
Propeller Parallax
Satu-satunya prosesor 32-bit yang saat ini sedang diproduksi dalam paket DIP adalah Parallax Propeller . (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). Selain IDE Windows, ada juga beberapa alat pengembangan untuk itu yang berjalan di Linux .
Tampaknya memenuhi semua persyaratan Anda kecuali untuk "ROM flash bawaan" - sebaliknya, Propeller melakukan bootload dari EEPROM 8-pin eksternal. (Itu satu hal lagi untuk dipasang, tetapi jauh lebih mudah untuk memasang chip 8-pin daripada kebanyakan chip penyimpanan program eksternal).
sumber
+1 Untuk ATmega micros. Anda mendapatkannya dengan boot loader untuk pemrograman melalui USB - membuatnya lebih mudah untuk menjalankan board pertama tanpa perlu mendapatkan programmer yang berdedikasi. Anda akan kehilangan barang-barang ICE jika Anda pergi rute ini sekalipun.
sumber
Voting kedua untuk Amtel. Saya terutama suka amat kecil ++ untuk prototipe dan eksperimen. USB memasok daya, menyediakan antarmuka pemrograman, dan menampilkan output debug. Alat dev GNU. Banyak kesenangan untuk sekitar $ 30.
sumber
Atmel akan menjadi sangat populer, arduinos (saya suka model pro di sparkfun) sendiri sangat populer. Anda akan menemukan banyak penggemar di luar sana yang akrab dengan dan dapat menjawab sebagian besar pertanyaan tentang penggunaan AVR.
Saya lebih suka set instruksi msp430 untuk AVR, dan set instruksi lengan di atas yang lain. Olimex membuat sejumlah papan "header" yang sempurna untuk percobaan. Luminary micro memiliki beberapa yang bagus tetapi banyak pin yang dikonsumsi oleh chip memamerkan peripheral chip, baik untuk mempelajari chip dan fitur, tetapi Anda akhirnya ingin memotongnya untuk mendapatkan I / O. Pokoknya olimex baik, coba http://www.sparkfun.com dan telusuri papan pengembangan, ada yang dari olimex ada yang dari sparkfun, banyak pilihan dan banyak di bawah $ 40 atau $ 50 sehingga Anda dapat mencoba beberapa untuk melihat apa yang Anda seperti. Saya akan memesan armmite, yang jika sesuai dengan daftar fitur mungkin merupakan papan pengontrol terbaik untuk keperluan saya.
sumber
Saya memiliki mimpi yang sama, hanya saja tidak pernah benar-benar berhasil.
Sebagian besar rekomendasi di atas adalah untuk papan dev. Karena Anda mengatakan "dari awal" Saya menganggap Anda ingin memulai dengan chip prosesor DIP tunggal dan tidak membeli papan dev. Dalam hal ini saya akan sangat merekomendasikan Anda tetap dengan sesuatu seperti tersangka yang biasa Anda daftarkan di posting Anda. Mereka populer karena mereka bekerja dengan baik untuk tugas seperti itu. Anda dapat mengatasi kebutuhan akan lebih banyak saluran I / O dengan multiplexer dan demultiplexer.
Misalkan Anda memang menemukan CPU "sempurna" yang melakukan semua yang Anda inginkan, dan memiliki jumlah garis IO yang Anda inginkan. Anda tidak akan menemukan sedikit pun dari dukungan yang akan Anda temukan untuk prosesor populer. Anda seharusnya dapat dengan mudah menemukan buku bekas di E-Bay, Amazon, dll. Hanya untuk uang yang menunjukkan cara mendesain sistem lengkap menggunakan prosesor tersebut. Belum lagi situs web, kompiler, dan orang lain melakukan hal yang sama.
Jika Anda pergi dengan hal lain, saya pikir Anda akan sangat menyesalinya. Anda akan menghabiskan lebih banyak waktu frustrasi karena kurangnya dukungan daripada Anda akan mengatasi masalah teknis yang Anda miliki dengan prosesor tersebut. Plus, karena orang telah merancang seluruh komputer dengan chip itu, Anda tahu itu bisa dilakukan. Dengan hal lain, selalu ada kemungkinan Anda akan menabrak dinding bata.
sumber
Pilih Atmel AVR. Berikut ini beberapa platform game di sekitarnya:
sumber
Saya lebih suka set instruksi msp430 untuk AVR, dan set instruksi lengan di atas yang lain.
sumber