Наменски рачунарски системи

Циљ и исход предмета

Стицање основних знања из области рачунарских система и наменских рачунарских система. По завршетку курса студенти ће бити способни да разумеју и пројектују делове и целине наменских рачунарских система.

Теоријска настава

Поређење наменских рачунарских система и других рачунарских система. Архитектура наменских рачунарских система. CPU у контексту комплетног система са I/O и меморијом. CPU фамилије коришћене у микроконтролерима. Јединице управљања меморијом. Меморијске хијерархије и кеш меморије. Пројектовање меморијског система и како он утиче на пројектовање програма и карактеристике целог система. Употреба мултипроцесора у наменским системима. Утицај више процесора на карактеристике, напајање енергијом и трошкове. Разумевање основних техника пројектовања. Хардверско/софтверске целине за системе са једном магистралом. Генералније архитектуре. FPGA платформа као мултипроцесор. Размена између ЦПУ и фиксно повезане логике код мултипроцесора. Умрежени наменски системи. Примери: аутомобили, фабрички аутоматизациони системи. Системи са уграђеним интернетом. Интерфејси и системи са аналогним и дигиталним сигналима. Дигитално аналогна конверзија. Аналогно дигитална конверзија. Дигитална обрада сигнала и рад у реалном времену. Софтверска подршка за рад у реалном времену. Оперативни системи и развојна окружења за наменске системе. Кроскомпајлери, симулатори и емулатори. Логички анализатори. Алати управљања софтвером. Алати управљања пројектом. Извори грешака у наменским системима. Транзијентни и перманентни откази у хардверу. Извори грешака који потичу из софтвера. Улога верификације у пројектовању поузданог система. Технике у пројектовању толерантних система. Рачунари са малом потрошњом енергије. Извори енергије. Функционисање јединице управљања. Потрошња енергије меморијског система. Управљање напајањем на системском нивоу.

Практична настава

Пројектовање и развој система хардвер/софтвер употребом техника управљања пројектима и софтверског инжењерства. Примери пројектовања и повезивања делова и целина наменских рачунарских система. Рад са алатима отвореног кода. ARM Cortex M микроконтролер. Архитектура и скуп инструкција. Уграђене периферне јединице. Дигиталне улазне и излазне линије. A/D и D/A конверзија. SIMD инструкције и обрада сигнала. Развојни систем Микроелектроника ЕасyМx ПРО в7 фор СТМ32. Микропроцесори АРМ Цортеx М0, M3, M4 и M7. Уграђени комуникациони протоколи (Ethernet, USB, CAN). Модули за проширење (Click). Софверско окружење за развој и flash програмирање. Компајлер mikroC PRO for ARM и уграђене библиотеке. Употреба FreeRTOS и RIOT оперативних система. Развој једноставног чвора интернета ствари употребом модула BeeClick и IEEE 802.15.4 протокола.