Prijava
Delavnica izdelave tiskanin
Delavnica mikrokrmilnikov
|
Izdelava in programiranje mikrokrmilnika Akreditirana obštudijska dejavnost
Izvajalec: prof. dr. Matjaž Vidmar, univ.dipl.inž.el.
Asistent: as. Aljaž Blatnik, mag.inž.el.
Laborant: Simon Stanič, mag.inž.el.
Delavnica je brezplačna, namenjena študentom Univerze v Ljubljani, ki imajo veljaven status študenta na programu 2. stopnje. Študentje lahko z udeležbo pridobijo 4 kreditne točke. Zahteva se predhodno opravljena delavnica izdelave tiskanih vezij.
Vrsta dejavnosti: izbirna (6. Raziskave/znanost/projekti, ki niso del obveznih sestavin študijskih programov)
Študijski program: Elektrotehnika (MAG), ali ekvivalentni študijski program UL
Stopnja: 2. stopnja UN
Letnik: 1. letnik 2. stopnje ali višji
Semester: letni
Jezik izvajanja dejavnosti: slovenščina
Sklep senata UL
Pogoji za vključitev v delo oz. za opravljanje študijskih obveznosti
Splošna znanja elektrotehnike, ki jih študentje pridobijo tekom prvega letnika študija.
V primeru večjega števila študentov, kot je razpisanih prostih mest za praktični del delavnice, se izvede omejitev vključitve v projekt po kriterijih, ki so objavljeni pred odprtjem vpisa.
Vsebina
Groba razčlenitev vsebine:
- Jedro PIC
- Jedro ARM
- Praktično delo: Izdelava prototipne tiskanine
- Praktično delo: Poskusno programiranje izbranega mikrokrmilnika
Podrobna razčlenitev vsebine:
Teoretični del:
- 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 prekinive
- 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 LEDikami na PORTB
- Konfuguracija PIC (fuse bits): nastavitve v pekaču oziroma v programu
- Notanje možnosti PIC 16F88: notranji RESET in notranja ura
- Dodatna zanka za upočasnitev programa PIC, praktična uporaba programatorja
- Delovanje A/D pretovrnika 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 mikrokmilnikih 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 pretovrnika 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
- Prevrenjanje 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 DPS rezonatorja
- Praktična izvedba DSP nihajnega kroga z dvema spremenljivkama in ukazi MUL
- Preverjanje odziva DSP pasovnega sita z nihajnim krogom
Praktični del:
- Sestavljanje preprostega mikrokrmilnika
- Popravljanje napak pri spajkanju
- Zamenjava napačno vgrajenih in poškodovanih gradnikov
|