мікроконтролер проти системи на мікросхемі


24

Я починаю програмування мікроконтролерів і читав деяку документацію та підручники. Я трохи розгублений, яка різниця між мікроконтролером та системою на чіпі?

Деяка документація використовує ці два терміни по-різному. Однак більшість підручників зазначають, що використання двох термінів між собою мінливо НЕ коректно, тому повинна бути якась помітна різниця ...

Спасибі!


4
Дякуємо, що прийняли мою відповідь, але я дуже рекомендую наступного разу почекати довше, перш ніж приймати. Інші, мабуть, мають різні погляди та уявлення, але часто можуть задавати питання, на яке вже є прийнята відповідь - я знаю, що це роблю. Ви хочете залишити деякий час для збору консенсусу, особливо для питання, яке стосується сірої зони.
Олін Латроп

@Olin Cool, майте це на увазі наступного разу!
rrazd

Відповіді:


27

Мікроконтролер - це процесор, в якому вбудована пам'ять програми та даних. Ці мікросхеми призначені для невеликих вбудованих програм управління, тому залишати штифти для вводу-виводу та не потребувати зовнішньої шини пам'яті дуже корисно. Деякі мікроконтролери мають всього 6 контактів, і вони можуть робити корисні речі. На противагу цьому обчислювальному процесору загального призначення, призначеному для ПК. Ці речі мають 100-ма штифтами в масиві і потребують великої зовнішньої схеми.

Що стосується системи на чіпі, то це менш чітко визначений термін. Кіпр називає частину своїх частин PSOC (програмована система на чіпі). Це в основному мікроконтролер з невеликим FPGA на тому ж мікросхемі. Замість того, щоб вбудовувати периферійні пристрої, ви можете робити все, що завгодно, у межах доступних ресурсів FPGA.

Взагалі, я думаю, що система на мікросхемі - це мікроконтролер з якоюсь інтегрованою логікою системного рівня. Звичайно, чим далі ви намагаєтеся зайти в систему, тим менш ймовірним буде корисність будь-якого набору додаткового обладнання, тому деяка налаштованість дуже корисна. Однак наразі "система на чіпі" - це більше маркетинговий термін, ніж щось реальне.


20

Система на чіпі (або SoC) - загальна фраза, яку використовують маркетингові люди і насправді не значить багато. Існує також багато варіантів, таких як:

PSoC: програмована система на чіпі, від Cypress Semiconductor.

SOPC: Система на програмованому чіпі від Altera

По суті, SOC - це єдиний чіп, який робить все, що використовувалося для отримання декількох чіпів. Ніщо там не говорить про те, що він повинен включати в себе процесор або оперативну пам’ять. Отже, через те, що ми можемо отримати більше транзисторів на мікросхемі, і ми отримуємо все більше функціональних можливостей на своїх мікросхемах - майже все можна назвати SoC порівняно з тим, що ми робили 10 або 20 років тому !

Що ще гірше: є чимало прикладів того, що називають SoC, для отримання корисних функцій все ще потрібно кілька мікросхем. Часто ви матимете певну форму CPU + периферійних пристроїв, які все ще потребують зовнішнього Flash, RAM та живлення. Тож навіть назва SoC вводить в оману.

MCU - це, мабуть, найбільш стислий приклад того, яким повинен бути SoC - але це дуже обмежений приклад.


@ David-kesner +1 для SoC як маркетингова фраза.
Френк

12

Як правило, мікроконтролер вважається вбудованим пристроєм, який внутрішньо запрограмований для виконання конкретного завдання. Існує мінімальна взаємодія з користувачем і мало або без гнучкості. Мікроконтролер, як правило, досить низький, лише з невеликою кількістю пам'яті та ПЗУ (спалахом).

І навпаки, система-на-чіпі - це інший кінець спектру. Він більше орієнтований на повну гнучкість та взаємодію з користувачем. Він часто включає такі речі, як драйвери вводу-виводу для більшого обладнання (наприклад, жорсткі диски тощо), і навіть іноді графічний адаптер. Система-на-чіпі більше схожа на повну комп'ютерну систему, так, на чіпі.

Між двома перехрестями існує досить багато - коли він перестає бути мікроконтролером і починає бути системою на чіпі? Звідси випливає багато плутанини.

В основному, якщо він може робити те, що може зробити комп'ютер, це система-на-чіпі. Якщо він орієнтований на, наприклад, сидіння всередині настільного телефону, що керує списком контактів, або в системі введення клавіатури, або працює двигунами на верстаті з ЧПУ, то це мікроконтролер.

ps, не цитуйте мене з цього приводу - оскільки я кажу, що між ними є багато кросовер.


5

Відмінність є в деякому сенсі більшою мірою маркетинговою, ніж технічною, але я б припустив, що загалом "програмована" частина мікроконтролера обмежується одним, відносно вузьким, "потоком свідомості". По суті, в будь-який момент наступна порівняно невелика робота мікроконтролера визначатиметься тим, як він запрограмований, але вся інша логіка в системі є провідною та виконуватиметься як побудована. Деякі речі, такі як таймери, можуть надавати деякі параметри конфігурації (наприклад, підрахунок з фіксованою швидкістю проти підрахунку імпульсів на вході), але загалом електропроводка системи буде фіксованою. Якщо бажано змінити вихідний сигнал у відповідь на якийсь вхідний сигнал, а для цього не існує явного обладнання, програмі доведеться періодично переглядати вхідний сигнал і, якщо він змінився, перемикати вихідний сигнал. Якщо бажано змінити вихідну аналогову напругу у відповідь на вхідну аналогову напругу, процесор може взяти вибірку вхідної напруги, обчислити потрібну відповідь та запросити потрібну вихідну напругу. Практично тип бажаного стимулу / відповіді можна отримати, якщо процесор дивиться на входи та обчислює виходи, але час реакції, як правило, буде на порядок повільнішим, ніж це може бути вироблено з виділеним обладнанням.

Загальна ідея системи на мікросхемі полягає в тому, щоб дозволити забезпечити схему достатньою кількістю мультиплексорів та інших засобів маршрутизації, щоб сигнали могли бути направлені по ланцюгах для створення багатьох корисних типів стимулів / відповідей, без втручання процесора. Така схема не може створювати схеми стимулів / відповідей, які знаходяться поблизу так швидко, як те, що може виробляти процесор, але у багатьох випадках вони можуть бути на порядок швидшими, ніж те, що може зробити процесор.


2

На мою думку, SoC - це термін з безліччю визначень, який насправді буде постійно змінюватися з часом. З іншого боку, мікроконтролер буде визначений так само, як і через десятиліття, як зараз. Коли ви говорите про мікроконтролер, він постачається з деякими основними речами на одному чіпі, наприклад, пам'яттю, портами вводу-виводу, таймерами та лічильниками і так далі ... Але коли ви говорите SoC, він не має конкретного стандарту щодо того, що тип схеми, яку він повинен містити. Наприклад, основним додатком, в якому вони намагаються залучити SoC, є смартфон. У поточному сценарії смартфон повинен містити деякі основні елементи борту, наприклад,

  1. NFC
  2. GPS
  3. Акселерометр і гіроскоп
  4. WiFi
  5. ЦП та графічний процесор

У теперішній ситуації, якщо я хочу виготовити смартфон, я повинен забрати процесор і графічний процесор і все з ним інтерфейсувати. Але SoC заснований на концепції єдиного чіпа, який матиме все вищезазначене і має можливість еволюціонувати (хоча в дуже базовій формі). Крім того, я сказав, що у SoC постійно змінюється визначення, оскільки основні вимоги до смартфона, комп'ютера чи будь-якого електронного пристрою будуть зростати з кожним днем, а визначення SoC буде змінюватися з тими вимогами.


0

Так, SoC - це в основному маркетинговий термін, який використовується частіше. Існує терміналогія пристроїв та Host. Більші виробники ПК, такі як Dell, HP, IBM, тощо. Вони використовували процесор всередині них, як правило, виготовлений Intel, AMD тощо. в основному надає процесор або SoC на материнській платі (так званий CPU), деякі також надають CPU + SoC (для певної мети для вивантаження активності периферійних пристроїв - як датчиків або GPS-пристроїв, які в іншому випадку були б дуже голодними, якби вони також підключені безпосередньо до центрального процесора. Тепер до материнських плат підключені різні периферійні пристрої (які підключені в основному до процесора або SoC), ці периферійні пристрої в основному або підключені безпосередньо до них (SOC або CPU) через шину суми - i2c, SPI, USB або вони, як правило, підключені до MicroControllers . виробники контролерів), а також виробники ПК, оскільки вони отримують кращі пристрої (периферійний + мікроконтролер). Тож вся справа в терміні мікроконтролера, який ви будете бачити частіше на стороні пристрою (той, який взаємодіє з SoC (тепер ви знаєте, що таке SOC? Dont you)) та SoC на стороні хоста (PC Side ) .Ви можете сказати, що процесор - це батько, який делегує компанію SoC для своєї кращої енергетичної спроможності пристроїв (мікро + периферійних пристроїв). Соки в основному мають більше пам'яті для розміщення мікроконтролерів ОС unliek, які можуть максимум підтримувати RTO.


1
ОЦЕ ТАК ! Дійсно, як голоси, коли люди роблять це, не заявляючи особливо потрібних коментарів!
Раульп

3
Це дуже незрозуміло. Я не можу входити в цей потік свідомості.
ivan_pozdeev

0

Підсумовуючи сказане, мені здається:

MCU забезпечує багато пам'яті, інтерфейсів, таких як VGA, та таких можливостей, як GPU, використовуючи кілька різних мікросхем, які надають різні речі.

MCU вміщує все на одному чіпі, забезпечуючи лише мінімальну пам'ять, інтерфейси тощо.

A SoC вміщує все на одному чіпі, розсуваючи межі того, що можна зробити на одному мікросхемі.

MCU забезпечують цінність, мінімізуючи витрати, SoC надають значення, максимізуючи функціональність, як на одному чіпі. Якщо вона конкурує з логікою TLL, це, ймовірно, MCU. Якщо конкурує з мікропроцесорами (AMD, Intel), ймовірно, це SoC.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.