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.