Кафедра прикладної радіоелектроніки

[RE-298] Архітектура та програмування вбудованих систем. Частина 1

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

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

Рівень вищої освітиПерший (бакалаврський)
Галузь знань17 - Електроніка та телекомунікації
Спеціальність172 - Телекомунікації та радіотехніка
Освітня програма172Б ІТР - Інтелектуальні технології радіоелектронної техніки (ЄДЕБО id: 49229)172Б ІТРЕТ+ - Інтелектуальні технології радіоелектронної техніки (ЄДЕБО id: 57907)
Статус дисципліниНормативна
Форма здобуття вищої освітиОчна
Рік підготовки, семестр3 курс, осінній семестр
Обсяг дисципліни3,5 кред. (Лекц. 18 год, Практ. год, Лаб. 36 год, СРС. 51 год )
Семестровий контроль/контрольні заходиЗалік
Розклад занятьhttps://rozklad.kpi.ua
Мова викладанняУкраїнська
Інформація про керівника курсу / викладачів Лекц.: Мосійчук В. С.,
Лаб.: Єзерський Н. В.,
СРС.: Мосійчук В. С.
Розміщення курсуhttp://iot.kpi.ua/lms/course/view.php?id=18

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

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

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

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

Дисципліна формує наступні загальні компетентності (ЗК)

  • ЗК 01. Здатність до абстрактного мислення, аналізу та синтезу.
  • ЗК 07. Здатність вчитися і оволодівати сучасними знаннями.

Фахові компетентності (ФК)

  • ФК 01. Здатність розуміти сутність і значення інформації в розвитку сучасного інформаційного суспільства.
  • ФК 04. Здатність здійснювати комп'ютерне моделювання пристроїв, систем і процесів з використанням універсальних пакетів прикладних програм.
  • ФК 12. Здатність проводити роботи з керування потоками навантаження інформаційно-телекомунікаційних мереж.
  • ФК 19. Здатність застосовувати технологію об'єктно-орієнтованого програмування та базові патерни проектування при створені програмного забезпечення із відповідним функціоналом для радіотехнічних інформаційних систем та реалізовувати  програми в різних середовищах програмування.
  • ФК 20. Здатність обирати методи та засоби обробки інформації із застосуванням інтелектуальних технологій
  • ФК 24. Здатність до розробки алгоритмів та їх реалізації в програмно-конфігурованих радіоелектронних системах
  • ФК 25. Здатність обґрунтовано вибирати САПР для виконання аналізу, розрахунку, оптимізації вихідних характеристик математичних та схемних моделей аналогових та цифрових пристроїв в залежності від діапазону частот з  урахуванням факторів зовнішнього впливу, використовувати інформаційні  ресурси Internet для отримання математичних та конструкторських моделей  радіокомпонент від виробників виходячи від оцінки особливостей передачі інформації в радіомережах

Програмні результати навчання (ПРН):

  • ПРН 16. Застосування розуміння основ метрології та стандартизації у галузі телекомунікацій та радіотехніки у професійній діяльності.
  • ПРН 20. Пояснювати принципи побудови й функціонування апаратно-програмних комплексів систем керування та технічного обслуговування для розробки, аналізу і експлуатації інформаційно-телекомунікаційних мереж, телекомунікаційних та радіотехнічних систем.
  • ПРН 23. Обирати і застосовувати технічні рішення та проводити необхідні розрахунки для реалізації методів цифрового та аналогового оброблення сигналів.
  • ПРН 24. Реалізовувати методи цифрового оброблення сигналів на програмному та апаратному рівнях.
  • ПРН 29. Обирати конфігурацію, структуру, основні складові вузли та елементи радіоелектронної апаратури в залежності від її призначення.

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

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

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

Розділ 1. Основи архітектури процесорів для маніпуцяї даними

Тема 1.1. Базові цифрові пристрої в основі вбудованих систем

Тема 1.2. Арифметико-логічний пристрій

Тема 1.3. Різновиди пам’яті та їх застосування в мікроконтролерах

Тема 1.4. Архітектура  мікроконтролерів  PIC16 та PIC18

Тема 1.5. Набір інструкцій асемблера PIC16 та PIC18

Тема 1.6. Організація пам’яті в мікроконтролерах PIC16

Тема 1.7. Порти вводу виводу та їх ініціалізація в МК PIC

Тема 1.8. Алгоритми мікроконтролерних програм. Пошукові таблиці

Тема 1.9. Переферійні пристрої МК. Налаштування таймеру. Схемотехніка вбудовуванних систем

Контрольна робота

Розділ 2. Створення програмного забезпечення в IDE MPLAB X

Тема 2.1. Ладнання програм та пошук помилок (Debugging)

Тема 2.2. Створення програмного забезпечення на мові асемблер

Тема 2.3. Створення програмного забезпечення на мові С

Тема 2.4. Периферійні пристрої та ефективна робота з ними

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

Допоміжна література

  1. The RISC-V Reader: An Open Architecture Atlas / David Patterson, Andrew Waterman. - Режим доступу: https://riscvbook.com
  2. RISC-V Unprivileged Specification

Інтернет ресурси

  1.  RISC-V Learn. - Режим доступу: https://riscv.org/learn/
  2.  Running 64- and 32-bit RISC-V Linux on QEMU. - Режим доступу: https://risc-v-getting-started-guide.readthedocs.io/en/latest/linux-qemu.html

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

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

Лекційні заняття

№ з/п

Назва теми лекції та перелік основних питань
(перелік дидактичних засобів, посилання на літературу та завдання на СРС)

1

Тема: «Базові цифрові пристрої в основі вбудованих систем»

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

Література:

  • Предко М. Справочник по PIC-микроконтроллерам, 512 с.

Завдання на СРС:

  • Виконати вправи по представленю даних у різних форматах

2

Тема: «Арифметико-логічний пристрій»

  •  структура  арифметико-логічних пристроїв на прикладі АЛП на 8 функцій; 
  •  оптимізація АЛП та повторне використання логічних елементів;
  •  вибір функцій та їх місце в машинних командах мікронтролера.

Література:

  • Предко М. Справочник по PIC-микроконтроллерам, 512 с.

Завдання на СРС:

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

3

Тема: «Різновиди пам’яті та їх застосування в мікроконтролерах. Конвеєри виконання машинних інструкцій»

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

Література:

  • Предко М. Справочник по PIC-микроконтроллерам, 512 с.

Завдання на СРС:

  • Визначення максимально тактової частоти у цифрових пристроях конвеєрного типу;  

4

Тема: «Архітектура мікроконтролерів оптимізованих за обмеженнями об'єму пам'яті»

  • параметри мікроконтролера, вплив збільшення одних параметрів на інші;
  • адресація пам’яті даних, поділ адресного простору на банки, пряма та непряма адресація;
  • умовний поділ пам’яті програм на сторінки.

Література:

  • Уилмсхерст Т. Разработка встроенных систем с помощью PIC: принципы и практические , 544 с.

Завдання на СРС:

  • Привести приклади програм з перемиканням банків та зміни сторінок.

5

Тема: «Особливості архітектури міроконтролерів PIC16 та PIC18»

  • приклади виконання команд переміщення даних, зсуву та ротації;
  • приклади виконання команд доступу до пам’яті та роботи зі стеком;
  • приклади виконання команд арифметичних та логічниз операцій;
  • відмінності між PIC16 та PIC18;

Література:

  • Предко М. Справочник по PIC-микроконтроллерам, 512 с. –
  • Уилмсхерст Т. Разработка встроенных систем с помощью PIC: принципы и практические , 544 с.

Завдання на СРС:

  • Привести приклади програм до типових інструкцій.

6

Тема: «Архітектура мікроконтролерів оптимізованих за критеріями енергозбереження, швидкодії та митєвої реакції»

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

Література:

  •  Предко М. Справочник по PIC-микроконтроллерам, 512 с.

Завдання на СРС:

  •  

7

Тема: «Периферійні пристрої МК. Порти вводу виводу та їх ініціалізація. Налаштування таймера»

  • налаштування портів вводу виводу на вихід та вхід;
  • приклади програм з прямою та непрямою адресацією;
  • генерування та вивід на світлодіоди кодів Фібоначчі.

Література:

  • Уилмсхерст Т. Разработка встроенных систем с помощью PIC: принципы и практические , 544 с.

Завдання на СРС:

  • доопрацювати програму генерації кодів Фібоначчі з використанням непрямої адресації.

8

Тема: «Архітектура мікроконтролерів оптимізованих під застосування, зокрема для електронних комунікацій та радіотехніки»

  • радіомодулі як переферійні пристрої;
  • підтримка стеку протоколів TCP/IP;
  • приклад виводу цифр на семисегментний індикатор з використанням пошукових таблиць.

Література:

  • Уилмсхерст Т. Разработка встроенных систем с помощью PIC: принципы и практические , 544 с.

Завдання на СРС:

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

9

Тема: «Передавання даних в системах Інтернету речей»

  • протоколи передавання даних: UART, SPI, I2C,
  • робота з радіомодулями в термінальному режимі, АТ-команди;
  • формування, відправка та парсинг даних;

Література:

  • Уилмсхерст Т. Разработка встроенных систем с помощью PIC: принципы и практические , 544 с.

Завдання на СРС:

  • Провести розрахунки налаштувань для таймера з заданою частотою.

 

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

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

№ з/п

Назва лабораторної роботи

Кількість ауд. годин

1

Створення проектів в середовищі розробки MPLab X. Тестування та симуляція проекту.

4

2

Керування портами вводу/виводу мікроконролера.

4

3

Інтерфейси вводу даних від користувачів. Введення інформації з клавіатури. Опитування стану кнопок. Програмна реалізація «антидребезгу». Оброблення подій на коротке та довготривале натиснення кнопки.

4

4

Організація взаємодії мікроконтролера з персональним комп’ютером. Використання модуля асинхронної передачі даних UART. Передача даних на ПК. Відображення даних у терміналі ПК. Перекодування даних з двійкового коду в коди таблиці ASCII.

4

5

Дискретизація аналогових сигналів та аналогово-цифрового перетворення. Використання модуля АЦП. Оброблення переривання по завершенню АЦП. Формування частоти дискретизації. Аналогово-цифрове перетворення з використанням режимів зниженого енергоспоживання.

4

6

Дослідження режимів роботи модуля збору даних, порівняння та ШІМ

4

7

Створення проекту на мові С. Компіляція та симуляція проекту на С.

4

8

Динамічна індикація. Оброблення переривань. Потоковий вивід даних в термінал. Функція printf.

4

9

Реалізація діалогового меню з користувачем в терміналі ПК та на графічному індикаторі.

4

 

Усi лабораторні роботи виконуються в середовищі автоматизованого проектування MPLab X на навчальних макетах PIC15F4550 фірми Microchip. Кожен студент отримує індивідуальне завдання, яке виконується ним самостійно на своєму робочому місці, обладнаному персональним комп’ютером та макетом вбудовуваної системи на основі МК. Завдання на лабораторні роботи студенти отримують заздалегідь. Перед початком заняття проводиться опитування для того, щоб оцінити готовність студента до проведення роботи. Після виконання роботи відбувається захист та обговорення отриманих результатів.

Проведення комп’ютерного практикуму планується після вивчення основного матеріалу, оскільки лабораторні роботи комплексні.

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

 

№ з/п

Назва теми, що виноситься на самостійне опрацювання

Кількість годин СРС

1

Тема 5. Набір інструкцій асемблера ARM та Thumb

Інструкції ARM набору асемблера та приклади їх застосування

Література:

  • James A. Professional Embedded ARM Development

5

2

Тема 9. Схемотехніка вбудовуванних систем

Тактування МК. Організація живлення та заземлення для мікросхем МК. Рівні сигналів. Формування сигналів керування різного призначення, в тому числі для потужних приводів. Спряження та взаємодія  вбудовуваних систем з аналоговими блоками. Захист радіотехнічних пристроїв від імпульсних завад ядра МК. 

Література:

  • Бэйкер Б. Что нужно знать цифровому инженеру об аналоговой электронике

6

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

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

Усi лабораторні роботи виконуються в середовищі автоматизованого проектування MPLab X на навчальних макетах PIC15F4550 фірми Microchip. Кожен студент отримує індивідуальне завдання, яке виконується ним самостійно на своєму робочому місці, обладнаному персональним комп’ютером та макетом вбудовуваної системи на основі МК. Завдання на лабораторні роботи студенти отримують заздалегідь. Перед початком заняття проводиться опитування для того, щоб оцінити готовність студента до проведення роботи. Після виконання роботи відбувається захист та обговорення отриманих результатів.

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

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

Навчальним планом дисципліни RE-2 передбачено наступну рейтингову систему оцінювання:

  • Лекції / Вебінари - 18 год; (2 МКР х 15 балів)
  • Лабораторні роботи / Тренінги - 36 год; (8 лаб х 5 балів)
  • СРС (6 завд х 5 балів ) 

Контрольні роботи

Основні задачі, які входять в контрольні роботи:

1. Ініціалізація портів вводу/виводу (ПВВ) МК. Алгоритми і програми для роботи з ними.

2. Ініціалізація та оброблення переривань від основних модулів МК: таймерів, ПВВ та ін.  Підпрограми оброблення переривань.

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

4. Ініціалізація формування ШІМ послідовності. Алгоритми і програми формування та декодування ШІМ послідовності.

5. Ініціалізація модуля аналого-цифрового перетворення (АЦП). Алгоритми і програми реалізації дискретизації сигналів. Обробка переривання. Аналого-цифрового перетворення в режимі енергозбереження. Багатоканальне АЦП.

6. Ініціалізація модуля синхронного послідовного порта (SPI, I2C). Приймання та передавання даних за перериваннями.

7. Ініціалізація модуля універсального синхронного/асинхронного приймача/ передавача (USART). Приймання та передавання даних за перериваннями.

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

9. Додаткова інформація з дисципліни (освітнього компонента)

Перелік питань, які виносяться на семестровий контроль

  1. Архітектура МК PIC16, PIC18
  2. Організація пам’яті програм МК PIC18
  3. Організація пам’яті даних МК PIC18
  4. Структура портів вводу/виводу.
  5. Призначення стеку.
  6. Система переривань МК PIC18
  7. Переривання від таймера  TMR0.
  8. Структура модуля USART.
  9. Структура модуля SSP.
  10. Призначення сторожового таймера (WDT) та робота з ним.
  11. Регістри керування перериваннями  
  12. Призначення регістру STATUS.
  13. Регістри керування налаштуваннями мікро контролера, конфігураційні біти
  14. Команди операцій з константами.
  15. Команди роботи з байтами.
  16. Команди роботи з бітами.
  17. Команди роботи з робочим регістром W.
  18. Команди умовного переходу.
  19. Команди керування.
  20. Команди циклічного зсуву.
  21. Команди ANDWF, IORWF, XORWF.
  22. Команди BTFSS і BTFSC. Приклади застосування.
  23. Команди RETFIE, SLEEP, CALL, RETURN. Їх призначення
  24. Приклади застосування команди RETLW.
  25. Приклади застосування команди INCFSZ, DECFSZ.
  26. Поясніть як виконується команда decfsz. Які команди подібні до приведеної?
  27. Команди пересилання даних MOVF, MOWWF.
  28. Команда nop, приклади її застосувння.
  29. Виконати ініціалізацію модуля USART.
  30. Способи формування часової затримки. Приклади
  31. Налаштування тактового генератора .
  32. Виконати ініціалізацію переривання при переповнені таймера TMR0.
  33. Ініціалізація портів вводу/виводу.
  34. Виконати ініціалізацію таймера для отримання частоти дискретизації 1кГц
  35. Виконати ініціалізацію модуля SSP в режимі  SPI.
  36. Виконати ініціалізацію модуля SSP в режимі  I2С.
  37. Виконати ініціалізацію режиму очікування (SLEEP mode).
  38. Виконати ініціалізацію модулю захвату CCP з перериванням.
  39. Виконати ініціалізацію зовнішнього переривання INT.
  40. Приклад збереження вмісту регістрів STATUS. і W при обробці переривань.
  41. Привести приклад обробки зовнішнього переривання INT.
  42. Привести приклад обробки переривання при переповнені таймера TMR0.
  43. Виконати ініціалізацію таймера максимальною тривалістю затримки.
  44. Ініціалізація портів вводу/виводу.
  45. Виконати ініціалізацію переривання при співпадінні значення таймера з наперед заданим числом.
Опис матеріально-технічного та інформаційного забезпечення дисципліни

лабораторіямікроконтролерів 510б-17 корп. Наявні 12 робочих місць з навчальними платами на основі PIC18F4550.

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




Робочу програму навчальної дисципліни (силабус):
Складено Мосійчук В. С.; Єзерський Н. В.;
Ухвалено кафедрою ПРЕ (протокол № № 06/2023 від 22.06.2023 )
Погоджено методичною комісією факультету/ННІ (протокол № № 06-2023 від 29.06.2023 )