Ардуїно проти мікропроцесора проти мікроконтролера


Відповіді:


21

Мікропроцесор:

зазвичай знаходиться на настільному ПК або ноутбуці і містить процесор і зовнішній інтерфейс пам'яті, а також різні шини вводу / виводу для підключення до зовнішнього світу, таких як SPI, I2C, UART, USB, LCD та інші. Мікропроцесори також матимуть зовнішній кристал для забезпечення годин.

Більшість мікропроцесорів не мають пам'яті для читання; натомість на материнській платі є зовнішній чіп, де знаходиться початковий код завантаження. На комп'ютерах, що базуються на Intel, це називається базовою системою вводу / виводу (BIOS), а також містить початкові коди вводу / виводу на додаток до початкового коду завантаження. Код завантаження починається з самопробного ввімкнення живлення (POST), а потім дивиться, куди слід завантажити наступний етап завантажувального коду - з жорсткого диска, компакт-диска (або за старих днів) дискети. Після цього завантаження другого рівня завантажує операційну систему. (У деяких системах може бути навіть три рівні завантажувального коду.)

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

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

На відміну від мікроконтролерів, які виконують свої програми з пам'яті лише для читання, після завантаження мікропроцесори завантажують свої програми у зовнішню ОЗУ і виконують її звідти.

Мікроконтролер:

з іншого боку - це автономний одночиповий інтелектуальний інтелектуальний модуль, який містить процесор, пам'ять лише для читання для зберігання програми, оперативну пам'ять для зберігання змінних, що використовуються при виконанні програми, і різні шини вводу / виводу для підключення до зовнішнього світу, такі як SPI, I2C, UART та інші. Сама по собі вона не може виконувати жодну програму, не запрограмована через зовнішній інтерфейс до ПК. Мікроконтролеру також може знадобитися зовнішній кристал, щоб забезпечити годинник, проте деякі мають внутрішній годинник.

Деякі мікроконтролери (наприклад, PIC32 Microchip) мають дві секції флеш-пам’яті; один для зберігання ініціалізаційного (завантажувального) коду та інший для зберігання програми. Це полегшує оновлення коду програми на місці.

Для вашого призначення ви хочете використовувати мікроконтролер, а не мікропроцесор. Щоб використовувати мікроконтролер, вам доведеться або спроектувати власну плату, або придбати якусь плату розвитку.

Ардуїно:

є такою платою і містить мікроконтролер, типовий для 8-розрядних AVR, таких як ATmega8, ATmega168, ATmega328, ATmega1280 і ATmega2560, а також джерела живлення, кристали та жіночі заголовки для взаємодії з різними периферійними платами.

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

Приклади екранів - це пульти управління двигуном, загальні плати вводу / виводу, плати реле, плати Ethernet та РК-дисплеї, як правило, з сенсорним екраном. Однак я не знаю жодного резистивного сенсорного екрана, який би використовувався лише для виявлення (без РК-дисплея).

На додаток до обладнання, описаного вище, Arduino також постачає на платформі Java на основі платформного інтегрованого середовища розробки (IDE). Він був розроблений, щоб представити програмування художникам та іншим новачкам, як це робила мова BASIC 50 років тому. Програма для Arduino називається ескізом .

Програми Arduino написані на C або C ++, однак багато деталей приховано від користувача: потрібно зробити лише дві функції (викликані системою), щоб зробити програму, яка постійно циркулює (що, як правило, для вбудованих програм)

setup(): a function run once at startup that performs initialization
loop(): a function called repeatedly until the board powers off

IDE поставляється з бібліотекою програмного забезпечення під назвою "Проводка", яка може використовуватися для загальних операцій введення / виводу.


Я вже не розробляю обладнання після 25 років, але я не знаю жодних процесорів для настільних комп'ютерів, які містять пам'ять лише для читання, і тим більше будь-яку таку пам'ять, яка може завантажувати комп'ютер.
Роб

@Rob Ви маєте рацію, що всі настільні ПК, які я знаю, використовують зовнішній чіп для завантаження. Але архітектура OMAP3 TI є прикладом мікропроцесора з внутрішнім завантажувальним ПЗУ. З описаного тут перезавантаження Linux, перший рядок зазначає: "При включенні пристрою OMAP3 починається завантаження з внутрішньої завантажувальної ROM. Цей код виправлений під час виробничого процесу і не може бути змінений. Boot ROM читає шпильки конфігурації завантаження (SW4 на OMAP3 EVM), які повідомляють завантажувальному ROM, де шукати перший зовнішній завантажувач. " Я оновив свою відповідь.
tcrosley

10

Ардуїно

Arduino - це друкована плата, що містить мікроконтролер Atmel AVR і зазвичай забезпечує набір роз'ємів за стандартною схемою. Мікроконтролер, як правило, попередньо запрограмований програмою "завантажувач", яка дозволяє програмі (званій "ескіз") завантажуватися в мікроконтролер через послідовне з'єднання TTY (або віртуальний послідовний з'єднання через USB) з ПК.

Мікропроцесор

Мікропроцесор - це ІМС, що містить лише центральний процесорний блок (ЦП). ІС не містить ОЗУ, ПЗУ та інших периферійних пристроїв. IC може містити кеш-пам'ять, але він не розроблений для використання без зовнішньої пам'яті.

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

Зазвичай він знаходиться в персональному комп’ютері.

Мікроконтролер

Мікроконтролер - це ІМС, який містить процесор, а також деяку кількість оперативної пам’яті, оперативної пам’яті, ПЗУ та інших периферійних пристроїв. Мікроконтролери можуть функціонувати без зовнішньої пам'яті або зберігання.

Зазвичай мікроконтролери або запрограмовані перед припаюванням до друкованої плати, або запрограмовані за допомогою роз'ємів внутрішньосистемного програмування (ISP або ICSP) за допомогою спеціального пристрою "програміст", підключеного до персонального комп'ютера.

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

Він зустрічається, наприклад, у простих приладах, таких як основні пральні машини.


2

"Arduino" - це середовище розробки програмного забезпечення та будь-яка з декількох плат мікроконтролерів, для яких програмне середовище може розробляти програми. Більшість плат використовують мікроконтролери Atmel AVR.


2

Arduino - платформа на базі мікроконтролерів (ATMEGA 328 для ООН). Взагалі мікроконтролер краще підходить, ніж мікропроцесор, для всього, що вимагає зондування входів. Це тому, що мікроконтролери, такі як ATMEGA 328, мають аналогові цифрові перетворювачі (АЦП) для визначення напруг, а також мають ШІМ-виходи, а також цифрові введення / виведення.

З Arduino у вас також є система Arduino Dev, яка легше програмувати для початківців і має гарну спільноту для підтримки та бібліотеки.

Резистивний сенсорний екран поводиться як потенціометри; один для х і один для у. Таким чином, ви можете помістити їх в аналогові входи Arduino. Дивіться тут для подробиць .

Інший варіант полягає в перетворенні в SPI або I2C з чим - то на кшталт цього , і читати з Arduino.

Так чи інакше, я думаю, що Ардуїно - хороший вибір.


@tcrosley або будь-який інший давній член .. будь-яка порада новому учаснику, як я, щодо уникнення голосування, як цього? Мої відповіді точні, відповідають на питання та надають додаткові деталі для інтерфейсу до резистивного сенсорного екрану. Що ще воно повинно було включати?
akellyirl

3
Не сприймайте голосування надто серйозно. Я думаю, що ваше перше речення трохи неточне. Arduino більше схожий на платформу, що складається з апаратного та програмного забезпечення. І плата Arduino - це не мікроконтролер, а плата, розроблена навколо мікроконтролера.
Rev1.0

1
Як каже Rev1.0: "Arduino - це мікроконтролер", це неправда. Ардуїно - це SBC (Single Board Computer).
флюп

1

Arduino складається з мікроконтролера (ATmega328 у версії ООН). Таким чином, Arduino - це друкована плата з роз'єднаними нігтями мікроконтролера, poweruply, кристалом та FTDI для з'єднання USB з вбудованою прошивкою, щоб ви могли запросто запрограмувати її за допомогою власної IDE. Ось перелік компонентів ардуїно: http://learn.adafruit.com/arduino-tips-tricks-and-techniques/arduino-uno-faq

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