Systemy wbudowane
Jest to przedmiot składający się z dwóch form dydaktycznych: wykładu oraz laboratoriów.
Dodatkowo na przestrzeni semestru studenci przygotowują projekt.
Zaliczenie każdego elementu (wykład, laboratoria, projekt) jest warunkiem zaliczenia przedmiotu.
Ostateczna ocena jest wynikiem średniej ważonej z każdej z części, przy wagach:
- wykład (kolokwium): 0,3; termin: 7.06.2018
oceny
- laboratorium: 0,3;
- projekt: 0,4.
oceny
Wykład
Wykład odbywa się w czwartki, w sali 309/D1 o godzinie 15:15.
Zaliczenie wykładu odbędzie się na podstawie kolokwium (termin prawdopodobnie przedostatni tydzień semenstru,
do uzgodnienia)
Progi:
3.0 - 50% + 1 punkt; 3.5 - do 65%; 4.0 - do 75%; 4.5 - do 85%; 5.0 - do 95%; 5.5 - powyżej 95%.
3.0 od 25, 3.5 od 32, 4.0 od 36, 4.5 od 40, 5.0 od 44, 5.5 od 47.
- 22.02: wprowadzenie do wykładu; waga procesu planowania; omówienie projektu
(slajdy: )
- 01.03: proces projektowy systemu, wymagania, specyfikacja, cykl życia produktu
- 08.03: protokół CAN: arbitraż magistrali, wielodostęp, ...
(slajdy: )
- 15.03: state charts jako narzędzie opisu systemu; system TCAS:
(slajdy: )
WP-6.1 ACAS brochure
Introduction to TCAS II (FAA)
- 22.03: model ISO/OSI (przypomnienie), Bluetooth, baseband, usługi, profile
(slajdy: )
R. Bruno, M. Conti, E. Gregori:
Bluetooth: Architecture, Protocols and Scheduling Alogrithms
HC-05 bluetooth module
FTDI-232 chip
- 29.03: przerwa świąteczna
- 5.04: transmisje szeregowe: UART, RS-232, FTDI, demo: transmisja OOK na FS1000A
(slajdy: )
- 12.04: SPI, 1-Wire, demo: alarm temperaturowy na Dallas 18B20 i FS1000A
(slajdy: )
- 19.04: IIC, PROFIBUS
(slajdy: )
- 26.04: systemy czasu rzeczywistego, planowanie zadań (1) - EDD
(slajdy: )
- 10.05: systemy czasu rzeczywistego, planowanie zadań (2) - EDF, EDF bez wywłaszczeń
(slajdy: )
- 17.05: systemy czasu rzeczywistego, planowanie zadań (3) - LDF, zmodyfikowany EDF,
planowanie zadań okresowych: planista RM
(slajdy: )
- 24.05: smart-cards, historia, budowa, aplikacje, JavaCard
Márcio Almeida: Hacking Mifare Classic Cards
- 30.06: elementy dyskretne: mikroprocesory, mikrokontrolery, FPGA, CPLD, ASIC, tranzystory MOS
(slajdy: )
Projekt
Projekt należy wykonywać w parach, można dobierać pary bez względu na przynależność do grup laboratoryjnych.
Zadaniem projektowym jest stworzenie dokumentacji uprzednio wybranego i skonsultowanego z prowadzącym systemu
wbudowanego. Zakres opracowania powinien obejmować:
- Opis środowiska działania systemu i problemu (zagadnienia), które system rozwiązuje.
- Analizę zapotrzebowania na funkcjonalności w systemie.
- Przedstawienie działania systemu (diagram UML itp.) ze szczególnym uwzględnieniem wygody użytkowania
systemu, jego ergonomii i tzw. "dobrych praktyk" (tj. logicznych rozwiązań).
- Zestawienie komponentów systemu oraz ich wzajemne interakcje.
W szczególności, opis projektu powinien obejmować następujące dwa zagadnienia:
- Części składowe systemu. Opis komponentów pod kątem ich funkcjonalności (co robią),
połączeń (zasilanie, interfejsy we/wy) oraz rodzaju przyjmowanych poleceń i generowanych danych
(jakiego typu, jak często, itp.). Ta część powinna też zawierać opis wzajemnej komunikacji
między tymi komponentami.
Przykład: "wyświetlacz LCD o przekątnej 2.4'' i rozdzielczości
240x320 pikseli, o 18-bitowej głębi kolorów, wyposażony w interfejs komunikacyjny I2C, zasilany
napięciem 3.3V)".
- Logika działania. Opis stanów, w jakich system może się znaleźć, mechanizmy przejścia
pomiędzy tymi stanami, inne założenia dotyczące np. czasu trwania w każdym z nich.
Nie jest wymagane podanie konkretnych symboli układów, ani precyzyjny schemat połączeń. Opis powinien utrzymywać
poziom ogólności diagramu blokowego.
Ogólny, uproszczony przykład systemu podano na
pierwszym wykładzie.
Obowiązują następujące terminy:
- do 8 marca -- zgłoszenie proponowanego tematu;
- do końca maja (31.05, godz. 23:59) -- przesłanie dokumentacji (plik pdf) prowadzącemu pocztą e-mail.
Niedotrzymanie któregokolwiek terminu powoduje niezaliczenie tej części przedmiotu.
Przybliżona całkowita liczba stron raportu: 10-15.
Laboratoria
Prowadzący:
- dr inż. Marcin Zawada (www ):
WT: 9-11, 11-13, 15-17 s. 317.3/D1, PT: 7.30-9, 11-13, 13-15, s. 317.3/D1
- dr inż. Przemek Błaśkiewicz - WT: 17-19 s. 317.3/D1
Na listach zaznaczona jest forma ich zaliczenia. W przypadku listy punktowanej, prowadzący
sprawdza umiejętności studenta w zakresie listy np. poprzez polecenie zmodyfikowania prezentowanego
programu. Warunkiem uzyskania zaliczenia laboratorium jest ukończenie wszystkich list "na zaliczenie".
W takim wypadku ocena z laboratorium wynosi 3.0. Listy pozostałe służą podniesieniu tej oceny.
Listy oznaczone "na zaliczenie" należy wykonywać na zajęciach, chyba że prowadzący zaznaczy inaczej.
W przypadku nieoddania takiej listy w trakcie zajęć, należy oddać ją na
najbliższych kolejnych zajęciach z tym, że niedopuszczalne jest oddanie dwóch kolejnych list w takim trybie.
- Lista 1: podstawy VHDL - hello world, testy, I/O
- Lista 2: składanie komponentów, testowanie, std_logic_vector
kod
- Lista 3: układy sekwencyjne (1), liczniki
kod
- Lista 4: układy sekwencyjne (2), pamięć
kod
- Lista 5: automat stanów w VHDL
kod
- Lista 6: dzielniki częstotliwości
Listy po zaliczeniu:
- model wysokościomierza (4 pkt.) - termin: zajęcia 23-27 kwietnia
- kodowanie Huffmana (6 pkt.) - termin: zajęcia 30 kwietnia - 11 maja
kod kanału stratnego
- projekt protokołu komunikacyjnego na magistrali (8 pkt.) - termin: 14 maja - 1 czerwca
kod przykładowej magistrali
- procesor MARIE (10 pkt.) - termin: do końca semestru
Lista dodatkowa - magistrala.
kod
Materiały pomocnicze w sieci i na papierze
- VHDL mini-reference
- konwersje typów oraz więcej o konwersjach i rzutowaniu.
- pliki: wejście/wyjście oraz wiele innych przykładów
- przykłady obsługi I2C, RS232, VGA, ethernet i in. - dobrze opisane, ładnie zobrazkowane
- Układy FPGA w przykładach, Jacek Majewski, Piotr Zbysiński oraz wydania EP z roku 2008: przyklady z ksiazki: http://www.btc.pl/pliki/vhdl_w_p_r{1 .. 6}.zip
- Projektowanie układów cyfrowych z wykorzystaniem języka VHDL, Mark Zwoliński
- mrowie przykładów: budowa + kod
- NANDLand przykłady, wyjaśnienia, VHDL i VeriLog
- Reconfigurable Computing, the theory and practice of FPGA-based computing; Scott Hauck, Andre DeHon