Wykład
-
1 pkt za uczestnictwo w wykładzie
-
dodatkowe punkty za aktywność
-
sumarycznie 5 pkt. + punkty dodatkowe
Laboratorium
-
1 pkt za implementację zadania podstawowego
-
1 pkt za uzupełnienie podstawowego arkusza zadań
-
1 pkt za implementację zadania rozszerzonego
-
1 pkt za uzupełnienie rozszerzonego arkusza zadań
-
dodatkowe punkty za aktywność
-
sumarycznie 40 pkt. + punkty dodatkowe
Nieobecności
-
nieobecność usprawiedliwiona zmienia proporcjonalnie skalę ocen
-
jeżeli pozwalają na to warunki, nieobecność można odrobić w innej lub w swojej podgrupie
-
w czasie jednych zajęć można wykonać maksymalnie jedno ćwiczenie zaległe
Ocena końcowa
| Próg | Punkty | Ocena |
| 0% | 0 | 2,0 |
| 30% | 14 | 3,0 |
| 45% | 21 | 3,5 |
| 60% | 27 | 4,0 |
| 75% | 34 | 4,5 |
| 90% | 41 | 5,0 |
Co to jest system wbudowany?
Definicja
System mikroprocesorowy (urządzenie elektroniczne z procesorem, pamięcią i peryferiałami I/O),
niebędący komputerem ogólnego przeznaczenia.
Cechy charakterystyczne
-
zaprojektowany do realizacji określonego zadania
-
wysoka niezawodność
-
ograniczone zasoby (pamięć, moc obliczeniowa, zasilanie)
-
praca w czasie rzeczywistym
-
specyficzne sensory i efektory
-
nieprzerwana praca przez długi czas
-
brak systemu operacyjnego (bare-metal) lub RTOS
-
uproszczony interfejs użytkownika
Przykłady systemów wbudowanych
Apollo Guidance Computer
Kalkulator Unicom 141P (Procesor Intel 4004)
MAN B&W 6S70MC
Karta płatnicza i terminal
Simex SPI-94
Amazfit T-Rex 2
SAMSUNG WW8NK52E0VX
Ford Mustang Mach-E
Oprogramowanie systemów wbudowanych
(firmware)
Cechy oprogramowania
-
poprawność
-
przewidywalność
-
odporność na awarie
-
brak przerw w pracy
-
reżim czasu rzeczywistego
Źródła awarii
-
błędy oprogramowania
-
problemy z zasilaniem
-
wadliwe styki
-
procesor uszkodzony przez meteoryt
-
udary mechaniczne
-
zalanie
-
zakłócenia elektromagnetyczne
-
promieniowanie jonizujące
Co robić? Jak żyć?
-
zapobieganie wyciekom zasobów
-
redundancja
-
autotesty
-
modularna budowa
-
zabezpieczenia sprzętowe
-
pamięć ECC
-
watchdog
-
lockstep
Języki programowania
-
asembler
-
C
-
C++ (lub podzbiór C++)
-
¯\_(ツ)_/¯
-
Java
-
Python (lub MicroPython)
-
Rust
-
Ada
-
HTML5 + CSS + JavaScript⁕
Schemat blokowy
Zasilanie
-
sieciowe, bateryjne
-
PoE (Power over Ethernet), energy harvesting
-
kontrolery zasilania
-
pomiar prądu własnego
-
oszczędzanie energii
PCB
(Printed Circuit Board)
-
łączy elektrycznie elementy systemu
-
odprowadza ciepło
-
jest kluczowa dla poprawnej propagacji sygnałów
Obudowa
-
ochrona przed warunkami środowiskowymi
-
ochrona EMC
-
izolacja kryptograficzna
-
odprowadzanie ciepła
-
czujniki otwarcia
Interfejsy użytkownika
(HMI)
-
LED
-
buzzer
-
przycisk
-
pole dotykowe
-
dedykowany wyświetlacz LED, LCD, VFD
-
haptic feedback
-
interfejsy samochodowe
Sensory
-
termometr
-
akcelerometr
-
żyroskop
-
magnetometr
-
czujnik natężenia oświetlenia, koloru
-
czujnik dymu, gazu
-
czujnik odległości
-
czujniki biomedyczne
-
mikrofon
-
MEMS (Microelectromechanical System)
Efektory
-
silnik
-
LED
-
wyświetlacz
-
laser
-
głośnik
-
grzałka
-
kompresor
-
zapalnik
-
przekaźnik
-
SSR (Solid State Relay)
µC
-
mikrokontrolery 8-bitowe
-
mikrokontrolery 32-bitowe
-
DSP (Digital Signal Processor)
-
mikrokontrolery heterogeniczne
-
NDP (Neural Decision Processor)
Układy pomocnicze
-
multipleksery
-
kondycjonery sygnałów
-
sterowniki zasilania
-
zegary
-
pamięci
-
kontrolery interfejsów komunikacyjnych
-
FPGA (Field-Programmable Gate Array)
-
ASIC (Application Specific Integrated Circuit)
(koparki 🤑)
Trendy
-
automotive
-
Arduino
-
IoT
-
wearable
-
tinyML