Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Nowoczesne mikrokontrolery w zastosowaniach przemysłowych
Tok studiów:
2019/2020
Kod:
EELT-2-202-AP-s
Wydział:
Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej
Poziom studiów:
Studia II stopnia
Specjalność:
Automatyka przemysłowa i automatyka budynków
Kierunek:
Elektrotechnika
Semestr:
2
Profil:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma studiów:
Stacjonarne
Strona www:
 
Prowadzący moduł:
dr inż. Mikoś Zbigniew (mikos@agh.edu.pl)
Treści programowe zapewniające uzyskanie efektów uczenia się dla modułu zajęć

Moduł pozwala na zapoznanie się z 32-bitowymi mikrokontrolerami z procesorami ARM i możliwościami ich zastosowań w sterowaniu i technice pomiarowej.

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 Ma poszerzoną wiedzę dotyczącą architektury nowoczesnych mikrokontrolerów z procesorami ARM ELT2A_W03 Kolokwium
M_W002 Ma szczegółową wiedzę na temat działania urządzeń peryferyjnych (portów uniwersalnych wejść/wyjść, przetworników A/C, C/A, liczników/czasomierzy) wbudowanych we współczesnych mikrokontrolerach ELT2A_W04, ELT2A_W06 Kolokwium
M_W003 Ma poszerzoną i pogłębioną wiedzę na temat działania podstawowych szeregowych interfejsów komunikacyjnych: USART, I2C (TWI), SPI, 1-Wire ELT2A_W04, ELT2A_W06 Kolokwium
M_W004 Ma poszerzoną i pogłębioną wiedzę dotyczącą sposobów obsługi i programowania urządzeń peryferyjnych mikrokontrolerów ELT2A_W04, ELT2A_W06 Kolokwium
M_W005 Zna szczegółowo technikę wykorzystania systemu przerwań i kanału DMA do obsługi urządzeń peryferyjnych oraz programowe sposoby oszczędzania energii ELT2A_W04, ELT2A_W06 Kolokwium
M_W006 Ma poszerzona wiedzę dotyczącą metod organizacji oprogramowania mikrokontrolerów i sposobów jego testowania i uruchamiania ELT2A_W04 Kolokwium
M_W007 Zna aktualne trendy rozwojowe procesorów ARM (ARM7TDMI, Cortex-M3, ARM9) stosowanych w mikrokontrolerach ELT2A_W03 Kolokwium
Umiejętności: potrafi
M_U001 Umie programowo obsłużyć urządzenia peryferyjne mikrokontrolera (porty I/O, liczniki/czasomierze, przetworniki A/C i C/A, interfejsy komunikacyjne) ELT2A_U01, ELT2A_U11 Sprawozdanie,
Wykonanie ćwiczeń laboratoryjnych
M_U002 Umie zaprojektować urządzenie złożone z wielu zewnętrznych urządzeń (czujników, pamięci, elementów wykonawczych) podłączonych do wejść/wyjść mikrokontrolera. ELT2A_U10, ELT2A_U11 Sprawozdanie,
Wykonanie ćwiczeń laboratoryjnych
M_U003 Umie zaprojektować oprogramowanie dla mikrokontrolera obsługujące wiele urządzeń oraz uruchomić i przetestować je korzystając ze zintegrowanych środowisk programistycznych ELT2A_U10, ELT2A_U11 Sprawozdanie,
Wykonanie ćwiczeń laboratoryjnych
M_U004 Umie ocenić przydatność istniejącego urządzenia mikroprocesorowego i ewentualnie przystosować go do danego zadania ELT2A_U10, ELT2A_U11 Sprawozdanie,
Wykonanie ćwiczeń laboratoryjnych
Kompetencje społeczne: jest gotów do
M_K001 Potrafi w kreatywny sposób wykorzystywać możliwości współczesnych mikrokontrolerów ELT2A_K01 Kolokwium
M_K002 Potrafi korzystać z materiałów i wiedzy dostępnej na specjalistycznych portalach internetowych ELT2A_K02 Kolokwium
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
48 28 0 20 0 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 Ma poszerzoną wiedzę dotyczącą architektury nowoczesnych mikrokontrolerów z procesorami ARM + - - - - - - - - - -
M_W002 Ma szczegółową wiedzę na temat działania urządzeń peryferyjnych (portów uniwersalnych wejść/wyjść, przetworników A/C, C/A, liczników/czasomierzy) wbudowanych we współczesnych mikrokontrolerach + - - - - - - - - - -
M_W003 Ma poszerzoną i pogłębioną wiedzę na temat działania podstawowych szeregowych interfejsów komunikacyjnych: USART, I2C (TWI), SPI, 1-Wire + - - - - - - - - - -
M_W004 Ma poszerzoną i pogłębioną wiedzę dotyczącą sposobów obsługi i programowania urządzeń peryferyjnych mikrokontrolerów + - - - - - - - - - -
M_W005 Zna szczegółowo technikę wykorzystania systemu przerwań i kanału DMA do obsługi urządzeń peryferyjnych oraz programowe sposoby oszczędzania energii + - - - - - - - - - -
M_W006 Ma poszerzona wiedzę dotyczącą metod organizacji oprogramowania mikrokontrolerów i sposobów jego testowania i uruchamiania + - - - - - - - - - -
M_W007 Zna aktualne trendy rozwojowe procesorów ARM (ARM7TDMI, Cortex-M3, ARM9) stosowanych w mikrokontrolerach + - - - - - - - - - -
Umiejętności
M_U001 Umie programowo obsłużyć urządzenia peryferyjne mikrokontrolera (porty I/O, liczniki/czasomierze, przetworniki A/C i C/A, interfejsy komunikacyjne) - - + - - - - - - - -
M_U002 Umie zaprojektować urządzenie złożone z wielu zewnętrznych urządzeń (czujników, pamięci, elementów wykonawczych) podłączonych do wejść/wyjść mikrokontrolera. - - + - - - - - - - -
M_U003 Umie zaprojektować oprogramowanie dla mikrokontrolera obsługujące wiele urządzeń oraz uruchomić i przetestować je korzystając ze zintegrowanych środowisk programistycznych - - + - - - - - - - -
M_U004 Umie ocenić przydatność istniejącego urządzenia mikroprocesorowego i ewentualnie przystosować go do danego zadania - - + - - - - - - - -
Kompetencje społeczne
M_K001 Potrafi w kreatywny sposób wykorzystywać możliwości współczesnych mikrokontrolerów + - - - - - - - - - -
M_K002 Potrafi korzystać z materiałów i wiedzy dostępnej na specjalistycznych portalach internetowych + - - - - - - - - - -
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 85 godz
Punkty ECTS za moduł 3 ECTS
Udział w zajęciach dydaktycznych/praktyka 48 godz
Przygotowanie do zajęć 10 godz
przygotowanie projektu, prezentacji, pracy pisemnej, sprawozdania 10 godz
Samodzielne studiowanie tematyki zajęć 15 godz
Dodatkowe godziny kontaktowe 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 (28h):
  1. Budowa i podstawowe parametry mikrokontrolerów z procesorem ARM (2 godz.).

    Architektury 32-bitowych mikrokontrolerów z procesorami ARM na przykładzie rozwiązań firmy Atmel (rodziny AT91SAM7, AT91SAM3). Parametry elektryczne układów. Przegląd dostępnych urządzeń peryferyjnych. Mapa pamięci mikrokontrolerów AT91SAM7 i AT91SAM3.

  2. Budowa i obsługa portów uniwersalnych wejść/wyjść (2 godz.).

    Budowa podsystemu uniwersalnych wejść/wyjść (PIO) na przykładzie mikrokontrolera AT91SAM7 i AT91SAM3. Programowanie konfiguracji końcówki jako wyjścia i/lub wejścia o wymaganych własnościach. Przegląd rejestrów do obsługi PIO. Przykłady funkcji do obsługi PIO.

  3. Budowa i obsługa modulatorów PWM i przetworników A/C (2 godz.).

    Budowa modulatora PWM (PWMC) i przetwornika analogowo–cyfrowego (ADC) stosowanego w mikrokontrolerach AT91SAM7X. Przegląd rejestrów do obsługi PWMC i ADC. Przerwania generowane przez te urządzenia. Rejestry do obsługi PWMC i ADC i ich obsługa programowa.

  4. Budowa, obsługa i zastosowanie uniwersalnych liczników/czasomierzy (4 godz.).

    Budowa podsystemu uniwersalnych liczników czasomierzy (TC) stosowanych w mikrokontrolerach rodziny AT91SAM7 i AT91SAM3. Źródła sygnału zegarowego dla liczników. Konfiguracja podsystemu liczników/czasomierzy w trybie porównania i przechwytywania. Wykorzystanie liczników/czasomierzy do generowania przebiegu prostokątnego o zadanych parametrach i pomiaru częstotliwości, wypełnienia, przesunięcia przebiegów prostokątnych. Przerwania od podsystemu czasomierzy TC. Przykłady programów obsługi liczników/czasomierzy.

  5. System przerwań i kontroler DMA (2 godz.).

    Budowa kontrolera przerwań (AIC) w mikrokontrolerach AT91SAM7. Rodzaje przerwań i ich priorytety. Programowanie kontrolera przerwań w celu obsługi przerwania od danego urządzenia peryferyjnego. Zasady pisania funkcji obsługi przerwań w języku C. Zasada pracy i budowa kontrolera DMA dla urządzeń peryferyjnych (PDC). Urządzenia współpracujące z kontrolerem PDC. Rejestry i obsługa programowa kontrolera DMA.

  6. Budowa i obsługa szeregowych interfejsów komunikacyjnych (6 godz.).

    Charakterystyka standardów transmisji USART, I2C (TWI) i SPI. Budowa kontrolerów USART, TWI i SPI w mikrokontrolerach Atmel AT91SAM7 i AT91SAM3. Rejestry i obsługa programowa poszczególnych interfejsów. Wykorzystanie i obsługa przerwań generowanych przez kontrolery USART, TWI i SPI. Wykorzystanie transferów DMA do obsługi interfejsów komunikacyjnych. Przykłady oprogramowania interfejsów do współpracy z różnymi urządzeniami (terminal, wyświetlacz, czujniki, pamięci).

  7. Budowa i obsługa podsystemu generatora zegara i zarządzania energią (1 godz.).

    Budowa generatora sygnału zegarowego (CRG) i podsystemu zarządzania energią (PMC) mikrokontrolera AT91SAM7. Dystrybucja sygnału zegarowego do poszczególnych urządzeń peryferyjnych. Programowe możliwości obniżania zużycia energii przez mikrokontroler. Programowanie podsystemów CGR i PMC. Omówienie przykładowego kod startowego w języku C.

  8. Inne urządzenia peryferyjne (4 godz.).

    Budowa i obsługa pozostałych urządzeń peryferyjnych: watchdoga (WDC), czasomierza systemowego (PIT), zegara astronomicznego (RTT), kontrolera resetu (RSTC). Wykorzystanie czasomierza systemowego do generowania okresowych przerwań systemowych.

  9. Podsystem pamięci Flash (1 godz.).

    Organizacja pamięci Flash w mikrokontrolerach AT91SAM7. Kontroler pamięci Flash (EFC). Bity konfiguracyjne mikrokontrolera. Zmiana mapowania pamięci RAM i Flash. Zabezpieczanie zawartości pamięci Flash.

  10. Procesory ARM – przegląd i cechy architektur ARM (2 godz.).

    Cechy architektury ARM. Procesory ATM7TDMI (ARMv4), Cortex-M0, M0+ (ARMv6-M) oraz Cortex-M3, M4, M7 (ARMv7-M). Tryby pracy procesora i dostępne rejestry. Przegląd instrukcji procesorów ARM.

  11. Przegląd dostępnych mikrokontrolerów z procesorami ARM (2 godz.).

    Przegląd 32-bitowych uniwersalnych mikrokontrolerów z procesorami ARM produkowanych przez wiodących producentów: Microchip, NXP, ST Microelectronics i innych.

Ćwiczenia laboratoryjne (20h):

1. Środowisko programistyczne IAR Embedded Workbench (1 godz.).
2. Biblioteka obsługi wyświetlacza graficznego LCD (1 godz.).
3. Obsługa podsystemu uniwersalnych wejść/wyjść (2 godz.).
4. Przetwornik analogowo-cyfrowy. Moduł do ustawiania wartości zadanych częstotliwości i współczynnika wypełnienia dla układu PWM (2 godz.).
5. Modulator PWM jako programowalny generator sygnału prostokątnego (2 godz.).
6. Liczniki-czasomierze w trybie porównania. Pomiar częstotliwości przebiegu prostokątnego (4 godz.).
7. Liczniki-czasomierze w trybie przechwytywania. Pomiar częstotliwości i współczynnika wypełnienia przebiegu prostokątnego (4 godz.).
8. Obsługa interfejsu I2C (TWI). Komunikacja szeregowa z czujnikiem temperatury i pamięcią EEPROM z interfejsem I2C (4 godz.).

Pozostałe informacje
Metody i techniki kształcenia:
  • Wykład: Treści prezentowane na wykładzie są przekazywane w formie prezentacji multimedialnej uzupełnionej komentarzem. Rozwiązania wielu przykładów są prezentowane z wykorzystaniem tablicy.
  • Ćwiczenia laboratoryjne: W trakcie zajęć laboratoryjnych studenci samodzielnie rozwiązują problem wykorzystując odpowiednie narzędzia: zestawy z mikrokontrolerami z procesorewm ARM wraz ze środowiskiem do ich programowania. Prowadzący pomaga w wyborze właściwej drogi rozwiązania problemu stymulując grupę do zastanowienia się nad problemem, tak by rozwiązanie było wartościowe i poprawne.
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:

1. Do zaliczenia ćwiczeń laboratoryjnych wymagana jest obecność na zajęciach i uzyskanie pozytywnych ocen z programów (aplikacji) wykonywanych w ramach ćwiczeń (oceny z programów i odpowiedzi ustnej w przypadku wątpliwości/niejasności w kodzie programu). Ocena na zaliczenie ćwiczeń laboratoryjnych jest średnią arytmetyczną ocen cząstkowych.
2. Dopuszczalne są 3 nieobecności, w tym 1 nieusprawiedliwiona. Sytuacje wyjątkowe będą rozpatrywane indywidualnie.
3. Zaliczenie w terminach poprawkowych polega na uzyskaniu pozytywnych ocen z programów (aplikacji) wykonywanych w ramach ćwiczeń (oceny z programów i/lub odpowiedzi ustnej w przypadku wątpliwości/niejasności w kodzie programu).
4. Podstawowy termin zaliczenia ćwiczeń laboratoryjnych odpowiada terminowi ostatnich zajęć laboratoryjnych w semestrze. Dwa terminy poprawkowe są ustalane nie później niż 3 tygodnie przed ostatnimi zajęciami.

Zasady udziału w zajęciach:
  • Wykład:
    – Obecność obowiązkowa: Nie
    – Zasady udziału w zajęciach: Studenci uczestniczą w wykładach poznając kolejne treści nauczania zgodnie z syllabusem przedmiotu. Studenci powinni na bieżąco zadawać pytania w celu wyjaśniania wątpliwości. Rejestracja audiowizualna wykładu wymaga zgody prowadzącego.
  • Ćwiczenia laboratoryjne:
    – Obecność obowiązkowa: Tak
    – Zasady udziału w zajęciach: Studenci uczestniczą w zajęciach i wykonują ćwiczenia laboratoryjne pod kierunkiem prowadzącego zgodnie z udostępnionymi materiałami. Student jest zobowiązany do przygotowania się do wykonania ćwiczenia. Zaliczenie zajęć odbywa się na podstawie przesłania na adres e-mail kodów źródłowych programów i zaprezentowania jego działania. Zaliczenie modułu jest możliwe po zaliczeniu wszystkich ćwiczeń laboratoryjnych.
Sposób obliczania oceny końcowej:

1. Aby uzyskać pozytywną ocenę końcową konieczne jest uzyskanie pozytywnej oceny z ćwiczeń laboratoryjnych.
2. Ocena końcowa jest równa ocenie z ćwiczeń laboratoryjnych z wyjątkiem przypadku określonego w punkcie 3.
3. W przypadku obecności studenta na więcej niż 70% wykładów ocena końcowa jest podnoszona o 0,5, przy czym nie może być większa niż 5,0.
4. Oceny wyrażone w skali procentowej są przeliczane na oceny w skali od 2,0 (nzal) do 5,0 zgodnie z zasadami określonymi w Regulaminie Studiów I i II stopnia AGH.

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

1. Odrabianie ćwiczeń laboratoryjnych jest możliwe w terminach zajęć ustalonych w planie zajęć pod warunkiem wolnego miejsca przy stanowiskach w laboratorium.
2. Zaliczenie ćwiczeń, na których student był nieobecny i które nie zostały odrobione polega na uzyskaniu pozytywnej oceny ze sprawozdań z tych ćwiczeń.

Wymagania wstępne i dodatkowe, z uwzględnieniem sekwencyjności modułów :

1. Podstawowe wiadomości z techniki cyfrowej i mikroprocesorowej
2. Podstawy programowania mikrokontrolerów w języku C.

Zalecana literatura i pomoce naukowe:

1. Dokumentacja elektroniczna mikrokontrolerów AT91SAM7S i AT91SAM7X (www.microchip.com).
2. Dokumentacja elektroniczna mikrokontrolerów rodziny SAM C, SAM E, SAM V (www.microchip.com).
3. Augustyn J.: Projektowanie systemów wbudowanych na przykładzie rodziny SAM7S z rdzeniem ARM7TDMI, Wyd. IGSMiE PAN, Kraków, 2007.
4. Bryndza L.: LPC2000 – Mikrokontrolery z rdzeniem ARM7, Wyd. BTC, Legionowo 2007.
5. Dokumentacja środowiska programistycznego IAR Embedded Workbench (www.iar.com).

Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

1. Intelligent loger for monitoring electric motors operation / M. NOGA, G. WRÓBEL, Z. MIKOŚ, G. HAYDUK, M. JACHIMSKI, P. KWASNOWSKI, A. OŻADOWICZ // W: ICCC’2009 : 10\textsuperscript{th} International Carpathian Control Conference : Zakopane, Poland, May, 24–27, 2009 / eds. Andrzej KOT. — Kraków : Faculty of Mechanical Engineering and Robotics AGH – Univesity of Science and Technology, 2009. — Opis częśc. wg okł.. — ISBN10: 8389772-51-5. — S. 215–218. — Bibliogr. s. 218, Abstr.
2. System bieżącego monitorowania pracy maszyn oraz precyzyjnego diagnozowania stanów awaryjnych — Intelligent logger for monitoring the operation of electric motors / Marian NOGA, Zbigniew MIKOŚ, Grzegorz WRÓBEL, Grzegorz HAYDUK, Marcin JACHIMSKI, Paweł KWASNOWSKI, Andrzej OŻADOWICZ // Problemy Eksploatacji = Maintenance Problems ; ISSN 1232-9312. — 2009 nr 2, s. 51–60. — Bibliogr. s. 58–59, Streszcz., Summ.
3. Szeregowanie i wykonywanie zadań w systemie sterowania CONTIX — [Task scheduling and executing in CONTIX control system] / Zbigniew MIKOŚ // W: Współczesne problemy systemów czasu rzeczywistego : praca zbiorowa / pod red.: Andrzeja Kwietnia i Piotra Gaja. — Warszawa : Wydawnictwa Naukowo-Techniczne, 2004. — ISBN10: 8320430232. — S. 161–170. — Bibliogr. s. 170

Informacje dodatkowe:

1. Maksymalna liczba studentów – 60 (4 grupy laboratoryjne).