Kreditno ovrednoteni (ECTS)  predmet

Izdelava in programiranje mikrokrmilnika

Vrsta predmeta

Obštudijska dejavnost

Število ECTS KT

4 ECTS KT

Študijski program

ECTS kreditne točke lahko uveljavljate v študijskih programih prve in druge 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.

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:

  1. Primerjava lastnosti in zmogljivosti različnih jeder: 8-bitni PIC in AVR, 32-bitni ARM, CORTEX in MIPS,
  2. Nabor ukazov preprostega 8-bitnega jedra PIC, izkoriščanje zmogljivosti in programski triki, klicanje podprogramov in prekinitve,
  3. Programiranje mikrokrmdilnikov PIC, uporaba zbirnika MPASM, dostop do programskega FLASH, do podatkovnega FLASH in do zastavic, uporabljani programatorji in programska podpora,
  4. 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,
  5. 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,
  6. Prevajanje ARM zbirnika: uporaba ARMASM, ARMLINK in FROMELF,
  7. Uporaba GNU prevajalnikov AS, LD in OBJCOPY, razlike ukazov zbirnika,
  8. Bootloader dostop do vgrajenega FLASH: JTAG, USB, UART (FlashMagic in lpc21isp),
  9. 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,
  10. Hardverski števci, časovniki in PWM (Pulse-Width Modulator) kot vhodno/izhodne enote,
  11. 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,
  12. Zaporedne vhodno-izhodne enote SPI, I2C, JTAG, hardverska in programska izvedba,
  13. 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,
  14. Trajni pomnilnik, EEPROM in baterijsko napajan statični RAM,
  15. Ethernet vmesniki, MAC in PHY, signali vodila RMII,
  16. Prikazovalniki na tekoče kristale (LCD), alfa-numerični in grafični moduli, priklop na mikrokrmilnik, programiranje LCD modulov,
  17. 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,
  18. Zahteve ciljne naprave z mikrokrmilnikom, izbira primerne strojne opreme, delitev nalog med analogna vezja, programirljivo logiko in mikrokrmilnik,
  19. 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:

  1. Izdelava tiskanega vezja PIC oziroma ARM mikrokrmilnika,
  2. Praktično spajkanje gradnikov PIC oziroma ARM mikrokrmilnika,
  3. Oživljanje in preizkus vezij mikrokrmilnika s testnimi programi,
  4. Popravljanje napak pri spajkanju, zamenjava napačno vgrajenih in poškodovanih gradnikov.
  5. Inštalacija zbirnika in drugih prevajalnikov v okoljih Windows, Linux in MAC-OS,
  6. Inštalacija FLASH programatorja oziroma ISP programske opreme v okoljih Windows, Linux in MAC-OS,
  7. Osnovno programiranje podpore mikrokrmilnika: takt, PLL, podpora FLASH, kuža-pazi, detekcija mrka napajanja,
  8. Osnovno programiranje vhodno-izhodnih enot, preprost I/O, UART, časovnik, SPI, A/D pretovrnik,
  9. Osnovno programiranje LCD modula, vhod ukazov s preproste tipkovnice.

Seminar:

  1. Izbira teme,
  2. Načrtovanje naprave z mikrokrmilnikom,
  3. Osnovno načrtovanje programa,
  4. Praktično programiranje mikrokrmilnika,
  5. Popravljanje napak v programu,
  6. 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.

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.