Politechnika Warszawska - Centralny System Uwierzytelniania
Strona główna

Mikrokontrolery ARM Cortex

Informacje ogólne

Kod przedmiotu: 103B-ELxxx-MSP-MARM
Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Mikrokontrolery ARM Cortex
Jednostka: Wydział Elektroniki i Technik Informacyjnych
Grupy: ( Przedmioty techniczne )---EITI
( Przedmioty zaawansowane obieralne )-Elektronika i informatyka w medycynie-mgr.-EITI
( Przedmioty zaawansowane obieralne )-Systemy elektroniczne i wbudowane-mgr.-EITI
( Przedmioty zaawansowane techniczne )--mgr.-EITI
Punkty ECTS i inne: 4.00 Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.
Język prowadzenia: polski
Jednostka decyzyjna:

103000 - Wydział Elektroniki i Technik Informacyjnych

Kod wydziałowy:

MARM

Numer wersji:

2

Skrócony opis:

Celem przedmiotu jest zapoznanie z architekturą mikrokontrolerów z rdzeniami ARM Cortex-M0,M3,M4,M7s Po zapoznaniu z podstawowymi informacjami o budowie i działaniu rdzeni firmy ARM o profilu dedykowanym dla mikrokontrolerów omawiane są przykładowe zastosowania. Głównymi elementami zajęć jest zapoznanie studentów z jednej strony z budową i możliwościami oraz ograniczeniami architektury ARM v6m/v7m z drugiej z strony, peryferiami dostępnymi w mikrokontrolerach bazujących na rdzeniach ARM, ich możliwościami oraz metodami konfiguracji. Praktyczne aspekty wykorzystywania mikrokontrolerów są analizowane podczas zajęć laboratoryjnych na przykładzie popularnej rodziny mikrokontrolerów jednoukładowych STM32.

Pełny opis:

WYKŁADY:

  • Wprowadzenie, zarys historii oraz profile rdzeni firmy ARM, opis oraz porównanie różnych rdzeni opartych o architekturę ARMv6m/v7m (2h)
  • Opis architektury ARMv7m, rejestry, tryby pracy, wyjątki procesora, koprocesor numeryczny, budowa stosu (3h)
  • Peryferia zintegrowane z rdzeniem mikrokontrolera, kontroler przerwań NVIC, Timer SysTick, Jednostka ochrony pamięci MPU (3h)
  • Lista instrukcji Thumb/Thumb2, podstawy assemblera (3h)
  • Magistrale wewnętrzne, pamięć cache mikrokontrolera (2h)
  • Narzędzia developerskie, kompilatory ze szczególnym uwzględnieniem GCC, środowiska IDE, systemy budowania, oprogramowanie middleware dostarczane przez producentów, narzędzia openSource (2h)
  • Metody uruchamiania oprogramowania, narzędzia debugger OpenOCD/GDB, przykłady oprogramowania związane z rdzeniem mikrokontrolera (2h)
  • Uruchamianie procesora (boot), omówienie podtypów rodziny STM32, zegar systemowy, pętla PLL, budowa portów GPIO (2h)
  • Interfejsy szeregowe: UART, SPI, I2C, I2S (3h)
  • Układy czasowo licznikowe ogólnego przeznaczenia, liczniki czuwające (2h)
  • Systemy operacyjne czasu rzeczywistego przeznaczone dla mikrokontrolerów na przykładzie systemu ISIX-RTOS (2h)
  • Przetworniki analogowo-cyfrowe i cyfrowo-analogowe (2h)
  • Układ bezpośredniego dostępu do pamięci DMA (2h)



LABORATORIA:

Zajęcia laboratoryjne wykonywane są w zespołach jednoosobowych w oparciu o dedykowane pakiety dydaktyczne wyposażone w mikrokontrolery STM32 z zestawem układów peryferyjnych oraz narzędzi uruchomieniowych. Laboratorium umożliwia praktyczne zweryfikowanie wiedzy z zakresu obsługi wewnętrznych zasobów mikrokontrolerów opartych na architekturze ARMv6m/v7m, ich komunikacji z przykładowymi, urządzeniami zewnętrznymi oraz podstaw implementacji systemów operacyjnych.

Zajęcia obejmują podstawy poruszania się w środowisku uruchomieniowym VSCODE/GCC, inicjalizację mikrokontrolera i konfigurację oraz obsługę jego układów peryferyjnych takich, jak liczniki, system przerwań, sterownik DMA, przetwornik A/C i C/A, a także typowych urządzeń zewnętrznych, jak klawiatura, akcelerator, żyroskop, kompas., zewnętrzne przetworniki A/C i C/A, czujniki temperatury, ciśnienia, pamięć SD itp.



Tematy laboratoriów:

  1. Zapoznanie się z narzędziami oraz środowiskiem programistycznym, uruchamianie oprogramowania oraz debugowanie, pierwszy projekt w Visual Studio Code / ARM-GCC
  2. Zapoznanie się z obsługą portów GPIO mikrokontrolera z użyciem niskopoziomowych bibliotek Low Level API dostarczanych przez firmę ST, oraz bibliotekami niskopoziomowymi systemu ISIX. Zapoznanie się ze sposobem zgłaszania przerwań zewnętrznych z wykorzystaniem kontrolera EXTI.
  3. Zapoznanie z zestawami ewaluacyjnymi STM32F411E oraz STM32F469I discovery, środowiskiem deweloperskim opartym o kompilator GCC oraz Visual Studio Code. Uruchamianie i debugowania kodu w środowisku developerskim. Podstawowe funkcje API systemu ISIX przydatne podczas realizacji laboratoriów.
  4. Konfiguracja portu szeregowego, oraz oprogramowanie portu szeregowego w trybie odpytywania oraz z wykorzystaniem systemu przerwań i kontrolera NVIC.
  5. Obsługa magistral szeregowych I2C oraz SPI, sposoby komunikacji z przykładowymi układami MEMS: akcelerometr oraz żyroskop.
  6. Systemy operacyjne czasu rzeczywistego na przykładzie systemu ISIX-RTOS. Działanie algorytmu szeregującego, tworzenia zadań (wątków), mechanizmy synchronizacji międzyprocesowej: semafory, mutexy, zmienne warunkowe, kolejki komunikatów. Komunikacja pomiędzy przerwaniami, a zadaniami (wątkami)
  7. Pomiary wartości skutecznej (RMS) z wykorzystaniem przetwornika A/C. Generowanie sygnałów analogowych z wykorzystaniem wbudowanego przetwornika C/A
Literatura:

  1. K. Paprocki, Mikrokontrolery STM32 w praktyce, BTC 2009
  2. Lucjan Bryndza, Mikrokontrolery z rdzeniem ARM 9 w przykładach, BTC 2009
  3. Lucjan Bryndza, LPC2000 mikrokontrolery z rdzeniem ARM 7, BTC 2009
  4. Jacek Majewski, Programowanie mikrokontrolerów LPC2000 w języku C, pierwsze kroki, BTC 2009
  5. Dane katalogowe i noty aplikacyjne firm ST, Atmel, NXP, Texas Instruments, Analog Devices, artykuły z czasopisma Elektronika Praktyczna opisujące budowę systemu ISIX-RTOS itd.

Zajęcia w cyklu "rok akademicki 2023/2024 - sem. letni" (w trakcie)

Okres: 2024-02-19 - 2024-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin, 24 miejsc więcej informacji
Wykład, 30 godzin, 24 miejsc więcej informacji
Koordynatorzy: Piotr Wieczorek
Prowadzący grup: Lucjan Bryndza
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103300 - Instytut Systemów Elektronicznych

Zajęcia w cyklu "rok akademicki 2022/2023 - sem. letni" (zakończony)

Okres: 2023-02-20 - 2023-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin, 30 miejsc więcej informacji
Wykład, 30 godzin, 30 miejsc więcej informacji
Koordynatorzy: Piotr Wieczorek
Prowadzący grup: Lucjan Bryndza
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103300 - Instytut Systemów Elektronicznych

Zajęcia w cyklu "rok akademicki 2022/2023 - sem. zimowy" (zakończony)

Okres: 2022-10-01 - 2023-02-19
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin, 30 miejsc więcej informacji
Wykład, 30 godzin, 30 miejsc więcej informacji
Koordynatorzy: Piotr Wieczorek
Prowadzący grup: Lucjan Bryndza
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103300 - Instytut Systemów Elektronicznych

Zajęcia w cyklu "rok akademicki 2021/2022 - sem. letni" (zakończony)

Okres: 2022-02-23 - 2022-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin, 30 miejsc więcej informacji
Wykład, 30 godzin, 30 miejsc więcej informacji
Koordynatorzy: Piotr Wieczorek
Prowadzący grup: Lucjan Bryndza, Piotr Wieczorek
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103300 - Instytut Systemów Elektronicznych

Zajęcia w cyklu "rok akademicki 2021/2022 - sem. zimowy" (zakończony)

Okres: 2021-10-01 - 2022-02-22
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin, 30 miejsc więcej informacji
Wykład, 30 godzin, 30 miejsc więcej informacji
Koordynatorzy: Piotr Wieczorek
Prowadzący grup: Lucjan Bryndza
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103300 - Instytut Systemów Elektronicznych

Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Politechnika Warszawska.
pl. Politechniki 1, 00-661 Warszawa tel: (22) 234 7211 https://pw.edu.pl kontakt deklaracja dostępności USOSweb 7.0.0.0-7 (2024-03-18)