Inlärningsfrågor Datorteknik I RM = HC11 Reference Manual HiP = HC11 i praktiken (Häfte25) H26 = Häfte nr 26 Datablad IAR# = IAR:s manual kapitelnr... A. Mikrodatorsystem 1. Vilka block kan man säga att ett 1. In Processor Ut mikrodatorsystem består av? Minne 2. Vilka av dessa funktioner är inbyggda i HC11? 2. Processor, minne 3. Vilka är "förberedda"? 3. In: Portar, A/D-omvandlare Mer minne adr- & data-bussar Ut: Portar 4. Vad är en buss? 4. En knippe ledningar [för överföring av signaler; som logiskt hör ihop] och trafikreglerna för signalerna. 5. Hur många ledningar rör det sig om? 5. Normalt 8, 16, 32 eller 64. (Man säger att tex adressbussen är 16 bitar bred.) 6. Nämn några bussar i ett mikrodatorsystem. 6. Adressbuss. Databuss. Kontrollbuss. B. MC68HC11 1. Vilken variant av HC11 använder vi på TFE? (Konsultera Table 1-1) RM s 1-5 1. MC68HC11A1 2. Vad är den bestyckad med? 2. 256 byte RAM. 512 byte EEPROM. (Inget ROM eller EPROM.) A/D-omvandlare, synkron & asynkron serieport, parallellport, timer. (~150:- + moms) 3. Vad heter HC11:s fyra arbetssätt? 3. Single chip Expanded Normal 1. 2. (Lab 270 m.fl.) Namn gm kombination av fkn. Special 3. Bootstrap (Lab 266) 4. Test Har egna namn. 4. Vad kännetecknar dem? RM 3.4.1 RM 3.4.2 RM 3.5.4 3.5.4.4 RM 3.5.3 4. 1. Normal Single Chip Mode All prgkod måste hysas internt. PortB & PortC tillgängliga som paralellportar. Kräver HC11 med ROM ( vektorerna). 2. Normal Expanded Mode Muxade adr/data-bussar. Kan ha externa kretsar. 3. Special Bootstrap Mode (Special Single Chip) Avbrottsvektorer på adr BFC0-BFFFh. Litet bootloader ROM på BF40-BFBFh, som (a) laddar ner ett prg i RAM via serieporten. (b) Kan starta från EEPROM direkt. Kan koppla på bussexpansionen om man vill. 4. Special Test Mode (Special Expanded) Tänkt för [fr.a. fabriks]tester. 5. Hur väljer man dem? 5. Med 4 signallkombinationer på ben MODA & MODB (enl TABLE 2-1 [= Table 3-1]) vid RESET. 6. Vad heter de 5 internregister som man styr 6. HPRIO Styr arbetssätt [+ avbrottsprioritering]. Skrivbar vid speciella tillfällen. grundkonfigurationen med? CONFIG Styr konfigurationen av ROM & EEPROM, & säkerhet. Är av EEPROM-typ. Och vad styr de? INIT Bestämmer adressblock för interna register & RAM. TMSK2 Bit 1&0 = Timer prescaler (bestämmer räknarens grundnerväxling) OPTION Div (IRQ, startfördröjning, COP Timer) 7. Hur många internregister har HC11? 7. 40 st 8bitars. 9 st 16 bitars. Håkan Joëlson hakan.joelson@teknikum.umu.se hj@ing.umu.se rev 99-10-18 Utskrift 99-10-25 DA1QA.DOC 1
8. Vilka grupper av internregister kan man 8. Portar 9+8st 8 bitars urskilja? Timer 11st 8 bitars 9st 16 bitars A/D-omvandlare 5st 8 bitars Konfigurering 7st 8 bitars 9. Hur många användarregister (ackumulatorer) RM 6.1 9. 7 (8) AccA AccB (tillsammans AccD) (Accumulator...) Ackumulator A, B, D har HC11? Vad heter de? (särs IX IY (Index register...) Indexregister X, Y Figure 6-1) SP (Stack Pointer) Stackpekaren PC (Program Counter) Programräknaren CCR (Condition Code Register) Villkorsregistret 10. Vad står bitarna i villkorsregistret för? RM 6.1.5 10. Bitarna är inte logiskt grupperande, pga historiska skäl - utv. från 6800 & 6801. H, N, Z, V, C är flaggor. S Inte tillåta STOP instruktionen X Inte tillåta avbrott från XIRQ-benet. (XIRQ-mask) H Carry från bit 3. För BCD-matte. (Kan sättas bara av 3 instruktioner) I Global avbrottsmask N MSB = 1, dvs i 2-komplement-form är talet ett negativt tal Z Resultatet negativt, dvs alla bitar = 0 V 2-komplement overflow C Carry (addition), eller borrow (subtraktion) 11. Vad kan villkorsregistret användas till? 11. Maska avbrott. Testa resultatet av operationer, välja väg för programflödet 12. Vilka system finns för intern övervakning och säkerhet? RM 3.2.2, 5.2.2, 10.2.3, 3.5.4.1 12. COP Watchdog (Computer Operating Properly) EEPROM Security C. HC11-EVB Utvecklingskort 1. I vilket av sina 4 arbetssätt (modes) arbetar normalt HC11 på HC11-EVB? RM s2-9 1. Normal expanded. Eftersom HC11-EVB utnyttjar externa kretsar (EPROM, RAM, PIA), måste adr.& databuss kunna användas. 2. Kan HC11-EVB köra i nåt annat läge? 2. Ja. 3. Isåfall, hur åstadkommer man det? H25 s7 3. Bygling av MODA & MODB. 4. Vilken klockhastighet har HC11-EVB? H25 s8 4. 2 MHz. (MHz-krstallen delas /4.) 5. Vad är HC11-EVB bestyckad med? Nämn 5. EPROM 8kB, RAM 32kB, PIA 6821 (parallellportar) några viktiga kretsar. 6. Vilken krets håller isär adress och data på AD0 - AD7, och vilken signal hjälper till med det? H25 s7,8 RM 2.2.10 6. IC4 = 74HC373 (en latch). AS (Address Strobe) ben 26 7. Vilken krets ansvarar för adressavkodningen? 7. PLL-kretsen EP600 Håkan Joëlson hakan.joelson@teknikum.umu.se hj@ing.umu.se rev 99-10-18 Utskrift 99-10-25 DA1QA.DOC 2
8. På vilken adress börjar [externa] PIA? interna registrena? interna RAM? esterna RAM? EPROM? H25 s6 8. 8000h 9000h A000h 0000 E000h D. Peripheral Interface Adapter PIA 6821 1. Hur många register har PIA? 1. 6 2. Vad kallas de? 2. CRA CRB ORA ORB De heter Output Register, men samma adr används för att hämta inkommande data om man använder den kanalen som ingång DDRA DDRB 3. Vilka ben på PIA:n använder man för att adressera den (för att den ska "känna sej anropad")? 4. Hur vet PIA om det är ORx eller DDRx som avses? 3. CS0, CS1, CS2 [i viss mån RS0, RS1 för att välja specifikt register] Enable, R/W 4. Bit 2 i CRx = 0 adr...00 DDRA adr...10 DDRB Bit 2 i CRx = 1 adr...00 ORA adr...10 ORB 5. "Benbrist", strävan att hålla antal ben nere. Lösningen bler rimlig tack vare att man flackar sällan mellan ORx & DDRx. Man sätter ofta datariktning "1 gång för alla". 6. Nej. PA har interna pull-up-motdstånd ( kan driva CMOS-kretsar) PB har 3-state utgångsbuffertar. 5. Vad kan ha fått konstruktörerna att välja denna lösning? 6. Är PA-anslutningarna exakt likadana som PBanslutningarna? (Elektriskt tex.) Motivera. 7. Hur många avbrottsingångar har PIA? H26 s26 7. Kan ha 4. CA1 & CB1 är alltid avbrottsingångar. CA2 & CB2 kan vara avbrottsingångar (eller kontrollutgångar). 8. Hur många kontrollutgångar? (som kan 8. Kan ha 2. CA2 & CB2 kan vara utgångar. generera avbrott). 9. Hur blockerar man PIA från att ta emot 9. CRx bit 3 = 0 avbrott bortmaskat hos Cx2 (Cx2 som ingång). avbrott? CRx bit 0 = 0 avbrott bortmaskat hos Cx1. H. Adressavkodning 1. I vilket arbetssätt (mode) måste man köra 1. Normal expanded. HC11 för att adressavkodning ska ha nån betydelse? 2. Vad är poängen med adressavkodning? 2. Att processorn ska kunna tilltala externa kretsar exklusivt. 3. Hur många unika adresser kan HC11 nå? 3. 64 kb (65636) 4. Vad är det för skillnad på absolut och partiell adressavkodning? 4. Absolut: Bara 1 [unik] adress pekar på 1 extern enhet eller minnescell. Partiell: Flera [unika] adresser inom ett block kan peka på en extern enhet eller minnescell. Håkan Joëlson hakan.joelson@teknikum.umu.se hj@ing.umu.se rev 99-10-18 Utskrift 99-10-25 DA1QA.DOC 3
5. Vilken/a bit/ar av adressen ska man tänka på när man vill nå ett block av adresser? 6. Vilken/a bit/ar av adressen ska man tänka på när man vill nå en viss minnescell eller ett specifikt register i en extern enhet? 7. Vad är minsta möjliga minnesblock man blockerar med adressbitar 14 och 15? 13, 14 och 15? 11-15? 8. Vilka ben på HC11 kan/ska man tänka på för att få adressavkodningen att fungera när man kopplar in externa kretsar? 9. Vilka ben på LCD-panel VK2010 kan/ska man tänka på för att få adressavkodningen att fungera när man kopplar ihop den med HC11? 10. Vilka ben på EPROM 27C64 kan/ska man tänka på för att få adressavkodningen att fungera när man kopplar ihop den med HC11? 11. Hur ska man ordna en högre grad av unik adressering till en extern krets som har ett litet antal styringångar? 5. Högsta bitarna (MSB & neråt) 6. Lägsta bitarna (LSB & uppåt) 7. 16kB block 8kB block 2kB block 8. A0 - A15, E, R/W ([Data på] D0-D7 påverkar inte adressavkodningen, men väl bör man tänka på dem allmänt vid inkoppling av externa kretsar.) 9. E, R/W, RS. 10. A0-A12, G, E 11. Med "mellanliggande" extra-logik & diskreta grindar, eller tex 1-av-8 demux. L. Temperaturgivare SMT160 1. Vad ger den för slags utsignal? 1. Fyrkantvåg 2. Kan utsignalen avläsas analogt eller digitalt? 2. Ja, både och. 3. Hur yttar sej temperaturförändringar i utsignalen? 3. * Pulskvoten är proportionell mot temperaturen. t d ökar, dvs ökande pulskvot. * Frekvensen ändras med ändrad pulskvot. 4. Vilket temperaturomfång klarar den av? (Blad 2) 4. -45 - +130 C -30 - +100 C 5. Med vilken noggrannhet? 5. ± 1,2 C ± 0,7 C 6. Hur kalibrerar man den? (Behövs det?...) (Blad 3) 6. Behövs inte. Kalibrerad under produktion. 7. Hur beräknar man temperaturen? (Blad 3) 7. T = K1 ( t d / t p ) + K2 DC = 0.320 + 0.00470t t = (DC-0,320)/0.00470 8. Två huvudkoncept för temperaturmätning. 8. A. Tidsbestäm uppflank Tidsbestäm nerflank ger t d ger t p Tidsbestäm nästa uppflank ta flera läsningar, ta medelvärde B. Polla på en vanlig portingång ung. enl p3 blad 5 Notera antal HÖGA & antal LÅGA nivåer Håkan Joëlson hakan.joelson@teknikum.umu.se hj@ing.umu.se rev 99-10-18 Utskrift 99-10-25 DA1QA.DOC 4
E. Utvecklingsmiljön 1. Vilka 2 huvuddelar kan man säga att utvecklingshjälpmedlena för HC11 på TFE består av? 2. Hur skapar man ett projekt i Embedded Workbench? 3. Vilka av följande filtyper kan genereras i programutvecklingsprocessen?.map.exe.s07.prj.pas.pif.h11.r07.c.d07.dtp.bjt.bat.xcl.lst.com.a07.h.cfg 4. Var i EW:s meny gör man inställningar för att styra de olika momenten i programutvecklingen? 1. Utvecklingskort HC11-EVB Utvecklingsprogramvara IAR (Nohaw) 2. 3..map.exe.s07.prj.r07.c.d07.dtp.xcl.lst.a07.h.cfg 4. Menyn Project/Options. Lagras i filen xxxx.prj. 5. Vad har man för nytta av.lst-filen? 5. Rad#. Se felmeddelanden i kontext. Se källkod och opkod i förhållande till varandra, dvs [ev. C-kod-]assemblerkod-opkod. 6. Vad har man för nytta av.map-filen? 6. Se vilka minnesareor olika delar av ens exekverbara kod placeras i. Symbollista. 7. Hur definierar man en adress i C-kod i IAR? 7. 8. Placera följande programutvecklingssteg i rätt ordning, och para ihop med producerad filtyp (källkod i C): länkning.r07 editering.d07 kompilering.c (källkod i assembler): länkning.s07 assemblering.d07 editering.r07 8. C assembler editering.c.s07 kompilering.r07 assemblering.r07 länkning.d07.d07 9. Vad innehåller dessa 4 filtyper? 9..c källkod i C.s07 källkod i assembler.r07 exekverbar kod i moduler (inte minnesallokerad).d07 exekverbar kod färdiglänkad, med debuggerinformation 10. Hur kan man se vilken assemblerkod som 10. genereras vid kompilering av C-kod? 11. Hur många fördefinierade minnesmodeller 11. understödjer IAR-kompilatorn? Vad kallas de? 12. Vilka HC11-konfigurationer är de avsedda för? 12. 13. Hur väljer man minnesmodell? 13. 14. Vad innebär det att optimera objekt-kod? 14. Håkan Joëlson hakan.joelson@teknikum.umu.se hj@ing.umu.se rev 99-10-18 Utskrift 99-10-25 DA1QA.DOC 5
15. Hur talar man om för kompilatorn att den ska optimera? 16. Vilka skäl kan göra det nödvändigt att optimera koden? 17. Nämn några typer av listfiler som man kan låta IAR generera. 15. 16. När man får så mycket exekverbar kod att den inte ryms i [mål]systemets minne. 17. Håkan Joëlson hakan.joelson@teknikum.umu.se hj@ing.umu.se rev 99-10-18 Utskrift 99-10-25 DA1QA.DOC 6