Visokošolski učitelji: Kamnik Roman, Munih Marko
Sodelavci: Rejc Jure
Opis predmeta
Pogoji za vključitev v delo oz. za opravljanje študijskih obveznosti:
- Vpis v 2. letnik.
- Programiranje I in II.
Vsebina:
- Osnovna zasnova vgrajenih sistemov – Von Neumanov računalniški model,
- Razlaga principov na primeru, npr. ARM7 jedro procesorja (zgradba, enote, cevovod, MMU),
- Programiranje v zbirniku,
- Prekinitve (procesorski načini, prioritete dogodkov, vektorska tabela, sklad, negnezdeni, gnezdeni prekinitveni program, prioritete)
- Izvajanje v realnem času (uporaba časovnikov, čuvaj časa),
- Priključevanje V/I periferije na paralelna vrata, specifičnosti sistemov v avtomatiki,
- Priključevanje V/I periferije preko sinhronskih in asinhronskih vodil,
- Pomnilnik in povezovanje, sinhronski/asinhronski,
- Prenašanje podatkov s pomočjo neposrednega dostopa (DMA),
- Razvojni pristopi, debuging (razhroščevanje), testna orodja in tehnike
- Dodatne informacije na spletni strani Katedre ze merjenja in robotiko
Cilji in kompetence:
- Spoznati teoretične osnove zgradbe vgrajenih sistemov, primarno tistih v avtomatiki.
- Uporaba razvojnega sistema preko zbirnika in jezika C.
- Nadgrajevanje znanj iz Programiranje I in II, Digitalna tehnika v funkcionalen vgrajeni sistem (pri čemer je periferija v laboratoriju podana).
- Končno: samostojnost pri uporabi vgrajenih sistemov, prekinitev, časovnikov, čuvaja časa.
Predvideni študijski rezultati:
Razumevanje zgradbe in osnovnega načrtovanja vgrajenih sistemov. Znanje programiranja v zbirniku in višjenivojskem jeziku. Razhroščevanje programov.
Metode poučevanja in učenja:
- Predavanja v raznih oblikah, navodila za laboratorijske vaje, individualno laboratorijsko delo. Vsak študent uporablja lasten zmogljiv razvojni sistem, sicer cenovnega razreda enega učbenika.
- Praktične vaje v obliki, ki omogoča nadaljnjo poglobljeno individualno delo. Za specifična področja so vabljeni predavatelji iz mednarodno priznane slovenske industrije na tem področju.
Laboratorijske vaje
Ocenjevanje in razpored predavanj ter laboratorijskih vaj (pdf)
Navodila/razpored elementov za lotanje
Namen laboratorijskih vaj je študentom podati znanja in praktične veščine za razvoj strojne in programske opreme vgrajenih sistemov. Laboratorijske vaje se prično z izdelavo mikrokrmilniškega modula. Modul je zasnovan na osnovi 32-bitnega mikrokrmilnika LPC213x z jedrom ARM7 proizvajalca NXP. Sledijo praktični primeri razvoja programov za naloge, ki so tipične pri vgrajenih sistemih. Po izdelavi je mikroračunalniški modul last študentov. Z njim delajo pri vajah na fakulteti in doma.
Mikroračunalniški modul z mikrokrmilnikom LPC213x
WinIDEA 2010 predloge in literatura za študente na laboratorijskih vajah (zip datoteke)
Vaja 0: Prazna predloga programa za C programski jezik
Vaja 1: Utripanje LED diode
Vaja 2: Vaja za ocenjevanje
Vaja 3: Branje tipke v zanki
Vaja 4: Vaja za ocenjevanje
Vaja 5: Utripanje LED diode v zbirniku
Vaja 6: Vaja za ocenjevanje
Vaja 7: LCD zaslon
Vaja 8: Vaja za ocenjevanje
Vaja 9: AD pretvornik
Vaja 10: Vaja za ocenjevanje
Vaja 11: IRQ zunanja prekinitev
Vaja 12: Vaja za ocenjevanje
Vaja 13: Uporaba PWM signala
Vaja 14: Vaja za ocenjevanje brez predhodnega besedila
Vaja 15: Vaja za ocenjevanje brez predhodnega besedila
Gradiva
Temeljni literatura in viri:
- Tammy Noergaard, Embeded Systems Arhitecture - A Comprehensive Guide for Engineers and Programmers, CreateSpace , 0-123-82196-7.
- Jonathan W. Valvano, Real-Time Interfacing to Arm® Cortex(TM)-M Microcontrollers, CreateSpace, 2011, ISBN ISBN-10: 1-463-59015-6.
- Steve Furber, ARM System-On-Chip Arhitecture, Addison Wesley, 2000, ISBN 0-201-67519-6.