Saya memulai pemrograman pengontrol mikro dan saya membaca beberapa dokumentasi dan buku pelajaran. Saya sedikit bingung apa perbedaan antara Micro-controller dan Sistem pada chip?
Beberapa dokumentasi menggunakan kedua istilah ini secara bergantian. Namun sebagian besar buku pelajaran menunjukkan bahwa menggunakan kedua istilah tersebut secara bergantian TIDAK benar, sehingga harus ada beberapa perbedaan penting ...
Terima kasih!
Jawaban:
Sebuah mikrokontroler adalah prosesor yang memiliki program dan memori data terpasang. Chip ini ditujukan untuk aplikasi kontrol tertanam yang kecil, sehingga meninggalkan pin untuk I / O dan tidak memerlukan bus memori eksternal sangat berguna. Beberapa mikrokontroler hanya memiliki 6 pin, dan dapat melakukan hal-hal yang bermanfaat. Bandingkan dengan prosesor komputasi tujuan umum yang ditujukan untuk PC. Benda-benda itu memiliki 100-an pin dalam array dan membutuhkan sirkuit eksternal yang luas.
Adapun sistem pada sebuah chip, itu adalah istilah yang kurang didefinisikan dengan baik. Siprus menyebut beberapa bagiannya PSOC (Programmable System on Chip). Ini pada dasarnya adalah mikrokontroler dengan FPGA kecil pada chip yang sama. Alih-alih memiliki built in peripheral, Anda dapat membuat apa pun yang Anda inginkan dalam sumber daya yang tersedia dari FPGA.
Secara umum, saya pikir sistem pada sebuah chip adalah mikrokontroler dengan beberapa logika tingkat sistem yang seharusnya terintegrasi dengannya. Tentu saja semakin jauh Anda mencoba masuk ke sistem, semakin kecil kemungkinan satu set perangkat keras tambahan akan berguna, sehingga beberapa jenis konfigurasi sangat berguna. Namun, untuk saat ini "system on chip" lebih merupakan istilah pemasaran daripada apa pun yang nyata.
sumber
System On a Chip (atau SoC) adalah ungkapan umum yang digunakan orang pemasaran dan tidak terlalu berarti. Ada juga banyak variasi seperti:
PSoC: Sistem yang Dapat Diprogram Pada Chip, oleh Cypress Semiconductor.
SOPC: Sistem pada Chip yang Dapat Diprogram, oleh Altera
Intinya, SOC adalah chip tunggal yang melakukan semua yang digunakan untuk mengambil banyak chip. Tidak ada yang mengatakan harus menyertakan CPU atau RAM. Jadi, karena fakta bahwa kita bisa mendapatkan lebih banyak transistor pada sebuah chip dan kita telah mendapatkan lebih banyak fungsionalitas pada chip kita - hampir semuanya dapat disebut sebagai SoC jika dibandingkan dengan apa yang kita lakukan 10 atau 20 tahun yang lalu !
Untuk memperburuk keadaan: ada banyak contoh hal-hal yang disebut SoC yang masih membutuhkan banyak chip untuk membuatnya berguna. Sering kali Anda akan memiliki beberapa bentuk CPU + Periferal yang masih memerlukan Flash eksternal, RAM, dan hal-hal listrik. Jadi, bahkan nama SoC pun menyesatkan.
MCU mungkin adalah contoh yang paling ringkas tentang apa yang seharusnya menjadi SoC - tetapi ini adalah contoh yang sangat terbatas.
sumber
Secara umum mikrokontroler dianggap sebagai perangkat tertanam yang diprogram secara internal untuk melakukan tugas tertentu. Ada interaksi pengguna minimal dan sedikit atau tidak ada fleksibilitas. Sebuah mikrokontroler biasanya bertenaga rendah dengan hanya sejumlah kecil memori dan ROM (flash).
Sebaliknya System-on-Chip adalah ujung lain dari spektrum. Ini lebih diarahkan pada fleksibilitas lengkap dan interaksi pengguna. Ini sering mencakup hal-hal seperti driver IO untuk perangkat keras yang lebih besar (seperti hard drive, dll), dan bahkan kadang-kadang adaptor grafis. System-on-Chip lebih seperti sistem komputer yang lengkap, ya, pada sebuah chip.
Ada cukup banyak crossover di antara keduanya - kapan itu berhenti menjadi mikrokontroler dan mulai menjadi System-on-Chip? Dari situlah banyak kebingungan muncul.
Pada dasarnya, jika itu dapat melakukan apa yang dapat dilakukan komputer maka itu adalah System-on-Chip. Jika diarahkan, misalnya, duduk di dalam telepon meja mengelola daftar kontak Anda, atau dalam sistem entri tombol, atau menjalankan motor pada mesin CNC, maka itu adalah mikrokontroler.
ps, jangan mengutip saya tentang ini - seperti yang saya katakan ada banyak persilangan di antara keduanya.
sumber
Perbedaannya dalam beberapa hal lebih terkait dengan pemasaran daripada teknis, tetapi saya akan menyarankan bahwa secara umum bagian "yang dapat diprogram" dari mikrokontroler terbatas pada "aliran kesadaran" tunggal yang relatif sempit. Pada dasarnya, pada saat tertentu, operasi mikrokontroler yang relatif kecil berikutnya akan ditentukan oleh bagaimana itu diprogram, tetapi semua logika lain dalam sistem bawaan dan akan berkinerja seperti itu dibangun. Beberapa hal seperti timer dapat menyediakan beberapa opsi konfigurasi (mis. Menghitung pada laju tetap versus menghitung pulsa pada input) tetapi secara umum kabel sistem akan diperbaiki. Jika diinginkan untuk memiliki beberapa perubahan sinyal output dalam menanggapi beberapa sinyal input, dan tidak ada perangkat keras eksplisit untuk melakukan itu, program harus melihat sinyal input secara berkala dan, jika sudah berubah, alihkan sinyal output. Jika diinginkan untuk memiliki perubahan tegangan analog output sebagai respons terhadap tegangan analog input, prosesor dapat mengambil sampel tegangan input, menghitung respons yang diinginkan, dan meminta tegangan output yang diinginkan. Secara praktis jenis stimulus / respons yang diinginkan dapat diproduksi dengan meminta prosesor melihat input dan menghitung output, tetapi waktu respons secara umum akan menjadi perintah yang besarnya lebih lambat daripada yang dapat diproduksi dengan perangkat keras khusus.
Gagasan umum dengan sistem pada chip adalah untuk memungkinkan menyediakan sirkuit dengan multiplexer yang cukup dan fasilitas perutean lainnya sehingga sinyal dapat dialihkan melalui sirkuit untuk menghasilkan banyak jenis pola stimulus / respons yang bermanfaat tanpa intervensi prosesor. Sirkuit seperti itu tidak dapat menghasilkan pola stimulus / respons yang mendekati secepat apa yang bisa dihasilkan oleh prosesor, tetapi mereka dalam banyak kasus dapat berupa urutan besarnya lebih cepat daripada apa pun yang bisa dilakukan prosesor.
sumber
Menurut pendapat saya, SoC adalah istilah dengan banyak definisi, yang pada kenyataannya akan terus berubah seiring waktu. Di sisi lain, Mikrokontroler akan didefinisikan dengan cara yang sama setelah satu dekade seperti sekarang. Ketika Anda mengatakan Mikrokontroler, ia datang dengan beberapa hal dasar pada satu chip, seperti, memori, port IO, Pengatur Waktu dan Penghitung dan seterusnya ... Tetapi ketika Anda mengatakan sebuah SoC, ia tidak memiliki standar spesifik tentang apa jenis sirkuit yang harus dikandungnya. Sebagai contoh, aplikasi utama di mana mereka mencoba untuk membawa SoC adalah Smartphone. Pada skenario saat ini, sebuah smartphone harus mengandung beberapa hal dasar seperti,
Dalam situasi saat ini jika saya ingin membuat smartphone, saya harus mengambil CPU dan GPU dan menghubungkan semuanya dengan itu. Tapi SoC didasarkan pada konsep chip tunggal yang akan memiliki semua hal di atas dan memang memiliki kemampuan untuk berevolusi (meskipun dengan cara yang sangat mendasar). Juga, saya katakan SoC memiliki definisi yang terus berubah karena persyaratan dasar untuk smartphone, komputer atau perangkat elektronik apa pun akan meningkat dari hari ke hari dan definisi SoC akan berubah dengan persyaratan tersebut.
sumber
Ya, SoC pada dasarnya adalah istilah pemasaran yang lebih sering digunakan. Ada perangkat dan terminologi Host. Sebagian besar pembuat PC seperti Dell, HP, IBM, dll. Mereka menggunakan CPU di dalamnya yang umumnya dibuat oleh Intel, AMD, dll. Jadi mereka pada dasarnya menyediakan CPU atau SoC pada Mother Board (disebut CPU), beberapa juga menyediakan CPU + SoC (untuk tujuan tertentu untuk melepas aktivitas periferal - seperti sensor, atau perangkat GPS, yang jika tidak maka akan sangat haus daya seandainya mereka terhubung langsung ke CPU) .SoC juga kadang-kadang memanggil Co-Processor yang tugasnya sama dengan apa yang saya tulis sebelumnya. Sekarang untuk MotherBoards terhubung berbagai periferal (yang terhubung pada dasarnya CPU atau SoC), periferal ini pada dasarnya baik terhubung langsung ke mereka (SOC atau CPU) melalui sum bus - i2c, SPI, USB atau mereka umumnya terhubung ke MicroControllers . pembuat pengontrol) serta pembuat PC karena mereka mendapatkan perangkat yang lebih baik (periferal + Mikrokontroler). SO intinya adalah istilah mikrokontroler yang akan Anda lihat lebih sering di sisi perangkat (yang sedang dihubungkan dengan SoC (Sekarang Anda tahu apa itu SOC? Dont you) dan SoC di sisi Host (sisi PC) ) .Anda dapat mengatakan CPU adalah ayah yang mendelegasikan soem karyanya ke SoC untuk kemampuan daya perangkat yang lebih baik (Micro + peripheral). Pada dasarnya, memori memiliki lebih banyak memori untuk meng-host OS unliek Microcontrollers yang paling-paling dapat mendukung RTO.
sumber
Ringkas hal di atas, menurut saya:
MCU menyediakan banyak memori, antarmuka seperti VGA, dan kemampuan seperti GPU dengan menggunakan beberapa chip berbeda yang menyediakan hal-hal yang berbeda.
MCU cocok untuk semuanya dalam satu chip dengan hanya menyediakan memori minimal, antarmuka, dll.
SoC cocok untuk semuanya dalam satu chip dengan mendorong batasan apa yang bisa dilakukan pada satu chip.
MCU memberikan nilai dengan meminimalkan biaya, SoC memberikan nilai dengan memaksimalkan fungsionalitas, baik dalam satu chip. Jika bersaing dengan logika TLL, itu mungkin MCU. Jika bersaing dengan mikroprosesor (AMD, Intel), itu mungkin SoC.
sumber