Please use this identifier to cite or link to this item: https://er.chdtu.edu.ua/handle/ChSTU/6360
Title: Відлагоджувальні плати для систем автоматизації
Authors: Корпань, Ярослав Васильович
Данільченко, Назар Григорович
Issue Date: Jun-2023
Abstract: Мета кваліфікаційної роботи – аналіз особливостей відлагоджувальних плат створених на базі мікроконтролерів та вибір оптимальної апаратурної платформи. Для досягнення поставленої мети вирішені наступні задачі: проаналізовано аналогічні рішення які існують на даний час та виконують подібні функції; розглянуто середовище розробки для проектування програмного забезпечення; проведено аналіз основних принципів побудови відлагоджувальних плат; вибрано апаратну платформу відлагоджувальних плат для систем автоматизації.
URI: https://er.chdtu.edu.ua/handle/ChSTU/6360
Appears in Collections:174 Автоматизація, комп'ютерно-інтегровані технології та робототехніка (Автоматизація та комп'ютерно-інтегровані системи та компоненти)

Files in This Item:
File Description SizeFormat 
Б_151_2023_Данільченко.pdf
  Restricted Access
2.18 MBAdobe PDFView/Open Request a copy


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

Extracted text
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ 
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ 
ФАКУЛЬТЕТ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ І СИСТЕМ 
КАФЕДРА РОБОТОТЕХНІКИ ТА СПЕЦІАЛІЗОВАНИХ КОМП’ЮТЕРНИХ СИСТЕМ 
Пояснювальна записка 
до кваліфікаційної роботи 
освітнього ступеня «бакалавр» 
  
на тему: ВІДЛАГОДЖУВАЛЬНІ ПЛАТИ ДЛЯ СИСТЕМ 
АВТОМАТИЗАЦІЇ 
 
 
 
 
 
 
Виконав: здобувач вищої освіти 2 курсу, групи 
АКІТС-2199 
 спеціальності 151 – Автоматизація та 
комп’ютерно-інтегровані технології 
 Назар ДАНІЛЬЧЕНКО 
 (прізвище та ініціали) 
Керівник Ярослав КОРПАНЬ 
 (прізвище та ініціали) 
Рецензент  
 (прізвище та ініціали) 
 
 
 
 
Черкаси 2023 року 
 
ЗМІСТ 
 
СПИСОК УМОВНИХ ПОЗНАЧЕНЬ ТА СКОРОЧЕНЬ ............................................ 3 
ВСТУП ............................................................................................................................ 4 
1 АНАЛІТИЧНИЙ ОГЛЯД НАУКОВО-ТЕХНІЧНОЇ ЛІТЕРАТУРИ ....................... 6 
1.1 Мікропроцесори ................................................................................................... 6 
1.2 Мікроконтролери ............................................................................................... 14 
1.3 Відмінності між мікропроцесором і мікроконтролером ............................... 18 
1.4 Огляд існуючих прототипів .............................................................................. 21 
2 ВІДЛАГОДЖУВАЛЬНІ ПЛАТИ ТА СЕРЕДОВИЩЕ РОЗРОБКИ ДЛЯ СИСТЕМ 
АВТОМАТИЗАЦІЇ ....................................................................................................... 24 
2.1 Відлагоджувальні плати STM32 Nucleo .......................................................... 24 
2.2 Відлагоджувальні плати Discovery .................................................................. 28 
2.3 Відлагоджувальні плати Evaluation Boards ..................................................... 30 
2.4 Середовища розробки для систем автоматизації............................................ 34 
3 ФІЗИЧНА РЕАЛІЗАЦІЯ МІКРОКОНТРОЛЕРІВ AVR НА ПЛАТАХ             
ARDUINO ..................................................................................................................... 40 
3.1 Архітектура мікроконтролерів AVR ................................................................ 40 
3.2 Налагоджувальні плати Arduino ....................................................................... 47 
ВИСНОВКИ ................................................................................................................. 58 
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ .................................................................... 59 
 
 
ЧДТУ.232253.001 ПЗ 
Змн. Арк. № докум. Підпис Дата  
 Розроб. Данільченко Літ. Лист. Листів 
Відлагоджувальні плати для 
 Перевір. Корпань 2 62 
систем автоматизації. 
 Реценз.   
Пояснювальна записка 
 Н. Контр.  ЧДТУ, АКІТС-2199 
 
 Затверд. Лукашенко 
 
СПИСОК УМОВНИХ ПОЗНАЧЕНЬ ТА СКОРОЧЕНЬ 
 
API – прикладний програмний інтерфейс;  
CAN (Controller Area Network) – мережа контролерів;  
DRAM (Dynamic Random Access Memory) – динамічна пам'ять з довільним 
доступом;  
DSP (Digital Signal Processor) – цифровий сигнальний процесор;  
MPSoC (Multiprocessor System-on-Chip) – багатопроцесорна система на чіпі;  
OSI (Open Systems Interconnection) – відкрита система взаємозв’язку;  
SoC (System on Chip) –система на чіпі;  
SPI (Serial Peripheral Interface) – послідовний периферійний інтерфейс;  
АЦП – аналогово-цифровий перетворювач;  
МП – мікропроцесор; 
МК – мікроконтролер; 
ОЗП – оперативно запам'ятовувальний пристрій;  
ПЗП – постійний запам'ятовувальний пристрій;  
ПЛК – програмований логічний контролер;  
ППЗП – програмуємий постійний запам'ятовувальний пристрій;  
ЦАП – цифро-аналоговий перетворювач. 
 
Лист 
ЧДТУ.232253.001 ПЗ 
3 
Змн. Арк. № докум. Підпис Дата  
 
ВСТУП 
 
Мікропроцесори та їхні похідні, такі як мікроконтролери, стали невід'ємною 
частиною інфраструктури сучасного суспільства, яке базується на електроніці та 
комунікаціях. За останні роки мікроконтролери здобули велику популярність серед 
розробників завдяки їхньому вигідному співвідношенню 
ціна/швидкодія/енергоспоживання, зручними режимами програмування, 
доступністю програмно-апаратних засобів підтримки та широким асортиментом 
доступних кристалів. Мікроконтролери є чудовим інструментом для створення 
сучасних, високопродуктивних та економічних контролерів різного призначення 
[1]. Стратегія модульного проектування дозволяє розробникам мати доступ до 
різноманітності моделей мікроконтролерів з одним процесорним ядром.  
Існує кілька способів програмування мікроконтролерів: використання 
симуляторів для тестування, розробка макетів. Однак ці методи мають свої 
недоліки: робота в симуляторі може відрізнятися від роботи з реальними 
електронними пристроями, а при збиранні на макетній платі можуть виникнути 
помилки, що можуть пошкодити контролер або неправильно підключити його. Для 
уникнення цих проблем ефективним рішенням є використання відлагоджувальних 
плат. Ці плати вже мають правильне підключення та маршрутизацію. Роботу 
електронних пристроїв можна перевірити за допомогою демопрограми, а вбудовані 
системи діагностики та прошивки дозволяють швидко оновити програмне 
забезпечення мікроконтролера. Таким чином, розробнику залишається 
експериментувати, не витрачаючи час на незначні деталі. 
Відлагоджувальна плата також є зручним інструментом для швидкого 
створення прототипів, випробування компонентів, перевірки ідей та методів. 
Розробник може перевірити свою ідею на демоплаті, виявити проблеми та внести 
коригування, а потім використати налагоджений код у реальному проекті. Існує 
широкий вибір налагоджувальних плат від світових виробників, які пропонують 
різноманітні можливості. Прототипи налагоджувальних плат та електронних 
стендів на основі мікроконтролерів дозволяють візуально перевірити правильність 
Лист 
ЧДТУ.232253.001 ПЗ 
4 
Змн. Арк. № докум. Підпис Дата  
 
роботи програми. Незважаючи на різноманітність налагоджувальних плат, всі вони 
виконують одну функцію – знижують ймовірність непрацездатності програми 
через неправильне функціонування апаратної частини проекту, що є актуальним на 
теперішній час. 
Мета кваліфікаційної роботи – аналіз особливостей відлагоджувальних 
плат створених на базі мікроконтролерів та вибір оптимальної апаратурної 
платформи. 
Для досягнення поставленої мети необхідно вирішити наступні задачі: 
• проаналізувати аналогічні рішення які існують на даний час та виконують 
подібні функції; 
• розглянути середовище розробки для проектування програмного 
забезпечення; 
• провести аналіз основних принципів побудови відлагоджувальних плат; 
• вибрати апаратну платформу відлагоджувальних плат для систем 
автоматизації. 
  
Лист 
ЧДТУ.232253.001 ПЗ 
5 
Змн. Арк. № докум. Підпис Дата  
 
1 АНАЛІТИЧНИЙ ОГЛЯД НАУКОВО-ТЕХНІЧНОЇ ЛІТЕРАТУРИ 
 
1.1 Мікропроцесори 
На сьогоднішній день існує велика кількість різних типів мікропроцесорів, 
які виготовляються різними компаніями, такими як Pentium, K6, PowerPC, Sparc та 
інші. Вони виконують подібні функції і працюють приблизно однаково. 
Мікропроцесор, також відомий як центральний процесор (ЦП), є 
повноцінним обчислювальним пристроєм, який знаходиться на одному кристалі. 
Першим мікропроцесором був Intel 4004, який був представлений у 1971 році. 
Однак у Intel 4004 були обмежені можливості, його функціонал дозволяв лише 
виконувати операції додавання і віднімання, а його продуктивність складала всього 
4 біти на цикл. 
Великим проривом у виробництві мікропроцесорів було появлення 
можливості помістити всі компоненти на одному чіпі. Раніше комп'ютери 
складалися з наборів мікросхем або окремих компонентів, де транзистори 
підключалися поодинці. Intel 4004 знайшов застосування у перших портативних 
електронних калькуляторах. Згодом компанія Intel продовжила розвиток і 
вдосконалення мікропроцесорів. 
 
 
Рисунок 1.1 – Перший мікропроцесор в домашньому комп'ютері (Intel 8080) 
 
У домашніх комп'ютерах першим мікропроцесором, представленим на ринку, 
був Intel 8080 (рис. 1.1) – повноцінний 8-розрядний комп'ютер, випущений у 
Лист 
ЧДТУ.232253.001 ПЗ 
6 
Змн. Арк. № докум. Підпис Дата  
 
1974 році. Однак справжній розквіт на ринку мікропроцесорів настав з випуском 
Intel 8088 у 1979 році, який використовувався в IBM PC (перший IBM-сумісний 
комп'ютер, що з'явився приблизно в 1982 році).  
У персональних комп'ютерах (ПК) з часом використовувалися більш 
продуктивні процесори, такі як 80286, 80386, 80486, Pentium, Pentium II, Pentium 
III, Pentium 4. Усі ці мікропроцесори були вироблені компанією Intel. Виробництво 
спрямовувалося на поліпшення продуктивності і комплектації базової структури 
8088. Наприклад, Pentium 4 міг виконувати будь-який код, призначений для 
оригінального 8088, але мав близько 5000 разів більшу продуктивність.  
З появою мультиядерних процесорів і мільйонів транзисторів, компанія Intel 
від 2004 року продовжує розробку мікропроцесорів, відповідно до загальних 
принципів, що використовувалися в попередніх чіпах [3]. 
 
Таблиця 1.1 – Параметри процесорів компанії Intel (1974-2004 роки) 
Дата Кількість Товщина, Тактова Розмір Продуктив 
Назва 
випуску транзисторів мкм частота даних ність(MIPS) 
8080 1974 6,000 6 2 МГц 8 біт 0.64 
8088 1979 29,000 3 5 МГц 16 біт 0.33 
80286 1982 134,000 1.5 6 МГц 16 біт 1 
80386 1985 275,000 1.5 16 МГц 32 біти 5 
80486 1986 1,200,000 1 25 МГц 32 біти 20 
Pentium 1993 3,100,000 0.8 60 МГц 32 біти 100 
Pentium II 1997 7,500,000 0.35 233 МГц 32 біти ≈300 
Pentium III 1999 9,500,000 0.25 450 МГц 32 біти ≈510 
Pentium 4 2000 42,000,000 0.18 1.5 ГГц 32 біти ≈1,700 
Pentium 4 
2004 125,000,000 0.09 3.6 ГГц 32 біти ≈7,000 
“Prescott” 
Лист 
ЧДТУ.232253.001 ПЗ 
7 
Змн. Арк. № докум. Підпис Дата  
 
Додаткова інформація про Таблицю 1: 
• Дата випуску: це рік, коли процесор був вперше представлений. Більшість 
процесорів отримували пізніше вищі тактові частоти протягом багатьох 
років після початкового випуску. 
• Кількість транзисторів: це кількість транзисторів, що містяться на чіпі. З 
розвитком технологій виробництва, кількість транзисторів на одному 
кристалі збільшується. 
• Товщина: це розмір найменшого провідника на чіпі, виміряний в 
мікронах. Зменшення розміру елементів на чіпі призводить до збільшення 
кількості транзисторів. 
• Тактова частота: це максимальна частота, з якою може працювати чіп при 
синхронізації. 
• Розмір даних: це ширина арифметико-логічного пристрою (АЛП). 
Наприклад, 8-бітний АЛП може операцію 
додавання/віднімання/множення тощо здійснювати над двома 8-
розрядними числами, тоді як 32-бітний АЛП працює з 32-розрядними 
числами. Чим більше розрядів АЛП, тим більше операцій він може 
виконувати одночасно. Зазвичай зовнішня шина даних має таку саму 
ширину, що й АЛП. 
• Продуктивність (MIPS): це оцінка продуктивності процесора, яка 
вимірюється у «мільйонах інструкцій на секунду». Однак, у сучасних 
процесорах, що виконують різноманітні операції, рейтинг MIPS втрачає 
свою значимість. У таблиці наведені відносні потужності процесорів. 
Залежно від тактової частоти, можна спостерігати зв'язок з показником 
MIPS. Максимальна тактова частота обмежена виробничим процесом і 
затримками всередині чіпа. Також існує зв'язок між кількістю 
транзисторів і показником MIPS. Наприклад, 8088 мав тактову частоту 5 
МГц, але здійснював операції зі швидкістю приблизно 0,33 MIPS 
(приблизно одна інструкція на 15 тактових циклів). Покращення 
продуктивності прямо залежить від кількості транзисторів на чіпі [4]. 
Лист 
ЧДТУ.232253.001 ПЗ 
8 
Змн. Арк. № докум. Підпис Дата  
 
Значення розміру процесу процесора 
У цьому контексті термін «процес» використовується для опису процесу 
виготовлення, а не роботи самого процесора комп'ютера. Ми розглядаємо 
виготовлення процесора, а не його функціонування. Розмір вузла процесу, який 
вимірюється в нанометрах, визначає розмір найменшого можливого елемента в 
процесорі. 
 
 
Рисунок 1.2 – Зображення процесору Intel 
 
Якщо дизайн процесора уявляється у вигляді цифрового зображення, то 
розмір одного «пікселя» відповідатиме розміру вузла процесу. Наприклад, в 
поточному процесі Intel найменший можливий елемент має розмір 14 нанометрів 
(або 14 нм) (рис. 1.2). Чим менший розмір вузла процесу, тим більшу деталізацію 
можна отримати. Це означає, що виробники можуть зменшити розмір транзисторів 
та інших компонентів. Такий підхід дозволяє вмістити більшу кількість 
транзисторів у меншому фізичному просторі. Це має свої переваги, але також 
вносить кілька недоліків. 
При однаковому стисненні всіх частин транзистора, його електричні 
властивості не зазнають змін. Збільшення кількості транзисторів в тому ж об'ємі 
дозволяє отримати більше обчислювальної потужності. Це досягається завдяки 
збільшенню обчислювального паралелізму та розміру кеша. Зменшення розміру 
транзисторів також сприяє прискоренню роботи чіпа та додаванню нових функцій. 
Лист 
ЧДТУ.232253.001 ПЗ 
9 
Змн. Арк. № докум. Підпис Дата  
 
 
Рисунок 1.3 – Чіп виготовлений на круглій кремнієвій пластині 
 
Менші процеси мають нижчу ємність, що дозволяє транзисторам швидше 
перемикатися і знижує споживання енергії. Чим швидше транзистори 
перемикаються, тим швидше працює процесор. Транзистори з меншим 
споживанням енергії є більш ефективними, оскільки знижують робочу потужність 
або «динамічне енергоспоживання». Мікросхема з меншим динамічним 
енергоспоживанням розряджає акумулятори повільніше, працює довше і є більш 
екологічною. 
Менші чіпи також є дешевшими у виробництві. Наприклад, кремнієві 
пластини, на яких виготовляють чіпи, зазвичай мають круглу форму і містять 
десятки кристалів процесора. Зменшення розміру процесу дозволяє зменшити 
розмір матриці. Менша матриця дозволяє розмістити більше матриць на одній 
кремнієвій пластині, що покращує ефективність виробництва і знижує витрати. 
Розробка нового процесу вимагає значних вкладень, але після їх окупності витрати 
на виготовлення штампів значно зменшуються. 
Однак, зменшення розміру процесу призводить до збільшення складності 
технології виготовлення менших транзисторів. Це може призвести до зниження 
максимально можливої тактової частоти і до позначення деяких чіпів як менш 
потужних. Менші процеси часто містять більше мікросхем, які працюють на 
низьких тактових частотах, оскільки створення ідеального чіпа є складним 
завданням. Виробники намагаються вирішити ці проблеми, але це часто вимагає 
Лист 
ЧДТУ.232253.001 ПЗ 
10 
Змн. Арк. № докум. Підпис Дата  
 
змін в аналоговому світі. Менші транзистори також мають вищий витік, що 
призводить до збільшення статичного енергоспоживання. Чіпи з більшим витоком 
вимагають більше енергії, навіть у режимі очікування, що зменшує їх ефективність. 
Менші процеси можуть також мати нижчу виходовість, що призводить до 
меншої кількості функціональних чіпів. Це може спричиняти затримки і дефіцит 
виробництва, ускладнюючи окупність інвестицій у розробку нового процесу. Але 
виробники намагаються зменшити ці проблеми при розробці нових процесів, щоб 
отримати швидкі та ефективні чіпи. 
Принцип роботи МП  
Для розуміння роботи мікропроцесора необхідно ознайомитися з логікою, що 
використовується для його створення. У процесі взаємодії з процесором також 
важливо ознайомитися з мовою асемблера – нативною мовою мікропроцесора, а 
також з методами підвищення його швидкості. 
Мікропроцесор виконує набір машинних інструкцій, які командують 
процесору, що робити. За допомогою цих інструкцій мікропроцесор здійснює три 
основні дії: 
1. Арифметично-логічні операції: З використанням свого арифметично-
логічного блоку (АЛБ) мікропроцесор може виконувати математичні 
операції, такі як додавання, віднімання, множення і ділення. Сучасні 
мікропроцесори також мають повноцінні процесори з плаваючою комою, 
які можуть обробляти складні операції з великими числами, включаючи 
числа з плаваючою комою. 
2. Робота з пам'яттю: Процесор може переміщувати дані з однієї комірки 
пам'яті в іншу. Це дозволяє процесору зчитувати дані з пам'яті, зберігати 
результати обчислень або здійснювати маніпуляції з даними. 
3. Управління виконанням інструкцій: Процесор може приймати рішення і 
переходити до нового набору інструкцій на підставі цих рішень. Це 
дозволяє процесору здійснювати послідовні операції та управляти ходом 
програми. Усі ці дії виконуються мікропроцесором в рамках вказаних 
машинних інструкцій, що дає додаткові можливі. 
Лист 
ЧДТУ.232253.001 ПЗ 
11 
Змн. Арк. № докум. Підпис Дата  
 
 
Рисунок 1.4 – Структурна схема найпростішого мікропроцесора 
 
Також існують складні операції, які виконує мікропроцесор, але основні дії 
полягають у наступному. На діаграмі (рис. 1.4) показано дуже простий 
мікропроцесор, який здатний виконувати ці три операції. Цей мікропроцесор 
складається з таких компонентів: 
• Шина даних (розміром 8, 16 або 32 біти), яка може передавати дані до 
пам'яті або отримувати дані з пам'яті. 
• Шина адреси (розміром 8, 16 або 32 біти), що передає адреси до пам'яті. 
• Лінія синхронізації, яка забезпечує синхронізацію тактового імпульсу 
процесора. 
• Лінія скидання, яка скидає лічильник програми на нуль (або на інше 
значення) та відновлює виконання. 
• Лінії RD (читання) і WR (запис), що повідомляють пам'яті, чи потрібно 
встановити або отримати дані з вказаної адреси. 
Лист 
ЧДТУ.232253.001 ПЗ 
12 
Змн. Арк. № докум. Підпис Дата  
 
Припустимо, що шина адреси і даних в цьому прикладі має розмір 8 біт. 
Такий процесор має наступні компоненти: 
• Регістри A, B і C, які є засувками, зробленими з тригерів. 
• Засувка адреси, яка схожа на регістри A, B і C. 
• Лічильник програми, який є засувкою з додатковою функцією збільшення 
на 1 при отриманні відповідного сигналу і скидання на нуль при 
отриманні відповідного сигналу. 
• Арифметико-логічний блок (АЛБ), який може бути таким простим, як 8-
бітний, або виконувати операції додавання, віднімання, множення і 
ділення для 8-бітних значень. 
• Тестовий регістр, який є спеціальним фіксатором, що зберігає значення 
порівнянь, здійснених в АЛБ. Він може порівнювати два числа і 
визначати, чи вони рівні, чи одне більше за інше тощо. Також він може 
містити біт перенесення з останнього ступеня суматора. Значення 
зберігаються в тригерах, а декодер команд може використовувати ці 
значення для прийняття рішень. 
• На діаграмі є шість полів з позначкою "3 стани". Ці поля представляють 
буфери з трьома станами. Буфер з трьома станами може передавати 1, 0 
або відключати свій вихід. Це означає, що вихідна лінія може бути 
повністю відключена від підключеного проводу. Буфер з трьома станами 
дозволяє декільком виходам підключатися до проводу, але тільки один з 
них фактично виводить 1 або 0 на лінію. 
• Регістр команд і декодер команд відповідають за управління всіма іншими 
компонентами. Наприклад: 
▪ Задати регістру A значення на шині даних. 
▪ Задати регістру B значення на шині даних. 
▪ Задати регістру C значення з АЛБ. 
▪ Задати регістру адреси значення на шині даних. 
▪ Задати лічильнику програми значення на шині даних. 
▪ Збільшити значення лічильника програми. 
Лист 
ЧДТУ.232253.001 ПЗ 
13 
Змн. Арк. № докум. Підпис Дата  
 
▪ Розпочати будь-який процес з шести буферів з трьома станами (шість 
окремих рядків). 
▪ Задати регістру інструкцій значення, яке знаходиться на шині даних. 
▪ Скинути значення лічильника програми на нуль. 
▪ Задати тестовому регістру значення тестових бітів АЛБ. 
▪ Задати АЛБ, яку операцію виконати. 
▪ Активувати лінію WR (запис). 
▪ Активувати лінію RD (читання). 
В декодер команд входять біти з тестового регістру, лінії синхронізації і біти 
з регістра команд. 
 
1.2 Мікроконтролери  
Мікроконтролер (МК) – це самостійна система, що включає в себе 
периферійні пристрої, пам'ять і процесор, і використовується як вбудована система. 
Більшість сучасних програмованих мікроконтролерів використовуються в різних 
споживчих товарах або пристроях, таких як телефони, периферійні пристрої, 
автомобілі, побутова техніка і комп'ютерні системи. Тому інший термін, який 
використовується для мікроконтролера, – «вбудований контролер». 
Деякі вбудовані системи є складнішими, тоді як інші мають мінімальні 
вимоги до пам'яті і низьку складність програмного забезпечення. Пристрої 
введення-виведення можуть включати соленоїди, LCD-дисплеї, реле, перемикачі і 
датчики для збирання даних, таких як вологість, температура або рівень 
освітленості, серед інших. Мікроконтролери є невід'ємною частиною вбудованих 
систем. 
Мікроконтролер – це компактний і доступний за ціною комп'ютер, який 
знаходиться на одній мікросхемі. Він включає в себе процесор, невеликий обсяг 
пам'яті та програмовану периферію введення-виведення. Мікроконтролери 
призначені для використання в автоматизованих пристроях, де вони виконують 
передбачувані та заздалегідь програмовані завдання. Щоб краще зрозуміти, що 
саме є мікроконтролером, розглянемо приклад використання його в продукті. 
Лист 
ЧДТУ.232253.001 ПЗ 
14 
Змн. Арк. № докум. Підпис Дата  
 
Наприклад, цифровий термометр, який відображає температуру 
навколишнього середовища, використовує мікроконтролер. Мікроконтролер 
підключений до датчика температури та дисплея, такого як LCD-дисплей. Він 
отримує дані про температуру від датчика, обробляє їх та відображає на LCD-
дисплеї у зрозумілому форматі. Багато електронних пристроїв використовують 
один або кілька мікроконтролерів, залежно від вимог та складності додатків. 
На ринку існує широкий вибір мікроконтролерів. Різні компанії, такі як 
Atmel, ARM, Microchip, Texas Instruments, Renesas, Freescale, NXP Semiconductors 
та інші, виробляють різні типи мікроконтролерів з різними функціями. Шляхом 
аналізу різних параметрів, таких як програмована пам'ять, напруга живлення, 
введення/виведення, швидкість тощо, можна вибрати відповідний мікроконтролер 
для конкретного застосування. 
Основні параметри мікроконтролерів включають: 
1. Шина даних (розмір бітів): Більшість мікроконтролерів класифікуються 
за розміром бітів, який зазвичай становить від 8 до 32 біт (існують також 
мікроконтролери з вищим розрядністю). Наприклад, в 8-бітному 
мікроконтролері шина даних складається з 8 ліній даних, а в 16-бітному – 
з 16 ліній даних і т.д. 
2. Обсяг пам'яті: Мікроконтролери потребують наявності пам'яті (ОЗУ, ПЗУ, 
EPROM, EEPROM, флеш-пам'ять і т.д.) для зберігання програм та даних. 
Деякі мікроконтролери мають вбудовану пам'ять, тоді як інші потребують 
зовнішньої пам'яті. Розмір в будованої пам'яті також може варіюватися, і 
зазвичай зустрічаються мікроконтролери з об'ємом пам'яті від 4 кБ до 
4 МБ. 
3. Кількість вхідних/вихідних контактів: Мікроконтролери відрізняються за 
кількістю вводу/виводу контактів. Вибір певного мікроконтролера 
залежить від вимог програми. 
4. Набір інструкцій: Існують два типи наборів команд – RISC (скорочена 
назва від Reduced Instruction Set Computer) і CISC (скорочена назва від 
Complex Instruction Set Computer). Мікроконтролер може використовувати 
Лист 
ЧДТУ.232253.001 ПЗ 
15 
Змн. Арк. № докум. Підпис Дата  
 
RISC або CISC архітектуру. RISC архітектура зменшує час виконання 
інструкцій, що визначає тактовий цикл, тоді як CISC дозволяє 
використовувати одну інструкцію замість декількох. Також існують 
мікроконтролери з архітектурою пам'яті Harvard (розділення даних і 
команд) та пам'яті Princeton (спільне зберігання даних і команд). 
Найпопулярнішими мікроконтролерами серед студентів і ентузіастів є: 
• Мікроконтролери AVR від Atmel (серія ATtiny, ATmega). 
• Мікроконтролери серії 8051 (8 біт). 
• Мікроконтролери Texas Instruments, такі як MSP430. 
• Мікроконтролери серії PIC від Microchip. 
• Мікроконтролери ARM. 
Ці мікроконтролери відрізняються захоплюючими можливостями та 
широким спектром застосувань. 
Типи мікроконтролерів  
Існує кілька типів програмованих мікроконтролерів, які класифікуються за 
різними параметрами, такими як кількість біт, розмір флеш-пам'яті, об'єм 
оперативної пам'яті (ОЗП), кількість вхідних/вихідних контактів, тип упаковки, 
напруга живлення і швидкість роботи. Програмовані мікроконтролери мають 
загальнопризначені порти введення/виведення. Кількість цих портів залежить від 
конкретного мікроконтролера. За допомогою програмного забезпечення їх можна 
налаштовувати як вхідні або вихідні. Якщо порти налаштовані як вхідні, вони 
можуть використовуватися для зчитування зовнішніх сигналів або датчиків. Якщо 
порти налаштовані як вихідні, вони можуть керувати зовнішніми пристроями, 
наприклад, світлодіодними дисплеями або двигунами. 
Програмовані мікроконтролери призначені для використання у вбудованих 
пристроях і відрізняються від мікропроцесорів, які зазвичай знаходимо в особистих 
комп'ютерах. Мікроконтролери застосовуються в автоматичних пристроях, таких 
як електроінструменти, іграшки, медичні пристрої, офісні машини, системи 
управління двигуном, побутові прилади, пульті дистанційного керування та інші 
вбудовані системи. 
Лист 
ЧДТУ.232253.001 ПЗ 
16 
Змн. Арк. № докум. Підпис Дата  
 
Розглянемо основні компоненти, що беруть участь у роботі мікроконтролера: 
• Флеш-пам'ять програми і флеш-пам'ять даних: Вбудована флеш-пам'ять 
(Read Only Memory, ROM) на мікроконтролері виконує роль жорсткого 
диска. Вона складається з двох розділів: один для зберігання програмного 
коду, інший для постійного зберігання даних, що використовуються під 
час роботи програми. 
• Центральний процесор (ЦП): ЦП є головним «мозком» мікроконтролера. 
Він вибирає інструкції з пам'яті коду і виконує їх. 
• Оперативна пам'ять даних (ОЗП): ОЗП – це простір даних, 
використовуваний для тимчасового зберігання констант і значень змінних 
під час виконання програми. Розмір ОЗП на мікроконтролері може 
варіюватися. ОЗП організована у вигляді «регістрів» з унікальними 
адресами. Наприклад, на 8-бітному мікроконтролері регістр ОЗП може 
містити 8 біт або один байт даних. Загальний обсяг ОЗП вказується у 
специфікаціях, наприклад, 256 x 8, що означає наявність 256 регістрів, 
кожен з яких може містити 8 біт. 
Регістри спеціальних функцій  
Регістри спеціальних функцій (SFR) на мікроконтролері подібні до регістрів 
в оперативній пам'яті даних. Вони можуть бути використані для запису та читання 
даних. Однак, є різниця між ними. Деякі SFR безпосередньо керують вбудованим 
обладнанням мікроконтролера, тоді як інші контролюються самим обладнанням. 
Кожен біт в SFR призначений для певної функції.  
В SFR є керуючі біти і біти прапора. Керуючі біти подібні до перемикачів, які 
вмикають або вимикають функцію залежно від значення біта (1 або 0) в SFR. Біти 
прапора подібні до світлових індикаторів, які вказують на наявність певних умов, 
залежно від значення біта прапора (1 або 0).  
Керуючі біти безпосередньо керують апаратним забезпеченням, а біти 
прапора контролюються апаратними засобами. Зазвичай, в програмі записуються 
керуючі біти, а біти прапора читаються (деякі біти прапора можуть бути очищені 
шляхом запису в них, залежно від вимог). Кожному елементу апаратного 
Лист 
ЧДТУ.232253.001 ПЗ 
17 
Змн. Арк. № докум. Підпис Дата  
 
забезпечення на мікроконтролері відповідає щонайменше 1 SFR, а деякому 
обладнанню можуть бути призначені кілька SFR. 
 
1.3 Відмінності між мікропроцесором і мікроконтролером 
Мікропроцесор – це мікросхема, яка містить лише процесор, тобто 
обчислювальну потужність, таку як Intel Pentium 1,2,3,4, Core 2 Duo, I3, I5 і так далі. 
Ці мікропроцесори не включають в себе оперативну пам'ять, ПЗУ та інші 
периферійні пристрої на чіпі (рис. 1.5).  
 
 
Рисунок 1.5 – Структурна схема мікропроцесора 
 
Розробник системи повинен додати зовнішні пристрої, щоб розширити 
функціонал, але це не стосується мікроконтролерів. Мікроконтролер включає в себе 
процесор, фіксований обсяг оперативної пам'яті, ПЗУ та інші вбудовані 
периферійні пристрої, об'єднані на одній чіпі. Часто його називають міні-
комп'ютером або комп'ютером на одній мікросхемі. Сьогодні різні виробники 
пропонують мікроконтролери з різноманітними функціями, доступними у різних 
версіях. Деякі з найвідоміших виробників включають ATMEL, Microchip, TI, 
Freescale, Philips, Motorola та інші. [11] 
Лист 
ЧДТУ.232253.001 ПЗ 
18 
Змн. Арк. № докум. Підпис Дата  
 
Мікроконтролери використовуються для виконання конкретних завдань і 
мають встановлені взаємозв'язки між введенням і виведенням. Вони 
застосовуються в різних пристроях, таких як клавіатури, миші, пральні машини, 
цифрові камери, пульти дистанційного керування, мікрохвильові печі, автомобілі, 
велосипеди, телефони, мобільні телефони, годинники і т.д. Через їх специфічні 
призначення, вони потребують обмежених ресурсів, таких як оперативна пам'ять, 
постійна пам'ять (ПЗП), вхідно-вихідні порти тощо, і тому можуть бути вбудовані в 
один чіп (рис. 1.6). Це зменшує їх розмір і вартість.  
 
 
Рисунок 1.6 – Структурна схема мікропроконтролера 
 
З іншого боку, мікропроцесори застосовуються в більш загальних завданнях, 
таких як розробка програмного забезпечення, ігор, веб-сайтів, редагування 
фотографій, створення документів тощо. В цих випадках взаємозв'язок між 
введенням і виведенням не є задекларованим. Мікропроцесори вимагають більшої 
кількості ресурсів, таких як оперативна пам'ять, постійна пам'ять (ПЗУ), вхідно-
вихідні порти тощо. 
Лист 
ЧДТУ.232253.001 ПЗ 
19 
Змн. Арк. № докум. Підпис Дата  
 
Тактова частота мікропроцесора зазвичай вища, ніж у мікроконтролерів. 
Мікроконтролери працюють на частотах від кількох мегагерців до 30-50 мегагерц, 
тоді як сучасні мікропроцесори працюють на частотах понад 1 гігагерц, виконуючи 
складні завдання.  
Мікроконтролери є більш доступними з точки зору вартості, ніж 
мікропроцесори. Однак мікроконтролер може бути використаний замість 
мікропроцесора, але навпаки не рекомендується, оскільки це зробить додаток 
дорожчим. Мікропроцесори не можуть бути використані окремо, оскільки всі 
периферійні пристрої мікроконтролера знаходяться на одному чипі, що робить його 
компактним, у той час як мікропроцесори вимагають додаткових зовнішніх 
компонентів і, отже, є більш громіздкими.  
Мікроконтролери виготовляються з використанням технології 
комплементарно-метал-оксид-напівпровідників (CMOS), що робить їх дешевшими 
за мікропроцесори. Крім того, додатки, створені з використанням 
мікроконтролерів, є більш економічними, оскільки вони вимагають менше 
зовнішніх компонентів, в той час як загальна вартість систем, побудованих на 
мікропроцесорах, висока через велику кількість зовнішніх компонентів, необхідних 
для таких систем.  
Зазвичай мікроконтролери мають системи енергозбереження, такі як режим 
очікування або режим економного споживання, тому вони в цілому споживають 
менше енергії. Крім того, завдяки низькому рівню зовнішніх компонентів, загальне 
споживання енергії в мікроконтролерах також нижче.  
З іншого боку, мікропроцесори зазвичай не мають систем енергозбереження 
і використовують багато зовнішніх компонентів, тому їх енергоспоживання вище в 
порівнянні з мікроконтролерами. Мікроконтролери компактні і ефективні для 
використання в невеликих продуктах і додатках, тоді як мікропроцесори краще 
підходять для великих додатків. Конструкція мікроконтролера базується на 
архітектурі Гарварда, де пам'ять для програм та данних є окремою, тоді як 
мікропроцесори використовують архітектуру фон Неймана, в якій обидві пам'яті 
зберігаються в одній модулі пам'яті. 
Лист 
ЧДТУ.232253.001 ПЗ 
20 
Змн. Арк. № докум. Підпис Дата  
 
1.4 Огляд існуючих прототипів 
Мікропроцесорні системи (МПС) на основі мікроконтролерів (МК) широко 
використовуються як вбудовані системи для управління різними об'єктами. Однією 
з ключових вимог до таких систем є здатність працювати в реальному часі, тобто 
забезпечувати швидку реакцію на зовнішні події в заданий часовий інтервал. Ці 
пристрої часто називають контролерами. 
Розробник МПС стикається з завданням реалізації повного циклу 
проектування, що починається з розробки алгоритму функціонування і закінчується 
комплексними тестами в рамках готового виробу. В Інтернеті можна знайти безліч 
варіантів налагоджувальних плат. Деякі з них мають складну конструкцію та велику 
кількість елементів. Приклад складної налагоджувальної плати показано на 
рисунку 1.8. Також в мережі можна знайти простіші приклади плат, але вони 
можуть не мати всіх необхідних компонентів для повноцінного функціонування. 
 
 
Рисунок 1.8 – Складна налагоджувальна плата 
 
Під час розробки власної налагоджувальної плати важливо враховувати, що 
максимальне використання апаратних ресурсів спрощує процес розробки і дозволяє 
досягти високої продуктивності контролера в цілому. Проте, це часто призводить 
до збільшення вартості та споживаної потужності. 
Лист 
ЧДТУ.232253.001 ПЗ 
21 
Змн. Арк. № докум. Підпис Дата  
 
При виборі типу мікроконтролера (МК) враховуються такі основні 
характеристики: 
• швидкодія; 
• набір команд і способи адресації; 
• обсяг програмно-запам'ятовуючого пристрою (ПЗП) і оперативної 
запам'ятовуючої пристрою (ОЗП) для даних; 
• вимоги до джерела живлення та споживаної потужності у різних режимах; 
• наявність та можливості периферійних пристроїв, включаючи засоби 
підтримки роботи в реальному часі, такі як таймери, процесори подій 
тощо; 
• розрядність; 
• можливості розширення пам'яті для програм і даних; 
• вартість; 
• можливість перепрограмування в межах пристрою; 
• можливість заміни виробами інших фірм; 
• наявність і надійність засобів захисту внутрішньої інформації; 
• наявність і доступність ефективних засобів програмування та 
налагодження МК. 
Серед провідних брендів, які виробляють налагоджувальні плати і модулі 
розширення, можна відзначити такі компанії: Atmel, Digilent, Embest, Freescale, 
Future Technology, IAR Systems, Microchip, mikroElektronika, Olimex, Seeed Studio, 
ST Microelectronics, Texas Instruments, Waveshare. 
Сучасна стратегія модульного проектування надає споживачам багато різних 
моделей мікроконтролерів з однаковим процесорним ядром. Ця структурна 
різноманітність дозволяє розробникам вибрати оптимальний МК для своїх потреб. 
Великі світові компанії пропонують широкий вибір налагоджувальних плат, які 
мають більше можливостей, але їхня вартість може бути досить високою. На 
рисунку 1.9 зображений приклад налагоджувальної плати від виробника Atmel. 
 
Лист 
ЧДТУ.232253.001 ПЗ 
22 
Змн. Арк. № докум. Підпис Дата  
 
 
Рисунок 1.9 – Налагоджувальна плата виробника Atmel 
 
На конференції BUILD компанія Atmel спільно з розробниками команди 
Arduino представила кілька налагоджувальних платформ, які базуються на 
мікроконтролерах AVR (зокрема ATmega32U4 і AVR UC3) та мікроконтролері з 
ядром Cortex-M3 SAM3U.  
Лист 
ЧДТУ.232253.001 ПЗ 
23 
Змн. Арк. № докум. Підпис Дата  
 
2 ВІДЛАГОДЖУВАЛЬНІ ПЛАТИ ТА СЕРЕДОВИЩЕ РОЗРОБКИ ДЛЯ 
СИСТЕМ АВТОМАТИЗАЦІЇ 
 
2.1 Відлагоджувальні плати STM32 Nucleo 
При розгляді вибору мікроконтролера з серії STM для нашого проекту, ми 
проаналізуємо налагоджувальні плати, що базуються на сімействі компанії 
STMicroelectronics. Засоби відлагодження та розробки можна умовно розділити на 
дві основні категорії: апаратні та програмні, і обидві ці групи широко представлені 
у компанії STMicroelectronics. До апаратних засобів належать налагоджувальні 
плати, які, подібно до самого мікроконтролера (у нашому випадку STM32), 
розподілені на різні серії (рис. 2.1) [21]. 
 
 
Рисунок 2.1 – Серії відлагоджувальних плат на основі мікроконтролера STM32 
 
На сьогоднішній день на ринку існує більше сотні різноманітних 
відлагоджувальних комплектів, які можна розділити на три основні групи: Nucleo, 
Discovery і Evaluation Boards. Крім того, існують різні модулі розширення для плат 
серії Nucleo та комплекти розробки від сторонніх виробників. 
Лист 
ЧДТУ.232253.001 ПЗ 
24 
Змн. Арк. № докум. Підпис Дата  
 
 
Відлагоджувальні плати, виготовлені компанією STMicroelectronics, надають 
користувачам можливість швидко, ефективно і з мінімальними витратами 
матеріалів створювати прототипи, які легко адаптуються до змін та додавання 
нового функціоналу. Крім того, ці плати мають доступну ціну. Лише серія Nucleo 
пропонує близько тридцяти комплектів відлагоджувальних плат [21]. Серія Nucleo 
складається з трьох лінійок плат: Nucleo-32, Nucleo-64 і Nucleo-144. Основні 
відмінності та зовнішній вигляд цих плат представлені на рисунку 2.2. Головна 
різниця між цими платами полягає у кількості доступних виводів мікроконтролера. 
 
 
Рисунок 2.2 – Лінійки відлагоджувальних плат Nucleo 
 
При використанні плат Nucleo в автономному режимі їх функціонал є 
обмеженим, оскільки вони передбачені переважно для використання з модулями 
розширення. У такому випадку, плата Nucleo виконує роль обчислювального ядра 
системи та бази для побудови повного рішення. Крім того, плати Nucleo можуть 
взаємодіяти з модулями Arduino: Nucleo-32 сумісний з Arduino Nano, а Nucleo-64 і 
Nucleo-144 можуть взаємодіяти з Arduino UnoV3 [21]. Можливості плат Nucleo 
значно відрізняються в залежності від їх групи. Наприклад, Nucleo-32 і Nucleo-64 
Лист 
ЧДТУ.232253.001 ПЗ 
25 
Змн. Арк. № докум. Підпис Дата  
 
мають базовий набір компонентів, таких як світлодіоди-індикатори, користувацька 
кнопка та кнопка скидання, а також вбудований програматор ST-LINK. З іншого 
боку, Nucleo-144 має розширений функціонал, включаючи різноманітні 
комунікаційні інтерфейси (Ethernet, USB і т.д.). 
 
 
Рисунок 2.3 – Структура відлагоджувальних плат серії Nucleo 
Лист 
ЧДТУ.232253.001 ПЗ 
26 
Змн. Арк. № докум. Підпис Дата  
 
Незважаючи на загальну концепцію, плати серії Nucleo відрізняються 
відмінностями, такими як форм-фактор, вбудовані інтерфейси і використовуваний 
мікроконтролер (тобто основні характеристики плати). Крім того, вони також 
мають різну вартість, що є важливим фактором для розробника. Структура серії 
відлагоджувальних плат STM32 Nucleo наведена на рисунку 2.3. 
Основний функціонал відлагоджувальних плат Nucleo визначається 
модулями розширень. Компанія STMicroelectronics пропонує широкий спектр 
таких плат (табл. 2.1) [21]. Крім того, також існує можливість включення плат з 
підтримкою Arduino від сторонніх виробників. 
 
Таблица 2.1 – Плати розширення для відлагоджувальних плат Nucleo 
Найменування Короткий опис 
X-NUCLEO-6180XA1 Плата розширення з датчиками контролю освітлення. 
X-NUCLEO-IKS01A2 Плата розширення, що базується на основі МЕМС-
датчиків руху. 
X-NUCLEO-CCA02M1 Плата розширення з мікрофоном на базі MP34DT01-M 
X-NUCLEO-PLM01A1 Плата розширення на основі ST7580 
X-NUCLEO-IDB05A1 Плата розширення з Bluetooth-модулем SPBTLE-RF 
X-NUCLEO-53L0A1 Плата розширення на базі модуля лазерного 
дальноміра і датчика жестів VL52L0X, що застосовує 
технології Time-of-Flight і FlightSense 
X-NUCLEO-NFC04A1 Плата розширення з NFC / RFID-міткою на основі 
ST25DV04K 
X-NUCLEO-IHM04A1 Плата розширення для управління кроковим двигуном. 
Базується на основі мікросхеми L6206 
X-NUCLEO-IHM01A1 Плата розширення для управління кроковим двигуном. 
На основі мікросхеми L6474 
X-NUCLEO-IHM07M1 Трифазний драйвер для BLDC / PMSM-двигунів 
X-NUCLEO-GNSS1A1 Плата розширення з модулем навігації GNSS 
X-NUCLEO-IHM02A1 Плата розширення на основі драйвера L6470 
двухфазного біполярного крокового двигуна з 
підтримкою мікрошаговий режиму. 
X-NUCLEO-IHM06A1 Плата розширення на основі мікросхеми 
низьковольтного драйвера крокового двигуна  
Лист 
ЧДТУ.232253.001 ПЗ 
27 
Змн. Арк. № докум. Підпис Дата  
 
X-NUCLEO-IHM03A1 Плата драйвера потужного крокового двигуна на 
основі системи в корпусі (SiP) powerSTEP01 
X-NUCLEO-IHM12A1 Плата розширення на основі мікросхеми 
низьковольтного драйвера крокового двигуна 
STSPIN240 
X-NUCLEO-CCA01M1 Плата розширення на основі мікросхеми 
високоефективної цифрової аудіосистеми STA350BW. 
X-NUCLEO-LED61A1 Плата розширення, що була розроблена в якості 
прикладу використання чіпа LED6001 в компактному 
драйвері світлодіодів. 
X-NUCLEO-IHM05A1 Плата розширення для управління кроковим двигуном. 
Базується на основі мікросхеми L6208 
X-NUCLEO-IKA01A1 Мультифункціональна плата розширення, заснована на 
операційних підсилювачах 
 
У якості прикладу використання чіпа LED6001, була розроблена плата 
розширення, що інтегрує компактний драйвер світлодіодів. Відлагоджувальні плати 
Nucleo є найбільш ергономічним варіантом для створення прототипу пристрою або 
для вивчення роботи мікроконтролера.  
Проте, через необхідність придбання додаткових модулів та обмежені 
можливості самостійних плат, користувачам часто доводиться звертатися до інших 
рішень, наприклад, до плат серії Discovery, які мають більший набір вбудованих 
периферійних пристроїв. 
 
2.2 Відлагоджувальні плати Discovery 
Відлагоджувальні плати сімейства DISCOVERY (рис. 2.4) призначені для 
використання з 32-бітними мікроконтролерами і мають необхідну інфраструктуру 
для демонстрації специфічних характеристик пристроїв. Завдяки HAL бібліотеці та 
комплексу програмних прикладів користувачі можуть використовувати всі переваги 
цих плат.  
Роз'єми розширення, які встановлені на платах, надають доступ до більшості 
виводів введення/виведення мікроконтролера, що дозволяє функціональне 
розширення шляхом підключення додаткових плат [22]. 
Лист 
ЧДТУ.232253.001 ПЗ 
28 
Змн. Арк. № докум. Підпис Дата  
 
 
Рисунок 2.4 – Відлагоджувальні плати сімейства DISCOVERY 
 
У таблиці 2.2 перелічені назви відлагоджувальних плат і типи 
мікроконтролерів, на основі яких створені відповідні плати сімейства STM32 
Discovery [22]. 
 
Таблиця 2.2 – Відлагоджувальні плати сімейства STM32 Discovery 
Назва 
Flash, SRAM, Fmax, 
відлагоджувальної Мікроконтролер ARM ядро 
кБ кБ МГц 
плати 
STM32F0308-DISCO STM32F030R8T6 Cortex-M0 64 8 48 
STM32F072B-DISCO STM32F072RBT6 Cortex-M0 128 16 48 
STM32F0DISCOVERY STM32F051R8T6 Cortex-M0 64 8 32 
STM32L0538-DISCO STM32L053C8T6 Cortex-M0+ 64 8 32 
STM32L100C-DISCO STM32L100RCT6 Cortex-M3 256 16 32 
STM32L152C-DISCO STM32L152RBT6 Cortex-M3 128 16 32 
STM32VLDISCOVERY STM32F100RBT6 Cortex-M3 128 8 24 
STM32F3348-DISCO STM32F334C8T6 Cortex-M4 64 16 72 
STM32F411E-DISCO STM32F411VET6 Cortex-M4 512 128 100 
STM32F429I-DISCO STM32F429ZIT6 Cortex-M4 2048 256 180 
Лист 
ЧДТУ.232253.001 ПЗ 
29 
Змн. Арк. № докум. Підпис Дата  
 
STM32F469I-DISCO STM32F469NIH6 Cortex-M4 2048 384 180 
STM32L476G-DISCO STM32L476VGT Cortex-M4 1024 128 80 
STM32F3DISCOVERY STM32F303VCT6 Cortex-M4 256 48 72 
STM32F4DISCOVERY STM32F407VGT Cortex-M4 1024 192 168 
STM32F746G-DISCO STM32F746NGH Cortex-M7 1024 340 216 
 
Серія Discovery, так само як і Nucleo, включає в себе програматор ST-LINK, 
який вбудований безпосередньо на відлагоджувальну плату і може 
використовуватися для програмування зовнішніх пристроїв на основі 
мікроконтролерів STM.  
Ця серія плат підтримується різноманітними відомими інтегрованими 
середовищами розробки, такими як IAR Embedded Workbench, MDK-ARM (Keil), 
TrueStudio (Atollic) та іншими. 
 
2.3 Відлагоджувальні плати Evaluation Boards  
Відлагоджувальні плати серії Evaluation Boards (рис. 2.5) виявляються більш 
розширеними у розмаїтті доступної периферії порівняно з попередньою серією. У 
відмінність від плат серії Discovery, які мають лише базовий набір компонентів для 
початкового ознайомлення та відлагодження мікроконтролерів, плати Evaluation 
Boards включають значно більший набір додаткових компонентів. Цей набір може 
включати наступне: 
• Програматор ST-LINK. 
• Різні типи дисплеїв, такі як TFT, E-Ink та РКІ. 
• Різні комунікаційні інтерфейси, включаючи CAN, USB, Ethernet та інші. 
• Різноманітні роз'єми для підключення додаткової периферії, світлодіодів, 
датчиків та іншого обладнання. 
На сьогоднішній день доступно 27 варіантів відлагоджувальних плат 
Evaluation Boards, які побудовані на основі мікроконтролерів STM32 з усіх наявних 
сімейств, починаючи з економічної серії STM32L і закінчуючи флагманом 
STM32H7.  
Лист 
ЧДТУ.232253.001 ПЗ 
30 
Змн. Арк. № докум. Підпис Дата  
 
 
Рисунок 2.5 – Відладоджувальні плати серії Evaluation Boards 
 
З останніх новинок [21] варто виокремити наступні моделі: 
• STM32L4R9I-EVAL: Ця відлагоджувальна плата базується на контролері 
STM32L4R9AI з лінійки STM32L4+. Мікроконтролер відрізняється 
низьким споживанням енергії, може працювати з частотою до 120 МГц і 
має 2 Мбайт Flash-пам'яті та 640 кбайт RAM-пам'яті. На дошці розміщені 
1,2-дюймовий круглий LCD-дисплей з роздільною здатністю 390 × 390 
пікселів, який працює через інтерфейс MIPI DSI, а також 4,3-дюймовий 
TFT LCD-дисплей з роздільною здатністю 480 × 272 пікселів в режимі 
RGB. Плата також має два цифрових мікрофона ST-MEMS, роз'єм для 
microSD, підтримку I2C, RS-232, USB OTG FS Micro-AB порту, сумісного 
з CAN 2.0A/B, та інші функції. 
• STM32F769I-EVAL: Ця відлагоджувальна плата базується на контролері 
STM32F769NI з лінійки STM32F7. Мікроконтролер розташований у 
корпусі BGA216, має високу продуктивність і здатний працювати з 
частотою до 216 МГц. Також він має 2 Мбайт Flash-пам'яті та 512 + 16 + 
4 кбайт RAM-пам'яті. На дошці розташований 4-дюймовий сенсорний 
LCD-дисплей, який працює через інтерфейс MIPI DSI. Плата також має 
Лист 
ЧДТУ.232253.001 ПЗ 
31 
Змн. Арк. № докум. Підпис Дата  
 
різноманітні інтерфейси, зокрема 4 I2C, 6 SPI, SDIO, 2 SAI, 8-14-бітний 
інтерфейс модуля цифрової камери, Ethernet MAC, FMC і Quid-SPI. Вона 
також включає 4 USART і 4 UART, 2 CAN шини, 3 12-бітних АЦП, 2 12-
бітних каналу ЦАП, RS-232 та інші інтерфейси. 
• STM32H743I-EVAL: Ця відлагоджувальна плата базується на контролері 
STM32H743XI, який є флагманом серії STM32. Мікроконтролер може 
працювати з частотою до 400 МГц і має 2 Мбайт Flash-пам'яті та 1 Мбайт 
RAM-пам'яті. На платі розміщений 5,7-дюймовий TFT-дисплей з 
сенсорною панеллю і роздільною здатністю 640 × 480 пікселів. Плата має 
3 USB-порти з Micro-AB роз'ємами, RS-232, Ethernet RJ45, FD-CAN 
роз'єм, роз'єм для підключення динаміків і мікрофона, слот для microSD-
карти, JTAG / SWD і ETM, а також інші інтерфейси. Подібно до 
попередньої серії Discovery, відлагоджувальні плати Evaluation Boards 
можуть використовуватися автономно, без підключення додаткових 
модулів. 
Застосовуючи відлагоджувальні плати компанії STMicroelectronics для своїх 
проектів, користувачі отримують доступ не лише до апаратних засобів розробки, 
але й до широкого спектру супровідної інформації. Ця інформація включає такі 
ресурси, як принципові схеми відлагоджувальних плат у форматі Gerber, 
специфікації, керівництва користувача, приклади використання плати, а також 
безкоштовні програмні засоби розробки від STMicroelectronics. 
Для повноцінного використання відлагоджувальних плат, перш за все, 
потрібно створити програмний код, який включатиме алгоритми роботи контролера 
та його взаємодію з периферією плати. Альтернативою є завантаження коду з 
наданих прикладів для первинного ознайомлення. У будь-якому випадку, для цього 
потрібне спеціалізоване програмне забезпечення. І тут компанія STMicroelectronics 
забезпечує велику перевагу, надаючи безкоштовні засоби розробки програмного 
коду, такі як STM32CubeMX та STM Studio. 
Хоча існують інші середовища розробки програмного забезпечення, такі як 
Keil та IAR, вартість ліцензій на роботу з ними може бути досить високою. У цьому 
Лист 
ЧДТУ.232253.001 ПЗ 
32 
Змн. Арк. № докум. Підпис Дата  
 
відношенні компанія STMicroelectronics спільно зі своїми партнерами значно 
спрощують процес розробки для компаній з обмеженим бюджетом. 
STMicroelectronics завоювала ринок мікроконтролерів завдяки високоякісній 
підтримці своєї продукції та користувачів, які використовують їх у своїх проектах. 
Мікроконтролери серії STM32 є ідеальними для створення прототипів та 
використання в серійних виробництвах. Різноманітність сімейств мікроконтролерів 
дозволяє вибрати найбільш оптимальний контролер залежно від вимог до 
продуктивності, енергоспоживання, вартості та інших факторів. 
Відлагоджувальні плати компанії STMicroelectronics допомагають спростити 
вибір мікроконтролера та ознайомлення з принципами його роботи. Плати Nucleo, 
завдяки своїй доступній вартості, дозволяють користувачам створити оптимальні 
рішення за допомогою додаткових модулів. Плати Discovery ідеально підходять для 
ознайомлення та відлагодження початкових реалізацій, оскільки вони мають 
вбудовану периферію, необхідну для цих цілей. А якщо периферії плат Discovery 
недостатньо, Evaluation Boards можуть задовольнити потреби навіть 
найвимогливіших розробників. 
 
 
 
Рисунок 2.6 – Відлагоджувальна плата Nucleo F767-ZI 
Лист 
ЧДТУ.232253.001 ПЗ 
33 
Змн. Арк. № докум. Підпис Дата  
 
Наявність безкоштовного програмного забезпечення значно спрощує процес 
розробки на базі контролерів STM32, а широкий спектр документації допомагає 
знизити інформаційні бар'єри на початкових етапах.  
Аналіз розглянутих видів відлагоджувальних плат підтверджує доцільність 
використання інтерфейсів вбудованих систем відлагоджувальних плат з сімейства 
Nucleo-144 з мікроконтролером STM32F7. 
Такий вибір обумовлений кількома факторами. По-перше, він обумовлений 
низькою вартістю відлагоджувальної плати. По-друге, наявність продуктивного 
мікроконтролера відіграє важливу роль у виборі.  
Крім того, розробник має доступ до багатьох невикористаних виводів 
мікроконтролера, що не є доступним у платах Discovery з цієї серії. З цими 
перевагами на увазі для проектування програмного забезпечення використовується 
відлагоджувальну плату Nucleo F767-ZI (рис. 2.6). 
 
2.4 Середовища розробки для систем автоматизації 
Серед найбільш відомих середовищ розробки, які можна виділити [23], є 
наступні: 
• Eclipse 
• TASKING 
• Keil 
• Atollic TrueSTUDIO 
• CooCox IDE 
• IAR Embedded Workbench 
• Arduino 
Розглянемо їх основні характеристики і сфери застосування.  
Середовище розробки Eclipse Eclipse 
Середовище розробки Eclipse є безкоштовним інтегрованим середовищем 
для створення модульних кроссплатформових додатків. Одна з основних переваг 
Eclipse полягає у його можливості розширення. Розробники мають змогу 
створювати власні модулі для розширення функціональності Eclipse. У широкому 
Лист 
ЧДТУ.232253.001 ПЗ 
34 
Змн. Арк. № докум. Підпис Дата  
 
спектрі розширень доступні диспетчери для роботи з базами даних, серверами 
додатків та багато інших [21]. 
Eclipse написана на мові Java, що робить її платформонезалежним продуктом, 
за винятком бібліотеки SWT (Standard Widget Toolkit), яка розробляється для різних 
платформ. Бібліотека SWT використовується замість стандартної бібліотеки Swing 
для Java. Вона повністю використовує можливості операційної системи, що 
забезпечує швидкість та природний вигляд користувацького інтерфейсу. Однак, 
іноді можуть виникати проблеми сумісності і стабільності на різних платформах. 
Основу Eclipse складає платформа розширеного клієнта RCP (Rich Client 
Platform), яка включає наступні компоненти [23]: 
• OSGi (Open Services Gateway Initiative). 
• Ядро платформи (завантаження Eclipse, запуск модулів). 
• SWT (портативний інструментарій віджетів). 
• JFace (файлові буфери, робота з текстом, текстові редактори). 
• Робоче середовище Eclipse (панелі, редактори, проекції, майстри). 
Графічний інтерфейс (GUI) в Eclipse реалізований за допомогою 
інструментарію SWT. Він використовує графічні компоненти, що відповідають 
операційній системі, у відмінність від Swing. Крім того, інтерфейс Eclipse залежить 
від JFace, який є проміжним шаром GUI і спрощує побудову інтерфейсу 
користувача на основі SWT. Гнучкість Eclipse забезпечується через його 
модульність, що дозволяє розробляти не лише на Java, а й на інших мовах, таких як 
C/C++ і інші. 
Середовище розробки TASKING 
Середовище розробки TASKING, розроблене австралійською компанією 
Altium Limited, призначене для програмування сигнальних процесорів, 8-, 16-, 32-
бітних мікропроцесорів і мікроконтролерів з підтримкою повноцінної арифметики 
з плаваючою точкою та оптимізацією коду з найменшими часовими витратами [23]. 
Середовище розробки має такі переваги: 
• У GUI інтерфейсі з'являються вікна відлагоджувача CrossView Pro в міру 
необхідності. 
Лист 
ЧДТУ.232253.001 ПЗ 
35 
Змн. Арк. № докум. Підпис Дата  
 
• Є добре розвинута і продумана структура формування проектів. У вікні 
Project Space розміщено п'ять папок: Source files, Header files, Project files, 
Resources і Other files, в які автоматично розподіляються створені файли. 
• GUI інтерфейс може бути налаштований відповідно до потреб, 
включаючи створення власного меню, додавання необхідних опцій та 
панелей інструментів. Все середовище розробки може бути налаштоване 
відповідно до вимог. 
Середовище розробки Keil  
Keil є середовищем розробки, що включає набір утиліт для повного циклу 
розробки програмного забезпечення для мікроконтролерів. Він дозволяє працювати 
з проектами будь-якої складності, починаючи з введення та редагування коду і 
закінчуючи внутрішньосхемним налагодженням і програмуванням ПЗП 
мікроконтролера. Keil забезпечує приховування великої частини другорядних 
функцій від розробника, що спрощує інтерфейс та робить його інтуїтивно 
зрозумілим. Однак, зі зростанням складності завдань завжди можна 
використовувати повний потенціал модулів, які функціонують під єдиною 
оболонкою [23]. 
Програма Keil працює тільки на персональних комп'ютерах під управлінням 
операційних систем Windows версій 2000, XP, Vista і 7. Варто відзначити, що Keil є 
комерційним продуктом і має високу ціну. 
Середовище розробки IAR Embedded Workbench  
IAR Embedded Workbench є багатофункціональним середовищем розробки 
для програмування додатків на мовах C, C++ і асемблері для широкого спектру 
мікроконтролерів від різних виробників. Основні переваги цього пакету включають 
дружній інтерфейс користувача та високооптимізований генерований код. Крім 
того, IAR Embedded Workbench підтримує різні операційні системи реального часу 
і JTAG-адаптери сторонніх компаній. 
На сьогоднішній день IAR Embedded Workbench підтримує роботу з 
мікроконтролерами 8-, 16- та 32-розрядними від різних виробників, таких як Atmel, 
ARM, NEC, Infineon, Analog Devices, Cypress, Microchip Technologies, Micronas, 
Лист 
ЧДТУ.232253.001 ПЗ 
36 
Змн. Арк. № докум. Підпис Дата  
 
Dallas Semiconductor/Maxim, Ember, Luminary, NXP, OKI, Samsung, National 
Semiconductor, Texas Instruments, STMicroelectronics, Freescale, TI/Chipcon, Silicon 
Labs і Renesas. Кожна платформа має своє власне середовище розробки, наприклад, 
для ARM мікроконтролерів існує версія IAR Embedded Workbench for ARM. 
У середовищі включена інтегрована система допомоги, яка спрощує процес 
написання програм. Також передбачена взаємодія з утилітою AVR Studio. IAR 
Embedded Workbench надає можливість самостійного управління оптимізацією 
окремих модулів проекту, що спрощує процес налагодження і дозволяє покращити 
продуктивність програми або економити пам'ять. 
Це середовище розробки працює тільки під управлінням операційної системи 
Microsoft Windows, таких версій як 95, 98, NT, 2000, XP, Vista, 7, незалежно від 32-
бітної або 64-бітної архітектури. 
Середовище розробки Atollic TrueSTUDIO  
Atollic TrueSTUDIO є інтегрованим середовищем розробки програм для 
ARM-процесорів, яке включає в себе GNU компілятор і відлагоджувач. Це 
середовище розробки було створено на основі відомої платформи з відкритим 
вихідним кодом - Eclipse. Atollic TrueSTUDIO підтримує широкий спектр ARM-
ядер, таких як ARM9, ARM7, Cortex-A, Cortex-R, Cortex-M і багато інших, від 
відомих компаній, включаючи Atmel, Infineon, Freescale, NXP, Silicon Labs, Renesas, 
Spansion, STMicroelectronics, Toshiba, Texas Instruments та інших. Пакет також 
підтримує 2-ядерні і багатопроцесорні пристрої. 
Середовище розробки Atollic TrueSTUDIO взаємодіє з відлагоджувачами ST-
LINK і ST-LINK/V2 від STMicroelectronics, SAM-ICE від Atmel, Segger J-Link, 
OSJTAG і P&E Multilink. Програмне забезпечення було розроблено для 
операційних систем сімейства Microsoft Windows, таких як XP, Vista і 7. 
Середовище розробки Arduino Arduino 
Середовище розробки Arduino є торговою маркою апаратно-програмних 
засобів, спрямованих на побудову простих систем автоматики і робототехніки, з 
орієнтацією на непрофесійних користувачів. Програмна частина включає 
безкоштовну програмну оболонку (IDE) для написання, компіляції та 
Лист 
ЧДТУ.232253.001 ПЗ 
37 
Змн. Арк. № докум. Підпис Дата  
 
програмування програм. Апаратна частина складається з набору готових 
друкованих плат, які продаються як офіційним виробником, так і сторонніми 
компаніями. Архітектура системи є повністю відкритою, що дозволяє вільно 
копіювати або розширювати лінійку продуктів Arduino [23]. 
Мікроконтролери, які використовуються для Arduino, мають завантажувач 
(bootloader), який передварно прошитий в них. Завдяки цьому завантажувачу 
користувач може завантажувати свою програму без використання окремих 
апаратних программаторів. Завантажувач підключається до комп'ютера через USB-
інтерфейс (якщо він доступний на платі) або за допомогою окремого перетворювача 
UART-USB. Підтримка завантажувача вбудована в Arduino IDE і виконується в один 
клік [23]. 
У лінійці пристроїв Arduino в основному використовуються мікроконтролери 
Atmel AVR, такі як ATmega328, ATmega168, ATmega2560, ATmega32U4 і ATTiny85, 
з тактовою частотою 16 або 8 МГц. У старіших моделях використовувалися 
ATmega8, ATmega1280 та інші. Мовою програмування Arduino є стандартний C++ 
(з використанням компілятора AVR-GCC) з деякими особливостями, що 
полегшують написання першої працюючої програми для початківців. 
Середовище розробки CooCox CoIDE  
Високоінтегроване програмне середовище CooCox CoIDE призначене для 
розробки коду мікроконтролерів на архітектурі ARM. Це одне з найпростіших і 
швидких середовищ установки, освоєння і налаштування, що дозволяє навіть 
початківцям досягати значних результатів. Для успішного старту перших 73 
проектів надається майстер, який допомагає пройти всі основні етапи розробки, 
відповідаючи на прості запитання. 
Середовище CooCox CoIDE дозволяє завантажувати код програми, 
редагувати його, проводити компіляцію (за допомогою сторонніх інструментів), 
прошивати мікроконтролер і відлагоджувати програму. Воно базується на 
платформі Eclipse і має всі її переваги. Редактор коду має підсвічування синтаксису 
і вспливаючі підказки. Присутні функції глобальної заміни змінних і пропозиції 
варіантів завершення коду. Середовище підтримує мікроконтролери серії ST, а 
Лист 
ЧДТУ.232253.001 ПЗ 
38 
Змн. Арк. № докум. Підпис Дата  
 
також інші сімейства, такі як Atmel, Holtek, Freescale, Nuvoton, NXP, Energy Micro, 
Texas Instruments і деякі інші. Список підтримуваних чіпів постійно розширюється 
з кожною версією програми. 
Вбудований відлагоджувач ST-Link підтримує всі основні режими 
відлагодження. Розглянуте середовище розробки працює на операційних системах 
Windows XP (з обов'язковим SP3), Vista (SP2) і 7. Крім того, воно може працювати 
в середовищі Linux за допомогою програми Wine, яка дозволяє користувачам UNIX-
подібних систем виконувати додатки Microsoft Windows. CooCox CoIDE є 
абсолютно безкоштовним і має відкритий код. Однак, одним з його недоліків є 
відсутність компілятора GCC (GNU Compiler Collection), який потрібно 
завантажити та встановити окремо.З огляду і аналізу інтегрованих середовищ 
розробки випливає, що для проектування електронних пристроїв на базі 
мікроконтролерів ARM рекомендується використовувати середовище розробки 
IAR Embedded Workbench. Вибір цього середовища заснований на таких 
характеристиках [23]: 
• якісна оптимізація коду компілятором; 
• підтримка налагодження в режимі реального часу; 
• можливість використання налагодження; 
• мова програмування – стандартний C++; 
• наявність багатьох готових прикладів, які можна завантажити в 
середовище розробки. 
  
Лист 
ЧДТУ.232253.001 ПЗ 
39 
Змн. Арк. № докум. Підпис Дата  
 
3 ФІЗИЧНА РЕАЛІЗАЦІЯ МІКРОКОНТРОЛЕРІВ AVR НА ПЛАТАХ 
ARDUINO 
 
3.1 Архітектура мікроконтролерів AVR 
Існує кілька популярних сімейств мікроконтролерів, які використовуються у 
різних програмах в залежності від їх можливостей та відповідності потребам задачі. 
Найбільш розповсюдженими з них є мікроконтролери 8051, AVR і PIC [7]. AVR був 
розроблений компанією Atmel Corporation у 1996 році. Архітектура AVR була 
створена Альф-Егілем Богеном та Вегардом Волланом. Першим мікроконтролером 
на основі архітектури AVR був AT90S8515, але першим комерційно доступним 
мікроконтролером був AT90S1200, який був випущений у 1997 році. 
Мікроконтролери AVR доступні в трьох категоріях. Перша – TinyAVR, 
відрізняється меншою кількістю пам'яті та компактним розміром, і підходить 
переважно для простих програм. Друга - MegaAVR, це найбільш популярна 
категорія, яка має значну кількість пам'яті (до 256 КБ), більше вбудованих 
периферійних пристроїв і підходить для середніх та складних програм. Третя - 
XmegaAVR, використовується в комерційних цілях для складних програм, які 
вимагають великого обсягу програмної пам'яті та високої швидкості.У таблиці 3.1 
порівняно вищезгадані мікроконтролери серії AVR.  
 
Таблиця 3.1 – Порівняння мікроконтролерів AVR 
Назва Шпильки Флеш-пам'ять Головні параметри 
DMA, система подій у 
XmegaAVR 44-100 16-384 КБ 
комплекті 
Розширені периферійні 
MegaAVR 28-100 4-256 КБ 
пристрої 
TinyAVR 6-32 0,5-8 КБ Невеликий за розміром 
 
Особливістю мікроконтролерів AVR є їх висока швидкість. Вони виконують 
більшість інструкцій за один цикл виконання. Порівняно з мікроконтролерами PIC, 
Лист 
ЧДТУ.232253.001 ПЗ 
40 
Змн. Арк. № докум. Підпис Дата  
 
AVR працюють приблизно в 4 рази швидше, водночас споживаючи менше енергії. 
Крім того, мікроконтролери AVR підтримують різні режими енергозбереження. 
Проведемо порівняння трьох найбільш поширених сімейств мікроконтролерів 
(табл. 3.2).  
 
Таблиця 3.2 – Порівняння сімейств мікроконтролерів 
 PIC AVR 8051 PIC 
Швидкість Помірний Швидко Повільно Помірний 
Пам'ять Великий Великий Маленький Великий 
Архітектура RISC RISC CISC RISC 
АЦП Вбудований Вбудований Не присутній Вбудований 
Таймери Вбудований Вбудований Вбудований Вбудований 
ШІМ канали Вбудований Вбудований Не присутній Вбудований 
 
Мікроконтролери AVR є 8-розрядними мікроконтролерами, які відносяться 
до сімейства мікроконтролерів зі скороченим набором команд (RISC). Це означає, 
що ці мікроконтролери можуть передавати та отримувати дані розміром 8 розрядів. 
Регістри введення/виводу мають 8-розрядні поля. Мікроконтролери AVR мають 
регістрову архітектуру, де обидва операнди для операцій зберігаються в регістрах, 
а результат також зберігається в регістрі. На рисунку 3.1 показано приклад операції 
«АБО» між двома вхідними регістрами та збереження результату у вихідному 
регістрі. Архітектура RISC має менший, простіший та швидший набір команд 
комп'ютера. Існує також інша категорія архітектури – CISC (комп'ютери з 
комплексним набором інструкцій). 
Мікроконтролери AVR, які базуються на передовій архітектурі RISC, мають 
32 робочі регістри загального призначення розміром 8 розрядів кожен. За один 
тактовий цикл AVR може приймати дані з двох регістрів загального призначення, 
передавати їх в ALU (арифметико-логічну одиницю) для обробки та передавати 
результат у будь-який регістр. ALU може виконувати арифметичні та логічні 
операції над вхідними даними з регістрів або між регістром та константою. 
Лист 
ЧДТУ.232253.001 ПЗ 
41 
Змн. Арк. № докум. Підпис Дата  
 
 
Рисунок 3.1 – Блок-схема виконання операції АБО між двома вхідними регістрами 
та збереженням значень у вихідному регістрі 
 
Також ALU може виконувати операції з одним регістром, наприклад, 
операцію доповнення. У мікроконтролерів AVR відсутній окремий регістр-
акумулятор, як у мікроконтролерів сімейства 8051; операції можуть виконуватися 
між будь-якими регістрами та результат може зберігатися у будь-якому з них. AVR 
відповідає формату Гарвардської архітектури, де процесор має окрему пам'ять та 
шини для програм та данних. Процесор попередньо витягує наступну інструкцію з 
пам'яті програми, поки виконується поточна інструкція (рис. 3.2). 
За один цикл роботи, який триває 1 мікросекунду при робочій частоті 1 МГц, 
мікроконтролер AVR може виконувати до 1 мільйона інструкцій в секунду. 
Швидкість обробки залежить від робочої частоти контролера, і чим вища ця 
частота, тим швидше відбувається обробка даних. Для оптимізації споживання 
енергії при збереженні швидкості обробки необхідно правильно вибрати робочу 
частоту. 
Лист 
ЧДТУ.232253.001 ПЗ 
42 
Змн. Арк. № докум. Підпис Дата  
 
 
Рисунок 3.2 – Блок-схема архітектури пам’яті в AVR 
 
Існують два варіанти мікроконтролера Atmega16:  
1. Atmega16: Робочий діапазон частот від 0 до 16 МГц. 
2. Atmega16L: Робочий діапазон частот від 0 до 8 МГц. 
Якщо використовується кристал з частотою 8 МГц, це означає 8 мільйонів 
циклів в секунду, і мікроконтролер AVR може виконати до 8 мільйонів інструкцій 
за секунду. Префікс «AT» в назві вказує на виробника Atmel, а «Mega» вказує на те, 
що мікроконтролер відноситься до категорії MegaAVR. Число "16" вказує на розмір 
пам'яті контролера, який становить 16 КБ (рис. 3.3). 
 
 
Рисунок 3.3 – Принцип іменування мікроконтролерів AVR 
 
У мікроконтролері Atmega16 доступні наступні блоки архітектури: 
1. Порти введення-виводу: Atmega16 має чотири 8-розрядних порти 
введення-виводу, які позначаються як PORTA, PORTB, PORTC і PORTD. 
Лист 
ЧДТУ.232253.001 ПЗ 
43 
Змн. Арк. № докум. Підпис Дата  
 
Ці порти дозволяють здійснювати зовнішнє введення та виведення даних 
до та з мікроконтролера. 
2. Внутрішній калібрований генератор: Atmega16 має вбудований генератор, 
який використовується для управління внутрішнім годинником 
контролера. За замовчуванням Atmega16 налаштований на роботу з 
внутрішнім каліброваним генератором на частоті 1 МГц. Максимальна 
частота внутрішнього генератора становить 8 МГц. Однак, можлива 
також робота зовнішнього кварцевого генератора з максимальною 
частотою 16 МГц (рис. 3.4). 
 
 
Рисунок 3.4 – Блок-схема архітектури Atmega16 
 
Архітектура Atmega16 містить наступні компоненти: 
1. Інтерфейс АЦП: Atmega16 має 8-канальний аналого-цифровий 
перетворювач (АЦП) з роздільною здатністю 10 біт. Цей блок дозволяє 
зчитувати аналогові вхідні сигнали, наприклад, від датчиків, та 
перетворювати їх на цифрову інформацію, зрозумілу для 
мікроконтролера. 
2. Таймери/лічильники: Atmega16 має два 8-розрядних та один 16-бітний 
таймер/лічильник. Ці блоки дозволяють генерувати точні таймінги для 
виконання різних дій, наприклад, створення затримок між операціями. 
Лист 
ЧДТУ.232253.001 ПЗ 
44 
Змн. Арк. № докум. Підпис Дата  
 
3. Сторожовий таймер: Atmega16 також має сторожовий таймер з 
внутрішнім осцилятором. Цей таймер постійно моніторить роботу 
контролера і скидає його, якщо він зупиняється на виконанні будь-якої дії 
протягом певного інтервалу часу. 
4. Переривання: Atmega16 підтримує 21 джерело переривань, з яких чотири 
є зовнішніми. Решта є внутрішніми перериваннями, які можуть бути 
викликані різними периферійними пристроями, такими як USART, АЦП, 
таймери тощо. 
5. USART: Мікроконтролер Atmega16 має універсальний синхронний та 
асинхронний інтерфейс приймача та передавача (USART), який дозволяє 
взаємодіяти з зовнішніми пристроями для послідовного обміну даними по 
бітовому каналу. 
6. Регістри загального призначення: Atmega16 має 32 регістри загального 
призначення, які прямо з'єднані з арифметично-логічним блоком (ALU) 
центрального процесора. Ці регістри використовуються для збереження 
проміжних результатів обчислень та інших даних. 
7. Пам'ять: Atmega16 має три різні секції пам'яті: 
• Flash EEPROM: Це програмована Flash EEPROM пам'ять, яка 
використовується для збереження програмного коду, що може бути 
перезаписаним користувачем. Ця пам'ять є енергонезалежною, тобто 
зберігає дані навіть при відключенні живлення. Atmega16 має 16 КБайт 
Flash EEPROM пам'яті. 
• Байтова адресована EEPROM: Це також енергонезалежна пам'ять, яка 
використовується для збереження даних, наприклад, значень змінних. 
Atmega16 має 512 байт EEPROM, яка може бути використана, наприклад, 
для зберігання коду замку в програмі, такій як електронний дверний 
замок. 
• SRAM: Це статична пам'ять з довільним доступом, яка також є 
енергонезалежною. Дані у SRAM втрачаються при вимкненні живлення. 
Atmega16 має 1 КБ внутрішньої SRAM, частина якої використовується 
Лист 
ЧДТУ.232253.001 ПЗ 
45 
Змн. Арк. № докум. Підпис Дата  
 
для регістрів загального призначення, а решта - для периферійних 
підсистем мікроконтролера. 
 
Таблиця 3.3 – Характеристики мікроконтролерів сімейства MegaAVR 
2,7- 0-8 
ATmega8L 8 КБ 1 КБ 512B 23 3 19 28 
5,5 В МГц 
4,5- 0-16 
ATmega8 8 КБ 1 КБ 512B 23 3 19 28 
5,5 В МГц 
2,7- 0-8 
ATmega16L 16 КБ 1 КБ 512B 32 3 21 40 
5,5 В МГц 
4,5- 0-16 
ATmega16 16 КБ 1 КБ 512B 32 3 21 40 
5,5 В МГц 
2,7- 0-8 
ATmega32L 32 КБ 2 КБ 1 КБ 32 3 21 40 
5,5 В МГц 
4,5- 0-16 
ATmega32 32 КБ 2 КБ 1 КБ 32 3 21 40 
5,5 В МГц 
 
Програмування контролерів AVR виконується за допомогою наступних 
інтерфейсів та функцій: 
1. ISP (In-System Programming): Сімейство контролерів AVR підтримує 
програмування флеш-пам'яті без видалення мікросхеми зі схеми. ISP 
дозволяє перепрограмувати контролер, не витягуючи його з пристрою. 
2. SPI (Serial Peripheral Interface): Послідовний периферійний інтерфейс 
(SPI) використовується для послідовного зв'язку між двома пристроями на 
спільному джерелі тактування. Швидкість передачі даних по SPI вища, 
ніж у USART. 
Лист 
ЧДТУ.232253.001 ПЗ 
46 
Змн. Арк. № докум. Підпис Дата  
Назва частини 
ROM 
ОЗП 
EEPROM 
I/0 Pins 
Таймер 
Переривання 
Робоча напруга 
 
Робоча частота 
 
Упаковка 
 
 
3. TWI (Two-Wire Interface): Двопровідний інтерфейс (TWI) 
використовується для створення мережі пристроїв. Багато пристроїв 
можуть бути підключені через інтерфейс TWI, утворюючи мережу. 
Пристрої можуть одночасно передавати і приймати дані і мати унікальну 
адресу. 
4. ЦАП (Цифро-Аналоговий Перетворювач): Atmega16 також має інтерфейс 
цифро-аналогового перетворювача (ЦАП). Цей інтерфейс 
використовується для перетворення цифрового сигналу в аналоговий. Він 
може бути використаний для зворотного перетворення, яке виконується 
АЦП. 
Сімейство контролерів MegaAVR, таких як ATmega8 і ATmega32, є іншими 
членами сімейства MegaAVR разом з ATmega16. Вони мають схожу архітектуру. 
Також на ринку доступні контролери MegaAVR низької потужності. У таблиці 3.3 
наведено порівняння різних членів сімейства MegaAVR. 
 
3.2 Налагоджувальні плати Arduino 
Arduino – це відкрита платформа, яка використовується для створення 
електронних проектів. Вона складається з фізичної програмованої плати, часто 
називаної мікроконтролером, і програмного забезпечення, відомого як Інтегроване 
середовище розробки (IDE), що працює на комп'ютері. Це програмне забезпечення 
використовується для написання та завантаження комп'ютерного коду на фізичну 
плату. Arduino було розроблено для художників, дизайнерів, ентузіастів, хакерів, 
початківців та всіх, хто цікавиться створенням інтерактивних об'єктів або 
середовищ. Вона може взаємодіяти з кнопками, світлодіодами, двигунами, 
динаміками, GPS-пристроями, камерами, Інтернетом і навіть смартфонами або 
телевізорами. Гнучкість платформи поєднується з безкоштовним програмним 
забезпеченням, доступністю і доступною ціною апаратної плати, а також простотою 
освоєння як програмного, так і апаратного забезпечення. Це призвело до 
формування великої спільноти користувачів, які надають свої коди і інструкції для 
різноманітних проектів, побудованих на базі Arduino. [10] 
Лист 
ЧДТУ.232253.001 ПЗ 
47 
Змн. Арк. № докум. Підпис Дата  
 
 
Рисунок 3.5 – Розміщення основних компонентів плати 
 
Існує багато різних моделей плат Arduino, які можуть бути використані для 
різних цілей. Хоча деякі плати можуть виглядати трохи відрізняються від тих, що 
показані нижче, більшість Arduino мають спільні компоненти, які описані нижче 
(рис. 3.5). 
Живлення: Кожна плата Arduino потребує джерела живлення. Наприклад, 
Arduino UNO можна живити через USB-кабель, підключений до комп'ютера, або 
від настінного джерела живлення, підключеного до розетки. На рисунку 3.5 
позначені з'єднання USB (1) та роз'єм живлення (2). USB-з'єднання також 
використовується для завантаження коду на плату Arduino. Рекомендована напруга 
живлення для більшості моделей Arduino становить від 6 до 12 вольт. 
Виводи: Шпильки на Arduino є місцями, куди підключаються дроти для 
збирання схем. Зазвичай вони мають чорні пластикові "роз'єми", які дозволяють 
просто вставити дріт в плату. Arduino має кілька типів контактів, які позначені на 
платі і використовуються для різних функцій. 
• GND (земля) (3): Arduino має кілька контактів GND, які можна 
використовувати для заземлення схеми. 
Лист 
ЧДТУ.232253.001 ПЗ 
48 
Змн. Арк. № докум. Підпис Дата  
 
• 5В (4) і 3,3В (5): Контакт 5В постачає напругу 5 вольт, а контакт 3,3В - 3,3 
вольта. Більшість простих компонентів, що використовуються з Arduino, 
працюють з напругою 5 або 3,3 вольта. 
• Аналоговий (6): Контакти під позначенням "Аналоговий вхід" (A0–A5 на 
UNO) є контактами для аналогового введення. Вони зчитують сигнал з 
аналогового датчика (наприклад, температурного датчика) і 
перетворюють його на цифрове значення для подальшого використання. 
• Цифровий (7): Навпроти аналогових контактів розташовані цифрові 
контакти (від 0 до 13 на UNO). Ці контакти можна використовувати як 
цифровий вхід або вихід. Наприклад, вони можуть використовуватись для 
зчитування стану кнопки або управління світлодіодом. 
• ШІМ (8): Контакти зі знаком тильда (~) (3, 5, 6, 9, 10 і 11 на UNO) можуть 
працювати як звичайні цифрові контакти, але також підтримують 
широтно-імпульсну модуляцію (ШІМ). Це дозволяє їм імітувати 
аналоговий вихід, наприклад, для регулювання яскравості світлодіода. 
• AREF (9): Контакт AREF (аналогове опорне значення) використовується 
для встановлення зовнішньої опорної напруги. Зазвичай цей контакт 
залишається незадіяним, але в деяких випадках може використовуватись 
для встановлення верхньої межі напруги для контактів аналогового 
введення. 
• Кнопка скидання (10): Arduino має кнопку скидання, яка тимчасово 
з'єднує контакт скидання з землею, що спричиняє перезапуск 
завантаженого коду. Це корисно, коли ви хочете повторно запустити код 
без відключення і підключення живлення. 
• Світлодіодний індикатор живлення (11): Світлодіод, який знаходиться 
біля напису «ON», світиться при підключенні Arduino до джерела 
живлення. 
Світлодіоди TX і RX на платі Arduino UNO призначені для позначення 
контактів, відповідальних за послідовний зв'язок. На платі є два місця, де 
відображаються TX і RX. Перше місце - це цифрові контакти 0 і 1, а друге місце – 
Лист 
ЧДТУ.232253.001 ПЗ 
49 
Змн. Арк. № докум. Підпис Дата  
 
поруч зі світлодіодними індикаторами TX і RX (12). Ці світлодіоди 
використовуються для візуальної індикації передачі або отримання даних Arduino. 
Наприклад, вони світяться під час завантаження нової програми на плату. 
Основна інтегральна схема (IC) є мозком Arduino і зазвичай належить до 
лінійки мікросхем ATmega від компанії ATMEL. Це важливо знати, оскільки тип IC 
(разом з типом плати) потрібно враховувати при завантаженні нової програми за 
допомогою Arduino IDE. Інформацію про тип IC можна знайти на верхній стороні 
IC. 
Регулятор напруги (14) контролює кількість напруги, яка подається на плату 
Arduino. Важливо не підключати Arduino до джерела живлення, яке перевищує 20 
вольт. 
Для створення прототипу або пристрою на платформі Arduino зазвичай 
потрібно мати прототипну плату з мікроконтролером потрібного типу, модуль 
розширення, програмне забезпечення Arduino IDE, кабель USB, блок живлення та 
комп'ютер. У сучасній екосистемі Arduino доступні різні типи плат з різними 
мікроконтролерами і багатьма модулями розширення. 
 
 
Рисунок 3.6 – Вигляд плати Arduino Uno 
Лист 
ЧДТУ.232253.001 ПЗ 
50 
Змн. Арк. № докум. Підпис Дата  
 
Однією з найпоширеніших плат Arduino є Arduino Uno. Вона має 
14 цифрових входів/виходів (6 з них можуть працювати як ШІМ-виходи), 6 
аналогових входів, керамічний резонатор на частоті 16 МГц, USB-з'єднання, роз'єм 
живлення, роз'єм ICSP і кнопку скидання. Ця плата містить все необхідне для 
підтримки мікроконтролера ATmega328P. (рис. 3.6)  
«Uno» в перекладі з італійської означає "один". Це назва, яка була обрана для 
позначення випуску версії 1.0 програмного забезпечення Arduino (IDE). Плата 
Arduino Uno разом з версією 1.0 Arduino IDE були еталонними версіями Arduino, 
що відтоді розвинулися в нові версії. Arduino Uno є першою платою у серії USB-
плат Arduino та є стандартним зразком для платформи Arduino. Технічні 
характеристики плати Arduino Uno наведені в таблиці 3.4. 
 
Таблиця 2.4 – Характеристики плати Arduino Uno [12] 
Мікроконтролер ATmega328P 
Робоча напруга 5В 
Вхідна напруга (ліміт) 6-20В 
Вхідна напруга (рекомендовано) 7-12В 
Шім цифрові контакти вводу/виводу 6 
Цифрові контакти вводу/виводу 14 (з яких 6 забезпечують вихід ШІМ) 
Виводи аналогового входу 6 
Постійний струм для контакту 3,3 В 50 мА 
Постійний струм на контакт 
20 мА 
введення/виводу 
SRAM 2 КБ (ATmega328P) 
EEPROM 1 КБ (ATmega328P) 
Led_builtin 13 
Тактова швидкість 16 МГц 
Вага 25 г 
Ширина 53,4 мм 
Довжина 68,6 мм 
Лист 
ЧДТУ.232253.001 ПЗ 
51 
Змн. Арк. № докум. Підпис Дата  
 
Arduino Mega 2560 - це плата мікроконтролера, яка базується на ATmega2560. 
Вона має 54 цифрові контакти введення/виведення (з яких 15 можуть бути 
використані як виходи ШІМ), 16 аналогових входів, 4 апаратні послідовні порти 
(UART), кварцевий генератор з частотою 16 МГц, USB-з'єднання, роз'єм живлення, 
роз'єм ICSP і кнопку скидання (рис. 3.7). Технічні характеристики плати Arduino 
Mega наведені в таблиці 3.5. 
 
 
Рисунок 3.7 – Вигляд плати Arduino Mega 
 
Таблиця 3.5 – Характеристики плати Arduino Mega2560  
Мікроконтролер ATmega2560 
Робоча напруга 5В 
Вхідна напруга (ліміт) 6-20В 
Вхідна напруга (рекомендовано) 7-12В 
Виводи аналогового входу 16 
Цифрові контакти вводу/виводу 54 (з яких 15 забезпечують вихід ШІМ) 
Постійний струм для контакту 3,3 В 50 мА 
Постійний струм на контакт 
20 мА 
введення/виводу 
EEPROM 4 КБ  
Лист 
ЧДТУ.232253.001 ПЗ 
52 
Змн. Арк. № докум. Підпис Дата  
 
SRAM 8 КБ  
256 КБ, з яких 8 КБ використовується 
Флеш-пам'ять 
завантажувачем 
Led_builtin 13 
Тактова швидкість 16 МГц 
Вага 37 г 
Ширина 53,3 мм 
Довжина 101,52 мм 
 
Arduino Nano — це невелика, укомплектована і зручна для роботи плата на 
основі ATmega328 рис 3.8.  
 
 
Рисунок 3.8 – Вигляд плати Arduino Nano 
 
У плати відсутній роз'єм для підключення постійного струму. Замість цього, 
плата працює з USB-кабелем типу Mini-B. Технічні характеристики плати Arduino 
Nano наведені в таблиці 3.6. 
 
Таблиця 3.6 – Характеристики плати Arduino Nano [14] 
Мікроконтролер ATmega328 
Архітектура AVR 
SRAM 2 КБ 
Лист 
ЧДТУ.232253.001 ПЗ 
53 
Змн. Арк. № докум. Підпис Дата  
 
Робоча напруга 5 В 
Тактова швидкість 16 МГц 
32 КБ, з яких 2 КБ використовується 
Флеш-пам'ять 
завантажувачем 
EEPROM 1 КБ 
Аналогові контакти IN 8 
Постійний струм на контакти 
40 мА (контакти введення-виводу) 
вводу/виводу 
Споживання енергії 19 мА 
ШІМ вихід 6 
Цифрові контакти вводу/виводу 22 (6 з яких ШІМ) 
Вхідна напруга 7-12В 
Вага 7 г 
Розмір PCB 18 х 45 мм 
 
Arduino Micro - це плата мікроконтролера, розроблена у співпраці з Adafruit, 
і заснована на ATmega32U4. Вона має 20 цифрових входів/виходів, з яких 7 можуть 
бути використані як ШІМ-виходи, а 12 – як аналогові входи.  
 
 
Рисунок 3.9 – Вигляд плати Arduino Micro 
 
Плата оснащена кварцовим генератором з частотою 16 МГц, має micro USB-
з'єднання, роз'єм ICSP і кнопку скидання. У неї є всі необхідні компоненти для 
Лист 
ЧДТУ.232253.001 ПЗ 
54 
Змн. Арк. № докум. Підпис Дата  
 
підтримки мікроконтролера (рис. 3.9). Завдяки своєму форм-фактору, плата Arduino 
Micro легко розміщується на макетній дошці. Детальні технічні характеристики 
плати Arduino Micro наведено в таблиці 3.7.  
Плата Micro подібна до Arduino Leonardo тим, що вона також використовує 
мікроконтролер ATmega32U4 з вбудованим USB-зв'язком, що усуває потребу в 
додатковому процесорі. Це дозволяє платі Micro використовуватися як миша та 
клавіатура на підключеному комп'ютері, додатково до віртуального 
послідовного/COM порту (CDC). 
 
Таблиця 3.7 – Характеристики плати Arduino Micro [15] 
Мікроконтролер ATmega32U4 
Вхідна напруга (рекомендовано) 7-12В 
Робоча напруга 5В 
Цифрові контакти вводу/виводу 20 
Аналогові вхідні канали 12 
Шім канали 7 
Постійний струм для контакту 3,3 В 50 мА 
Постійний струм на контакт 
20 мА 
введення/виводу 
32 КБ (ATmega32U4), з яких 4 КБ 
Флеш-пам'ять 
використовується завантажувачем 
EEPROM 1 КБ (ATmega32U4) 
SRAM 2,5 КБ (ATmega32U4) 
Led_builtin 13 
Тактова швидкість 16 МГц 
Вага 13 г 
Ширина 18 мм 
Довжина 48 мм 
 
Лист 
ЧДТУ.232253.001 ПЗ 
55 
Змн. Арк. № докум. Підпис Дата  
 
Arduino Leonardo — це плата мікроконтролера, що базується на ATmega32u4. 
Вона має 20 цифрових вхідно-вихідних контактів (7 з яких можна використовувати 
як ШІМ-виходи і 12 як аналогові входи), кварцовий генератор 16 МГц, з'єднання 
типу micro USB, роз'єм живлення, роз'єм ICSP і кнопку скидання (рис. 3.10). 
Детальні характеристики плати Arduino Leonardo наведені в таблиці 3.8. 
 
Таблиця 3.8 – Характеристики плати Arduino Leonardo 
Мікроконтролер ATmega32u4 
Вхідна напруга (рекомендовано) 7-12В 
Робоча напруга 5В 
Вхідна напруга (межі) 6-20В 
ШІМ канали 7 
Цифрові контакти вводу/виводу 20 
Аналогові вхідні канали 12 
Постійний струм для контакту 3,3 В 50 мА 
Постійний струм на контакт 
40 мА 
введення/виводу 
32 КБ (ATmega32u4), з яких 4 КБ 
Флеш-пам'ять 
використовується завантажувачем 
EEPROM 1 КБ (ATmega32u4) 
SRAM 2,5 КБ (ATmega32u4) 
Тактова швидкість 16 МГц 
Вага 20 г 
Ширина 53,3 мм 
Довжина 68,6 мм 
Лист 
ЧДТУ.232253.001 ПЗ 
56 
Змн. Арк. № докум. Підпис Дата  
 
 
Рисунок 3.10 – Вигляд плати Arduino Leonardo 
 
Arduino Leonardo відрізняється від усіх попередніх плат завдяки вбудованому 
USB-зв'язку у мікроконтролері ATmega32u4, що усуває потребу у додатковому 
процесорі. Ця особливість дозволяє Leonardo функціонувати на підключеному 
комп'ютері як миша та клавіатура, а також як віртуальний (CDC) послідовний / 
COM-порт. 
 
 
 
 
Лист 
ЧДТУ.232253.001 ПЗ 
57 
Змн. Арк. № докум. Підпис Дата  
 
ВИСНОВКИ 
 
В ході літературного огляду досліджено принцип роботи мікропроцесорів та 
мікроконтролерів, виявлено їх відмінності та різновиди. Особлива увага була 
приділена значенню розмірів процесу процесора, складовим компонентам 
мікропроцесорів та регістрам спеціальних функцій. 
Також проаналізовано існуючі прототипи налагоджувальних плат для 
візуальної перевірки та налагодження програм мікроконтролерів. Досліджено 
архітектуру мікроконтролерів та розглянуто основні архітектурні блоки. Виявлено 
відмінності між різними категоріями мікроконтролерів і розглянуто їх сфери 
застосування. Проведено порівняння різних сімейств мікроконтролерів. 
У роботі розглянуто основні компоненти налагоджувальних плат та їх роль. 
Проаналізовано технічні характеристики налагоджувальних плат Arduino та 
наведено інформацію про їх функціонал. Окреслено програмне середовище для 
роботи з налагоджувальними платами та описано основні можливості. 
Також досліджено відлагоджувальні плати на основі мікроконтролерів, які 
мають ряд переваг, таких як зручність у програмуванні мікроконтролерів різних 
сімейств, можливість удосконалення, низький рівень енергоспоживання, 
можливість виконання декількох задач у одному комплексі та низька собівартість. 
Різні відлагоджувальні плати відрізняються комплектацією, яка підбирається під 
конкретні завдання та виготовляється спеціалізованими компаніями. 
В роботі наведено детальний опис будови відлагоджувальних плат для систем 
автоматизації, функціональних частин та окремих елементів. Також проаналізовано 
конструкторсько-технічну документацію з використанням спеціалізованого 
програмного забезпечення. Аргументовано критерії вибору компонентів для 
відлагоджувальних плат для систем автоматизації. 
  
Лист 
ЧДТУ.232253.001 ПЗ 
58 
Змн. Арк. № докум. Підпис Дата  
 
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 
 
1. A beginner’s guide to microcontrollers [Електронний ресурс] – Режим 
доступу: https://www.microcontrollertips.com/a-beginners-guide-to-microcontrollers-
faq/ // (дата звернення: 11.05.2023). 
2. Atmel ‘AVR’ arhitecture [Електронний ресурс] – Режим доступу: 
https://technicodes.weebly.com/avrarch.html (дата звернення 10.05.2023). 
3. AVR [Електронний ресурс]. – Режим доступу: 
https://wikipedia.org/wiki/AVR (дата звернення 28.04.2023). 
4. AVR Microcontroller [Електронний ресурс] – Режим доступу: 
http://electronicmaffia.weebly.com/avr-microcontroller.html (дата звернення 
10.05.2023). 
5. CubeMX і Workbench: створення проекту на базі STM32 за допомогою 
безкоштовного програмного забезпечення [Електронний ресурс]. – Режим доступу: 
https://www.compel.ua/lib/75317 (дата звернення 28.04.2023). 
6. FreeRTOS [Електронний ресурс]. – Режим доступу: 
https://wikipedia.org/wiki/FreeRTOS (дата звернення 16.04.2023). 
7. FreeRTOS Queues [Електронний ресурс]. – Режим доступу: 
https://www.freertos.org/Embedded-RTOS-Queues.html (дата звернення 25.04.2023). 
8. How the microprocessor works [Електронний ресурс] – Режим доступу: 
http://wisemotors.ea/uk/zhelezo/how-it-works-microprocess...nd-to-the-processor/ (дата 
звернення: 11.05.2023). 
9. IAR Embedded Workbench for ARM [Електронний ресурс]. – Режим 
доступу: https://www.iar.com/iar-embedded-workbench/#!?architecture=Arm (дата 
звернення 28.04.2023). 
10. Microprocessor [Електронний ресурс] – Режим доступу: 
https://en.wikipedia.org/wiki/Microprocessor // (дата звернення: 02.05.2023).  
11. Microprocessors: the engines of the digital age [Електронний ресурс] – 
Режим доступу: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5378251/ (дата 
звернення: 02.05.2023). 
Лист 
ЧДТУ.232253.001 ПЗ 
59 
Змн. Арк. № докум. Підпис Дата  
 
12. MTE Explains: What Is a Processor’s Process Size and Why Does It Matter? 
[Електронний ресурс] – Режим доступу: https://www.maketecheasier.com/processors-
process-size/ (дата звернення: 11.05.2023). 
13. STM32 [Електронний ресурс]. – Режим доступу: 
https://wikipedia.org/wiki/STM32 (дата звернення 28.04.2023) 
14. Tasks [Електронний ресурс]. – Режим доступу: 
https://www.freertos.org/taskandcr.html (дата звернення 25.04.2023). 
15. What is a Microcontroller? Where they are used? [Електронний ресурс] – 
Режим доступу: https://circuitdigest.com/article/what-is-a-microcontroller // (дата 
звернення: 20.04.2023). 
16. What Things Use a Microcontroller [Електронний ресурс] – Режим 
доступу: https://www.techwalla.com/articles/what-things-use-a-microcontroller (дата 
звернення 06.05.2023).  
17. Бітченко О. М. Електроніка і мікросхемотехніка. Проектування і 
програмування мікропроцесорних пристроїв: підручник для техн. та інж.- пед. 
вищих навч. закладів / О. М. Бітченко, О. І. Цопа, Д. Г. Ганшин. – Х.: Фінарт, 2020. 
– 354 с. 
18. Відлагоджувальні плати на базі мікроконтролерів STM32 [Електронний 
ресурс]. – Режим доступу: https://www.compel.ua/lib/94885 (дата звернення 
02.04.2023). 
19. Відлагоджувальні плати сімейства DISCOVERY компанії 
STMicroelectronics. Огляд. [Електронний ресурс]. – Режим доступу: 
https://www.terraelectronica.ua/news/4102 (дата звернення 15.04.2023). 
20. Локазюк В. М. Мікропроцесори та мікроЕОМ у виробничих системах. 
Навчальний посібник для вузів / Локазюк В. М. – Хмельницький: ТУП, 2020. – 
244 с. 
21. Мікроконтролер [Електронний ресурс]. – Режим доступу: 
https://en.wikipedia.org/wiki/Microcontroller (дата звернення 28.04.2023). 
22. Плата STM32F103C8T6. Завантаження програми у FLASH-пам'ять 
мікроконтролера через системний bootloader. [Електронний ресурс]. – Режим 
Лист 
ЧДТУ.232253.001 ПЗ 
60 
Змн. Арк. № докум. Підпис Дата  
 
доступу: http://mypractic.ua/urok-2-plata-stm32f103c8t6-zagruzka-programmy-vo-
flash-pamyat-mikrokontrollera-cherez-sistemnyj-butloader.html (дата звернення 
28.04.2023). 
23. Черга повідомлень [Електронний ресурс]. – Режим доступу: 
https://wikipedia.org/wiki/Очередь_сообщений (дата звернення 25.04.2023). 
24. Що таке FPGA [Електронний ресурс]. – Режим доступу: 
http://kanyevsky.kpi.ua/статьи/что-такое-fpga/ (дата звернення 28.04.2023). 
25. Якименко Ю. І. Мікропроцесорна техніка: підручник / Якименко Ю. І., 
Терещенко Т.О., Сокол Є. І.– К.: Кондор, 2021. – 440 с. 
 
 
Лист 
ЧДТУ.232253.001 ПЗ 
61 
Змн. Арк. № докум. Підпис Дата