Izdelava in programiranje mikrokrmilnika

Visokošolski učitelji: Vidmar Matjaž



Opis predmeta

Pogoji za vključitev v delo oz. za opravljanje študijskih obveznosti:

Opravljene vse študijske obveznosti prvega letnika univerzitetnega študija katerekoli smeri znanosti oziroma tehnike, ki vključujejo matematiko. Znanje, pridobljeno v tečaju “Praktična izdelava prototipov elektronskih vezij” ali podobnim.

Vsebina

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.

Metode dela:

Predavanja, praktične vaje ter praktična gradnja in programiranje prototipne naprave v laboratoriju. Udeleženci lahko del praktične izdelave opravijo tudi samostojno izven okvira laboratorijskih vaj, končni izdelek pa prinesejo v pregled in oceno na zadnje vaje. Udeleženci po pedagoškem delu samostojno načrtujejo, izdelajo in preizkusijo napravo po lastnih zamislih.





Gradiva

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



Študiji na katerih se predmet izvaja

  • 0 letnik - stopnja - Obštudijska dejavnost