Jeffrey Cross
Jeffrey Cross

Mengapa Saya Teruja Itu Microchip Membeli Atmel

Sega vs Nintendo, Mac vs PC, Android vs iOS ... industri teknologi telah melahirkan bahagian yang saksama daripada "perang suci" pada zaman kita. Tetapi ada yang mempunyai Makmal dan jurutera tertanam dalam senjata sejak tahun sembilan puluhan - peperangan mikrokontroler 8-bit: PIC Microchip vs Atmel's AVR.

Dengan pengumuman Rabu bahawa Microchip akan membeli Atmel dengan harga $ 3.56 bilion, apakah perang akhirnya berakhir? Apakah ini bermakna untuk masa depan pembangunan tertanam?

Mungkin tidak banyak dalam jangka masa pendek. Microchip dan Atmel akan terus menghasilkan dan menyediakan sokongan untuk peranti sedia ada mereka dengan baik ke masa depan, kerana, dengan baik, mereka berada dalam segalanya. Di rumah anda, di dalam kereta anda, di dalam poket anda - Microchip telah menghantar lebih dari 12 bilion PIC kepada tarikh, dan Atmel megaAVR adalah cip yang menguasai Arduino pertama, yang memperkenalkan Skor Pembuat ke dunia pengkomputeran fizikal.

Ada banyak janji di sini. Microchip / Atmel mempunyai peluang untuk menggabungkan yang terbaik dari dunia AVR dan PIC ke platform microcontroller yang hebat. Walaupun semakin popular dan semakin berkurangan kos cip ARM 32-bit yang kuat, masih terdapat banyak aplikasi di mana 8 bit adalah semua yang anda perlukan.

Jadi apakah perbezaan antara PIC dan AVR, dan adakah ia penting? Sekiranya anda baru memulakan dunia dalam perisian terbenam, anda mungkin baik untuk pergi ke papan Arduino dan alat yang mudah digunakan. Tetapi apabila anda mahu mengambil langkah seterusnya - mengubah prototaip anda menjadi peranti siap pengeluaran, atau membina aplikasi kritikal masa - anda perlu membuat pilihan.

AVR: Open Source, Maker Friendly

Jika anda telah menggunakan Arduino sebelum ini, anda telah memprogramkan AVR - ia berada di Uno, Pro, Mega, Gemma, LilyPad, Leonardo, Diecimilia, Duemilanove, dan banyak lagi. Ia popular dengan Makers kerana ia telah dipelopori oleh komuniti sumber terbuka. Jika anda ingin memulakan pengaturcaraan AVR secara mandiri, semua alat yang anda perlukan boleh didapati secara percuma, untuk semua sistem operasi. AVR-GCC adalah pengkompil C yang lengkap dan disokong dengan baik (jika anda menggunakan Mac, persediaan semudah memasang CrossPack), dan utiliti AVRDUDE membolehkan anda meng-upload kod anda ke mikropengawal AVR menggunakan salah satu daripada banyak peranti pengaturcaraan seperti Atmel rasmi AVRISP mkII atau Programmer Pocket AVR Sparkfun.

The "R" dalam AVR bermaksud RISC: pengurangan arahan komputer yang dikurangkan. Maksudnya ialah jika anda mahu mendapatkan tangan anda kotor dengan beberapa bahasa perhimpunan, anda akan mempunyai letupan. Set instruksinya baik untuk penyusun C dan cukup mudah untuk membolehkan pengekalan tangan rutin masa yang dibina. Ada banyak projek AVR yang luar biasa di luar sana yang melakukan perkara-perkara yang luar biasa dengan bahasa pemasangan: Linus "lft" papan demo Kraftangan, Phasor, dan Bitbanger, konsol permainan Uzebox, dan projek Terminalscope saya sendiri yang boleh membiarkan anda melayari web di oscilloscope anda.

Malangnya, di mana AVR jatuh pendek adalah bang untuk wang anda. ATmega328P, jantung Arduino Uno, berharga $ 3.70 untuk pakej DIP papan roti. Ini menjadikan anda 32K ROM untuk kod anda, 2K RAM, dan 23 I / O pin: enam daripadanya boleh digunakan untuk membaca voltan analog, dan enam daripadanya boleh mengeluarkan isyarat PWM untuk memandu motor atau LED memudar. Jika anda mahukan lebih banyak pin atau lebih banyak memori - katakan, 16K RAM dan 32 I / O pin, dalam pakej DIP 40 pin - anda perlu menaik taraf ke ATmega1284, yang akan mengetepikan anda $ 7.67! Sekiranya anda OK dengan pematerian permukaan gunung, terdapat pilihan yang lebih murah dengan peranti eksotik yang lebih eksotik seperti USB onboard, tetapi anda akan mendapati bahagian yang serupa dari pengeluar lain pada sekerat kecil harga itu.

"Ada PIC untuk itu"

Sebelum Arduino, Microchip PIC adalah cip pilihan untuk penggemar dan profesional. Barisan produk mereka adalah besar, mereka dibungkus dengan periferal, dan mereka murah. Mahu 28 saluran input analog dalam pakej DIP? PIC16F1717 ialah $ 2. Ingin membuat sesuatu yang sejuk yang bercakap dengan komputer anda melalui USB? PIC16F1454, $ 1.40, tiada komponen tambahan diperlukan!

Microchip telah meletakkan beberapa perkakasan yang menarik di PIC mereka yang boleh mengurangkan atau menghapuskan keperluan untuk komponen luaran, yang berpotensi mengurangkan kos. Ramai yang mempunyai penukar digital-ke-analog (DACs) untuk menghasilkan voltan keluaran analog yang benar. Generator Waveform Complementary dapat memudahkan pemanduan motor DC. Dan Sel Logik yang dikonfigurasikan seperti FPGA kecil: ia boleh melakukan operasi mudah (AND, OR, XOR, dan banyak lagi) pada isyarat input dan laluannya ke output tanpa campur tangan dari pemproses utama - walaupun dalam mod tidur.

Jadi PICs adalah tanah yang murah, tersedia secara meluas, dan mempunyai banyak barangan yang sejuk di atas kapal - apakah kelemahan itu? Mengapakah AVR yang meningkat ke pemotretan dalam revolusi mikrokontroler Maker pada pertengahan tahun 2000 dan bukannya PIC? Ramai yang mengatakan bahawa ia adalah alat. Walaupun terdapat banyak alat percuma dan sumber terbuka di luar sana untuk pembangunan AVR, jika anda mahu program PIC, anda perlu menggunakan perisian dan perkakasan Microchip.

Sehingga beberapa tahun yang lalu, pembangunan PIC ini terhad kepada pengguna Windows sahaja. Persekitaran pembangunan bersepadu semasa Microchip (IDE), MPLAB X, dibina di atas platform NetBeans, dan berjalan pada Windows, OS X, dan Linux. Muat turun adalah 500+ MB yang besar. Antara muka pengguna boleh menakutkan, dengan pelbagai bar alat, sidebar, dan dialog konfigurasi. Sekiranya anda lebih banyak jenis baris arahan, ada kemungkinan skrip dikebumikan jauh di dalam paket aplikasi MPLAB X untuk memuat naik kod ke cip anda.

Tidak seperti seni bina RISC bersih AVR, memori PIC dibahagikan kepada 128 bait, satu-satunya yang boleh aktif pada satu masa. Pengaturan ini menghalang perkembangan penyusun sumber terbuka. Peranti Kecil C Compiler adalah satu-satunya yang saya tahu. Saya telah menggunakannya untuk menghasilkan hasil kerja, tetapi ia mungkin tidak menyokong semua ciri cip terkini, dan mempunyai beberapa bug. Sekiranya anda ingin program PIC di C, satu-satunya pilihan lain ialah pengkomputeran XC8 Microchip. Versi percuma tidak melakukan pengoptimuman pada kod anda: jika anda ingin membina kod terpantas yang mungkin, anda perlu membeli lesen Pro, yang akan menetapkan anda kembali seribu dolar. Beban yang wajar untuk seorang jurutera profesional yang menghantar satu juta peranti, tetapi sedihnya keluar dari jangkauan untuk kebanyakan penggemar.

Setakat pemrogram peranti pergi, PICkit 3 ($ 50) adalah satu-satunya peranti yang dijamin untuk menyokong model PIC terkini. Mereka boleh menjadi sukar untuk ditubuhkan (saya tidak akan bekerja dengan Mac saya keluar dari kotak itu, dan saya terpaksa menggunakan PC Windows untuk menaik taraf firmwarenya) tetapi melakukan kerja dengan baik.

Masa depan

Saya memimpikan Microchip / Atmel yang mengeluarkan generasi baru mikropengawal dengan seni bina AVR, toolchain sumber terbuka, dan pemilihan pelbagai peranti PIC dan harga yang rendah - tetapi sudah terlambat? Peranti ARM Cortex-M 32-bit, seperti yang ada di Teensy dan Arduino Due, bersedia untuk mengambil alih pasaran murah, dan sistem Linux yang lengkap seperti Raspberry Pi Zero dan CHIP boleh dibeli untuk segelintir dolar. Tetapi ada sesuatu yang harus dikatakan untuk kesederhanaan semata-mata mikro 8-bit. Anda boleh mempelajari segala-galanya yang perlu diketahui tentang satu dalam beberapa minggu. Memadamkan setiap kejatuhan terakhir daripada cip jam - mengira jam, menulis bahasa pemasangan tangan, mengecilkan arahan untuk mendapatkan kod anda sesuai dengan bahagian yang lebih murah - ini yang membuatkan saya dan pengganggu lain yang banyak teruja tentang perkembangan terbenam.

Kongsi

Meninggalkan Komen