- Nazwa przedmiotu:
- Systemy wbudowane
- Koordynator przedmiotu:
- Henryk DOBROWOLSKI
- Status przedmiotu:
- Fakultatywny ograniczonego wyboru
- Poziom kształcenia:
- Studia I stopnia
- Program:
- Informatyka
- Grupa przedmiotów:
- Przedmioty techniczne
- Kod przedmiotu:
- SWB
- Semestr nominalny:
- 7 / rok ak. 2018/2019
- Liczba punktów ECTS:
- 4
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- 30 godz. wykładu
15 godz. zajęć w laboratorium
15 godz. projektu (konsuktacje i weryfikacja postępów)
Praca samodzielna - przygotowanie do laboratorium (20 godzin) oraz wykonanie projektu (40 godz.)
Łącznie 120 godz. - 4 ECTS
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- 30 godz. wykładu
15 godz. laboratorium
15 godz. projektu
W sumie 60 godz. - 2 ECTS
- Język prowadzenia zajęć:
- polski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- 1. Przygotowanie do laboratorium - w tym zapoznanie się z dokumentacją sprzętu, środowiskiem budowania oprogramowania oraz używanym systemem operacyjnym (MQX) - ok. 20 godzin
2. Praca nad projektem - w tym: zdefiniowanie założeń i wymagań, opis przewidywanego działania systemu (diagramy maszyn stanowych), kodowanie, uruchamianie i testy oraz sprawozdanie (dokumentacja projektu) - łącznie ok 40 godz.
W sumie 60 godz. - 2 ECTS
- Formy zajęć i ich wymiar w semestrze:
-
- Wykład30h
- Ćwiczenia0h
- Laboratorium15h
- Projekt15h
- Lekcje komputerowe0h
- Wymagania wstępne:
- - znajomość programowania strukturalnego z użyciem języka C
- znajomość podstaw budowy układów cyfrowych, w tym mikroprocesorów
- znajomość podstaw inżynierii oprogramowania
- Limit liczby studentów:
- 28
- Cel przedmiotu:
- • zapoznanie ze specyfiką architektury i projektowania systemów wbudowanych, ze szczególnym naciskiem na systemy stosowane w (szeroko pojmowanym) przemyśle
• zapoznanie z podstawowymi standardami obowiązującymi dla tych systemów, również w aspekcie systemów klasy safety critical
• przedstawienie podstawowych wymagań związanych z projektowaniem oprogramowania dla systemów wbudowanych, z uwzględnieniem wymagań związanych z działaniem w czasie rzeczywistym
- Treści kształcenia:
- 1. Podstawowe pojęcia
• System wbudowany: System wbudowany a system ogólnego zastosowania. Co jest a co nie jest systemem wbudowanym – "zamazana" granica.
• Reaktywność: Reaktywność a interaktywność. Środowisko i jego wymagania. Sprzężenie zwrotne – zmiany środowiska powodowane przez system reaktywny.
• Czas rzeczywisty: Definicja. Wymagania dla sprzętu i (zwłaszcza) oprogramowania. Rola systemu operacyjnego.
• Wzajemnie kolidujące wymagania: Koszt – wymagania środowiskowe – wydajność – równoważność sprzętu i oprogramowania. Niezawodność i wiarygodność. Dostępność (availability), MTBF, MTTR.
• Zastosowania / typy systemów: Systemy konsumpcyjne, przemysłowe (produkcyjne), pojazdów i statków powietrznych, militarne. Systemy krytyczne dla bezpieczeństwa i systemy krytyczne dla misji.
• Aspekty biznesowe: Podstawowe pojęcia: koszty i czas (NRE, TTM), projektowanie i mityczny osobomiesiąc
2. Prosty system mikroprocesorowy
• Mikrokontrolery: Cechy charakterystyczne. Mikrokontrolery uniwersalne i specyficzne aplikacyjnie. Integracja pamięci i modułów we-wy. Przykłady.
• Podstawowe interfejsy i moduły we/wy: Porty. Interfejsy szeregowe (w tym SPI, I2C) i równoległe. Przetworniki ADC/DAC.
• Systemy uruchomieniowe i narzędzia programowe: Host a system docelowy. Symulacja i jej ograniczenia. Kompilacja skrośna i problemy debugowania.
• Studium przypadku: Z8 Encore
Opis mikrokontrolera, system uruchomieniowy, własności środowiska przygotowania aplikacji.
3. Projektowanie
• Czas życia i jego modele
Model wodospadu i spirali. Model V (projektowanie). Model Harmony. Cykl życia systemu i procesy cyklu życia – odniesienia do standardów ISO/IEC 12207 i ISO/IEC 15288.
• Modele przetwarzania (MoC) w systemach wbudowanych
Pożądane własności. Procesy i sygnały. Modele bezczasowe, synchroniczne i z czasem dyskretnym.
• Formalizmy do modelowania w projektowaniu systemów wbudowanych
Maszyny stanowe (FSM, FSMD, i inne modele skończenie stanowe, w tym Statecharts Harela). Sieci Petriego. Języki modeli synchronicznych (przykład: Esterel)
• Zastosowanie UML i SysML
Diagramy i ich zastosowanie; aspekty czasu rzeczywistego. SysML – krótki tutorial. Wybrane studium przypadku. Modele wykonywalne i xUML.
4. Sprzęt
a) Współprojektowanie sprzętu i oprogramowania; SoC
• Równoważność HW/SW
• Technologia współprojektowania systemów, ewolucja współprojektowania HW/SW
• Rdzenie IP, komponenty wirtualne, platformy i programowalne platformy
• Zarys projektowania SoC
b) Technologie w systemach wbudowanych
• procesory
Architektury (Princeton/Harvard, ISA i CISC/RISC, wieloprocesory, specjalizacja – grafika, DSP, przykłady.
• pamięć: Rola ROM i RAM; implementacja (EPROM, EEPROM i Flash, SRAM a DRAM)
• magistrale i interfejsy (we-wy): wejście/wyjście: typy i adresowanie, przerwania, DMA; klasyfikacje magistral, studium przypadku: VME-32
• sensory i efektory: kategoryzacja i przykłady sensorów; proste przykłady efektorów: silnik krokowy, wyświetlacz LCD; sterowanie: regulatory z otwartą i zamkniętą pętlą, implementacja regulatora PID
c) Komunikacja systemów rozproszonych specyficzna dla systemów wbudowanych
• systemy "konsumenckie" – "inteligentny" dom, pervasive computing: Studium przypadku: LON
• systemy przemysłowe (produkcja) - magistrale terenowe (fieldbus): Studium przypadku: ASI, Profibus/ProfiNet
• systemy pojazdów i statków powietrznych (awionika): Studium przypadku: CAN i MIL-STD-1553B
• sieci sensoryczne: Wprowadzenie: zastosowania, architektury, problemy (z naciskiem na komunikację)
5. Oprogramowanie (systemowe)
• systemy operacyjne czasu rzeczywistego (RTOS): Wymagania dla obsługi przerwań i planisty. Jądro monolityczne czy mikrojądro – problem skalowalności. Mechanizmy komunikacji i synchronizacji procesów/wątków. POSIX. Pobieżny przegląd przykładów: OS-9, QNX, VxWorks, MQX.
• zarządzanie zadaniami: Typy zadań, przełączanie kontekstu, priorytety, wywłaszczanie, problem inwersji priorytetów. Studium przypadku: scheduler w OS-9
• przegląd strategii (algorytmów) planisty: Strategie sprawiedliwe i priorytetowe. Strategie priorytetowe zadań cyklicznych (w tym RMS)
- Metody oceny:
- Kolokwia wykładowe (2), oceny z ćwiczeń laboratoryjnych + ocena z projektu.
Laboratorium obejmuje ćwiczenia dotyczące programowania systemu opartego o Freescale TWR-K70F120M z użyciem środowiska CodeWarrior Development Studio (język C)
Projekt: Specyfikacja i wymagania dla podanego zadania; projekt architektury oprogramowania systemu w UML/SysML; implementacja wskazanych fragmentów (funkcjonalności) w C dla sprzętu laboratoryjnego TWR-K70F120M, z zastosowaniem s.o. MQX.
- Egzamin:
- nie
- Literatura:
- 1. Frank Vahid, Tony Givargis: Embedded System Design: A Unified Hardware/Software Introduction. Wiley 2002
2. Richard Zurawski (ed): Embedded System Handbook, Taylor & Francis Group, 2006
3. Dokumentacja Freescale dla MCU Kinetis (K70), środowiska CodeWarrior, s.o. MQX i in. - materiały udostępniane studentom przez stronę przedmiotu
4. Inne: standardy i publikacje z IEEE, OMG, ACM itd.
- Witryna www przedmiotu:
- https://usosweb.usos.pw.edu.pl/kontroler.php?_action=katalog2/przedmioty/pokazPrzedmiot&prz_kod=103A-INIIT-ISP-SWB
- Uwagi:
Efekty uczenia się
Profil ogólnoakademicki - wiedza
- Charakterystyka SWB_W01
- Ma podstawową wiedzę dot. specyfiki systemów operacyjnych, zwłaszcza czasu rzeczywistego, znajdujących zastosowanie w systemach wbudowanych
Weryfikacja: Kolokwium
Powiązane charakterystyki kierunkowe:
K_W10
Powiązane charakterystyki obszarowe:
I.P6S_WG, III.P6S_WG.o
- Charakterystyka SWB_W02
- Zna podstawowe algorytmy planisty wykorzystywane w systemach wbudowanych czasu rzeczywistego
Weryfikacja: Kolokwium
Powiązane charakterystyki kierunkowe:
K_W10
Powiązane charakterystyki obszarowe:
I.P6S_WG, III.P6S_WG.o
- Charakterystyka SWB_W03
- Znajomość podstawowych pojęć związanych z biznesowymi aspektami projektowania i wdrażania systemów wbudowanych
Weryfikacja: kolokwium
Powiązane charakterystyki kierunkowe:
K_W04
Powiązane charakterystyki obszarowe:
I.P6S_WK
- Charakterystyka SWB_W04
- Ma podstawową wiedzę dot. standardów związanych z interfejsami i komunikacją w systemach wbudowanych
Weryfikacja: Kolokwium
Powiązane charakterystyki kierunkowe:
K_W08
Powiązane charakterystyki obszarowe:
I.P6S_WG
- Charakterystyka SWB_W05
- Wiedza nt. modeli cyklu życia i odnośnych standardów w aspekcie systemów wbudowanych
Weryfikacja: Kolokwium
Powiązane charakterystyki kierunkowe:
K_W15
Powiązane charakterystyki obszarowe:
I.P6S_WG, III.P6S_WG.o
- Charakterystyka SWB_W06
- Znajomość podstawowych, wyróżniających własności systemów wbudowanych
Weryfikacja: Kolokwium
Powiązane charakterystyki kierunkowe:
K_W19
Powiązane charakterystyki obszarowe:
I.P6S_WG
- Charakterystyka SWB_W07
- Ma podstawową wiedzę z zakresu modelowania systemów wbudowanych i odnośnych formalizmów
Weryfikacja: Kolokwium
Powiązane charakterystyki kierunkowe:
K_W19
Powiązane charakterystyki obszarowe:
I.P6S_WG
Profil ogólnoakademicki - umiejętności
- Charakterystyka SWB_U01
- Student, który zaliczył przedmiot, potrafi: zaprojektować i zamodelować architekturę prostego systemu wbudowanego oraz zdefiniować wymagania sprzętowe dla tego systemu
Weryfikacja: Wpisz opis
Powiązane charakterystyki kierunkowe:
K_U12
Powiązane charakterystyki obszarowe:
I.P6S_UW, III.P6S_UW.4.o
- Charakterystyka SWB_U02
- Student, który zaliczył przedmiot, potrafi: napisać oprogrogramowanie realizujące założoną funkcjonalność prostego systemu wbudowanego, również czasu rzeczywistego
Weryfikacja: Projekt laboratoryjny
Powiązane charakterystyki kierunkowe:
K_U15
Powiązane charakterystyki obszarowe:
I.P6S_UW, III.P6S_UW.3.o, III.P6S_UW.4.o
- Charakterystyka SWB_U03
- Student, który zaliczył przedmiot, potrafi: zdefiniować założenia i wymagania dla systemu wbudowanego realizującego założoną funkcjonalność
Weryfikacja: laboratorium
Powiązane charakterystyki kierunkowe:
K_U12
Powiązane charakterystyki obszarowe:
I.P6S_UW, III.P6S_UW.4.o