Cilj predmeta
Sticanje osnovnih znanja iz oblasti projektovanja namenskih računarskih sistema.
Ishod predmeta
Po završetku kursa studenti će biti sposobni da razumeju i projektuju delove i celine namenskih računarskih sistema.
Sadržaj predmeta
Teorijska nastava
Poređenje namenskih računarskih sistema i drugih računarskih sistema. Arhitektura namenskih računarskih sistema. CPU u kontekstu kompletnog sistema sa I/O i memorijom. Projektovanje memorijskog sistema i kako on utiče na projektovanje programa i karakteristike celog sistema. Hardversko/softverske celine za sisteme sa jednom magistralom. Razmena između CPU i fiksno povezane logike kod multiprocesora. Umreženi namenski sistemi. Primeri: automobili, fabrički automatizacioni sistemi. Mikrokontroleri. Sistemi sa analognim i digitalnim signalima. Pojačavači i kondicioneri malih analognih signala. A/D i D/A konverzija. Razvojna okruženja za namenske sisteme. Kroskompajleri, simulatori i emulatori. Logički analizatori. Izvori grešaka. Tranzijentni i permanentni otkazi. Izvori grešaka koji potiču iz softvera. Interakcija čoveka i namenskog računaraskog sistema. Električni hazard i bezbenost. Vizuelna, audio i taktilna interakcija. Interakcija izvođenjem pokreta. Interakcija usmeravanjem oka (eye gaze). Interakcija merenjem fizioloških parametara.
Praktična nastava
Projektovanje i razvoj sistema hardver/softver upotrebom tehnika softverskog inženjerstva. Primeri projektovanja i povezivanja celina namenskih računarskih sistema. Rad sa alatima otvorenog koda. ARM (Advanced RISC Machines) arhitektura. Skup instrukcija. Ugrađene periferne jedinice. Digitalne ulazne i izlazne linije. A/D i D/A konverzija. SIMD instrukcije. Razvojni sistem Mikroelektronika EasyMx PRO v7 for STM32. Ugrađeni komunikacioni protokoli (Ethernet, USB, CAN). Moduli za proširenje (Click). Sofversko okruženje za razvoj i flash programiranje. Kompajler mikroC PRO for ARM i ugrađene biblioteke. Upotreba FreeRTOS. Razvoj jednostavnog čvora interneta stvari upotrebom modula BeeClick i IEEE 802.15.4 protokola. Razvoj interfejsa mozak-računar upotrebom openBCI platforme.