Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Aplikacje mikrokontrolerów
Tok studiów:
2014/2015
Kod:
IET-1-625-s
Wydział:
Informatyki, Elektroniki i Telekomunikacji
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Elektronika i Telekomunikacja
Semestr:
6
Profil kształcenia:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma i tryb studiów:
Stacjonarne
Osoba odpowiedzialna:
Worek Cezary (worek@agh.edu.pl)
Osoby prowadzące:
Krzak Łukasz (lkrzak@agh.edu.pl)
Worek Cezary (worek@agh.edu.pl)
Krótka charakterystyka modułu

Opis efektów kształcenia dla modułu zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Powiązania z EKK Sposób weryfikacji efektów kształcenia (forma zaliczeń)
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. ET1A_W17, ET1A_W07, ET1A_W08 Kolokwium,
Wykonanie ćwiczeń laboratoryjnych
M_W002 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. ET1A_W17, ET1A_W07, ET1A_W08 Kolokwium,
Wykonanie ćwiczeń laboratoryjnych
M_W003 Student zna aktualne trendy i kierunki rozwoju rynku mikrokontrolerów. ET1A_W21, ET1A_W08 Wykonanie ćwiczeń laboratoryjnych
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. ET1A_U24, ET1A_U10 Wykonanie ćwiczeń laboratoryjnych,
Kolokwium
M_U002 Student potrafi efektywnie napisać oprogramowanie w języku C na mikrokontroler. ET1A_U24, ET1A_U10, ET1A_U05 Wykonanie ćwiczeń laboratoryjnych,
Kolokwium
Kompetencje społeczne
M_K001 Student potrafi zespołowo opracować implementację oprogramowania, dbając o jakość kodu źródłowego. ET1A_K03, ET1A_K02, ET1A_K04 Wykonanie ćwiczeń laboratoryjnych
Matryca efektów kształcenia w odniesieniu do form zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Forma zajęć
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Inne
E-learning
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 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. + - + - - - - - - - -
M_W003 Student zna aktualne trendy i kierunki rozwoju rynku mikrokontrolerów. + - + - - - - - - - -
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. - - + - - - - - - - -
Treść modułu zajęć (program wykładów i pozostałych zajęć)
Wykład:

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 wykładzie 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.

4. Dobre praktyki tworzenia aplikacji dla mikrokontrolerów.

W cyklu 2 wykładów omówiono dobre praktyki związanie z tworzeniem oprogramowania dla mikrokontrolerów, uwzględniające ograniczoną dostępność mocy obliczeniowej i pojemności pamięci a także efektywne metody wykorzystania układów peryferyjnych mikrokontrolerów, takich jak układy komunikacyjne, przetworniki, liczniki itp.

Ćwiczenia laboratoryjne:

Ć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 diagnostyki aplikacji mikrokontrolerowych
  • programowanie wielowątkowe wykorzystujące system operacyjny
  • architektura oprogramowania i programowanie zorientowane na komponenty
  • wykorzystanie bibliotek do stworzenia pełnej aplikacji, realizujacej zadaną specyfikację.

Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 80 godz
Punkty ECTS za moduł 3 ECTS
Udział w wykładach 14 godz
Udział w ćwiczeniach laboratoryjnych 28 godz
Przygotowanie do zajęć 28 godz
Samodzielne studiowanie tematyki zajęć 8 godz
Egzamin lub kolokwium zaliczeniowe 2 godz
Pozostałe informacje
Sposób obliczania oceny końcowej:

1. Podstawą do wyznaczenia oceny końcowej jest średnia z ocen zdobytych podczas laboratoriów
oraz ocena z końcowego kolokwium zaliczeniowego.
2. Ocena z kolokwium zaliczeniowego może zostać podniesiona o max. 1 stopień w przypadku, gdy student wykazał się znaczną aktywnością na zajęciach laboratoryjnych lub wykonał prace dodatkowe.

Wymagania wstępne i dodatkowe:
  • znajomość metodyk i technik programowania z wykorzystaniem języka C
  • znajomość podstaw techniki cyfrowej
  • znajomość techniki mikroprocesorowej
Zalecana literatura i pomoce naukowe:

1. Sommerville Ian, Inżynieria oprogramowania, WNT, 2008
2. Heath S., Embedded systems design, Newnes, 2003
3. Labrosse, J.J., MicroC/OS-II The real-time kernel, CMP Books, 2002
4. Labrosse, J.J., Embedded Systems Building Blocks, CMP Books, 1999
5. Krzysztof Paprocki, Mikrokontrolery STM32 w praktyce, Wydawnictwo BTC, 2011
6. Marek Galewski, STM32. Aplikacje i ćwiczenia w języku C, Wydawnictwo BTC, 2011

Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:
  1. Bartłomiej Świerczek, Cezary Worek, Paweł Zgrzebnicki, “System szyfrowania danych na dyskach twardych w komputerach klasy PC“, Krajowa Konferencja Elektroniki, Kołobrzeg, czerwiec 2004, s. 363–367. [referat]
  2. 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]
  3. Artur Lipowski, Cezary Worek, „Systemy operacyjne w systemach mikroprocesorowych”, Elektronika Praktyczna Plus, 2006 nr 1 wyd. spec. s. 39–42. [artykuł w czasopiśmie]
  4. Ł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]
Informacje dodatkowe:

Brak