» »

Основні типи мікроконтролерів та їх архітектура. Принцип роботи мікроконтролера для чайника Як влаштований мікроконтролер

07.07.2023

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

Де використовуються мікроконтролери?

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

Чому ми використовуємо мікроконтролери?

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

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

Різні типи мікроконтролерів.

Існує широкий спектр мікроконтролерів, доступних на ринку. Різні компанії, як Atmel, ARM, Microchip, Texas Instruments, Renesas, Freescale, NXP Semiconductors, etc. та ін. налагоджено виробництво різних видів мікроконтролерів з різними видамифункцій. Дивлячись на різні параметри, такі як програмована пам'ять, обсяг флеш-пам'яті, напруга живлення, введення/виводу, швидкість і т.д., можна правильно вибрати мікроконтролер для їхнього застосування.

Давайте подивимося на ці параметри та різні типи мікроконтролерівза цими параметрами.

Шина даних (розрядність):

Якщо класифікувати за біт-розмір, більшість мікроконтролерів від 8-біт до 32 біт (вищі розрядні мікроконтролери також доступні). У 8-розрядного мікроконтролера своя шина даних складається з 8 ліній даних, а 16-розрядний мікроконтролер його шина даних складається з 16 ліній даних і так далі для 32 біт і вище мікроконтролерів.

Пам'ять:

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

Кількість вхідних/вихідних контактів:

Мікроконтролери різняться за кількістю введення-виведення розмірів. Можна вибрати конкретний мікроконтролер відповідно до вимог програми.

Набір команд:

Є два види наборів інструкцій – на RISC та cisc. Мікроконтролер може використовувати процесор RISC (скорочений набір інструкцій комп'ютера) або CISC (комплекс команд ЕОМ). Як підказує назва, RISC скорочує час операції, що визначають такт інструкції; а CISC дозволяє прикладати одну інструкцію як альтернативу багато інструкцій.

Архітектура Пам'яті:

Існує два типи мікроконтролерів – Гарвардська архітектура пам'яті мікроконтролерів та Прінстон архітектура пам'яті мікроконтролерів.

Ось кілька популярних мікроконтролерів серед студентів та аматорів.

Серії 8051 мікроконтролерів (8-біт)

Мікроконтролери AVR від компанії Atmel (ATtiny, серії atmega)

Мікрочіп-це серія pic мікроконтролерів

Тексас інструментс», мікроконтролери msp430 фірми

ARM-мікроконтролери

Особливості мікроконтролерів

Мікроконтролери використовуються у вбудовуваних системах на них різні характеристики. Як показано в наведеній нижче блок-схема мікроконтролера, він складається з процесора, введення/виводу, послідовні порти, таймери, АЦП, ЦАП та переривник контролю.

Процесор чи центральний процесор

Процесор це мозок мікроконтролера. За умови вхідного сигналу через вхідні контакти та інструкції через програми, обробляти дані та надавати відповідно на вихідні висновки.

Пам'яті

Чіпи пам'яті інтегровані в мікроконтролер для зберігання всіх програм та даних. Там можуть бути різні типи пам'яті, інтегровані в мікроконтролери як ОЗУ, ПЗУ, ППЗУ, ЕСППЗУ, флеш-пам'ять та ін.

Порти Введення-Висновку

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

Послідовні порти

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

АЦП та ЦАП

Іноді вбудованих систем застосовують перетворення даних з цифрового в аналоговий і навпаки. Тому більшість мікроконтролерів об'єднані з вбудованим АЦП (аналого цифровий перетворювач) та ЦАП (цифро-аналогові перетворювачі) для виконання необхідного перетворення.

Таймери

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

Переривання Контролю

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

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

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

Навіщо потрібен мікроконтролер?

Мікроконтролери призначені для керування різними електронними приладами та пристроями. Вони використовуються не тільки в комп'ютерах, а й у різній побутовій техніці, роботах на виробництві, в телевізорах, в оборонній промисловості.

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

Пристрій мікроконтролера

Сьогодні випускається багато різних видів форм та серій мікроконтролерів, але їх сфера використання, призначення та принцип роботи однаковий.

Усередині корпусу мікроконтролера знаходяться основні елементи усієї його структури. Існує три класи таких пристроїв: 8, 16 та 32-розрядні. З них 8-розрядні моделі мають малу продуктивність. Вона достатня для вирішення найпростіших завдань управління об'єктами. 16-розрядні мікроконтролери - модернізовані 8-розрядні.

Вони мають розширену систему команд. 32-розрядні пристрої включають високоефективний процесор загального призначення. Вони використовуються для керування складними об'єктами.

  1. Арифметико-логічний пристрійслужить для логічних і арифметичних операцій, виконує роботу процесора разом із регістрам загального призначення.
  2. Оперативно запам'ятовуючий пристрійслужить для тимчасового зберігання інформації під час функціонування мікроконтролера.
  3. Пам'ять програмє одним із основних структурних елементів. Вона заснована на постійному пристрої з можливістю перепрограмування, і служить для збереження мікропрограми управління роботою мікроконтролером. Вона називається прошивкою. Її пише сам розробник устрою. Спочатку в пам'яті програм завод виробник нічого не закладає, і там немає жодних даних. Прошивку за допомогою програматора розробник пристрою записує усередину.
  4. Пам'ять данихвикористовується у деяких моделях мікроконтролерів для запису різних постійних величин, табличних даних тощо. Ця пам'ять не в усіх мікроконтролерах.
  5. Для зв'язку із зовнішніми пристроями існують порти введення-виведення.Їх також використовують для підключення зовнішньої пам'яті різних датчиків, виконавчих пристроїв, світлодіодів, індикаторів. Інтерфейси портів вводу-виводу різноманітні: паралельні, послідовні, обладнані USB виходами, WI FI. Це розширює можливості застосування мікроконтролерів для різних галузей управління.
  6. Аналого-цифровий перетворювачпотрібно введення аналогового сигналу на вхід мікроконтролера. Його завданням є перетворення сигналу з аналогового виду на цифровий.
  7. Аналоговий компараторслужить для порівняння двох сигналів аналогового виду на входах.
  8. Таймеривикористовуються для виконання установки діапазонів та затримки часу у функціонуванні мікроконтролера.
  9. Цифро-аналоговий перетворювачвиконує зворотну роботу з перетворення з цифрового сигналу на аналоговий.
  10. Дія мікроконтролера синхронізується з генератором тактовими імпульсами за допомогою блоку синхронізації, який працює разом із мікропрограмою. Генератор тактових імпульсівможе бути як внутрішнім, так і зовнішнім, тобто тактові імпульси можуть подаватися з стороннього пристрою.

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

Мікроконтролери та їх застосування

Сфера їхнього використання постійно розширюється. Мікроконтролери застосовуються в різних механізмах та пристроях. Основними областями їх застосування є:

  • Авіаційна промисловість.
  • Робототехніка.
  • Промислове обладнання.
  • Залізничний транспорт.
  • Автомобілі.
  • Електронні дитячі іграшки.
  • Автоматичні шлагбауми.
  • Світлофори.
  • Комп'ютерна техніка.
  • Автомагнітоли.
  • Електронні музичні інструменти
  • Засоби зв'язку.
  • Системи керування ліфтами.
  • Медичне обладнання.
  • Побутова техніка.

Як приклад, можна розглянути використання мікроконтролерів в автомобільній електроніці. У деяких автомобілях Пежо вбудовано 27 різних мікроконтролерів. У елітних моделях БМВ застосовується понад 60 таких пристроїв. Вони контролюють жорсткість підвіски, упорскування палива, роботу приладів освітлення, склоочисників, склопідйомників та інших механізмів.

При розробці цифрової системи потрібно створити правильну модель мікроконтролера. Головною метою є підбір недорого контролера зменшення загальної вартості всієї системи. Однак, необхідно, щоб він відповідав специфіці системи, вимогам надійності, продуктивності та умовам використання.

Основними факторами підбору мікроконтролера є:

  • Здатність роботи із прикладною системою. Можливість реалізації цієї системи на однокристальному мікроконтролері або на спеціалізованій мікросхемі.
  • Наявність у мікроконтролері необхідної кількості портів, контактів, оскільки за її нестачі він буде здатний виконати завдання, і якщо будуть зайві порти, вартість буде завищена.
  • Наявність необхідних пристроїв периферії різних перетворювачів, інтерфейсів зв'язку.
  • Наявність інших допоміжних пристроїв, непотрібних до роботи, через які підвищується вартість.
  • Чи зможе ядро ​​контролера забезпечити необхідну продуктивність: потужність обчислень, що дає можливість обробки запитів системи певною прикладною мовою програмування.
  • Чи є в проекті бюджету достатньо фінансів, щоби застосовувати дорогий мікроконтролер. Якщо він не підходить за ціною, інші питання не мають сенсу, і розробник повинен шукати інший мікроконтролер.
  • Доступність. У цей фактор входять такі пункти:

Потрібна кількість.
Чи випускається нині.
Наявність підтримки розробника.
Наявність мов програмування, внутрішньосхемних емуляторів, засобів налагодження та компіляторів.

  • Інформаційна підтримка, що включає:

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

  • Надійність заводу виробника. У цей фактор входить:

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

Якщо уявити всі типи сучасних мікроконтролерів (МК), можна вразитися величезною кількістю різноманітних приладів цього класу, доступних споживачеві. Однак усі ці пріори можна поділити на такі основні типи:

  • Вбудовані (embedded) 8-розрядні МК;
  • 16- та 32-розрядні МК;
  • Цифрові сигнальні процесори.

Промисловістю випускаються дуже широка номенклатура МК, що вбудовуються. Вони всі необхідні ресурси (пам'ять, пристрої ввода-вывода тощо.) розташовуються одному кристалі з процесорним ядром. Якщо подати живлення та тактові імпульси на відповідні входи МК, то можна сказати, що він як би «оживе» і з ним можна буде працювати. Зазвичай МК містять значну кількість допоміжних пристроїв, завдяки чому забезпечується їхнє включення в реальну систему з використанням мінімальної кількості додаткових компонентів. До складу цих МК входять:

  • Схема початкового запуску процесора (Reset);
  • генератор тактових імпульсів;
  • Центральний процесор;
  • Пам'ять програм (E(E)PROM) та програмний інтерфейс;
  • Засоби введення/виведення даних;
  • Таймери, що фіксують кількість командних циклів.

Загальна структура МК показано на рис. 1.1. Ця структура дає уявлення у тому, як МК пов'язують із зовнішнім світом.


Більш складні вбудовані МК можуть додатково реалізовувати такі можливості:

  • Вбудований монітор/налагоджувач програм;
  • Внутрішні засоби програмування пам'яті програм (ROM);
  • обробка переривань від різних джерел;
  • Аналогове введення/виведення;
  • Послідовне введення/виведення (синхронне та асинхронне);
  • Паралельне введення/виведення (включаючи інтерфейс з комп'ютером);
  • З'єднання зовнішньої пам'яті (мікропроцесорний режим).

Всі ці можливості значно збільшують гнучкість застосування МК і роблять більш простим процес розробки систем на основі.
Деякі МК (особливо 16- і 32-розрядні) використовують тільки зовнішню пам'ять, яка включає як пам'ять програм (ROM), так і деякий обсяг пам'яті даних (RAM), необхідний для даного застосування. Вони застосовуються в системах, де потрібен великий обсяг пам'яті та відносна невелика кількість пристроїв (портів) вводу/виводу. Типовим прикладом застосування такого МК із зовнішньою пам'яттю є котролер жорсткого диска (HDD) з буферною кеш-пам'яттю, який забезпечує проміжне зберігання та розподіл великих обсягів даних (порядка кількох мегабайт). Зовнішня пам'ять дає можливість такому мікроконтролеру працювати з вищою швидкістю, ніж вбудований МК.
Цифрові сигнальні процесори (DSP) – нова категорія процесорів. Призначення DSP полягає в тому, щоб отримувати поточні дані від аналогової системи, обробляти дані та формувати відповідний відгук у реальному масштабі часу. Вони зазвичай входять до складу систем, використовуючись як пристрої управління зовнішнім обладнанням, і не призначені для автономного застосування.

Система команд

Залежно від кількості використовуваних кодів операцій системи команд МК можна поділити дві групи: CISC і RISC. Термін CISC означає складну систему команд та є абревіатурою англійського визначення Complex Instruction Set Computer. Аналогічно термін RISC означає скорочену систему команд і походить від англійської Reduce Instruction Set Computer. Систему команд МК 8051 можна зарахувати до типу CISC. Однак, незважаючи на широку поширеність цих понять, необхідно визнати, що самі назви не відображають головної різниці між системами команд CISC та RISC. Основна ідея RISC архітектури – це ретельний підбір таких комбінацій кодів операцій, які можна було б виконати за один такт тактового генератора. Основний виграш від такого підходу – різке спрощення апаратної реалізації ЦП та можливість значно підвищити його продуктивність.
Вочевидь, що у випадку одному команді CISC відповідає кілька команд RISC. Однак, зазвичай виграш від підвищення швидкодії в рамках RISC перекриває втрати від менш ефективної системи команд, що призводить до більш високої ефективності RISC систем загалом порівняно з CISC.
Однак нині межа між CISC і RISC архітектурою стрімко стирається. Наприклад, МК сімейства AVR фірми Atmel мають систему команд із 120 інструкцій, що відповідає типу CISC. Однак більшість з них виконується за один такт, що є ознакою архітектури RISC. Сьогодні прийнято вважати, що ознакою RISC архітектури є виконання команд за такт тактового генератора. Число команд саме собою значення вже не має.

Типи пам'яті МК

Можна виділити три основні види пам'яті, що використовується в МК:
а) пам'ять програм;
б) пам'ять даних;
в) регістри МК.
Пам'ять програмявляє собою постійну пам'ять, призначену для зберігання програмного коду та констант. Ця пам'ять не змінює вміст у процесі виконання програми.
Пам'ять данихпризначена для зберігання змінних під час виконання програми .
Регістри МК– цей вид пам'яті включає внутрішні регістри процесора та регістри, які служать керувати периферійними пристроями.
Для зберігання програм зазвичай служить один з видів постійної пам'яті: ROM (маскові ПЗП), PROM (одноразово програмовані ПЗП), EPROM (електрично програмовані ПЗП з ультрафіолетовим стиранням) або EEPROM (ПЗП з електричним записом і стиранням, до цього виду також відносяться сучасні мікросхеми Flash-пам'яті). Всі ці види пам'яті є незалежними – це означає, що вміст пам'яті зберігається після вимкнення живлення МК.
Багаторазово програмовані ПЗУ - EPROM і EEPROM (Electrically Erasable Programmable Memory) поділяються на ПЗУ зі стиранням ультрафіолетовим (УФ) опроміненням (випускаються в корпусах з вікном), і МК з пам'яттю, що електрично перепрограмується, відповідно.
Нині протоколи програмування сучасної EEPROM пам'яті дозволяють виконувати програмування МК у складі системи, де працює. Такий спосіб програмування отримав назву - ISP (In System Programming). Тепер можна періодично оновлювати програмне забезпечення МК без видалення з плати. Це дає величезний виграш на початкових етапах розробки систем на базі МК або в процесі їх вивчення, коли багато часу йде на багаторазовий пошук причин непрацездатності системи та виконання наступних циклів стирання-програмування пам'яті програм.
Функціонально Flash-пам'ять мало відрізняється від EEPROM. Основна відмінність полягає у можливості стирання записаної інформації. У пам'яті EEPROM стирання проводиться окремо для кожної комірки, а у Flash-пам'яті стирання здійснюється цілими блоками.
ОЗУ(RAM) – оперативний пристрій, що запам'ятовує, використовується для зберігання даних. Цю пам'ять називають ще пам'яттю даних. Число циклів читання та запису в ОЗУ необмежене, але при відключенні живлення вся інформація втрачається.

Мікроконтролер- це спеціальна мікросхема, призначена керувати різними електронними пристроями. Мікроконтролери вперше з'явилися в тому ж році, як і мікропроцесори загального призначення (1971).

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

Мікроконтролери випускають десятки компаній, причому виробляються не тільки сучасні 32-бітні мікроконтролери, але і 16, і навіть 8-бітні (як i8051 та аналоги). Усередині кожного сімейства часто можна зустріти майже однакові моделі, що відрізняються швидкістю роботи ЦПУ та обсягом пам'яті.

Мікроконтролери, як правило, не працює поодинці, а запаюється у схему, де, крім нього, підключаються екрани, клавіатурні входи, різні датчики тощо.

Софт для мікроконтролерів може привернути увагу тих, хто обожнює «ганятися за бітами», оскільки зазвичай пам'ять у мікроконтролерах становить від 2 до 128 Кб. Якщо менше, то писати припадає на асемблері чи Форті, якщо є можливість, то використовують спеціальні версії Бейсіка, Паскаля, але переважно – Сі. Перш ніж остаточно запрограмувати мікроконтролер, його тестують в емуляторах – програмних чи апаратних.

Тут може виникнути питання: мікропроцесор і мікроконтролер це просто різна назва одного й того самого пристрою, чи це все-таки різні речі?

Мікропроцесор це центральний пристрій будь-якої ЕОМ, виконаний за інтегральною технологією. Сама назва говорить про те, що саме у ньому відбуваються обчислювальні процеси. Щоб з нього вийшла ЕОМ, нехай навіть не дуже сучасна та потужна (згадайте аматорські конструкції Радіо-86 або Синклер), його треба доповнити зовнішніми пристроями. Насамперед це оперативна пам'ять та порти введення виведення інформації.

Мікроконтролер має в собі процесор, оперативну пам'ять, пам'ять програм, а крім цього цілий набір периферійних пристроїв, які перетворюють процесор на повнофункціональну ЕОМ. За старою термінологією радянських часів подібні пристрої називалися однокристальними мікро ЕОМ. Але радянська обчислювальна техніка, як відомо, зайшла в глухий кут, а разом з нею і ОМЕОМ.

Зарубіжна ж обчислювальна техніка дома не стояла, тому ОМЭВМ стали називатися контролерами (від англ. Control - управляти, управління). І справді, контролери виявилися дуже придатними для управління різною технікою, навіть не дуже складною.

Мікроконтролер - це вже не процесор, але ще й не комп'ютер.

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

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

То що таке мікроконтролер і чим відрізняється від власне процесора чи це зовсім різні електронні компоненти?

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

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

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

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

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

Інтеграція процесора з усіма необхідними додатковими елементами, щоб цей виріб виливалося в якийсь завершений конструктив і призводить до утворення мікроконтролера. Мікросхема або мікроконтролерний чіп реалізує на одному кристалі процесор та інтерфейсні схеми.

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

Мікроконтролери широко використовуються у виробах, які містять всю систему цілком виключно в одній мініатюрній мікросхемі, часто званій мікроскладання. Наприклад, «чипова» кредитна картка містить мікроконтролер усередині у пластиковій основі. так само в собі містить мікроконтролер. І прикладів використання і застосування мікроконтролерів настільки великий у сучасному світі, що легко виявити наявність контролера в будь-якому більш-менш інтелектуальному пристрої від дитячої іграшки до бездротової гарнітури стільникового телефону.

Змотіть також у нас на сайті:

Дивіться також по цій темі навчальні відеокурси Максіма Селіванова:

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

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

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

Курс присвячений навчанню програмування мікроконтролерів мовою Сі. Відмінна риса курсу – вивчення мови на дуже глибокому рівні. Навчання відбувається на прикладі мікроконтролерів AVR. Але в принципі підійде і для тих, хто використовує інші мікроконтролери.

Курс розрахований на підготовленого слухача. Тобто, в курсі не розглядаються базові основи інформатики та електроніки та мікроконтролерів. Але, щоб освоїти курс знадобляться мінімальні знання з програмування мікроконтролерів AVR будь-якою мовою. Знання електроніки бажані, але з обов'язкові.

Курс ідеально підійде тим, хто тільки-но почав вивчати програмування AVR мікроконтролерів мовою С і хоче поглибити свої знання. Добре підійде і тим, хто трохи вміє програмувати мікроконтролери іншими мовами. І ще підійде звичайним програмістам, які хочуть поглибити знання у мові Сі.

Цей курс для тих, хто не хоче обмежуватись у своєму розвитку простими чи готовими прикладами. Курс відмінно підійде тим, кому важливим є створення цікавих пристроїв з повним розумінням того, як вони працюють. Курс добре підійде і тим, хто вже знайомий із програмуванням мікроконтролерів мовою Сі та тим, хто вже давно програмує їх.

Матеріал курсу передусім орієнтовано практику використання. Розглядаються такі теми: радіочастотна ідентифікація, відтворення звуку, бездротовий обмін даними, робота з кольоровими дисплеями TFT, сенсорним екраном, робота з файловою системою FAT SD-карти.

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

Природно виникають питання, що таке мікроконтролер, з чого починати його вивчення, і на якому типі зупинить свій вибір? На ці та інші питання ми знайдемо відповідь. Зараз же давайте подивимося, як вони можуть виглядати, і коротко розглянемо сферу застосування та деякі можливості мікроконтролерів.

Типи корпусів мікроконтролерів

Зовні мікроконтролери нічим не відрізняються від інших мікросхем. Кристали МК розміщуються в стандартних корпусах, які мають певну кількість висновків. Мікроконтролери виготовляються у трьох принципово різних видахкорпусів.

DIP корпус

До першого виду належить DIPкорпус. Скорочено від англійської D ual I nL ine P ackage– корпус із двома рядами висновків.Відстань між висновками становить 0,1 дюйма, що дорівнює 2,54 мм. Також подібні корпуси ще позначають PDIP. Перша буква "Р" означає, що корпус пластиковий P lastic. Мікроконтролери в такому корпусі будемо використовувати і ми, оскільки такі МК легко встановлюються на макетну плату, що значно полегшує налагодження.

Рис.1 - МікроконтролерATmega8 вDIPкорпусі

SOIC корпус

Наступним, у порядку зниження габаритів, буде SOICкорпус. Його абревіатура розшифровується так: S mallO utline I ntegrated C ircuit. Він використовується при паянні поверхневим монтажем, тобто висновки мікросхеми припаюються до контактних майданчиків, розташованих на поверхні плати, а не вставляються в отвори, як DIP корпус. Відстань між у SOICкорпусів виводами вдвічі менше, ніж у DIP і становить 1,27 мм.

Мал. 2 – МікроконтролерAT89 C2051 у SOIC корпусі

QFP та TQFP корпусу

Ще менші габарити мають тип корпусу. QFP (Q uad F lat P ackage) або TQFP (T hin Q uad F lat P ackage) (Мал. 3). Відмінною рисою його є розташування висновків з усіх чотирьох сторін, а сам корпус має форму квадрата. Як і SOIC, TQFP призначений для поверхневого монтажу. Відстань між висновками в 3 рази менша, ніж у DIP корпусах.

Мал. 3 – МікроконтролерATmega328 PвTQFPкорпусі

QFN корпус

Найбільш екзотичним з погляду аматорської практики є корпус QFN (Q uad F lat N oleads) . Такий корпус має найменші габарити серед усіх розглянутих корпусів. Як висновки тут використовуються контакти, відстань між якими у 6 разів менша, ніж у DIP корпусах. Тому вони рідко застосовуються радіоаматорами. Одна в промисловості такі корпуси знаходять широке застосування, оскільки габарити готового електронного пристрою можна знизити вдесятеро. на рис.4наочно видно відмінності в габаритах одного і того ж мікроконтролера (ATmega8) DIPі QFNкорпуси.

Мал. 4 – МікроконтролерATmega8 вDIPіQFNкорпусах

Для порівняння мікроконтролери в корпусах різних типів показані на Мал. 5. Ми будемо користуватися мікроконтролерами виключно в PID корпусах, принаймні на початкових етапах програмування.

Мал. 5 – Мікроконтролери у різних типах корпусів

Мікроконтролери всюди оточують нас

Область застосування МК з кожним днем ​​дедалі більше розширюється. Вони використовуються в різних пристроях: від музичної листівки до високошвидкісного електропоїзда, літака і ракети. МК повсюдно застосовуються в побутовій техніці: тостерах, мікрохвильових печах, кавоварки, холодильники, пральних машинах. Вони широко впроваджені в мобільних телефонах, планшетах, електронний годинник, автомобілях, тобто практично у всіх електронних пристроях. І це не дивно, адже завдяки мікроконтролерам пристрої стають компактнішими, легшими, надійнішими, дешевшими; знижується їхнє енергоспоживання.

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

Основні можливості мікроконтролерів

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

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

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

Наявність вбудованого пристрою широтно-імпульсної модуляції (ШІМ) дозволяє керувати частотою обертання двигуна.

Багато мікроконтролерів мають у своєму кристалі аналогово-цифрові перетворювачі, за допомогою яких можна створювати різні вимірювальні пристрої, такі як вольтметри, амперметри, омметри, вимірювачі ємності тощо.

Ще мікроконтролери можуть обмінюватися даними між комп'ютером та іншим МК. Для цього практично в будь-якому МК є вбудований один або кілька інтерфейсів передачі даних: USART, SPI, CAN, USB та ін.

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

У чому відмінність мікроконтролера від мікропроцесора?

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

Який тип мікроконтролера вибрати для початкового вивчення?

Для того, щоб освоїти програмування мікроконтролерів на досить хорошому рівні, спочатку необхідно навчитися програмувати якийсь один тип мікроконтролерів та вивчити всі його можливості. Тоді набагато простіше освоїти й інші типи МК.

До основних критеріїв вибору МК належить:

- Доступність, тобто МК можна легко купити в будь-якому радіомагазині;

- низька вартість. Тут усе зрозуміло;

- Наявність докладної технічної документації;

- Безкоштовне програмне забезпечення;

- Наявність літератури і достатньої кількості прикладів за обраним типом МК.

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

На мій погляд, і з власного досвіду всім названим критеріям відповідає мікроконтролер ATmega8 компанії Atmel. Його ми й візьмемо за основу.



Популярне