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

Fotografija 2
Fotografija 3
Izvajalci
- Izvajalecprof. dr. Matjaž Vidmar
- Asistentdoc. dr. Aljaž Blatnik
- LaborantLuka Zmrzlak, mag. inž. el.