Програмування вбудованих систем на основі архітектури ARM - Робоча програма навчальної дисципліни (Силабус)

Реквізити навчальної дисципліни

Рівень вищої освіти Перший (бакалаврський)
Галузь знань 12 Інформаційні технології
Спеціальність 126 Інформаційні системи та технології
Освітня програма Інформаційне забезпечення робототехнічних систем
Статус дисципліни Вибіркова
Форма навчання очна(денна)
Рік підготовки, семестр 4 курс, весняний семестр
Обсяг дисципліни 4 кредити / 120 годин (36 годин лекцій, 18 годин лабораторних робіт, 66 годин самостійної роботи)
Семестровий контроль/ контрольні заходи Залік/МКР
Розклад занять http://rozklad.kpi.ua/
Мова викладання Українська
Інформація про
керівника курсу / викладачів

Лектор: к.т.н. Ковальов Микола Олександрович, kovua@yahoo.com, тел. 067-680-20-09

Практикум: асистент Бердник Юрій Михайлович, y.berdnyk@kpi.ua, berdniky@gmail.com

Розміщення курсу Кампус, Google classroom

Програма навчальної дисципліни

Опис навчальної дисципліни, її мета, предмет вивчання та результати навчання

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

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

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

Задачі вивчення дисципліни передбачають оволодіння:

1. Знаннями:

  • архітектури вбудованих систем реального часу на базі МК родини ARM;

  • особливостей програмного забезпечення (ПЗ) інтелектуальних вбудованих систем реального часу;

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

2. Навичками і вміннями:

  • програмувати МК для інтелектуальних вбудованих систем реального часу;

  • налагоджувати й тестувати інтелектуальну вбудовану систему реального часу.

Компетентності

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

Загальні компетентності:

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

Спеціальні (фахові, предметні) компетентності

Здатність до проектування, розробки, налагодження та вдосконалення системного, комунікаційного та програмно-апаратного забезпечення інформаційних систем та технологій, Інтернету речей (IoT), комп’ютерно-інтегрованих систем та системної мережної структури, управління ними
Здатність управляти та користуватися сучасними інформаційно-комунікаційними системами та технологіями (у тому числі такими, що базуються на використанні Інтернет)
Здатність проводити обчислювальні експерименти, порівнювати результати експериментальних даних і отриманих рішень
Здатність до розробки і використання інтелектуальних технологій, методів штучного інтелекту для вирішення прикладних задач і підтримки прийняття рішень в робототехнічних системах
Здатність використовувати знання основ електроніки і схемотехніки, сучасної елементної бази при проектуванні мікропроцесорних пристроїв робототехнічних систем

Програмні результати навчання

Використовувати базові сучасних інформаційних систем та технологій, навички програмування, технології безпечної роботи з інтернет-ресурсами, технологіями розроблення алгоритмів і комп’ютерних програм із застосуванням об’єктно-орієнтованого програмування для розв’язання задач проектування і використання інформаційних систем та технологій
Аргументувати вибір програмних та технічних засобів для створення інформаційних систем та технологій на основі аналізу їх властивостей, призначення і технічних характеристик з урахуванням вимог до системи і експлуатаційних умов; мати навички налагодження та тестування програмних і технічних засобів інформаційних систем та технологій

Пререквізити та постреквізити дисципліни (місце в структурно-логічній схемі навчання за відповідною освітньою програмою)

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

Зміст навчальної дисципліни

Тема 1. Основи інтелектуальних вбудованих систем.

Тема 2. Програмна складова вбудованих систем на основі МК і мікрокомп'ютерів.

Тема 3. Апаратна складова вбудованих систем на основі МК і мікрокомп'ютерів.

Тема 4. Інтелектуальні вбудовані системи як основа автономних наземних платформ.

Тема 5. Проектування, програмування і налагодження інтелектуальних вбудованих систем.

Навчальні матеріали та ресурси

Базова література:

  1. Тарарака В.Д. Архітектура комп'ютерних систем: навчальний посібник / В.Д. Тарарака. – Житомир: ЖДТУ, 2018. – 383 с.

  2. Новацький А.О. Архітектура новітніх мікроконтролерів: Програмування мікроконтролерів сімейства ARM: Навчальний посібник для студентів спеціальності 151 «Автоматизація та комп’ютерно–інтегровані технології» / А.О. Новацький – Київ: КПІ ім. Ігоря Сікорського, 2017–138с.

  3. Квашнін В.О., Бабаш А.В., Квашнін В.В. Програмування та застосування мікроконтролерів STM32F4Discovery : монографія / В.О. Квашнін, А.В. Бабаш, В.В. Квашнін.– Краматорськ : ЦТРІ «Друкарський дім», 2017. – 143 с.

  4. Сучасні напрямки комп’ютерної та мікропроцесорної техніки Розділ 1. Основні тенденції розвитку комп'ютерної і мікропроцесорної техніки. Розділ 2 Характеристики ARM і Cortex процесорів: конспект лекцій. [Електронний ресурс]: для студ. спеціальності 171 Електроніка, спеціалізації «Електронні компоненти та системи» /Т. О. Терещенко, Ю.С. Ямненко; КПІ ім. Ігоря Сікорського; уклад,– Електронні текстові данні 1 файл: 5,248 Мбайт). – Київ: КПІ ім. Ігоря Сікорського, 2020. – 68 с.

Додаткова література

  1. Огородников И.Н. Микропроцессорная техника: введение в Cortex-M3 : учеб. пособие / И.Н. Огородников. – Екатеринбург : Изд-во Урал. ун-та, 2015. – 116 с.

  2. Васильев А.С., Лашманов О.Ю., Пантюшин А.В. Основы программирования микроконтроллеров / А.С. Васильев, О.Ю. Лашманов, А.В. Пантюшин – СПб: Университет ИТМО, 2016.– 95с.

  3. Паттерсон Д., Хеннесси Дж. Архитектура компьютера и проектирование компьютерных систем: – 4-е изд. / Д. Паттерсон, Дж. Хеннесси. – СПб.: Питер, 2012. -784 с.

Навчальний контент

Методика опанування навчальної дисципліни (освітнього компонента)

Назва теми лекції та перелік основних питань
1 Тема 1. Основи інтелектуальних вбудованих систем.
Лекція 1. Основи теорії і практики інтелектуальних вбудованих систем. виваиив
Лекція 2. Проектування, розробка, налагодження, виконавчих механізмів інтелектуальних вбудованих системи. Рішення на базі МК і мінікомпьютера (Orange Pi, Pasberry Pi).
2 Тема 2. Програмна складова вбудованих систем на основі МК і мікрокомп'ютерів.
Лекція 3. Програмні рішення і операційні системи для інтелектуальних вбудованих систем на основі МК (МП) і мікрокомп'ютерів.
Лекція 4. Датчикі та іх програмне опитування у інтелектуальних вбудованих системах. Рішення на базі МК і мінікомпьютера (Orange Pi, Pasberry Pi).
3 Тема 3. Апаратна складова вбудованих систем на основі МК і мікрокомп'ютерів.
Лекція 5. Структура і функціональна схема вбудованих систем на основі МК і мікрокомп'ютерів.
Лекція 6. Базові паттерни (шаблони) програмної складової інтелектуальних вбудованих системи. Рішення на базі МК і мінікомпьютера (Orange Pi, Pasberry Pi).
4 Тема 4. Інтелектуальні вбудовані системи як основа автономних наземних платформ.
Лекція 7. Особливості будови програмної і апаратної частин автономних наземних платформ.
Лекція 8. Управління силовими елементами прототипів колісних роботів у режимі реального часу. Рішення на базі МК і мінікомпьютера (Orange Pi, Pasberry Pi).
5 Тема 5. Проектування, програмування і налагодження інтелектуальних вбудованих систем.
Лекція 9. Технічна документація для проектування, програмування і налагодження інтелектуальних вбудованих систем.
Лекція 10. Основи технології програмування, розробки і налагодження інтелектуальної вбудованої системи. Рішення на базі МК і мінікомпьютера (Orange Pi, Pasberry Pi).
6 МКР Модульна контрольна робота.

Лабораторні роботи

Назва лабораторної роботи Кількість ауд. годин
1 Проектування, розробка, налагодження, документувння і тестування виконавчих механізмів інтелектуальних вбудованих системи. 4
2 Використання інтерфейсів послідовної передачі інформації між МК і датчиками (I2C, SPI, USART, промислових мереж). 5
3 Використання АЦП і ЦАП для реалізації функціонального вузла на базі МК (Orange Pi, Pasberry Pi). 5
4 Основи технології програмування, розробки і налагодження інтелектуальної вбудованої системи. 4
В підсумку: 18

Самостійна робота студента

Назва теми, що виноситься на самостійне опрацювання Кількість годин СРС
1 Складові частини типового МК. Обчислювальне ядро (CPU), система апаратних і програмних перевивань, пам'ять для зберігання програм за технологією Flash, (FlashROM), оперативна пам’ять (RAM). 3
2 Базові характеристики серії МК STM32F1х. Послідовні інтерфейси передавання даних. Периферія. Система управління затримками по часу і тактування. Типова периферія МК STM32. Шина AHB є проміжною між APB1, APB1 і підключає контролер DMA та деякі додаткові елементи доступу. Універсальні синхронні (асинхронні) шини (USART). 3
3 Механізм скидання і переривань у МК. Поняття про регістр прапорів. Дослідження механізму переривань на прикладі таймеру. Поняття про функцію обробки переривань. Обробники переривань на прикладі таймеру і порту вводу-виводу. Поняття про вектор переривань. Розміщення векторів переривань у оперативної пам’яті. Принципи написання функції обробки переривань. Повний цикл емуляції розробки, тестування, налагодження і програмування функціонального вузла на базі МК з використанням перевивань. 5
4 Технологія DMA. Переваги і реалізація. Програмне налаштування ПДП на різні варіанти периферії МК. Аналого-цифрові перетворювачі (АЦП) у МК, призначення, основні характеристики. Приклади використання АЦП у МК на основі STM32. 5
5 Виклик віддалених процедур Remote Procedure Call (RPC). Налаштування і управління периферійними пристроями МПС на прикладі СОМ порту. Дослідження сигналу лінії TxD. Запис і читання інформації СОМ порту у синхронному режимі. 5
6 Інтерфейси. Реалізація системи передачі даних з використанням інтерфейсу SPI. Поняття про апаратну частину SPI. Програмне управління SPI для реалізації СПД на основі МК. Повний цикл емуляції розробки, тестування, налагодження програмного прикладу СПД на основі SPI. 5
7 Логічна і фізична адресація пам'яті. Віртуальна пам'ять. Динамічний розподіл пам'яті. Пули пам'яті. Куча за замовчуванням. Створення додаткового пулу пам'яті. Виділення та звільнення пам'яті в кучі. 5
8 Виконання комп’ютерних практикумів. 10
9 Підготовка до контрольних робіт. 10
10 Підготовка до заліку. 15
В підсумку: 66

Політика та контроль

Політика навчальної дисципліни (освітнього компонента)

Система вимог, які викладач ставить перед студентом:

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

Протягом семестру студенти:

- виконують та захищають комп’ютерні практикуми у відповідні терміни;

- пишуть модульну контрольну роботу;

- повинні позитивно закрити 2 атестації.

По закінченні навчального процесу студенти складають залік.

Види контролю та рейтингова система оцінювання результатів навчання (РСО)

Рейтинг студента з кредитного модуля складається з балів, що він отримує за:

– виконання 4 лабораторних робіт (до 4Х20=80 балів);

– виконання контрольної роботи (до 15 балів);

­ активну роботу на парах (до 5 балів).

Виконання лабораторних робіт:

Оцінювання лабораторної роботи:

– якщо виконана невчасно знімається 20-40% від максимальної кількості балів в залежності від терміну запізнення;

– якщо виконана не самостійно або не у відповідності з варіантом, вона не зараховується.

Обов’язкові терміни лабораторних робіт:

  • «1» та «2» – до 1-о календарного контролю;

  • «3» та «4» – до 2-о календарного контролю.

Контрольні роботи оцінюються в 60 балів. Вона складається з 3-х питань із списку, який попередньо надає викладач.

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

Якщо сума балів менша за 60, але МКР зарахована, студент виконує залікову контрольну роботу. У цьому разі сума балів за виконання контрольної та залікової контрольних робіт переводиться до підсумкової оцінки згідно з таблицею.

Бали Оцінка
95 - 100 Відмінно
85 - 94 Дуже добре
75 - 84 Добре
65 - 74 Задовільно
60 - 64 Достатньо
Менше 60 Незадовільно
МКР не зарахована Не допущено

Робочу програму навчальної дисципліни (силабус):

Складено: доцент кафедри ІСТ ФІОТ, к.т.н., Ковальов Микола Олександрович

Ухвалено: кафедрою ІСТ ФІОТ (протокол № 21 від 29.06.2023)

Погоджено: Методичною комісією факультету (протокол № 11 від 29.06.2023)