Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Aplikacje mikrokontrolerów
Tok studiów:
2019/2020
Kod:
IETP-1-614-s
Wydział:
Informatyki, Elektroniki i Telekomunikacji
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Elektronika i Telekomunikacja
Semestr:
6
Profil:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma studiów:
Stacjonarne
Prowadzący moduł:
Krzak Łukasz (lkrzak@agh.edu.pl)
Treści programowe zapewniające uzyskanie efektów uczenia się dla modułu zajęć

Moduł dotyczy efektywnego wykorzystania języka C oraz systemu operacyjnego czasu rzeczywistego, jako dominujących obecnie w systemach mikrokontrolerowych narzędzi do budowy aplikacji.

Opis efektów uczenia się dla modułu zajęć
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Powiązania z KEU Sposób weryfikacji i oceny efektów uczenia się osiągniętych przez studenta w ramach poszczególnych form zajęć i dla całego modułu zajęć
Wiedza: zna i rozumie
M_W001 Student rozumie podstawy działania aplikacji wielowątkowych, wykorzystujących system operacyjny. Zna podstawowe aspekty programowania wielowątkowego a także związane z tym możliwości i zagrożenia. ETP1A_W14, ETP1A_W06 Wykonanie ćwiczeń laboratoryjnych,
Kolokwium
M_W002 Student zna aktualne trendy i kierunki rozwoju rynku mikrokontrolerów. ETP1A_W06, ETP1A_W16 Wykonanie ćwiczeń laboratoryjnych
M_W003 Student posiada więdzę dot. tworzenia oprogramowania w języku C dla mikrokontrolerów. Rozumie proces budowania kodu i jego późniejsze działanie na mikrokontrolerze. ETP1A_W14, ETP1A_W06 Wykonanie ćwiczeń laboratoryjnych,
Kolokwium
Umiejętności: potrafi
M_U001 Student potrafi efektywnie posługiwać się interfejsem prostego systemu operacyjnego w celu implementacji aplikacji wielowątkowej działającej na mikrokontrolerze. ETP1A_U09, ETP1A_U15 Kolokwium,
Wykonanie ćwiczeń laboratoryjnych
M_U002 Student potrafi efektywnie napisać oprogramowanie w języku C na mikrokontroler. ETP1A_U09, ETP1A_U05, ETP1A_U15 Kolokwium,
Wykonanie ćwiczeń laboratoryjnych
Kompetencje społeczne: jest gotów do
M_K001 Student potrafi zespołowo opracować implementację oprogramowania, dbając o jakość kodu źródłowego. ETP1A_K04, ETP1A_K02, ETP1A_K03 Wykonanie ćwiczeń laboratoryjnych
Liczba godzin zajęć w ramach poszczególnych form zajęć:
SUMA (godz.)
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
42 14 0 20 8 0 0 0 0 0 0 0
Matryca kierunkowych efektów uczenia się w odniesieniu do form zajęć i sposobu zaliczenia, które pozwalają na ich uzyskanie
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Forma zajęć dydaktycznych
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
Wiedza
M_W001 Student rozumie podstawy działania aplikacji wielowątkowych, wykorzystujących system operacyjny. Zna podstawowe aspekty programowania wielowątkowego a także związane z tym możliwości i zagrożenia. + - + + - - - - - - -
M_W002 Student zna aktualne trendy i kierunki rozwoju rynku mikrokontrolerów. + - + - - - - - - - -
M_W003 Student posiada więdzę dot. tworzenia oprogramowania w języku C dla mikrokontrolerów. Rozumie proces budowania kodu i jego późniejsze działanie na mikrokontrolerze. + - + + - - - - - - -
Umiejętności
M_U001 Student potrafi efektywnie posługiwać się interfejsem prostego systemu operacyjnego w celu implementacji aplikacji wielowątkowej działającej na mikrokontrolerze. + - + + - - - - - - -
M_U002 Student potrafi efektywnie napisać oprogramowanie w języku C na mikrokontroler. + - + + - - - - - - -
Kompetencje społeczne
M_K001 Student potrafi zespołowo opracować implementację oprogramowania, dbając o jakość kodu źródłowego. - - + + - - - - - - -
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 75 godz
Punkty ECTS za moduł 3 ECTS
Udział w zajęciach dydaktycznych/praktyka 42 godz
Przygotowanie do zajęć 11 godz
Samodzielne studiowanie tematyki zajęć 20 godz
Egzamin lub kolokwium zaliczeniowe 2 godz
Szczegółowe treści kształcenia w ramach poszczególnych form zajęć (szczegółowy program wykładów i pozostałych zajęć)
Wykład (14h):

Tematy poruszane na wykładzie:

1. Architektura i komponenty systemów wbudowanych, opartych o układy mikrokontrolerów.

W wykładzie znajdują się odpowiedzi na pytania: co to jest system wbudowany, jakie są najnowsze trendy i rozwiązania spotykane w układach mikrokontrolerów oraz jakimi kryteriami należy się kierować w wyborze mikrokontrolera. Obejmuje również wstęp do narzędzi wykorzystywanych podczas ćwiczeń laboratoryjnych.

2. Programowanie mikrokontrolerów w języku C.

W cyklu 3 wykładów skupiono się na przedstawieniu specyficznych aspektów programowania mikrokontrolerów w języku C dot. m.in. wykorzystania standardowej biblioteki języka C, kodu startowego, modelu pamięci, sposobu budowania kodu, a także standardów języka.

3. Wprowadzenie do systemu czasu rzeczywistego i programowania wielowątkowego na mikrokontrolerze.

W cyklu 3 wykładów omówiono zagadnienia czasu rzeczywistego w aplikacjach mikrokontrolerów, pojęcie wielowątkowości i jego realizacja w postaci mikro-jądra systemu operacyjnego, podstawowe funkcje systemu operacyjnego. Wykład zawiera również omówienie technik związanych z programowaniem wielowątkowym na mikrokontrolerze z wykorzystaniem bezpiecznych technik współdzielenia zasobów.

Ćwiczenia laboratoryjne (20h):

Ćwiczenia laboratoryjne umożliwiają praktyczne zapoznanie studentów z tematami poruszanymi w ramach wykładu. Ćwiczenia obejmują głownie zadania związane z implementacją oprogramowania na dostarczone płyty z mikrokontrolerem wyposażonym w rdzeń z rodziny ARM Cortex-M.

Poruszane zagadnienia:

  • efektywne wykorzystanie języka C w aplikacjach mikrokontrolerowych,
  • metody radzenia sobie ze skalą w projektach oprogramowania dla systemów wbudownych
  • efektywne wykorzystanie popularnych układów peryferyjnych mikokontrolera
  • architektura oprogramowania zorientowana na komponenty
  • testy jednostkowe
  • testy obciążeniowe
  • metody diagnostyki aplikacji mikrokontrolerowych
  • programowanie wielowątkowe wykorzystujące system operacyjny
  • wykorzystanie narzędzi kontroli wersji do pracy zespołowej

Ćwiczenia projektowe (8h):

Wykorzystanie poznanych w trakcie laboratorium narzędzi i komponentów oraz opracowanych własnych komponentów do stworzenia pełnej aplikacji na mikrokontroler, realizującej zadaną specyfikację.

Pozostałe informacje
Metody i techniki kształcenia:
  • Wykład: Treści prezentowane na wykładzie są przekazywane w formie prezentacji multimedialnej w połączeniu z klasycznym wykładem tablicowym wzbogaconymi o pokazy odnoszące się do prezentowanych zagadnień.
  • Ćwiczenia laboratoryjne: W trakcie zajęć laboratoryjnych studenci samodzielnie rozwiązują zadany problem praktyczny, dobierając odpowiednie narzędzia. Prowadzący stymuluje grupę do refleksji nad problemem, tak by otrzymane wyniki miały wysoką wartość merytoryczną.
  • Ćwiczenia projektowe: Studenci wykonują zadany projekt samodzielnie, bez większej ingerencji prowadzącego. Ma to wykształcić poczucie odpowiedzialności za pracę w grupie oraz odpowiedzialności za podejmowane decyzje.
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:

W trakcie semestru ocenie podlegają:
1. Wiedza i umiejętności z zakresu języka C i jego wykorzystania w aplikacjach mikrokontrolerowych. W ok. połowie semestru są one sprawdzane poprzez kolokwium z języka C.
2. Wiedza i umiejętności z zakresu tworzenia oprogramowania dla systemów wbudowanych i programowania wielowątkowego z wykorzystaniem systemu operacyjnego czasu rzeczywistego. Pod koniec semestru są one sprawdzane poprzez kolokwium końcowe.
3. Umiejętność wykorzystania ww. narzędzi poprzez realizację projektu. Zakres projektu jest ustalany indywidualnie.

Zaliczenie ćw. laboratoryjnych wymaga uzyskania oceny pozytywnej (tj. min. 3.0) z obu przewidzianych kolokwiów (pkt. 1 i 2). Ocena z ćw. laboratoryjnych stanowi średnią ważoną ocen z kolokwium z języka C (40%) oraz kolokwium końcowego (60%). Dodatkowo, ocena może zostać podniesiona lub obniżona o 0,5 stopnia w zależności od zaangażowania w realizację zadań podczas laboratorium oraz zadań domowych.
Dla każdego z ww. kolokwiów dopuszcza się dwa terminy poprawkowe.

Zaliczenie ćw. projektowych wymaga opracowania i zaprezentowania projektu, którego zakres ustalany jest indywidualnie z prowadzącym.

Zasady udziału w zajęciach:
  • Wykład:
    – Obecność obowiązkowa: Nie
    – Zasady udziału w zajęciach: Studenci uczestniczą w zajęciach poznając kolejne treści nauczania zgodnie z syllabusem przedmiotu. Studenci winni na bieżąco zadawać pytania i wyjaśniać wątpliwości. Rejestracja audiowizualna wykładu wymaga zgody prowadzącego.
  • Ćwiczenia laboratoryjne:
    – Obecność obowiązkowa: Tak
    – Zasady udziału w zajęciach: Studenci wykonują ćwiczenia laboratoryjne zgodnie z materiałami udostępnionymi przez prowadzącego. Student jest zobowiązany do przygotowania się w przedmiocie wykonywanego ćwiczenia, co może zostać zweryfikowane kolokwium w formie ustnej lub pisemnej. Zaliczenie zajęć odbywa się na podstawie zaprezentowania rozwiązania postawionego problemu. Zaliczenie modułu jest możliwe po zaliczeniu wszystkich zajęć laboratoryjnych.
  • Ćwiczenia projektowe:
    – Obecność obowiązkowa: Tak
    – Zasady udziału w zajęciach: Studenci wykonują prace praktyczne mające na celu uzyskanie kompetencji zakładanych przez syllabus. Ocenie podlega sposób wykonania projektu oraz efekt końcowy.
Sposób obliczania oceny końcowej:

Ocena końcowa obliczana jest jako średnia ważona oceny z ćw. laboratoryjnych (80%) oraz ćw. projektowych (20%). Warunkiem zaliczenia przedmiotu i otrzymania pozytywnej oceny końcowej jest uzyskanie pozytywnych ocen zarówno z ćw. laboratoryjnych jak i z ćw. projektowych.

Sposób i tryb wyrównywania zaległości powstałych wskutek nieobecności studenta na zajęciach:

Zaległości mogą być nadrobione poprzez uczestnictwo dodatkowych zajęciach w ramach innej grupy laboratoryjnej, o ile są takie możliwości i prowadzący zajęcia wyrazi taką zgodę. Część zaległości można nadrobić dodatkową pracą w domu.

Wymagania wstępne i dodatkowe, z uwzględnieniem sekwencyjności modułów :
  • znajomość podstaw języka C
  • umiejętność napisania podstawowych aplikacji w języku C
  • znajomość podstaw techniki cyfrowej
  • znajomość podstaw techniki mikroprocesorowej
Zalecana literatura i pomoce naukowe:

1. Sommerville Ian, Inżynieria oprogramowania, WNT, 2008
2. Shibu. K.V., Introduction to Embedded Systems, McGraw Hill Education, 2017
3. Vahid. T., Embedded System Design: A Unified Hardware/Software Introduction, Wiley, 2006
4. Labrosse, J.J., MicroC/OS-II The real-time kernel, CMP Books, 2002
5. Labrosse, J.J., Embedded Systems Building Blocks, CMP Books, 1999

Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:
  1. Paweł Okas, Łukasz Krzak, Cezary Worek, “C++14 concurrency on ARM Cortex-M using FreeRTOS and GCC”, IFAC-PapersOnLine Volume 48, Issue 4, 2015, Pages 262-267
  2. Łukasz Krzak, Rafał Mielniczuk, Cezary Worek, ”Software-defined digital radio baseband processor using Blackfin DSP”, ICSES 2008 International Conference On Signals And Electronic Systems, September 14–17, 2008, Kraków, Poland, conference proceedings s. 523–525. [referat]
  3. Andrzej Kuroś, Cezary Worek, „Implementacja systemu operacyjnego eCOS na mikrokontroler LPC2124”, Elektronika Praktyczna Plus, 2006 nr 1 wyd. spec. s. 53–57. [artykuł w czasopiśmie]
  4. Artur Lipowski, Cezary Worek, „Systemy operacyjne w systemach mikroprocesorowych”, Elektronika Praktyczna Plus, 2006 nr 1 wyd. spec. s. 39–42. [artykuł w czasopiśmie]
Informacje dodatkowe:

Brak