Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Programowanie mikrokontrolerów ARM w języku C
Tok studiów:
2019/2020
Kod:
EELT-2-209-IE-s
Wydział:
Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej
Poziom studiów:
Studia II stopnia
Specjalność:
Inżynieria elektryczna w pojazdach samochodowych
Kierunek:
Elektrotechnika
Semestr:
2
Profil:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma studiów:
Stacjonarne
Prowadzący moduł:
Żołądź Mirosław (zoladz@agh.edu.pl)
Treści programowe zapewniające uzyskanie efektów uczenia się dla modułu zajęć

Podstawowe wiadomości i umiejętności w zakresie metod i technik programowania wprowadzone na przykładzie programowania mikrokontrolerów w języku C

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 podstawową wiedze o podstawowych peryferiach mikrokontrolerów (GPIO, Timery, Przerwania, UART) ELT2A_W06 Wykonanie ćwiczeń laboratoryjnych
M_W002 Ma podstawową wiedze o tworzeniu i debugowaniu programów kontrolno-pomiarowych z użyciem automatu ELT2A_W06 Wykonanie ćwiczeń laboratoryjnych
M_W003 Ma podstawową wiedze o programowaniu układów peryferyjnych w języku C ELT2A_W06 Wykonanie ćwiczeń laboratoryjnych
M_W004 Ma podstawową wiedze o konwencji tworzenia kodu do współpracy z peryferiami mikrokontrolerów ELT2A_W06 Wykonanie ćwiczeń laboratoryjnych
M_W005 Ma podstawową wiedze o wybranym środowisku programistycznym dla mikrokontrolerów ELT2A_W06 Wykonanie ćwiczeń laboratoryjnych
M_W006 Ma rozszerzoną wiedze o architekturze wybranego mikrokontrolera ELT2A_W06 Wykonanie ćwiczeń laboratoryjnych
Umiejętności: potrafi
M_U001 Potrafi w podstawowym zakresie tworzyć i debugować programy kontrolno-pomiarowe z użyciem automatu ELT2A_U07 Wykonanie ćwiczeń laboratoryjnych
M_U002 Potrafi w podstawowym zakresie pracować z wybranym środowiskiem programistycznym dla mikrokontrolerów ELT2A_U06 Wykonanie ćwiczeń laboratoryjnych
M_U003 Potrafi w podstawowym zakresie tworzyć kod zgodny z konwencjami odpowiednimi dla kodu do współpracy z peryferiami mikrokontrolerów ELT2A_U05 Wykonanie ćwiczeń laboratoryjnych
M_U004 Potrafi w podstawowym zakresie wykorzystywać podstawowe peryferia wybranego mikrokontrolera (GPIO, Timery, Przerwania, UART) ELT2A_U06, ELT2A_U05 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
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 podstawową wiedze o podstawowych peryferiach mikrokontrolerów (GPIO, Timery, Przerwania, UART) + - - - - - - - - - -
M_W002 Ma podstawową wiedze o tworzeniu i debugowaniu programów kontrolno-pomiarowych z użyciem automatu + - - - - - - - - - -
M_W003 Ma podstawową wiedze o programowaniu układów peryferyjnych w języku C + - - - - - - - - - -
M_W004 Ma podstawową wiedze o konwencji tworzenia kodu do współpracy z peryferiami mikrokontrolerów + - - - - - - - - - -
M_W005 Ma podstawową wiedze o wybranym środowisku programistycznym dla mikrokontrolerów + - - - - - - - - - -
M_W006 Ma rozszerzoną wiedze o architekturze wybranego mikrokontrolera + - - - - - - - - - -
Umiejętności
M_U001 Potrafi w podstawowym zakresie tworzyć i debugować programy kontrolno-pomiarowe z użyciem automatu - - + - - - - - - - -
M_U002 Potrafi w podstawowym zakresie pracować z wybranym środowiskiem programistycznym dla mikrokontrolerów - - + - - - - - - - -
M_U003 Potrafi w podstawowym zakresie tworzyć kod zgodny z konwencjami odpowiednimi dla kodu do współpracy z peryferiami mikrokontrolerów - - + - - - - - - - -
M_U004 Potrafi w podstawowym zakresie wykorzystywać podstawowe peryferia wybranego mikrokontrolera (GPIO, Timery, Przerwania, UART) - - + - - - - - - - -
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 78 godz
Punkty ECTS za moduł 3 ECTS
Udział w zajęciach dydaktycznych/praktyka 48 godz
Przygotowanie do zajęć 15 godz
Samodzielne studiowanie tematyki zajęć 15 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):

UWAGA: Kolejność treści w poniższym opisie nie reprezentuje kolejności ich prezentacji na wykładach

Wykład oragnizacyjny
- Regulamin w tym zasady oceniania
- Omowienie laboratorum:
—Środowisko programistyczne
—Zestaw uruhomieniowy
—Zakres potrzebnej znajomości C

Konwencje kodowania
-Znaczenie
-Lista z przykładami

System binarny
-Opis systemu
-Reprezenatacja liczb:
—Rodzaje
—Stosowanie

Rejestry
-funkcja
-nazwa/adress (definicje nazw)
-praca z rejestrami:
—zapis/odczyt całych rejestrów
—zapis/odczyt pojedyńczych bitów do/z rejestrów
—rejestry normalne
—rejestry typu set/clr

Systemy wbudowane ogólna charaktrystyka
-Zastosowania (system wbudowany vs. PC) //dużo przykładów, najlepiej skrajnych
-Mikrokontroler vs. PC:
—Architektura
—Rozmiary fizyczne
—Częstotliwość
—Moc obliczeniowa
—Szerokość magistrali
—Specjalne jednostki dla arytmetyki w tym zmiennoprzecinkowej
—Pobór mocy
—Rozmiar pamięci

Programowanie
-język maszynow vs. assembler vs. język wysokiego poziomu
-kompilacja:
—idea
—projekt
—translacja vs. kompilacja
-debugowanie
—nazwa
—błedy i ostrzeżenia
—usuwanie wszystkich oprócz “missing newline”
—lokalizacja:
—zastosowanie translacji
-testy
—program testujący vs. funkcja testowna
—testy z uzyciem sprzętu

Struktura programu
funkcja main
-petla główna
-moduły programowe:
- wodrębnianie funkcji (jak ?, przyklad)
- wyodrębnianie modułów (przykład z plikiem main.c i modułami led i keyboard)
- zawartość .h (tylko minimum) i .c
- interfejs(.h)/implementacja(.c),
- dołacznie modułów (typowy błąd literówka w nazwie funkcji)
- dostęp do zmiennych innych modułów
- zalety modułowości

Automaty jako wprowadzenie do wzorców projektowych
- przykłady
- struktura
- zapis
-implemetacja
-zalety/wady

Mikrokontroler – podstawowe peryferia (na przykładzie mikrokontrolera ARM)
-GPIO
-Timer
—Układ porównujący
—PWM
—Układ przechwytujacy
-Przerwania
—Idea
—kontroler
-Układ asynchronicznej transmisji szeregowej
—Warstwa fizyczna
—Ramka transmisyjna
—Implementacja
—Funkcja do odbioru i wysyłania łańcuchów (te z laborki)

Mikrokontroler – inne wybrane funkcjonalności

Serwomechanizm
-Konstrukcja
-Sterowanie
—Sekwencja sterująca
—Częstotliwość pracy

Ćwiczenia laboratoryjne (20h):

Obsługa wybranego środowiska programistycznego dla mikrokontrolerów
Struktura i archiwizacja programów
Praca z rejestrami
Układ GPIO
Podział na moduły
Automaty
Układ czasowo-licznikowy
Przerwania
Sterownik serwomechanizmu
Układ Asynchronicznej Transmisji Szeregowej
Odbiór i dekodowanie łańcuchów znakowych
Wysyłanie łańcuchów znakowych

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ą.
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:

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.
Sposób obliczania oceny końcowej:

Ocena końcowa równa się ocenie z laboratorium

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

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

Podstawowe wiadomości z zakresu programowania

Zalecana literatura i pomoce naukowe:

“Symfonia C++” Jerzy Grębosz.

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

M. Żołądź, “A system for 256-channel in vitro recording of the electrophysiological activity of brain tissue”, 2013, Metrology and Measurement Systems : quarterly of Polish Academy of Sciences. vol. 20 no. 3, s. 371–384
B. Caban, T. Kowalczyk, M. Żołądź., J. Rauza, “Introducing the method of multielectrode arrays in the electrophysiological studies of the posterior hypothalamus in vitro”, 2013, Acta Neurobiologiae Experimentalis. vol. 73 suppl. 1, s. 40 poz. P4.2.
M. Żołądź, P. Kmon, J. Rauza, Paweł Gryboś, T. Blasiak, „Multichannel neural recording system based on family ASICs processed in submicron technology”, 2014, Microelectronics Journal. vol. 45 iss. 9 spec. iss., s. 1226–1231.
P. Kmon, P. Gryboś, M. Żołądź, A. Lisicka, “Fast and effective method of CMRR enhancement for multichannel integrated circuits dedicated to biomedical”, 2015, Electronics Letters, vol. 51 , iss. 22, s. 1736-1737

Informacje dodatkowe:

Brak