Mengapa TI memiliki begitu banyak mikrokontroler?


44

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?


5
Karena Anda mengambil keputusan tentang kebutuhan Anda, maka cari dan temukan yang cocok dengan 90% alih-alih hanya membeli yang dapat melakukan semuanya dan 150% lebih banyak untuk harga tiga kali lipat.
PlasmaHH

4
@PlasmaHH 90% bukan pilihan yang baik :)
Eugene Sh.

39
Mengapa ada begitu banyak mobil untuk dipilih ketika saya hanya ingin cara untuk pergi ke tempat kerja saya?
Wouter van Ooijen

9
Super-mega kira-kira: 1) MSP430: aplikasi daya & baterai rendah; 2) C2000: kontrol motor & elektronik daya; 3) Tiva (TM4C): prosesor ARM tujuan umum; 4) Sitara: jauh lebih maju (korteks A8, A9 dan seterusnya), Anda dapat menjalankan linux di atasnya; 5) Hercules: aplikasi keamanan. Juga ada banyak DSP (C5000 dan C6000). Tautan ini mungkin bermanfaat. TI juga memiliki banyak tautan panduan pilihan yang belum saya gunakan secara pribadi, bahkan 10% darinya, jadi tidak bisa dikatakan lagi ...
GAttuso

9
Sebagian dari jawabannya adalah bahwa TI telah membeli sejumlah pabrikan mikrokontroler yang sukses dan semi-sukses serta pengembangan dan produksi yang berkelanjutan dari jalur-jalur tersebut.
DoxyLover

Jawaban:


123

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:

  • Hercules adalah kelanjutan dari garis TMS470 / TMS570. Ini berfokus pada keselamatan dan kinerja. Salah satu fitur utama Hercules adalah CPU ganda yang menjalankan kode yang sama secara paralel ("kunci-langkah"). Ini memungkinkan Anda segera mendeteksi kesalahan pada CPU itu sendiri. Lihat lembar data ini untuk beberapa info kinerja pada produk yang lebih baru. CPU Cortex-R5F beroperasi pada> 300 MHz, dan ada sejumlah besar periferal dengan fitur kelas atas - modul CAN memiliki 64 kotak surat, misalnya. Jelas, barang ini tidak murah. Tetapi lihat aplikasi - defibrillator, ventilator, elevator, pompa insulin ... ini adalah tempat di mana pelanggan bersedia membayar untuk keselamatan. Hercules juga masuk ke produk otomotif yang memiliki kisaran suhu yang lebih luas dan masa operasi lebih lama.
  • Fokus C2000 adalah mendukung algoritma kontrol. C28x "CPU" benar-benar DSP, dan set instruksinya telah diperluas untuk menangani hal-hal seperti trigonometri dan bilangan kompleks. Ada juga prosesor berbasis tugas yang terpisah yang disebut Control Law Accelerator (CLA) yang dapat menjalankan algoritma kontrol secara independen dari CPU. ADC dan PWM juga mendukung banyak opsi pengaturan waktu. Performanya bervariasi dari midrange ( Piccolo ) hingga high-end ( dual-core Delfino ). Aplikasi besar di sini adalah konverter daya, komunikasi saluran listrik, drive industri, dan kontrol motor.
  • MSP430 adalah tentang daya rendah. Mereka memiliki beberapa produk yang digunakan FRAM (memori nonvolatile feroelektrik), yang menggunakan daya kurang dari flash, dan bahkan salah satu yang berjalan off dari 0.9V (satu baterai). Mereka memiliki beberapa periferal yang kurang umum untuk mendukung hal-hal seperti LCD dan penginderaan sentuh kapasitif. Lihatlah lembar datanya dan Anda akan melihat aplikasi seperti sensor jarak jauh, alarm asap, dan meter cerdas.
  • Saya tidak tahu banyak tentang grup MCU Nirkabel, tetapi jelas konektivitas nirkabel memiliki persyaratan khusus sendiri. Mereka tampaknya memiliki CPU Cortex-M dan MSP430, dengan aplikasi dalam elektronik konsumen dan Internet of Things. IOT telah menjadi kata kunci besar untuk sementara waktu sekarang, jadi saya membayangkan itu salah satu target utama mereka. Terbaru (?) Mereka produk digambarkan sebagai "Internet-on-a-chip ™ solusi". MEMPERBARUI: Rekan TIer justinrjy berkomentar dengan info lebih lanjut tentang Nirkabel / Konektivitas MCU: "Produk 'MCU Nirkabel' dibedakan dengan memiliki inti prosesor yang menjalankan driver / tumpukan protokol nirkabel. Misalnya, CC26xx menjalankan seluruh tumpukan BLE pada uC sendiri, membuatnya sangat mudah untuk dikembangkan. Sama dengan CC3200, kecuali bahwa prosesor menjalankan semua driver WiFi di Cortex-M4. Core dan driver terintegrasi adalah apa yang membuat ini menjadi 'MCU Nirkabel', bukan transceiver . "

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.


3
Wow jawaban yang bagus! Fantastis! Terima kasih, Pak, telah meluangkan waktu Anda yang berharga dan menjawab pertanyaan saya dengan seksama. Saya suka TI, dan saya akan senang bekerja untuk TI suatu hari nanti. Kalian melakukan hal-hal hebat di TI.
Andy_A̷n̷d̷y̷

4
@ Jeremy: Untuk uang yang cukup, pada dasarnya Anda bisa mendapatkan apa saja (uang itu bisa dibeli). Namun ketahuilah bahwa ide Anda tentang "volume besar" dan yang oleh pabrikan mungkin tidak sama persis. Saya ingat bahwa RaspberryPi Foundation sangat sulit berbisnis dengan Broadcom, karena mereka (Broadcom) biasanya tidak berurusan dengan angka "rendah" seperti itu ...
DevSolar

5
Sepuluh Sen? Saya pernah bekerja di suatu tempat di mana mencukur 1/10 persen dari biaya produksi bernilai lebih dari gaji setahun untuk seorang insinyur senior. Tentu saja, pada skala itu, mereka tidak membeli MCU terpisah: Mereka melisensikan IP dan menggunakannya dalam desain ASIC yang sepenuhnya disesuaikan.
Solomon Slow

4
Insinyur Aplikasi TI berdentang di sini - Saya mungkin bisa mengisi sedikit celah pada info mengenai bagian Konektivitas / Nirkabel MCU! Produk "Wireless MCU" dibedakan dengan memiliki inti prosesor yang menjalankan driver / tumpukan protokol nirkabel. Sebagai contoh, CC26xx menjalankan seluruh tumpukan BLE pada UC sendiri, membuatnya sangat mudah untuk dikembangkan. Sama dengan CC3200, kecuali prosesor yang menjalankan driver WiFi semua pada Cortex-M4. Inti dan driver terintegrasi benar-benar yang menjadikannya "MCU Nirkabel", alih-alih transceiver.
justinrjy

2
@ Rev1.0, Hard Disk Drives untuk PC komoditas.
Solomon Slow

27

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.


6
Core Cortex berdaya rendah disebut MSP432 untuk (minimal) membedakannya dari MSP430. Stellaris menjadi Tiva. Dan seri Hercules itu sendiri dibagi antara otomotif, dan seri industri / medis - terutama pada kisaran suhu dan DAPAT mendukung otomotif saya pikir.
Brian Drummond

1
Pada satu titik IIRC, Hercules adalah inti Cortex-Rx, lengkap dengan pipa instruksi langkah-ganda. Dimaksudkan untuk digunakan dalam pengontrol rem, modul kantung udara, dll.
Krunal Desai

1
Jawaban yang sangat bagus Anda sepertinya tahu banyak tentang TI. Saya tidak tahu mereka memperoleh MCU Mikro Luminary. Terima kasih atas waktu Anda.
Andy_A̷n̷d̷y̷

18

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:

~2700  8-bitters: from 384 bytes Flash and 16 bytes RAM to 128 KB Flash and 4 KB RAM 
~1000 16-bitters: from 4 KB Flash and 256 bytes RAM to 1 MB Flash and 96 KB RAM
 ~500 32-bitters: from 16 KB Flash and 4 KB bytes RAM to 2 MB Flash and 512 KB RAM

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:

masukkan deskripsi gambar di sini

Sekarang dengan akuisisi Atmch dari Microchip, akan menarik untuk melihat apa yang terjadi. Tampaknya ada sedikit tumpang tindih di beberapa baris.


15

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.

  • Adakah kendala khusus lainnya? Seperti yg disebutkan; beberapa mikrokontroler memiliki periferal yang sangat spesifik untuk manajemen daya (modul PWM hi-res) atau keselamatan (redundansi, pengawas deterministik & siklus reset, dll.).

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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.