Mikrokrmilnik priprava na vaje Janez Per Fakulteta za

  • Slides: 18
Download presentation
Mikrokrmilnik – priprava na vaje Janez Perš Fakulteta za elektrotehniko, Univerza v Ljubljani http:

Mikrokrmilnik – priprava na vaje Janez Perš Fakulteta za elektrotehniko, Univerza v Ljubljani http: //vision. fe. uni-lj. si Gradniki sistemov procesnega vodenja, 25. 10. 2021

Perspektiva

Perspektiva

Vsebina (1/2) • Program in vsebina vaj • Procesor / mikrokrmilnik • Uporaba in

Vsebina (1/2) • Program in vsebina vaj • Procesor / mikrokrmilnik • Uporaba in prednosti • Motorola HC 12 – glavne značilnosti • Razvojna ploščica ELEXSYS • Serijski vmesnik in D-bug 12 • Primer krmiljenja periferije (LED) • Vgrajen zbirnik/inverzni zbirnik

Vsebina (2/2) • Nekaj primerov programov • Osnovni gradniki programov • Uvod v delo

Vsebina (2/2) • Nekaj primerov programov • Osnovni gradniki programov • Uvod v delo s Code. Warriorjem

Program in vsebina vaj • Trije cikli laboratorijskih vaj • Prvi cikel: Sreda 15.

Program in vsebina vaj • Trije cikli laboratorijskih vaj • Prvi cikel: Sreda 15. 00 - 17. 00 • Drugi cikel: Sreda 17. 00 – 19. 00 • Tretji cikel: Sreda 08. 00 - 10. 00 • Sprotni zagovor vaj je obvezen. • Izvedba vaj: • Avditorne vaje: Predstavitev določene teme (problem, periferija), kratek primer • Laboratorijske vaje: Samostojno reševanje kompleksnejšega problema • Zagovor načeloma v okviru istega bloka vaj – praktična demonstracija rešitve in njen zagovor. • Kompenzacija za odsotnost: seminarska naloga, 2 A 4 + samostojno izvedena vaja z zagovorom

Mikrokrmilnik • V čem se mikrokrmilnik razlikuje od procesorja?

Mikrokrmilnik • V čem se mikrokrmilnik razlikuje od procesorja?

Motorola HC 12 • Več izvedb, delali bomo na MC 9 S 12 DP

Motorola HC 12 • Več izvedb, delali bomo na MC 9 S 12 DP 256 B • V enem samem čipu se nahaja med drugim: • 16 bitni HCS 12 CPU • 256 KB flash EEPROM • 4 KB EEPROM • 12 KB RAM • 2 8 -bitnih paralelnih vrat (A in B) • 8 -kanalni časovnik • 2 8 -kanalna, 10 -bitna A/D pretvornika • 8 kanalni, 8 bitni pulznoširinski modulator • 2 serijska (RS 232) vmesnika • 5 vmesnikov za CAN vodilo. . .

RAM, EEPROM in FLASH • Kaj so bistvene razlike? • Za kaj bi (načeloma)

RAM, EEPROM in FLASH • Kaj so bistvene razlike? • Za kaj bi (načeloma) uporabili RAM, za kaj EEPROM in za kaj FLASH? • Kako bi programirali mikrokrmilnik, ne da bi se v FLASHu nahajal program za komunikacijo? • BDM vmesnik • Povezava dveh mikrokrmilnikov istega tipa med sabo preko BDM. • Delujoč mikrokrmilnik lahko dostopa do procesorskih registrov in pomnilnika mikrokrmilnika, ki ga programiramo preko BDM vmesnika.

Razvojna ploščica ELEXSYS • Stabiliziran napajalnik • 2 RS 232 vmesnika • 7 segmentni

Razvojna ploščica ELEXSYS • Stabiliziran napajalnik • 2 RS 232 vmesnika • 7 segmentni LED prikazovalnik • 16 Mhz oscilator, reset tipka • I/O sponke speljane na konektorje • 9 S 12 DP 256 B mikrokrmilnik • V flash naložena Motorolin D-Bug 12 in bootloader • S pomočjo druge ploščice (BDM) je možno oba nadomestiti z enostavnejšim serijskim monitorjem (zaseda samo 2 KB, popolna podpora v Code. Warriorju)

Razvojna ploščica ELEXSYS

Razvojna ploščica ELEXSYS

D-Bug 12 • Komunicira preko prvega serijskega vmesnika po RS 232 protokolu (9600 -8

D-Bug 12 • Komunicira preko prvega serijskega vmesnika po RS 232 protokolu (9600 -8 -N-1)

D-Bug 12 • Zmogljiv razhroščevalnik (debugger): • Nalaganje programov v RAM • Izvajanje programov

D-Bug 12 • Zmogljiv razhroščevalnik (debugger): • Nalaganje programov v RAM • Izvajanje programov • Izvajanje “korak po korak”, s sprotnim vpogledom v registre • Vpogled v pomnilnik , možnost direktnega vpisovanja vrednosti v pomnilnik ali I/O registre • Assembler (neposredno vpisovanje programov) • Disassembler (strojna koda -> mnemoniki) • Pomoč (help) za posamezne ukaze!

D-Bug 12 • Demonstracija • Pomoč • Izpis vrednosti iz pomnilnika • Vpisovanje vrednosti

D-Bug 12 • Demonstracija • Pomoč • Izpis vrednosti iz pomnilnika • Vpisovanje vrednosti neposredno v pomnilnik • Izpis procesorskih registrov • Spreminjanje vrednosti registrov • Zbirnik, program v RAMu • Inverzni zbirnik • Zagon programa • Izvajanje po korakih • Preprost primer: seštevanje • Urejanje/popravljanje programa

Mapa adresnega prostora

Mapa adresnega prostora

Primer z I/O vmesnikom • Želimo prižgati linijo 1 na paralelnem vmesniku A (na

Primer z I/O vmesnikom • Želimo prižgati linijo 1 na paralelnem vmesniku A (na A je priklopljen 7 segmentni LED prikazovalnik) • Določimo smer prenosa podatkov skozi A kot izhod: mm $0002 $FF • “prižgemo” signal: mm $0000 $FE

Primer z I/O vmesnikom • $FFCC-$FFCD prekinitveni vektor za vrata H • $0262 smerni

Primer z I/O vmesnikom • $FFCC-$FFCD prekinitveni vektor za vrata H • $0262 smerni register vrat H • $0260 “podatkovni register” vrat H • $0265 register za izbiro polaritete proženja za vrata H • $0266 register za omogočenje prekinitev na vratih H • $0267 register prekinitvenih zastavic na vratih H • $0002 smerni register vrat A • $0000 podatkovni register vrat A • $0003 smerni register vrat B • $0001 podatkovni register vrat B

Code. Warrior • Komercialni izdelek podjetja Metrowerks • Popolno okolje za razvoj programov za

Code. Warrior • Komercialni izdelek podjetja Metrowerks • Popolno okolje za razvoj programov za HC 12 (in nekatere ostale) • Urejevalnik, zbirnik, C/C++ prevajalnik, povezovalnik, razhroščevalnik. . . • Vsebuje tudi simulator HC 12 (!) • Omogoča razhroščevanje programov neposredno na mikrokrmilniku (delo s periferijo!) • Preizkusna različica (special edition) je na voljo zastonj.

Code. Warrior • Koncept: prevajanje na eni platformi za drugo ciljno platformo (Windows ->

Code. Warrior • Koncept: prevajanje na eni platformi za drugo ciljno platformo (Windows -> HC 12) • Vsa orodja morajo biti pravilno nastavljena (točen tip mikrokrmilnika) • Ogrodje projekta pripravi Code. Warrior s pomočjo čarovnika. • Vse korake - prevajanje, povezovanje, prenos v mikrokrmilnik (v flash) izvedemo s pomočjo Code. Warriorja. • Na mikrokrmilniku mora teči Serial monitor (in ne D -Bug 12).