Module also offered within study programmes:
General information:
Name:
Embeded Systems
Course of study:
2018/2019
Code:
JIS-1-013-s
Faculty of:
Physics and Applied Computer Science
Study level:
First-cycle studies
Specialty:
-
Field of study:
Applied Computer Science
Semester:
0
Profile of education:
Academic (A)
Lecture language:
Polish
Form and type of study:
Full-time studies
Course homepage:
 
Responsible teacher:
dr inż. Świentek Krzysztof (swientek@agh.edu.pl)
Academic teachers:
dr inż. Skoczeń Andrzej (skoczen@fis.agh.edu.pl)
dr inż. Świentek Krzysztof (swientek@agh.edu.pl)
dr inż. Firlej Mirosław (firlej@agh.edu.pl)
dr inż. Moroń Jakub (jmoron@agh.edu.pl)
Module summary

Wprowadzenie do systemów wbudowanych na przykładzie mikrokontrolera LPC1786 z rdzeniem ARM Cortex M3.

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
M_K001 Student potrafi pracować w zespole projektowym. Potrafi samodzielnie zdobyć odpowiednią wiedzę i umiejętności niezbędne do realizacji jego części zadania zespołowego. IS1A_K01 Report,
Execution of a project
M_K002 Student umie przedstawić wykonany projekt w sposób komunikatywnej prezentacji. Potrafi także wskazać obszary zastosowań tworzonych aplikacji i ekonomiczne aspekty zastosowanych rozwiązań. IS1A_K01 Report,
Execution of a project
Skills
M_U001 Student potrafi napisać program przeznaczony do wybranego mikrokontrolera wykorzystujący jego układy peryferyjne oraz co najmniej jeden standard komunikacyjny. IS1A_U06 Activity during classes,
Execution of a project,
Execution of laboratory classes
M_U002 Student potrafi użyć odpowiednich narzędzi do skompilowania napisanego programu i załadowania go do mikrokontrolera pracującego w systemie wbudowanym IS1A_U06 Execution of a project,
Execution of laboratory classes
Knowledge
M_W001 Student zna budowę typowego mikrokontrolera oraz typowych układów peryferyjnych IS1A_W02 Activity during classes,
Execution of laboratory classes,
Execution of a project
M_W002 Student potrafi wyjaśnić proces „cross”-kompilacji i wskazać narzędzia niezbędne do pracy z mikrokontrolerem pracującym w systemie wbudowanym IS1A_W03, IS1A_W02 Activity during classes,
Execution of a project,
Execution of laboratory classes
M_W003 Student zna podstawowe standardy służące do przekazywania danych w systemach wbudowanych IS1A_W03, IS1A_W05 Activity during classes,
Execution of a project,
Execution of laboratory classes
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
Others
E-learning
Social competence
M_K001 Student potrafi pracować w zespole projektowym. Potrafi samodzielnie zdobyć odpowiednią wiedzę i umiejętności niezbędne do realizacji jego części zadania zespołowego. - - - + - - - - - - -
M_K002 Student umie przedstawić wykonany projekt w sposób komunikatywnej prezentacji. Potrafi także wskazać obszary zastosowań tworzonych aplikacji i ekonomiczne aspekty zastosowanych rozwiązań. - - - + - - - - - - -
Skills
M_U001 Student potrafi napisać program przeznaczony do wybranego mikrokontrolera wykorzystujący jego układy peryferyjne oraz co najmniej jeden standard komunikacyjny. + - + + - - - - - - -
M_U002 Student potrafi użyć odpowiednich narzędzi do skompilowania napisanego programu i załadowania go do mikrokontrolera pracującego w systemie wbudowanym + - + + - - - - - - -
Knowledge
M_W001 Student zna budowę typowego mikrokontrolera oraz typowych układów peryferyjnych + - + - - - - - - - -
M_W002 Student potrafi wyjaśnić proces „cross”-kompilacji i wskazać narzędzia niezbędne do pracy z mikrokontrolerem pracującym w systemie wbudowanym + - + - - - - - - - -
M_W003 Student zna podstawowe standardy służące do przekazywania danych w systemach wbudowanych + - + - - - - - - - -
Module content
Lectures:
Tematy wykładów

1. Wprowadzenie: podstawowe pojęcia: mikrokontroler, architektury, itp.
2. Architektura rdzenia mikrokontrolerowego ARM Cortex M3
3. Układy peryferyjne mikrokontrolerów na przykładzie LPC1768
4. Szregowe interfejsy przewodowe: RS-232, SPI, I2C, 1-wire
5. Detekcja i korekcja błędów: kody hamminga, CRC, zabezpieczenia procesorów
6. Wstęp do nowoczesnych architektur mikroprocesorów w ujęciu historycznym

Laboratory classes:
Procownia Komputerowo-Elektroniczna

1. Środowisko programistyczne i metodologia pracy z mikrokontrolerem
Efekty kształcenia:
- student potrafi zapisać prosty program dla wybranego mikrokontrolera
- student potrafi dokonać „cross” kompilacji i użyć odpowiednich narzędzi do załadowania swojego programu do pamięci mikrokontrolera

2. Wykorzystanie wbudowanych układów peryferyjnych
Efekty kształcenia:
- student potrafi skonfigurować wewnętrzne układy peryferyjne typu: licznik, ,,watchdog’’, zegar czasu rzeczywistego, przetworniki A/C i C/A itp.
- student potrafi skonfigurować i wykorzystać wewnętrzne przerwania pochodzące od układów peryferyjnych

3. Mikrokontroler we współpracy z urządzeniem zewnętrznym
Efekty kształcenia:
- student potrafi sterować i/lub odbierać dane z urządzenia zewnętrznego wykorzystując jeden z interfejsów szeregowych

Project classes:
Projekt Zespołowy

Studenci w dwuosobowych zespołach realizują projekty opierające się o wybrany mikrokontroler. Każdy zespół otrzymuje do wykonania inny, przydzielony losowo projekt. Punktem wyjścia dla studentów są dostarczone założenia i wskazówki projektowe. W ramach projektu należy w oparciu o zasoby sprzętowe dostępne na module ćwiczeniowym stworzyć działające urządzenie oraz dokumentację wykonania projektu.
Efekty kształcenia:
- student potrafi zinterpretować specyfikację urządzenia w celu zbudowania go za pomocą dostępnych narzędzi programowych
- student potrafi efektywnie wykorzystać odpowiednie narzędzia projektowe do stworzenia aplikacji na module ćwiczeniowym
- student potrafi współpracować w grupie realizując swoją część zadania
- student potrafi zademonstrować funkcjonalność zbudowanego urządzenia zgodną z zadaną specyfikacją i przygotować dokumentację

Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 155 h
Module ECTS credits 6 ECTS
Participation in lectures 18 h
Realization of independently performed tasks 13 h
Participation in laboratory classes 24 h
Preparation for classes 18 h
Participation in project classes 15 h
Completion of a project 50 h
Preparation of a report, presentation, written work, etc. 17 h
Additional information
Method of calculating the final grade:

Ocena końcowa OK z modułu obliczana jest jako średnia ważona oceny z laboratoriów OL i projektów OP:

OK = 0.6 x OP + 0.4 x OL

Prerequisites and additional requirements:

Znajomość podstaw programowania
Znajomość podstaw elektroniki cyfrowej
Podstawowa wiedza o strukturze języków programowania

Recommended literature and teaching resources:

1. Jacek Bogusz, Lokale interfejsy szeregowe w systemach cyfrowych. BTC, Warszawa 2004.
2. Joseph Yiu, The Definitive Guide to the ARM Cortex – M3, Newnes, 2009.
3. Tomasz Francuz, Mikrokontrolery AVR i ARM : sterowanie wyświetlaczami LCD, Helion 2017.
4. I. C. Bertolotti, Embedded software development: the open-source approach, CRC Presss, 2016.
5. Sloss, D. Symes, Ch. Wright, ARM System Developer’s Guide: Designing and Optimizing System Software, Morgan Kaufmann, 2004.
6. Kucjan Brynza, Mikrokontroler ARM9 w przykładach, BTC, Legionowo 2009.
7. Krzysztof Paprocki, Mikrokontrolery STM32 w praktyce, BTC, Legionowo 2011.
8. Intel® 64 and IA-32 Architectures Software Developer’s Manual

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

K. Swientek, M. Banachowicz,
Design of Memory Subsystem for Wide Input Data Range in the SALT ASIC,
Proceedings of the 24th International Conference “Mixed Design of Integrated Circuits and Systems”, June 22-24, 2017, Bydgoszcz, Poland.

S. Bugiel, R. Dasgupta, M. Firlej, T. Fiutowski, M. Idzik, M. Kopec, J. Moron, K. Swientek,
Ultra-Low Power Fast Multi-Channel 10-Bit ADC ASIC for Readout of Particle Physics Detectors
IEEE Trans. Nucl. Sci. vol. 63, 2016, pp. 2622-2631.

M. Idzik, K. Swientek, T. Fiutowski, S. Kulis, D. Przyborowski,
A 10-Bit Multichannel Digitizer ASIC for Detectors in Particle Physics Experiments,
IEEE Trans. Nucl. Sci. vol. 59, 2012, pp. 294-302.

S. Kulis, A. Matoga, M. Idzik, K. Swientek, T. Fiutowski, D. Przyborowski,
A general purpose multichannel readout system for radiation detectors,
JINST 7 T01004 2012, pp. 294-302.

Additional information:

Sposób i tryb wyrównania zaległości powstałych wskutek nieobecności studenta na zajęciach:
Nieobecność na zajęciach wymaga od studenta samodzielnego opanowania przerabianego w tym czasie materiału.
Pod koniec semestru przewidziany jest dodatkowy termin laboratorium (ogłaszany 2 tygodnie wcześniej na stronie internetowej przedmiotu i przez prowadzących), w którym można wykonać pomiary/ćwiczenia, których student z przyczyn losowych nie mógł wykonać w pierwotnym terminie.

Zasady zaliczania zajęć
W ramach laboratorium komputerowo-elektronicznego studenci pracując w dwuosobowych zespołach wykonują szereg ćwiczeń, które traktowane są jako niezbędne przygotowanie do wykonania projektu. Każde spotkanie w laboratorium rozpoczyna się od kartkówki.
Oceny z tej kartkówki uzupełnione o aktywność na zajęciach i/lub sprawność wykonywania ćwiczeń są podstawą do wystawienia oceny za część laboratoryjną.

Projekt oceniany jest w oparciu o procent zrealizowanych założeń projektowych i/lub ocenę niezawodności działania stworzonego urządzenia. Dodatkowo oceniany jest sposób zaprezentowania informacji technicznych zawartych w opracowanej dokumentacji.
Wszystkie projekty muszą zostać zaliczone.
Warunkiem uzyskania zaliczenia z pojedynczego projektu jest:
- pomyślna prezentacja działania układu,
- poprawnie wykonane pomiary,
- zaliczone sprawozdanie – dokumentacja projektu.