Študentske delavnice

Izdelava in programiranje mikrokrmilnika

Arhitekture mikrokrmilnikov, programiranje v zbirniku in vmesniki – vsak udeleženec načrta, izdela in sprogramira lastno napravo z mikrokrmilnikom.

Prijave zaprte
  • Kreditne točke4 ECTS
  • LokacijaLaboratorij LSO 1, stavba B, 5. nadstropje
  • KotizacijaBrezplačno
  • Število mest12
  • Jezikslovenščina

Komu je namenjeno

Študenti 2. stopnje Univerze v Ljubljani.

Pogoji: Opravljena delavnica Praktična izdelava prototipov elektronskih vezij.

Pogoji za vključitev

  • Splošna znanja elektrotehnike, ki jih študentje pridobijo v prvem letniku študija.
  • Če je prijavljenih več študentov, kot je razpisanih prostih mest za praktični del delavnice, se vključitev omeji po merilih, ki so objavljena pred odprtjem vpisa.
  • Predhodno opravljena delavnica Praktična izdelava prototipov elektronskih vezij.

Vsebina

  • Arhitekture PIC, AVR, ARM in MIPS
  • Programiranje v zbirniku in razvojna orodja
  • Pomnilniki, vrata I/O, časovniki, UART, SPI, I²C, A/D pretvornik
  • Načrtovanje tiskanine za mikrokrmilnik, zagonski nalagalnik
  • Praktično delo: lastna naprava s programsko opremo in predstavitev

Podrobna vsebina

Teoretični del 74 tem
  1. Uvod v mikrokrmilnike: PIC, AVR, ARM, MIPS itd
  2. Zgledi mikrokrmilnikov in zgledi uporabe PIC
  3. Arhitektura mikroprocesorjev von Neumann in Harvard
  4. Vodila, pomnilniki in vmesniki mikrokrmilnikov PIC
  5. Načini pisanja programov za mikrokrmilnike PIC
  6. Struktura pisanja programa v zbirniku, osnovni ukazi
  7. Različni programatorji za FLASH mikrokrmilnikov PIC
  8. Nabor in struktura ukazov mikrokrmilnika PIC
  9. Klicanje podprogramov in delovanje sklada mikrokrmilnikov PIC
  10. Izjemi reset in prekinitev mikrokrmilnikov PIC, povratek iz prekinitve
  11. Računske operacije v PIC: ADD, AND, SUB, IOR, XOR, MOVF
  12. Posebnost PIC: rezultat je eden od obeh operandov W ali f
  13. Nepredznačena in predznačena cela števila, seštevanje in odštevanje
  14. Širina seštevanja, 8bit+8bit=9bit, prenos Carry bit (štejem dalje)
  15. Zgled: 16-bitno seštevanje z 8-bitnim procesorjem, uporaba prenosa
  16. Celoštevilsko odštevanje, problem izposoje, logika bita Borrow
  17. Izvedba logičnih operacij AND, IOR, XOR v registru CPU
  18. Zgled: IPv4 naslov, domena in maska, ugotavljanje zunaj/znotraj domene
  19. Organizacija pomnilnika PIC: vmesniki, RAM, banke, skupni registri
  20. Notranje vezje I/O portov PIC, registri PORT, TRIS in ANSEL
  21. Zgled: preprost program za dvojiški števec z diodami LED na PORTB
  22. Konfiguracija PIC (fuse bits): nastavitve v programatorju oziroma v programu
  23. Notranje možnosti PIC 16F88: notranji RESET in notranja ura
  24. Dodatna zanka za upočasnitev programa PIC, praktična uporaba programatorja
  25. Delovanje A/D pretvornika s sukcesivno aproksimacijo
  26. Sample-and-hold oziroma track-and-hold v PIC, izbira vhoda
  27. Registri A/D pretvornika v PIC in njihova inicializacija
  28. Preprost program za uporabo A/D pretvornika: vzorčenje, zagon pretvorbe, čakanje na konec pretvorbe in prikaz rezultata
  29. Praktično programiranje A/D pretvornika v PIC
  30. Lastnosti jedra ARM, primerjava s CORTEX, PIC, AVR, MIPS
  31. Različni nabori ukazov ARM, registri ARM in različna jedra ARM
  32. Nabor ukazov ARM4 in lastnosti jedra ARM7TDMI z zgodovino, dokumenti
  33. Struktura ukazov jedra ARM, pipeline in pogojno izvajanje vseh ukazov
  34. Računski ukazi jedra ARM: aritmetika, logika, množenje, ARM shifter operand
  35. Zakaj programiranje v zbirniku ARM namesto Crash++?
  36. Dostop do pomnilnika jedra ARM, ukazi LDR in STR različnih oblik
  37. Delo s skladi, preinkrementiranje in postinkrementiranje kazalcev
  38. Klicanje podprogramov v jedru ARM, uporaba link registra
  39. Izjeme jedra ARM, napake in prekinitve, tabela izjem na začetku
  40. Zbirnik ARM, način zapisa ukazov, glava, rep in komentarji
  41. Psevdo ukazi zbirnika ARM: LDR=, LTORG, ALIGN, SPACE, DCD...
  42. Vsebina mikrokrmilnika LPC2138, procesor, pomnilnik, periferija
  43. Praktični zgled programa v zbirniku ARM, uporaba label, LTORG, ALIGN
  44. Notranja zgradba mikrokrmilnika LPC2138, razdelitev pomnilnika
  45. Dostop do pomnilnika FLASH v mikrokrmilnikih ARM
  46. Delovanje cevovoda MAM v mikrokrmilnikih LPC, 128+EDAC, uporaba ALIGN 16
  47. Izogibanje zankam v zbirniku, uporaba makrojev
  48. PLL za množenje ure v LPC2138 in njegova uporaba
  49. Razvod ure znotraj mikrokrmilnika LPC2138
  50. RESET mikrokrmilnika ARM, zagon BOOTLOADER, programiranje FLASH in zaščita vsebine
  51. Prevajanje z zbirnikom ARM: uporaba ARMASM, ARMLINK in FROMELF
  52. Posebnosti zbirnika GNU, uporaba AS, LD in OBJCOPY
  53. Vpis pomnilnika FLASH s programom FlashMagic
  54. Gonilniki FTDI in terminalski program s preizkusom
  55. Alternativni programi za vpis pomnilnika FLASH
  56. Praktični zgled programiranja, prevajanja in pečenja FLASH LPC2138
  57. Krmiljenje LCD prikazovalnika s krmilnikom HD44780
  58. A/D in D/A pretvorniki v mikrokrmilniku LPC2138
  59. Proženje A/D pretvornika v burst mode v LPC2138
  60. Proženje prekinitev IRQ in FIQ v mikrokrmilniku LPC2138, nastavitev VIC in PSR
  61. Praktično programiranje A/D in D/A, izračun vzorčevalne frekvence
  62. Preverjanje delovanja A/D in D/A s funkcijskim generatorjem in osciloskopom
  63. Preprosto nizkoprepustno IIR sito, analogija RC členu LPF, izračun Tau=RC
  64. Izvedba RC LPF na mikrokrmilniku ARM, uporaba LSR za deljenje, popravek velikosti rezultata
  65. Zaporedna vezava dveh IIR LPF, primerjava prevajalne funkcije
  66. Izvedba visokoprepustnega IIR sita, analogija RC členu HPF
  67. Vprašanje predznačenega rezultata, nastavitev delovne točke DAC
  68. Zaporedna vezava dveh visokoprepustnih IIR sit
  69. Izvedba polnovalnega usmernika v DSP, obračanje predznaka
  70. Glajenje izhoda polnovalnega usmernika z dodatnim IIR nizkoprepustnim sitom
  71. Izvedba LC nihajnega kroga v DSP, izračun rezonančne frekvence
  72. Nastavitev kvalitete DSP rezonatorja
  73. Praktična izvedba DSP nihajnega kroga z dvema spremenljivkama in ukazi MUL
  74. Preverjanje odziva DSP pasovnega sita z nihajnim krogom
Praktični del 3 tem
  1. Sestavljanje preprostega mikrokrmilnika
  2. Popravljanje napak pri spajkanju
  3. Zamenjava napačno vgrajenih in poškodovanih gradnikov
Kaj odnesete domov

Delujoča naprava z mikrokrmilnikom po lastni izbiri, s tiskanino in programsko opremo.

Akreditirana obštudijska dejavnost

Delavnica je kreditno ovrednotena obštudijska dejavnost Univerze v Ljubljani (4 ECTS).

Vrsta dejavnosti
Izbirna – raziskave, znanost in projekti, ki niso del obveznih sestavin študijskih programov
Študijski programi
Elektrotehnika (MAG) ali enakovreden študijski program UL
Stopnja
2. stopnja UN
Letnik
1. letnik 2. stopnje ali višji
Semester
letni

Utrinki z izvedb

Programiranje mikrokrmilnika na delavnici

Izvajalci

  • Izvajalecprof. dr. Matjaž Vidmar
  • Asistentdoc. dr. Aljaž Blatnik
  • LaborantLuka Zmrzlak, mag. inž. el.

Dokumenti in povezave