Saya mengerjakan proyek dengan grup dan saya bertanggung jawab untuk bagian digital dari proyek, jadi saya akan menulis kode. Untuk beralih dari Analog ke Digital, saya harus memilih mikrokontroler.
Saya melihat mikrokontroler TI dan menemukan bahwa mereka memiliki banyak sekali. Mereka memiliki:
Stellaris
Hercules
Seri MSP430
Dan daftarnya terus berlanjut ..
Pertanyaan saya:
Kontroler mikro mana yang digunakan dan mengapa?
Dalam kondisi apa saya harus menggunakan mikrokontroler X daripada Y?
Mengapa ada begitu banyak pengontrol mikro yang berbeda?
microcontroller
texas-instruments
Andy_A̷n̷d̷y̷
sumber
sumber
Jawaban:
Saya seorang karyawan TI yang bekerja di grup pengembangan MCU, tetapi ini bukan pernyataan resmi dari TI. Secara khusus, ini bukan pernyataan resmi tentang peta jalan atau prioritas. Juga, saya tidak dalam pemasaran, jadi jika saya bertentangan dengan materi pemasaran kami, mereka benar dan saya salah. :-)
Jawaban MD sudah benar, tetapi saya pikir lebih detail akan sangat membantu. TI menargetkan aplikasi yang berbeda dengan persyaratan yang berbeda. Ketika Anda bersaing untuk soket MCU (dan ada banyak kompetisi di industri ini), baik fitur maupun harganya. Perbedaan biaya sepuluh sen dapat memenangkan atau kehilangan soket. Salah satu pendorong utama biaya adalah ukuran die - berapa banyak barang yang ada di chip. Dengan demikian, masuk akal untuk memiliki lini produk yang berbeda, dan keluarga yang berbeda dalam lini produk tersebut. Lini produk berbeda terutama dalam jenis periferal dan arsitektur, sedangkan keluarga dalam satu lini produk berbeda terutama dalam hal biaya dan fitur yang ditetapkan.
Berikut adalah beberapa detail pada lini produk:
Seperti yang Anda lihat, lini produk ini menargetkan aplikasi yang sangat berbeda dengan persyaratan yang sangat berbeda. Menempatkan chip Hercules 300 MHz ke perangkat bertenaga baterai akan menjadi bencana, tetapi begitu juga dengan menempatkan MSP430 ke dalam airbag. Ukuran fisik juga penting. Paket BGA 337-pin canggung untuk muat di sensor kecil, tapi itu bukan apa-apa untuk peralatan industri.
Di dalam lini produk, ada beberapa keluarga. Perangkat C2000 Delfino lebih cepat, memiliki lebih banyak periferal, dan memiliki lebih banyak pin pada paket mereka. Mereka juga dapat biaya (setidaknya) dua kali lipat dari perangkat Piccolo. Yang mana yang kamu butuhkan? Itu tergantung pada aplikasi Anda. MSP430 memiliki beberapa produk yang menyeimbangkan konsumsi daya dan kinerja, dan lainnya yang hanya berfokus pada daya rendah. (MCU satu baterai maksimum pada 4 MHz dan 2 kB RAM.)
Ada banyak produk dalam setiap keluarga karena produk baru dikembangkan setiap saat. Transistor menjadi lebih kecil / lebih murah, sehingga lebih banyak barang bisa menggunakan chip. MCU mid-range hari ini akan menjadi ultra-high-end sepuluh tahun yang lalu. Setiap produk biasanya dibuat untuk menargetkan beberapa aplikasi spesifik dan mendukung yang lain jika memungkinkan.
Akhirnya, ada beberapa varian dari setiap produk (AKA digit terakhir dalam nomor bagian). Ini biasanya memiliki jumlah memori yang berbeda dan (mungkin) variasi kecil dalam periferal apa yang tersedia. Sekali lagi, ini semua tentang memberikan kisaran harga.
Versi singkatnya adalah bahwa setiap produk memberikan keseimbangan harga, kinerja, dan fitur yang berbeda. Ini segmentasi pasar lama yang sederhana. Pelanggan kami adalah produsen, yang jauh lebih peduli pada perbedaan harga yang kecil daripada pengguna akhir. Orang-orang membeli setiap nomor bagian yang kami miliki, jadi jelas permintaannya ada di luar sana. :-)
UPDATE: Jeremy bertanya bagaimana persyaratan pelanggan besar mempengaruhi proses desain, dan apakah kami membuat MCU kustom. Saya telah melihat beberapa TMS470 / 570 MCU yang dibuat untuk satu pelanggan otomotif besar. Kelompok itu juga memiliki pasangan MCU yang arsitekturnya dirancang oleh dan untuk satu pelanggan. Paling tidak di salah satu dari itu, pelanggan menulis sebagian besar RTL. Itu ada di bawah batasan NDA yang berat, jadi saya tidak bisa memberikan detail.
Produk pasar umum biasanya memiliki setidaknya satu pelanggan besar dalam pikiran. Terkadang pelanggan besar mendapatkan nomor bagian khusus. Terkadang kita akan menambahkan periferal hanya untuk memenangkan soket besar. Tetapi secara umum, saya pikir pelanggan besar lebih dari lantai daripada langit-langit ketika datang ke fitur.
Contoh ekstrim suku cadang khusus adalah grup keandalan tinggi kami. Saya hanya mendengar cerita tentang orang-orang ini, tetapi tampaknya mereka mengambil produk yang sudah ada dan membuat kembali untuk bekerja dalam kondisi ekstrem - suhu tinggi, radiasi, orang-orang menembak Anda, dll. Saya kenal seseorang yang membeli HiRel TMS470 untuk pengeboran lubang bawah , di mana suhunya bisa mencapai 200C. (Mungkin yang ini - dalam stok di Arrow hanya dengan $ 400 / chip!) Mereka memiliki banyak produk standar yang terdaftar di situs web, tetapi dari apa yang saya dengar, mereka dapat membangun untuk memesan bahkan dalam jumlah kecil - Anda dapat membeli selusin versi HiRel dari setiap chip yang Anda inginkan jika Anda bersedia menghabiskan $ 50.000 + per chip. :-)
Sebagai aturan praktis, segala sesuatu dalam bisnis dapat dinegosiasikan jika Anda menghabiskan cukup uang.
sumber
MSP430 adalah / adalah inti yang dikembangkan TI. Ini adalah inti 16-bit dan telah dipasarkan sebagai daya yang sangat rendah. Karena pasar MCU 16-bit dengan cepat menguap dengan proliferasi Arm Cortex-M0, ada MSP430 yang lebih baru yang didasarkan pada inti Cortex. MPS430 lama biasanya bersaing untuk soket 8-bit sekarang.
Stellaris, diganti nama menjadi Tiva, adalah mantan MCU Mikro Luminary. Perusahaan itu diakuisisi oleh TI mungkin 6 atau 7 tahun yang lalu. Ini adalah perangkat berbasis Cortex-M3 / M4. Lebih mampu / kuat daripada MSP430 di sebagian besar keadaan.
C2000 (Piccolo / Delfino / dll.) Ditargetkan pada kontrol waktu-nyata (kontrol motor, konversi daya / regulasi, dll.). Keluarga ini juga memiliki fungsi DSP ujung bawah. Ditargetkan lebih pada industri, dan mungkin beberapa otomotif (salah satu dari beberapa MCU TI yang memenuhi syarat otomotif).
Hercules berfokus pada keamanan. Redundansi, pemeriksaan kesalahan run-time, BIST, banyak fungsi pengawas. Aplikasi penting keamanan.
Ada beberapa bagian lain yang memiliki beberapa campuran fitur dan / atau fungsi niche (yaitu, nirkabel terintegrasi, dual core, FRAM, dll.). Dan kemudian ada DSP dan Mikroprosesor yang lebih mampu yang ditawarkan, juga.
Apa aplikasi Anda? Volume? Garis waktu pengembangan? Periferal / sumber daya apa yang Anda butuhkan? Berapa banyak - dan apa jenis - kekuatan pemrosesan yang dibutuhkan? Bisakah Anda bertahan dengan periferal analog berkinerja lebih rendah dari MCU, atau apakah Anda akan melakukan semua pemrosesan jalur sinyal secara eksternal / terpisah? Ada banyak faktor dalam memilih prosesor / pengontrol untuk sistem / aplikasi tertentu.
sumber
Microchip adalah perusahaan lain yang memiliki jajaran lengkap mikrokontroler - lebih dari 4.000 yang tersedia di Digi-Key, termasuk semua varian paket. Seperti TI, mereka merentang keseluruhan dari 8 bit ke 32-bit:
Perhatikan yang terkecil ditentukan dalam byte, bukan KB.
Mereka berkisar harga dari 35 ¢ hingga $ 13,36 dalam jumlah tunggal. Saya membayangkan harga terendah mungkin berada di bawah 20 ¢ dalam jumlah besar. Mungkin bahkan 10 ¢ untuk yang belum diuji (di mana pelanggan melakukan pengujian penerimaan bukan produsen). ARM 32-bit termurah adalah dua kali lebih banyak dalam jumlah tunggal pada 76 ¢. Untuk produk volume tinggi, itu perbedaan besar. PIC10F200 adalah μC termurah dari semua hampir 15.000 yang dimiliki Digi-Key.
Microchip juga memiliki reputasi yang sangat baik untuk menjaga stok μC yang lebih lama (terdaftar dalam pemilih produk di bawah ini sebagai "Dewasa"), yang merupakan hal lain yang perlu dipertimbangkan.
Bagaimana memahami semua itu? Gunakan pemilih produk. Digi-Key, Mouser dan distributor lain memiliki yang cukup bagus, tetapi mereka tidak menyertakan semua parameter (pemilih produk μC Digi-Key memiliki kurang dari 20, tabel di bawah ini memiliki lebih dari 50). Microchip (dan saya bayangkan produsen lain) memiliki yang lebih luas, seperti yang ada di bawah ini. Perhatikan bahwa Anda dapat memberikan rentang untuk hampir semua parameter:
Sekarang dengan akuisisi Atmch dari Microchip, akan menarik untuk melihat apa yang terjadi. Tampaknya ada sedikit tumpang tindih di beberapa baris.
sumber
Tanpa menjelaskan secara terperinci penawaran yang dimiliki TI (yang telah dijawab di sini), saya ingin menekankan bahwa Anda memerlukan spesifikasi. Jika Anda tidak memilikinya, anggaplah tugas Anda untuk mengidentifikasi mereka. Ini mungkin sedikit berlebihan jika Anda baru, tetapi beri nama beberapa spesifikasi yang mungkin terjadi dalam proyek:
Apa yang akan dilakukan MCU? Apakah dibatasi oleh waktu CPU? Apakah Anda akan melakukan beberapa "pemrosesan khusus" seperti floating point? Ini akan menentukan kecepatan CPU core & clock yang diperlukan.
Atau dibatasi oleh daya tahan baterai? Jika begitu; Anda perlu menyelidiki mode siaga yang ditawarkan mikrokontroler, latensi untuk bangun, sumber bangun, rel tegangan untuk digital & analog (mis. jika Anda menyalakannya langsung dari baterai), dll. Selain itu, perhatikan semua I / O dalam sistem juga. Anda dapat memiliki mikrokontroler yang hebat yang mengonsumsi 50nA selama tidur - tetapi diabaikan jika mis. LDO atau EEPROM mengkonsumsi 10uA diam.
Paket apa yang bisa / perlu Anda gunakan? Berapa pin & teknologi apa? Berapa banyak ruang yang Anda punya, apa yang bisa Anda dapatkan?
Berapa banyak kode yang akan Anda tulis untuk itu? Apakah Anda tahu berapa banyak RAM / FLASH yang Anda butuhkan? Beberapa pengalaman langsung di devboard dapat membantu dalam hal ini.
Antarmuka apa yang perlu Anda gunakan dalam desain sistem Anda, dan bagaimana Anda ingin menggunakannya? Titik awal dasar:
1) Kendala kecepatan (mis. Saya membutuhkan USART yang berjalan di 3 MBaud)
2) Batasan jumlah pelabuhan (mis. Saya perlu 5 USART)
3) Batasan throughput (mis. Saya perlu DMA untuk mentransfer 2Mbps data ke / dari USART)
4) Amati segala "peristiwa" yang mungkin terjadi dalam sistem dan latensi apa yang harus Anda penuhi. Misalnya, bisakah Anda polling pin peringatan suatu perangkat atau Anda memerlukan pin interupsi eksternal untuk itu?
Ini bisa menjadi pertanyaan sulit tidak peduli apakah Anda mendesain "bottom up" atau "top down". Jika Anda mendesain "top down", Anda mungkin tahu pada titik ini tidak ada mikrokontroler dengan 16 USART yang diterima oleh desain sistem.
OTOH jika Anda mendesain "bottom-up", Anda dapat memilih mikrokontroler yang Anda kenal dan kenal, tetapi ketahui bahwa ia tidak memiliki jumlah I / O yang tepat, dan membutuhkan "chip lem" untuk bekerja.
Jika ada; buat diri Anda terbiasa dengan penawaran dari vendor. Sangat menyenangkan untuk mengetahui di mana kendala adalah ketika Anda memasukkan semua keinginan Anda ke dalam pencarian parametrik dan mendapatkan 0 hasil.
Itu selalu merupakan ide yang baik untuk mengidentifikasi hambatan dalam suatu desain dan mencoba menyelesaikannya. Papan pengembangan dapat menjadi pengalaman "langsung" yang baik untuk menguji kode Anda dalam hal waktu CPU, persyaratan memori, dan "kebiasaan" yang mungkin dimiliki mikrokontroler.
sumber