![]() | Кафедра прикладної радіоелектроніки |
Рівень вищої освіти | Перший (бакалаврський) |
Галузь знань | 17 - Електроніка, автоматизація та електронні комунікації |
Спеціальність | 172 - Електронні комунікації та радіотехніка |
Освітня програма | Всі ОП |
Статус дисципліни | Вибіркова (Ф-каталог) |
Форма здобуття вищої освіти | Очна |
Рік підготовки, семестр | Доступно для вибору починаючи з 2-го курсу, весняний семестр |
Обсяг дисципліни | 4 кред. (Лекц. 18 год, Практ. 0 год, Лаб. 36 год, СРС. 66 год ) |
Семестровий контроль/контрольні заходи | Залік |
Розклад занять | https://rozklad.kpi.ua |
Мова викладання | Українська / Англійська |
Інформація про керівника курсу / викладачів | Лекц.: Мосійчук В. С., Лаб.: Мосійчук В. С., СРС.: Мосійчук В. С. |
Розміщення курсу | https://sylabus.online/course/3-vbudovani_systemy_mikrokontrolery_arm_arkhitektury |
Навчальний курс побудований на основі програми сертифікації інженерів розробників вбудованих систем "ARM Accreditated MCU Enngeineer" (AAME). У навчальному курсі значну увагу приділено розумінню архітектури процесорів, зокрема ARM архітектури; реалізації алгоритмів керування та контролю у вбудовуваних системах; створеню програмного забезпечення вбудовуваних систем на асемблері та на мові С, початкові навички створення програмного забезпечення вбудовуваних систем з використанням операційних систем.
Окремо розглядаються питання режимів роботи мікроконтролера для зменшення енергоспоживання; концепції переривань та побудови ПЗ для роботи в реальному часі.
На лабораторних роботах освоюється особливості налаштування конфігурації мікроконтролерів, створення проектів в середовищі автоматичної розробки програмного забезпечення для мікроконтролерів; реалізація алгоритмів керування та контролю з використанням периферійних пристроїв мікроконтролера; виконання оптимізації програмного забезпечення за різними критеріями.
Метою кредитного модуля є формування у студентів здатностей:
знання :
уміння:
досвід:
Перед початком вивчення курсу бажаним є проходження дисципліни "Цифрові пристрої" або "Цифрова схемотехніка".
Розділ 1. Архітектурa 32-х розрядних мікроконтролерів
Тема 1.1: «Осоливості 32-х розрядних архітектур процесорів та переваги їх використання як вбудовуванних систем»
Визначення вбудовуваних систем та систем на кристалі; переваги RISC архітектури; особливості 32 розр. процесорів ARM архітектури та мікроконтролерів на їх основі ; технології процесорів ARM архітектури: JTAG Debug, Enhanced DSP, Vector Floating Point, EmbeddedICE, Jazelle, Long Multiply, Thrumb.
Тема 1.2: «Архітектура ARM процесорів»
Регістри, стек, пам’ять програм та даних; допоміжні процесори та взаємодія з ними ; арифметико-логічний пристрій; конвеєр команд; організація пам’яті та керування нею; виключні стани процесора (переривання) та їх оброблення ; режими роботи процесора.
Тема 1.3: «Організація пам’яті процесора, виключення та переривання Cortex-M0»
Розподіл пам’яті ; Internal Private Peripheral Bus, діапазони адрес; формати слідування байтів у пам’яті; виключення та переривання, таблиця векторів; визначення пріоритетів переривань.
Тема 1.4: «Особливості створення програмного забезпечення для вбудовуваних систем»
Ініціалізація мікроконтролера; опитування периферійних пристроїв у циклі; робота за перериваннями; процес розробки програмного забезпечення; порівняння програмування на мові асемблер та С; типи даних та доступ до периферійних пристроїв на С; стандарт CMSIS;
Тема 1.5: «Набір інструкцій асемблера ARM та Thumb »
Команди переміщення даних; команди доступу до пам’яті; команди роботи зі стеком; команди арифметичних операцій; команди логічних операцій; команди зсуву та ротації;
Тема 1.6: «Набір інструкцій асемблера ARM та Thumb»
Команди безумовного та умовного переходу; команди порівняння; команди групового трансферу даних; інші інструкції.
Тема 1.7: «Апаратна підтримка операційних систем»
Побудова ПЗ з підтримкою виконання великої кількості задач; таймер SysTick, регістри налаштувань; особливості використання стеку операційною системою; обробка виключень SVC, PendSV; OC Keil RTX Kerner.
Тема 1.8: «Енергозберігаючі режими мікроконтролера Cortex-M0»
Енергозберігаючі режими; інструкції WFE та WFI; конфігурація регістрів ; особливості розробки пристроїв з низьким рівнем енергоспоживання;
Тема 1.9: «Особливості створення оптимізованого ПЗ на мові С»
Правила яких слід дотримуватись у разі напимання оптимального коду; варіанти застосування профайлингу (автоматичного визначення параметрів швидкодії та ефективності ПЗ) ; частота оновлення даних у пам’яті, їх розміщення та швидкість доступу; особливості визначення параметрів функцій, вказівників, лічильників у циклах та ресурсоємність різних арифметичних операцій.
Розділ 2. Створення програмного забезпечення вбудовуваних систем для 32-розрядних мікроконтролерів
Тема 2.1 Створення програмного забезпечення на мові асемблер
Створення проекту, структура проекту, startup.s, директиви асемблера та лінкера; об’явлення констант та змінних, виклик підпрограм, ініціалізації тактового генератора та системного таймера.
Тема 2.2 Ладнання програм та пошук помилок (Debugging)
Ладнання програми у режимі симуляції, ладнання програми у режимі відладки, перегляд вмісту регістрів кеш пам’яті процесора, перегляд вмісту основної пам’яті, покрокове виконання програми, точки зупинки, пошук причин, що призводять до появи виключення hard_fault_exception, користування технічною документацією до процесора.
Тема 2.3 Створення програмного забезпечення на мові С
Створення проекту, структура проекту, startup.s, підключення бібліотек, стандарт CMSIS, використання готових драйверів периферійних пристроїв, створення власного драйверу.
Тема 2.4 Периферійні пристрої та ефективна робота з ними
Створення власної програми ініціалізації периферійних пристроїв (драйверів) та робота з ними восновній програмі, ініціалізація та оброблення переривань від периферійних пристроїв.
Рекомендована базова література
Допоміжна
Інформаційні ресурси
Лекційні заняття
№ з/п |
Назва теми лекції та перелік основних питань (перелік дидактичних засобів, посилання на літературу та завдання на СРС) |
1 |
Тема: «Вбудовуванні системи»
Література:
Завдання на СРС:
|
2 |
Тема: «Архітектура ARM процесорів»
Література:
Завдання на СРС:
|
3 |
Тема: «Організація пам’яті процесора, виключення та переривання Cortex-M0»
Література:
Завдання на СРС:
|
4 |
Тема: «Особливості створення програмного забезпечення для вбудовуваних систем»
Література:
Завдання на СРС:
|
5 |
Тема: «Набір інструкцій асемблера ARM та Thumb »
Література:
Завдання на СРС:
|
6 |
Тема: «Набір інструкцій асемблера ARM та Thumb»
Література:
Завдання на СРС:
|
7 |
Тема: «Апаратна підтримка операційних систем»
Література:
Завдання на СРС:
|
8 |
Тема: «Енергозберігаючі режими мікроконтролера Cortex-M0»
Література:
Завдання на СРС:
|
9 |
Тема: «Особливості створення оптимізованого ПЗ на мові С»
Література:
|
Лабораторні роботи
Дисципліна «Вбудовані системи» належить до дисциплін, в яких значна увага приділяється практичній складовій навчання. Тому на комп’ютерний практикум виділяється більша кількість аудиторних годин. Основною метою лабораторних занять є експериментальна перевірка теоретичних знань, набуття навиків проектування, реалізації алгоритмів за допомогою програмування на мові асемблер та С, лагодження та верифікація проектів радіотехнічних пристроїв за допомогою моделювання їх на макетах.
№ з/п |
Назва лабораторної роботи |
Кількість ауд. годин |
1 |
Створення першого проекту в системі KEIL MDK. Формування сигналів заданої тривалості та періоду на виходах мікроконтролера. Приєднання до ПВВ світлодіодів. Індикація стану ПВВ. |
4 |
2 |
Введення інформації з клавіатури. Опитування стану кнопок. Програмна реалізація «антидребезгу». Оброблення подій на коротке та довготривале натиснення кнопки. |
4 |
3 |
Динамічна індикація. Способи багатофункціонального використання ПВВ. Часове розділення їх використання. Перекодування даних з двійкового коду в двійково-десятковий. |
4 |
4 |
Ініціація подій з заданою періодичністю за допомогою переривання по переповненню таймера. Оброблення переривань. |
4 |
5 |
Використання модуля асинхронної передачі даних UART. Передача даних на ПК. Відображення даних у терміналі ПК. Перекодування даних з двійкового коду в коди таблиці ASCII. Потоковий вивід даних в термінал. Функція printf. Реалізація діалогового меню з користувачем в терміналі ПК та на графічному індикаторі. |
4 |
6 |
Використання модуля АЦП. Оброблення переривання по завершенню АЦП. Формування частоти дискретизації. Аналогово-цифрове перетворення з використанням режимів зниженого енергоспоживання. |
4 |
7 |
Формування та декодування ШІМ. Керування швидкістю обертання двигунів постійного струму. Керування кроковими двигунами. |
4 |
8 |
Послідовні синхронні інтерфейси передачі даних: SPI, I2C, CAN. Запис та зчитування даних на SD-карту пам’яті. |
4 |
9 |
Встановлення OC реального часу (RTOS). Реалізація ПЗ в ОС. |
4 |
Усi лабораторні роботи виконуються в середовищі автоматизованого проектування KEIL на навчальних макетах Nu-LB-NUC140 фірми NUVOTON. Кожен студент отримує індивідуальне завдання, яке виконується ним самостійно на своєму робочому місці, обладнаному персональним комп’ютером та макетом вбудовуваної системи на основі МК. Завдання на лабораторні роботи студенти отримують заздалегідь. Перед початком заняття проводиться опитування для того, щоб оцінити готовність студента до проведення роботи. Після виконання роботи відбувається захист та обговорення отриманих результатів.
Проведення лабораторних робіт планується після вивчення основного матеріалу, оскільки лабораторні роботи комплексні.
№ з/п |
Назва теми, що виноситься на самостійне опрацювання |
Кількість годин СРС |
1 |
Тема 5. Набір інструкцій асемблера ARM та Thumb Інструкції ARM набору асемблера та приклади їх застосування Література:
|
6 |
2 |
Тема 9. Схемотехніка вбудовуванних систем Тактування МК. Організація живлення та заземлення для мікросхем МК. Рівні сигналів. Формування сигналів керування різного призначення, в тому числі для потужних приводів. Спряження та взаємодія вбудовуваних систем з аналоговими блоками. Захист радіотехнічних пристроїв від імпульсних завад ядра МК. Література:
|
6 |
Індивідуальні завдання
Навчальним планом дисципліни «Вбудовані системи» передбачено виконання розрахункової роботи.
Основні цілі РР – розвинути навички самостійного ведення власного проекту, зокрема розроблення вбудовуваної системи для певного радіотехнічного пристрою за індивідуальним завданням, який і визначає функціональність котра має бути реалізована МК.
Організувати взаємодію і роботу з одного з вказаних в індивідуальному завданні зовнішніх периферійним пристроїв з комп’ютером за допомогою мікроконтролеру (МК): АЦП; ЦАП; пам’ять ОЗП; flash пам’ять; LCD дисплей – знаково-графічний; LCD дисплей – графічний; сенсор температури; сенсор прискорення (акселерометр); синтезатор частоти (DDS); пристрій реального часу (RTC).
З комп’ютером зв’язок налаштовується для всіх варіантів однаково через послідовний порт МК за допомогою модуля UART. Мета обміну даних з комп’ютером – контроль правильності роботи мікроконтролерної системи, або ж збереження або відображення отриманих даних, як наприклад від сенсорів, АЦП.
Вся необхідна для виконання роботи інформація щодо організації інтерфейсу доступна в документації на пристрої, що використовуються в якості периферійних для МК. Документація (datasheet) доступна для завантаження з сайтів виробників в Інтернет.
У розрахунковій роботі обов’язковими повинні бути наступні розділи:
1. Алгоритм програми згідно завдання.
2. Приведення необхідних розрахунків часу затримки, швидкості передавання для заданої частоти МК.
3. Лістинги програми з обов’язковими коментарями до команд.
4. Схема електрична принципова вмикання МК з елементами тактового генератора та допоміжними зовнішніми периферійними пристроями.
Правила відвідування занять (як лекцій, так і практичних/лабораторних)
Обов'язковими до відвудування та виконання є лабораторні роботи. У разі пропуску цих занять, їх слід відпрацьовувати під час консультацій, або з іншими групами. у разі пропуску лекцій, слід проходити і здавати тести по матеріалам пропущеного заняття. Матеріали лекцій та відео розміщуються на LMS.
Захист лабораторних робіт
Лабораторні роботи захищаються у день виконання лабораторної роботи. Студент отримує дві оцінки. Перша за активність та ініціативність під час виконання лабораторної роботи та індивідуального занняття. Друга за захист та відповідь на контрольні запитання.
Захист індивідуальних завдань
В межах самостійної роботи студенти виконують завдання по матеріалам лекцій. За результатами перевірки слухачі курсу отримують коментарі від викладача та оцінку. Індивідуальні завдання не перездаються.
Заохочувальні та штрафних балів та політика щодо академічної доброчесності
Найбільш активні студенти та студенти, які виконують окремі завдання зразково можуть отримати до 10 балів до семестрового рейтингу.
Штрафні бали застосовуються у разі видавання чужої роботи за свою з обов'язковим подапльшим її переопрацюванням.
Політика дедлайнів та перескладань
У разі пропуску кінцевих термінів здачі завдань для слухачів курсу зменшується максильний бал по завданням на 10 %.
Контрольні роботи
Мета МКР – перевірка якості набутих знань на лекціях та контроль самостійної роботи студентів на яку винесено інформацію переважно довідкового характеру, але знання якої є вкрай важливим для досягнення мети дисципліни. Контрольна робота розбита на окремі частини і проводяться в формі самостійних робіт.
Основні задачі, які входять в контрольні роботи:
1. Ініціалізація портів вводу/виводу (ПВВ) МК. Алгоритми і програми для роботи з ними.
2. Ініціалізація та оброблення переривань від основних модулів МК: таймерів, ПВВ та ін. Підпрограми оброблення переривань.
3. Способи та алгоритми формування точних заданих часових проміжків, їх програмна реалізація.
4. Ініціалізація формування ШІМ послідовності. Алгоритми і програми формування та декодування ШІМ послідовності.
5. Ініціалізація модуля аналого-цифрового перетворення (АЦП). Алгоритми і програми реалізації дискретизації сигналів. Обробка переривання. Аналого-цифрового перетворення в режимі енергозбереження. Багатоканальне АЦП.
6. Ініціалізація модуля синхронного послідовного порта (SPI, I2C). Приймання та передавання даних за перериваннями.
7. Ініціалізація модуля універсального синхронного/асинхронного приймача/ передавача (USART). Приймання та передавання даних за перериваннями.
Рейтингова система оцінювання результатів навчання
Кількість балів | Оцінка |
---|---|
100-95 | Відмінно |
94-85 | Дуже добре |
84-75 | Добре |
74-65 | Задовільно |
64-60 | Достатньо |
Менше 60 | Незадовільно |
Не виконані умови допуску | Не допущено |
Перелік питань на залік
Для даного курсу на кафедрі прикладної радіоелектроніки створено спеціалізовану лабораторію мікроконтролерів. За академічною програмою NUVOTON в лабораторії обладнано 20 робочих місць з макетами NUC140 Learning Board з розвинутою переферією та з мікроконтролером ARM Cortex-M0 NUC140VE3CN. На лабораторних роботах використовується програграмне забезпечення IDE KEIL uVision 5 . Для окремих лабортоарних робіт використовується додаткове обладнання - цифрові оцилографи та генератори.
Робочу програму навчальної дисципліни (силабус):
Складено
Мосійчук В. С.;
Ухвалено кафедрою ПРЕ (протокол № 06/2023 від 2023-06-29 )
Погоджено методичною комісією факультету/ННІ (протокол № 06-2023 від 2023-06-29 )