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