Module also offered within study programmes:
General information:
Name:
Programming of embedded systems
Course of study:
2019/2020
Code:
HNKT-1-409-s
Faculty of:
Humanities
Study level:
First-cycle studies
Specialty:
-
Field of study:
Nowoczesne technologie w kryminalistyce
Semester:
4
Profile of education:
Academic (A)
Lecture language:
Polish
Form and type of study:
Full-time studies
Course homepage:
 
Responsible teacher:
dr hab. inż. Russek Paweł (russek@agh.edu.pl)
Module summary

Moduł wprowadza studentów w podstawowe zagadnienia związane z architekturą i programowaniem współczesnych mikrokontrolerów i wbudowanych układów mikroprocesorowych

Description of learning outcomes for module
MLO code Student after module completion has the knowledge/ knows how to/is able to Connections with FLO Method of learning outcomes verification (form of completion)
Social competence: is able to
M_K001 Rozumie fakt ciągłego rozwoju technologii półprzewodnikowej mikroprocesorowej oraz dostrzega potrzebę i zna metody dokształcania się i podnoszenia swoich kompetencji zawodowych w tym zakresie NKT1A_K01 Activity during classes
M_K002 Potrafi myśleć i działać w sposób pozwalający na realizację postawionego celu projektowego NKT1A_K03 Activity during classes
Skills: he can
M_U001 Potrafi sformułować algorytm dla systemu z mikrokontrolerem, posługuje się językami programowania dla mikrokontrolerów oraz odpowiednimi narzędziami informatycznymi do opracowania prostych programów dla mikrokontrolera NKT1A_U05 Activity during classes
M_U002 Potrafi pozyskiwać informacje nt. budowy i programowania mikrokontrolera z literatury, internetu, kart katalogowych i innych źródeł; potrafi integrować uzyskane informacje, dokonywać ich interpretacji, a także wyciągać wnioski oraz formułować i uzasadniać opinie; NKT1A_U06 Activity during classes
Knowledge: he knows and understands
M_W001 Ma wiedzę w zakresie zasad działania mikroprocesorów i mikrokontrolerów; ma podstawową wiedzę w zakresie architektury procesorów, zna metody programowania systemów mikroprocesorowych na poziomie sprzętowym; NKT1A_W03 Activity during classes
M_W002 Ma uporządkowaną wiedzę w zakresie metodyki i technik programowania mikroprocesorowych systemów wbudowanych; zna zasady doboru języka programowania do rozwiązywania problemów w zakresie oprogramowania mikroprocesorowego sytemu wbudowanego ; rozumie metody specyfikowania podstawowych wymagań w zakresie oprogramowania systemów mikroprocesorowych; NKT1A_W05 Activity during classes
M_W003 Potrafi projektować systemy wbudowane na bazie mikrokontrolera z uwzględnieniem zadanych kryteriów użytkowych i ekonomicznych, wspierajacych proces wnioskowania w kryminalistyce, przy wykorzystaniu właściwych metod, technik i narzędzi, NKT1A_U07 Activity during classes
Number of hours for each form of classes:
Sum (hours)
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
48 20 0 18 10 0 0 0 0 0 0 0
FLO matrix in relation to forms of classes
MLO code Student after module completion has the knowledge/ knows how to/is able to Form of classes
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
Social competence
M_K001 Rozumie fakt ciągłego rozwoju technologii półprzewodnikowej mikroprocesorowej oraz dostrzega potrzebę i zna metody dokształcania się i podnoszenia swoich kompetencji zawodowych w tym zakresie + - - + - - - - - - -
M_K002 Potrafi myśleć i działać w sposób pozwalający na realizację postawionego celu projektowego - - + + - - - - - - -
Skills
M_U001 Potrafi sformułować algorytm dla systemu z mikrokontrolerem, posługuje się językami programowania dla mikrokontrolerów oraz odpowiednimi narzędziami informatycznymi do opracowania prostych programów dla mikrokontrolera - - + + - - - - - - -
M_U002 Potrafi pozyskiwać informacje nt. budowy i programowania mikrokontrolera z literatury, internetu, kart katalogowych i innych źródeł; potrafi integrować uzyskane informacje, dokonywać ich interpretacji, a także wyciągać wnioski oraz formułować i uzasadniać opinie; - - + + - - - - - - -
Knowledge
M_W001 Ma wiedzę w zakresie zasad działania mikroprocesorów i mikrokontrolerów; ma podstawową wiedzę w zakresie architektury procesorów, zna metody programowania systemów mikroprocesorowych na poziomie sprzętowym; + - - - - - - - - - -
M_W002 Ma uporządkowaną wiedzę w zakresie metodyki i technik programowania mikroprocesorowych systemów wbudowanych; zna zasady doboru języka programowania do rozwiązywania problemów w zakresie oprogramowania mikroprocesorowego sytemu wbudowanego ; rozumie metody specyfikowania podstawowych wymagań w zakresie oprogramowania systemów mikroprocesorowych; + - - - - - - - - - -
M_W003 Potrafi projektować systemy wbudowane na bazie mikrokontrolera z uwzględnieniem zadanych kryteriów użytkowych i ekonomicznych, wspierajacych proces wnioskowania w kryminalistyce, przy wykorzystaniu właściwych metod, technik i narzędzi, + - - - - - - - - - -
Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 84 h
Module ECTS credits 3 ECTS
Udział w zajęciach dydaktycznych/praktyka 48 h
Preparation for classes 7 h
przygotowanie projektu, prezentacji, pracy pisemnej, sprawozdania 14 h
Realization of independently performed tasks 10 h
Contact hours 5 h
Module content
Lectures (20h):
  1. Wprowadzenie

    a. Elektroniczne układy cyfrowe.
    b. Cyfrowa reprezentacja liczb.
    c. Pamięci półprzewodnikowe.

  2. Programowanie mikrokontrolerów w języku C

    a. Zmienne i operatory podstawowe.
    b. Wyrażenia warunkowe i pętle.
    c. Funkcje.

  3. Cyfrowe we/wy

    a. Sterowanie diodami LED i przyciskami.
    b. Wyświetlacz 7 segmentowy.
    c. PWM – sterowanie prędkością silnika.

  4. Analogowe we/wy

    a. Przetworniki analogowo-cyfrowe i cyfrowo-analogowe.
    b. Odczyt analogowych sensorów.

  5. Liczniki, układy czasowe i przerwania

    a. Odmierzanie czasu.
    b. Zliczanie zdarzeń.
    c. Programowanie przerwań.

  6. Interfejsy komunikacji szeregowej

    a. Rejestry szeregowe i równoległe.
    b. Komunikacja UART lub SPI.

  7. Wybrane interfejsy człowiek-maszyna

    a. Klawiatura matrycowa.
    b. Wyświetlacz LCD.
    c. Generator dźwięku.

  8. Budowa i zasada działania mikrokontrolera

    a. Jednostka centralna i rejestry.
    b. Magistrale.
    c. Pamięć programu i danych.
    d. Układy peryferyjne.

Laboratory classes (18h):
  1. Środowisko programowania mikrokontrolera

    Podczas zajęć student pozna budowę i zasadę działania układu rozwojowego do uruchamiania programów na mikrokontrolerze oraz zapozna się ze środowiskiem do programowania mikrokontrolerów na komputerze PC.
    Podczas zajęć zostanie uruchomiony pierwszy program tzw. “Hello World !!!”.

  2. Sterowanie diodami LED i kontrola przycisków

    Podczas zajęć studenci przeprowadzą szereg ćwiczeń które pozwolą na poznanie zasad programowania układów cyfrowych we/wy i ich wykorzystania do obsługi przycisków oraz diod LED.

  3. Obsługa klawiatury i wyświetlacza

    Zajęcia mają na celu wykorzystanie wiedzy nt. działania cyfrowych układów we/wy i przygotowanie przez studenta procedur obsługi wyświetlacza 7-segmentowego i klawiatury matrycowej. Elementy te zostaną wykorzystane w dalszym toku ćwiczeń.

  4. Odczyt sensora

    Podczas zajęć studenci nauczą się obsługo analogowych układów we/wy. Układy zostaną wykorzystanie do obsługi prostych czujników (np. temperatury) z wyjściem analogowym.

  5. Sterowanie silnikiem

    Zajęcia pozwolą na zapoznanie się studentów z techniką PWM (ang. Pulse-Width-Modulation). Zdobyta wiedza zostanie wykorzystana do przygotowania aplikacji sterującej prędkością obrotową silnika elektrycznego lub sterowania serwomechanizmem modelarskim.

  6. Kontrola czasu i liczby zdarzeń

    Zajęcia posłużą poznaniu praktycznych aspektów wykorzystania układów czasowych i licznikowych mikrokontrolerów. Zademonstrowane zostaną aplikacje zliczające czas i zdarzenia bazujące na licznikach i przerwaniach.

  7. Obsługa wyświetlacza LCD

    Bazując na budowie i zasadzie działania szeregowego interfejsu komunikacyjnego (np. SPI) zademonstrowana będzie współpraca mikrokontrolera z inteligentnym wyświetlaczem alfanumerycznym LCD.

Project classes (10h):
Projekt prostego sytemu wbudoanego
Additional information
Teaching methods and techniques:
  • Lectures: 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ń.
  • Laboratory classes: 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ą.
  • Project classes: Nie określono
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:

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 ćwiczeń odbywa się na podstawie zaprezentowania rozwiązania postawionego problemu.
- Zespoły dwuosobowe wykonują samodzielnie projekt systemu mikroprocesorowego wg. tematu i specyfikacji uzgodnionej z prowadzącym.
Zaliczenie laboratorium jest możliwe po zaliczeniu wszystkich ćwiczeń i samodzielnego projektu.
.

Participation rules in classes:
  • Lectures:
    – Attendance is mandatory: Yes
    – Participation rules in classes: 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.
  • Laboratory classes:
    – Attendance is mandatory: Yes
    – Participation rules in classes: 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.
  • Project classes:
    – Attendance is mandatory: Yes
    – Participation rules in classes: Nie określono
Method of calculating the final grade:

Ocena końcowa uwzględnia aktywność studenta podczas wykładów oraz ocenę uzyskaną podczas zajęć laboratoryjnych.

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

Student może odrobić zaległe zajęcia w terminie uzgodnionym z prowadzącym o ile istnieją do tego odpowiednie warunki organizacyjne.

Prerequisites and additional requirements:

Student zaliczył moduł “Technika cyfrowa”

Recommended literature and teaching resources:

1. Strony internetowe firmy Microchip www.microchip.com
2. R. Baranowski: Mikrokontrolery AVR ATmega w praktyce
3. M.A. Mazidi, S. Naimi. AVR Microcontroller and Embedded Systems: Using Assembly and C
4. W. Mielczarek: Szeregowe interfejsy cyfrowe, Helion, Gliwice 1994
5. Z. Hajduk: Mikrokontrolery w systemach zdalnego sterowania, BTC, Warszawa 2005

Scientific publications of module course instructors related to the topic of the module:

1. Karbownik, Przemysław, Paweł Russek, and Kazimierz Wiatr. “Weak RSA Keys Discovery on GPGPU.” International Journal of Electronics and Telecommunications (2019).
2. Russek P., et al. A custom co-processor for the discovery of low autocorrelation binary sequences. Measurement Automation Monitoring, 2016, 62.
3. Russek, P., & Wiatr, K. (2013, September). The regular expression matching algorithm for the energy efficient reconfigurable SoC. In International Conference on Parallel Processing and Applied Mathematics (pp. 545-556). Springer, Berlin, Heidelberg.

Additional information:

None