Nosilec dejavnosti
Fakulteta za elektrotehniko
Vrsta predmeta
Obštudijska dejavnost
Kreditne točke (ECTS KT)
4
Status prijave
Zaprta
Študijski program
Za uveljavljanje ECTS kreditnih točk v študijskih programih 1. in 2. stopnje.
Pogoji za vpis k predmetu in pristop k izpitu
Splošna znanja elektrotehnike, ki jih študentje pridobijo tekom prvega letnika študija po programih UL FE ali sorodnih ved drugih članic.
Termin izvedbe
Celoletni
Način izvedbe
V živo
Oblike dela
- Predavanja: 15 ur.
 - Seminar: 25 ur.
 - Vaje: 10 ur.
 - Samostojno delo: 55 ur.
 
Način ocenjevanja
- Preverjanje delovanja programske opreme končnega izdelka (60%)
 - Preverjanje delovanja mikrokrmilnika (40%)
 
Vsebina predmeta
Groba razčlenitev vsebine:
- Pregled jeder mikro-krmilnikov PIC, AVR, ARM, CORTEX, MIPS,
 - Lastnosti in ukazi preprostega 8-bitnega jedra PIC in 32-bitnega jedra ARM,
 - Programiranje mikro-krmilnikov v zbirniku, pripadajoča programska orodja,
 - Notranji pomnilniki mikro-krmilnikov RAM in FLASH, programiranje FLASH pomnilnika,
 - Vhodno/izhodne enote mikrokrmilnikov: splošni I/O, časovniki, zaporedna komunikacija, A/D in D/A pretvorniki, Ethernet,
 - Praktično delo: izdelava PIC oziroma ARM mikrokrmilnika (prenos teorije v prakso),
 - Individualno delo: Samostojna izdelava naprave z mikrokrmilnikom in pripadajoče programiranje po lastni izbiri v obliki seminarja.
 
Podrobna razčlenitev vsebine:
Teoretični del:
- Primerjava lastnosti in zmogljivosti različnih jeder: 8-bitni PIC in AVR, 32-bitni ARM, CORTEX in MIPS,
 - Nabor ukazov preprostega 8-bitnega jedra PIC, izkoriščanje zmogljivosti in programski triki, klicanje podprogramov in prekinitve,
 - Programiranje mikrokrmdilnikov PIC, uporaba zbirnika MPASM, dostop do programskega FLASH, do podatkovnega FLASH in do zastavic, uporabljani programatorji in programska podpora,
 - Registri jedra ARM, ukazi ARM, Thumb in Jazelle, izjeme jedra ARM, napake in prekinitve, nabor ukazov ARM4, pogojno izvajanje in lastnosti jedra ARM7TDMI z zgodovino,
 - Zbirnik ARM, način zapisa ukazov, ARM shifter operand, klic podprogramov in povratek v ARM, link register, psevdo ukazi zbirnika ARM: LDR=, LTORG, ALIGN, SPACE, DCD,
 - Prevajanje ARM zbirnika: uporaba ARMASM, ARMLINK in FROMELF,
 - Uporaba GNU prevajalnikov AS, LD in OBJCOPY, razlike ukazov zbirnika,
 - Bootloader dostop do vgrajenega FLASH: JTAG, USB, UART (FlashMagic in lpc21isp),
 - Preproste vhodno-izhodne enote, vrste vhodov z/brez histereze, vrste izhodov push-pull in open-drain, pull-up in pull-down upori, nadzor hitrosti, dušilni upori,
 - Hardverski števci, časovniki in PWM (Pulse-Width Modulator) kot vhodno/izhodne enote,
 - Asinhrona zaporedna komunikacija preko UART, registri in nastavitve UART, programiranje in prekinitve, uporaba FIFO, druge različice zaporedne komunikacije AART, USART, HDLC, izračun CRC, protokol SLIP,
 - Zaporedne vhodno-izhodne enote SPI, I2C, JTAG, hardverska in programska izvedba,
 - A/D pretvornik z zaporednim približevanjem, vzorčenje vhodnega signala, čas pretvorbe, programska uporaba A/D pretvornika in prekinitve, različne izvedbe D/A pretvornikov: R2R, PWM itd,
 - Trajni pomnilnik, EEPROM in baterijsko napajan statični RAM,
 - Ethernet vmesniki, MAC in PHY, signali vodila RMII,
 - Prikazovalniki na tekoče kristale (LCD), alfa-numerični in grafični moduli, priklop na mikrokrmilnik, programiranje LCD modulov,
 - Vgradnja mikrokrmilnika, zahteve za tiskano vezje, uporaba podnožij, uporaba ISP (In-System Programming), zahteve napajanja, takta, resetiranja, zaznavanje mrka napajanja, zahteve vhodno-izhodnih enot,
 - Zahteve ciljne naprave z mikrokrmilnikom, izbira primerne strojne opreme, delitev nalog med analogna vezja, programirljivo logiko in mikrokrmilnik,
 - Zasnova programa v mikrokrmilniku, inicializacija podpore (takt, kuža-pazi itd.), inicializacija vhodno-izhodnih enot, glavna zanka programa, preklapljanje med opravili, izbira in smiselna uporaba prekinitev.
 
Praktični del:
- Izdelava tiskanega vezja PIC oziroma ARM mikrokrmilnika,
 - Praktično spajkanje gradnikov PIC oziroma ARM mikrokrmilnika,
 - Oživljanje in preizkus vezij mikrokrmilnika s testnimi programi,
 - Popravljanje napak pri spajkanju, zamenjava napačno vgrajenih in poškodovanih gradnikov.
 - Inštalacija zbirnika in drugih prevajalnikov v okoljih Windows, Linux in MAC-OS,
 - Inštalacija FLASH programatorja oziroma ISP programske opreme v okoljih Windows, Linux in MAC-OS,
 - Osnovno programiranje podpore mikrokrmilnika: takt, PLL, podpora FLASH, kuža-pazi, detekcija mrka napajanja,
 - Osnovno programiranje vhodno-izhodnih enot, preprost I/O, UART, časovnik, SPI, A/D pretovrnik,
 - Osnovno programiranje LCD modula, vhod ukazov s preproste tipkovnice.
 
Seminar:
- Izbira teme,
 - Načrtovanje naprave z mikrokrmilnikom,
 - Osnovno načrtovanje programa,
 - Praktično programiranje mikrokrmilnika,
 - Popravljanje napak v programu,
 - Predstavitev dela ostalim udeležencem.
 
Cilji in kompetence
Cilji:
Sposobnost samostojne izdelave mikrokrmilnika, učinkovite uporabe vgrajenih vhodno-izhodnih enot in pisanje programske opreme v cilju reševanja konkretne naloge v napravi, ki potrebuje podporo mikrokrmilnika. Preizkušanje končnega izdelka, odkrivanje in odpravljanje napak v strojni in programski opremi.
Kompetence (poklicno specifične):
- Poznavanje mikrokrmilnikov različnih tehnologij in zmogljivosti,
 - Poznavanje načina programiranja in pripadajočih programskih orodij za mikrokrmilnike,
 - Reševanje naloge v napravi, ki zahteva podporo mikrokrmilnika.
 
Predvideni študijski rezultati
Znanje in razumevanje:
- poznavanje notranje zgradbe mikrokrmilnika,
 - poznavanje postopkov programiranja jedra in periferije,
 - poznavanje uporabe programskih orodij,
 - razumevanje zmogljivosti mikrokrmilnikov pri reševanju nalog,
 - poznavanje pisanja učinkovitih preogramov za mikrokrmilnike.
 
Nosilec: prof. dr. Matjaž Vidmar
Literatura
Priročnik v obliki učbenika, prosto dostopno udeležencem 1
Digitalno gradivo (programi, podpora), prosto dostopno udeležencem 2
Literatura je udeležencem dostopna prek spletne učilnice ali prek spletne strani.
- http://antena.fe.uni-lj.si/literatura/VajeOK/USB2138/prirocnik/Mikrokrmilnik.pdf
 - http://antena.fe.uni-lj.si/literatura/VajeOK/USB2138/
 
(eng.) The literature is available only in Slovenian language
Opombe
Kreditno ovrednoteni predmeti so financirani s strani Univerze v Ljubljani in so za študente Univerze v Ljubljani brezplačni.