Undantag, avbrott. Avsnitt 7. Undantag, avbrott

Storlek: px
Starta visningen från sidan:

Download "Undantag, avbrott. Avsnitt 7. Undantag, avbrott"

Transkript

1 Undantag, avbrott Avsnitt 7 Undantag, avbrott Inledning Processorn befinner sig normalt i Threade-mode, utförandes ett program. Om något exceptionellt inträffar, kallar vi detta ett undantag. Eftersom undantag utförs under speciella omständigheter övergår processorn till Handler mode. Läs igenom följande i "STM32F4xx Cortex M4 programming manual": Avsnitt 2.3 (sidor 36-43), om "Exceptions" Avsnitt 4.3 (sidor ), om "Nested Vectored Interrupt Controller" NVIC. Avsnitt 4.4 (sidor ) översiktligt, om "System Control Block", SCB. Läs igenom följande i "STM32F407 reference manual": Avsnitt 12 (sidor ), om "Interrupts and events" Avsnitt 9 (sidor ) översiktligt, om "System Configuration Controller", SYSCFG. 103

2 Arbetsbok för MD407 Undantagsvektorer Vektortabellen beskriver hur undantagsvektorerna organiseras i minnet. Den inbördes ordningen är alltid den samma och varje vektor innehåller startadressen till undantagets hanteringsrutin, här återges bara en liten del av tabellen. Vid RESET är vektortabellen placerad i flashminne, dvs. icke skrivbart minne. Dessa kan då endast ändras genom att man programmerar om minnesinneållet. En alternativ startadress för vektortabellen kan anges i registret VTOR i SCB, vi säger då att tabellen relokerats (flyttats). I MD407 är vektortabellen relokerad till adress 0x2001C000, vilket innebär att den finns i skrivbart minne och alltså kan ändras utan speciell programmeringsutrustning. 104

3 Undantag, avbrott Externa avbrott Avbrott från yttre enheter kan kopplas via någon av den många IO-pinnarna hos processorn. Detta innebär alltså att det inte finns någon speciell pinne hos processorn utan praktiskt taget en godtycklig pinne kan användas som avbrottsingång. Avbrottsingångar konfigureras i tre steg SYSCFG-modulen används för att koppla en GPIO-pinne från någon port till en specifik avbrottsvektor. Detta görs via något av registren SYSCFG_EXTICRx. EXTI-modulen (External interrupt/event controller) programmeras, här måste man ettställa den bit i modulens mask-register (EXTI_IMR) som motsvarar den använda avbrottsvektorn. Man måste också programmera trigger-registren där man anger om avbrott ska generas på negativ flank (EXTI_FTSR) eller positiv plank (EXTI_RTSR) eller rentav av båda flanker. NVIC-modulen (Nested vecored interrupt controller) programmeras för att hantera avbrott från denna avbrottsvektor (NVIC_ISERx). Figur: Konfigurering "Avbrottslina" till avbrottsystemet Översikt SYSCFG Register offset Register 0 SYSCFG_MEMRMP 4 SYSCFG_PMC 8 SYSCFG_EXTICR1 0xC SYSCFG_ EXTICR2 0x10 SYSCFG_ EXTICR3 0x14 SYSCFG_ EXTICR4 0x20 SYSCFG_ CMPCR Figur: Registeruppsättning SYSCFG Vi koncentrerar oss här på de register som används för avbrottshanteringen och beskriver därför först bara de övriga( MEMRMP, PMC och CMPCR) översiktligt. 105

4 Arbetsbok för MD407 SYSCFG_MEMRMP (0x ) Memory remap register Registret används för att konfigurera adressutrymmet från adress 0 och uppåt. Normalt sett används de båda BOOT-pinnarna på kretsen för detta men med detta register kan det även göras i mjukvara. För MD407 gäller att FLASH-minnet, med startadress 0x dubbelavbildas från adress 0 och uppåt. SYSCFG_PMC (0x ) Peripheral mode configuration register offset Register 4 R_SEL ADCxDC2 SYSCFG_PMC rw rw rw rw Används för att konfigurera de fysiska egenskaperna hos Ethernet-gränssnittet (R_SEL) och välja funktion hos AD-omvandlare. Se tillverkarens anvisningar. SYSCFG_EXTICR1 (0x ) External interrupt configuration register 1 offset Register 8 EXTI3[3:0] EXTI2[3:0] EXTI1[3:0] EXTI0[3:0] SYSCFG_EXTICR1 rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw Bitarna i alla fyra CR-registren har samma betydelse, se nedan SYSCFG_EXTICR2 (0x C) External interrupt configuration register 2 offset Register 8 EXTI7[3:0] EXTI6[3:0] EXTI5[3:0] EXTI4[3:0] SYSCFG_EXTICR2 rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw SYSCFG_EXTICR3 (0x ) External interrupt configuration register 3 offset Register 0x10 EXTI11[3:0] EXTI10[3:0] EXTI9[3:0] EXTI8[3:0] SYSCFG_EXTICR3 rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw SYSCFG_EXTICR4 (0x ) External interrupt configuration register 4 offset Register 0x10 EXTI15[3:0] EXTI14[3:0] EXTI13[3:0] EXTI12[3:0] SYSCFG_EXTICR4 rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw Bit 15:0 EXTIx[3:0]: Dessa bitar bestämmer hur en IO-pinne dirigeras till någon av de 16 avbrottslinorna EXTI0..EXTI15 genom att motsvarande fält skrivs med fyra bitar. Undantag: PK[15:8] används ej. 0000: PA[x] 0001: PB[x] 0010: PC[x] 0011: PD[x] 0100: PE[x] 0101: PF[x] 0110: PG[x] 0111: PH[x] 1000: PI[x] 1001: PJ[x] 1010: PK[x] SYSCFG_CMPCR (0x ) Compensation cell control register Används normalt inte men kan aktiveras för att öka stigtiden vid IO-frekvenser över 50MHz. Se tillverkarens anvisningar. Vi har alltså 16 olika avbrottslinor (EXTI0..EXTI15). Alla GPIO-pinnar med samma nummer kan dirigeras till en avbrottslina, man kan dock bara använda en i taget. dvs. GPIO-pinnar PA0, PB0, PC0 etc. kan kopplas till avbrottslina 0 (EXTI0), PA1, PB1, PC1 etc kan kopplas till avbrottslina 1 (EXTI1) osv. Utöver dessa finns det ytterligare 7 avbrottslinor, dessa är fast kopplade till olika moduler enligt följande: 106

5 Undantag, avbrott Irq EXTI16 EXTI17 EXTI18 EXTI19 EXTI20 EXTI21 EXTI22 Beskrivning PVD utgång fast ansluten till EXTIO16 RTC "Alarm event" fast ansluten till EXTIO17 USB OTG FS "Wakeup event" fast ansluten till EXTIO18 Ethernet "Wakeup event" fast ansluten till EXTIO19 USB OTG HS "Wakeup event" fast ansluten till EXTIO20 RTC "Tamper and TimeStamp" fast ansluten till EXTIO21 RTC "Wakeup event" fast ansluten till EXTIO22 I MD407 har STM32F407 har 7 olika avbrottsvektorer, snarare än 16, avsatts för EXTI0-EXTI15 avbrott, här har man valt att ha gemensam avbrottsvektor för EXTI5 t.om EXTI9, respektive EXTI10 t.o.m EXTI15: Irq Hanteringsrutin Beskrivning EXTI0_IRQn EXTI0_IRQHandler för IO-pinnar anslutna till avbrottslina 0 EXTI1_IRQn EXTI1_IRQHandler för IO-pinnar anslutna till avbrottslina 1 EXTI2_IRQn EXTI2_IRQHandler för IO-pinnar anslutna till avbrottslina 2 EXTI3_IRQn EXTI3_IRQHandler för IO-pinnar anslutna till avbrottslina 3 EXTI4_IRQn EXTI4_IRQHandler för IO-pinnar anslutna till avbrottslina 4 EXTI9_5_IRQn EXTI9_5_IRQHandler för IO-pinnar anslutna till avbrottslinor 5 till 9 EXTI15_10_IRQn EXTI15_10_IRQHandler för IO-pinnar anslutna till avbrottslinor 10 till 15 EXEMPEL: IO-pinne PE3 dirigeras till EXTI3 EXTI0 t.o.m EXTI3 konfigureras i SYSCFG_EXTICR1. Adressen till detta register blir (se översikt) 0x Vi får därför: #define SYSCFG_EXTICR1 0x /* Nollställ fält */ *((unsigned int *) SYSCFG_EXTICR1) &= ~0xFFF; /* PE3->EXTI3 */ *((unsigned int *) SYSCFG_EXTICR1) = 0x4000; Totalt finns det alltså 23 olika möjliga avbrottslinor i EXTI-modulen, även om inte alla används i STM32F407. Översikt EXTI Register offset Register 0 EXTI_IMR 4 EXTI_EMR 8 EXTI_RTSR 0xC EXTI_FTSR 0x10 EXTI_SWIER 0x14 EXTI_PR EXTI_IMR (0x40013C00) Interrupt Mask Register 0 rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw EXTI_IMR Bit IMR[22..0]: Avbrottsmask för avbrottslina x. 0: Avbrott är maskerat (deaktiverat) 1: Avbrott är aktiverat. EXTI_EMR (0x40013C04) Event Mask Register 4 rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw EXTI_EMR Bit EMR[22..0]: Eventmask för avbrottslina x. 107

6 Arbetsbok för MD407 0: Event är maskerat (deaktiverat) 1: Event är aktiverat. Varje avbrottslina kan konfigureras för avbrott på positiv och/eller negativ flank. EXTI_RTSR (0x40013C08) Rising Trigger Selection Register 8 rw rw rw rwrw rw rw rwrw rw rw rw rw rwrw rw rw rw rw rw rw rwrw EXTI_RTSR Bit RTSR[22..0]: Trigg på positiv flank för avbrottslina x. 0: Trigg på positiv flank är maskerat (deaktiverat) 1: Trigg på positiv flank är aktiverat. EXTI_FTSR (0x40013C0C) Falling Trigger Selection Register 0xC rw rw rw rwrw rw rw rwrw rw rw rw rw rwrw rw rw rw rw rw rw rwrw EXTI_FTSR Bit FTSR[22..0]: Trigg på negativ flank för avbrottslina x. 0: Trigg på negativ flank är maskerat (deaktiverat) 1: Trigg på negativ flank är aktiverat. EXTI_SWIER (0x40013C10) Software Interrupt Event Register 0x10 rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw EXTI_SWIER Bit SWIER[22..0]: Om avbrott är aktiverat för lina x, kan programvara aktivera detta genom att skriva '1' till motsvarande bit i detta register. Denna bit återställs genom skrivning till EXTI_PR. EXTI_PR (0x40013C14) Pending Register 0x14 rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw EXTI_PR Bit PR[22..0]: Motsvarande bit sätts i detta register då ett triggvillkor är uppfyllt. Biten återställs genom att skrivas med '1'. 0: Trigg har uppträtt 1: Ingen Trigg. EXEMPEL: Bestäm hur avbrott ska genereras med EXTI Avbrottslina EXTI3 ska konfigureras så att avbrott genereras, och att detta sker vid negativ flank hos signalen på avbrottslinan. /* Aktivera genom att ettställa motsvarande bit i EXTI_IMR */ *((unsigned int *) 0x40013C00) = 8; /* Aktivera triggvillkor "negativ flank" */ *((unsigned int *) 0x40013C0C) = 8; 108

7 Undantag, avbrott NVIC Nested Vectored Interrupt Controller Upp till 81 olika avbrott hanteras av NVIC. Dessa avbrott kan ges en prioritet från 0 t.o.m 15, där 0 är den högsta prioriteten. För varje prioritet finns också ett subprioritetsfält, vilket gör att man kan skapa prioritetsgrupper där avbrotten i sin tur har en inbördes prioritet. För varje avbrott kontrollerat av NVIC finns följande funktioner: Interrupt Set Enable Registers, NVIC_ISERx Interrupt Clear Enable Registers, NVIC_ICERx Interrupt Set Pendig Registers, NVIC_ISEPRx Interrupt Clear Pending Registers, NVIC_ICPRx Interrupt Active Bit Registers, NVIC_IABRx Interrupt Priority Registers, NVIC_IPRx Software Interrupt Trigger Register, NVIC_STIR Följande tabell beskriver samtliga register i NVIC-modulen. Översikt NVIC 0x000 SETENA[31:0] NVIC_ISER0 0x004 SETENA[63:32] NVIC_ISER1 0x008 Reserverat SETENA[80:64] rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw NVIC_ISER2 0x080 CLRENA[31:0] NVIC_CER0 0x084 CLRENA [63:32] NVIC_ CER1 0x088 Reserverat CLRENA [80:64] rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw NVIC_ CER2 0x100 SETPEND[31:0] NVIC_ ISPR0 0x104 SETPEND [63:32] NVIC_ ISPR1 0x108 Reserverat SETPEND [80:64] rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw NVIC_ ISPR2 0x180 CLRPEND[31:0] NVIC_ICPR0 0x184 CLRPEND [63:32] NVIC_ICPR1 0x188 Reserverat CLRPEND [80:64] rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw NVIC_ ICPR2 0x200 ACTIVE[31:0] r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r NVIC_ IABR0 0x204 ACTIVE [63:32] r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r NVIC_IABR1 0x208 Reserverat ACTIVE [80:64] r r r r r r r r r r r r r r r r r NVIC_IABR2 0x300 IP[3] IP[2] IP[1] IP[0] NVIC_ IPR0 0x320 Reserverat IP[80] rw rw rw rw rw rw rw rw NVIC_IPR20 Varje avbrott kan hanteras individuellt och totalt åtgår alltså 4 register för att implementera varje function i NVIC. Den bit i NVIC-registren som kontrollerar respektive avbrott bestäms av avbrottets nummer i vektortabellen. 109

8 Arbetsbok för MD407 NVIC_ISERx: SETENA[80..0] Interrupt set-enable bit: Skrivning: 0: ingen effekt 1: möjliggör avbrott Läsning: 0: avbrott avstängt 1: avbrott möjligt NVIC_ICERx: CLRENA[80..0] Interrupt clear-enable bit: Skrivning: 0: ingen effekt 1: omöjliggör avbrott Läsning: 0: avbrott avstängt 1: avbrott möjligt NVIC_ISEPRx: SETPEND[80..0] Interrupt set pending bit: Skrivning: 0: ingen effekt 1: ändrar avbrottstatus till avvaktande (pending) Läsning: 0: avbrottstatus är inte avvaktande 1: avbrottstatus är avvaktande NVIC_ICPRx: CLRPEND[80..0] Interrupt clear pending bit: Skrivning: 0: ingen effekt 1: avlägsnar avbrottstatus avvaktande (pending) Läsning: 0: avbrottstatus är inte avvaktande 1: avbrottstatus är avvaktande NVIC_IABRx: ACTIVE[80..0] Interrupt active bit: Läsning: 0: avbrottstatus är inte inaktivt 1: avbrottstatus är aktivt NVIC_IPRx: Interrupt priority Varje prioritetsfält kan ha ett prioritetsvärde, Ju lägre värde, desto högre prioritet för motsvarande avbrott. Processorn implementerar bara bitar [7: 4] för varje fält, bitar [3: 0] läses som noll och ignoreras vid skrivning. 110

9 Undantag, avbrott EXEMPEL: Bestäm bitmask och avbrottsvektor för EXTI3 Vi letar upp EXTI3 i vektortabellen (kolumn 3). Den första kolumnen anger avbrottets nummer i NVIC, dvs. 9. Kolumnen längst till höger anger avbrottsvektorns placering i vektortabellen: I detta fall identifierar vi EXTI3 som avbrott nummer 9. Bitmasken för denna bit är 0x , vilket också kan skrivas (1<<9). Det sistämda skrivsättet är i bland att föredra eftersom det blir mycket tydligare vad som avses Avbrottsvektorns placering är 0x Avbrottsvektorns placering i vektortabellen är en offset. Till denna adress läggs innehållet i registret Vector Table Offset Register (VTOR). Vid RESET är innehållet i VTOR 0, och minnesområdet från adress 0 är i sin tur speglat av det interna FLASH-minnet. I MD407 har monitor-programmet flyttat vektortabellen till adress 0x2001C000, dvs. läs- och skrivbart minne, vilket innebär att avbrottsvektorer kan dynamiskt. EXEMPEL: Initiera avbrottsvektor En funktion för hantering av avbrott kan inte ha några parametrar eller returvärden, dvs. deklareras: void irq_handler( void ); Adressen till avbrottsrutinen ska placeras på den aktuella avbrottsvektoradressen, dvs. (VTOR)+vektor offset. En typriktig initiering av avbrottsvektorn blir då: *((void (**)(void) ) avbrottsvektor ) = irq_handler; 111

10 Arbetsbok för MD407 EXEMPEL: Aktivera NVIC för EXTI3 För att möjliggöra avbrott från EXTI3-linan vidare in till processorn måste den bit som motsvarar EXTI3 i Set Enable registret sättas till '1'. Biten bestäms av avbrottets nummer, i detta fall identifierar vi EXTI3 som avbrott nummer 9 (se vektortabellen). Bitmasken för denna bit är 0x200 i det första av de tre Set Enableregistren, vilket också kan skrivas (1<<9). Det sistämda skrivsättet är i bland att föredra eftersom det blir mycket tydligare vad som avses. *((unsigned int *) 0xE000E100) = (1<<9); För att överhuvudtaget acceptera avbrott måste processorns avbrottsmask nollställas. För sådana operationer finns instruktionen CPS (Change Processor State). Se sidan 173 i "Programming Manual". Uppgift 41 Skriv C-funktionerna: void enable_interrupt( void ); som får processorn att acceptera avbrott och: void disable_interrupt( void ); som får processorna att ignorera avbrott (maskera). Slut Uppgift 41 Vid avbrottshanteringen ska ett aktiverat avbrott återställas, detta gör man genom att kvittera avbrottet i dess ursprung. EXEMPEL: Återställ avbrott för EXTI3 Detta avbrott återställs genom att '1' skrivs till motsvarande bit i EXTI Pending Register: *((unsigned int *) 0x40013C14) = (1<<3); Laborationskort med avbrottsvippor Laborationskortet IRQ Flip Flop kan användas för att generera externa avbrott till MD407. Två olika avbrotten aktiveras manuellt via strömställare, en tredje typ av avbrott kommer från en pulsgenerator och ger periodiska avbrott med valbar frekvens 10Hz eller 100 Hz. Aktiverade avbrott kan återställas manuellt, via en strömställare, eller programvarumässigt. 112

11 Undantag, avbrott Uppgift 42 Prova IO-enheten IRQ flip flop, för att fungera korrekt i nästkommande uppgifter ska du ansluta den till GPIOE, pin 0-7. Aktivera de olika avbrottsvipporna genom att klicka på strömställarna till vänster, strömställaren nederst, i mitten av kortet, återställer vipporna. Indikator IRQ1 Signal IRQ1 Signal IRQ1 Starta periodiska avbrott Indikator IRQ2 Indikator någon IRQ aktiv Bygel, IRQ aktiv nivå Indikator periodiskt IRQ Avbrottsfrekvens (10 eller 100 Hz) Återställ alla IRQ Programmerarens bild av laborationskortet: Slut Uppgift

12 Arbetsbok för MD407 Uppgift 43 Skriv en enkel applikation som använder PE3 hos MD407 som avbrottsingång och som registrerar varje avbrott, med en enkel räknare, och i huvudprogrammet skriver ut antalet avbrott till en visningsenhet. Applikationen ska vara komplett med startup, main, initieringsfunktioner och avbrottshantering: void irq_handler ( void ) { Om avbrott från EXTI3: inkrementera count; kvittera avbrott från EXTI3 } void enable_interrupt( void ) { } void app_init ( void ) { Sätt upp PD0-7 som utport för visningsenhet Aktivera klockan för SYSCFG; Koppla PE3 till avbrottslina EXTI3; Konfigurera EXTI3 för att generera avbrott; Konfigurera för avbrott på negative flank Sätt upp avbrottsvektor } Konfigurera de bitar i NVIC som kontrollerar den avbrottslina som EXTI3 kopplats till void main(void) { app_init(); enable_interrupts(); while(1){ utport = count; } } Bygg projektet, testa med simulator. Slut Uppgift

Maskinorienterad programmering

Maskinorienterad programmering Externa avbrott Anslutning av extern avbrottsvippa, programmering med konfigurering och hantering av externa avbrott. Introduktion till time-sharing, enkel task-switch. Ur innehållet: NVIC och EXTI (SYSCFG)

Läs mer

Demonstration och konsultation Arbetsbokens avsnitt 7 Händelsestyrt processbyte Förberedande inför laboration 4

Demonstration och konsultation Arbetsbokens avsnitt 7 Händelsestyrt processbyte Förberedande inför laboration 4 Avbrott Demonstration och konsultation Arbetsbokens avsnitt 7 Händelsestyrt processbyte Förberedande inför laboration 4 Demonstrationsövning 5 1 Arbetsbok avsnitt 7: Undantag, avbrott - Uppgift 41 + enable_interrupt

Läs mer

Programmering av inbyggda system

Programmering av inbyggda system Avbrott och undantag Ur innehållet: Cortex M4 "exceptions" Avbrott NVIC Externa avbrott: Avbrottsvippa Läsanvisningar: Arbetsbok kap 7 IRQ Flip-Flop STM32F4xx Cortex M4 programming manual Kap 2.3 Exception

Läs mer

Maskinorienterad programmering

Maskinorienterad programmering Undantagshantering och interna avbrott ARM Cortex-M4 exceptions, programmering av undantagshantering Ur innehållet: Faults Software traps Avbrott från interna enheter, Systick Läsanvisningar: Arbetsbok

Läs mer

Maskinorienterad programmering

Maskinorienterad programmering Undantagshantering och interna avbrott ARM Cortex-M4 exceptions, programmering av undantagshantering Ur innehållet: Faults Software traps Avbrott från interna enheter, Systick Läsanvisningar: Arbetsbok

Läs mer

Tentamen med lösningsförslag

Tentamen med lösningsförslag Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag EDA482 (EDA481) Maskinorienterad programmering D EDA487 (EDA486) Maskinorienterad programmering Z

Läs mer

Tentamen med lösningsförslag

Tentamen med lösningsförslag Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag EDA482 (EDA481) Maskinorienterad programmering D EDA487 (EDA486) Maskinorienterad programmering Z

Läs mer

Tentamen med lösningsförslag

Tentamen med lösningsförslag Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag DAT017 (DAT016) Maskinorienterad programmering IT EDA482 (EDA481) Maskinorienterad programmering D

Läs mer

Quick Guide Laborationsdator MD407 med tillbehör

Quick Guide Laborationsdator MD407 med tillbehör Quick Guide Laborationsdator MD407 med tillbehör Detta häfte får användas under tentamen i kurserna Programmering av inbyggda system "Maskinorienterad programmering" under förutsättning att inga anteckningar

Läs mer

Beskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK.

Beskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK. Tomas Nordström Högskolan i Halmstad Dokumentversion 0.1, 2012-04- 01 Beskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK. Informationen till detta kompendium är

Läs mer

Programallokering. Programtyper. Att placera program i flashrespektive. Program i FLASH-minne. Program i RAM-minne

Programallokering. Programtyper. Att placera program i flashrespektive. Program i FLASH-minne. Program i RAM-minne Programallokering Att placera program i flashrespektive RAM-minne Program i FLASH-minne Bara lokala variabler Globala oinitierade variabler Globala initierade variabler Program med avbrott Program i RAM-minne

Läs mer

Svar till Övning3 Datorteknik, HH vt12 Avbrott och timers

Svar till Övning3 Datorteknik, HH vt12 Avbrott och timers Svar till Övning3 Datorteknik, HH vt12 Avbrott och timers Avbrott generellt F7.1. Avbrott sköts med hårdvara i processorn, man läser av hårdvarumässigt. Polling är en enklare princip för I/O- hantering.

Läs mer

GPIO - General Purpose Input Output

GPIO - General Purpose Input Output GPIO - General Purpose Input Output Ur innehållet: Ideala och verkliga signaler Bitvis in- och utmatning Anslutning - fysiskt gränssnitt F407 - GPIO-modul tillämpningar Läsanvisningar: Arbetsbok avsnitt

Läs mer

Tentamen med lösningsförslag

Tentamen med lösningsförslag Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag DAT017 (DAT016) Maskinorienterad programmering IT EDA482 (EDA481) Maskinorienterad programmering D

Läs mer

GPIO - General Purpose Input Output

GPIO - General Purpose Input Output GPIO - General Purpose Input Output Ur innehållet: Digital IO Ideala och verkliga signaler Bitvis in- och utmatning Anslutning - fysiskt gränssnitt F407 - GPIO-modul tillämpningar Programmering av enkelt

Läs mer

F8: Undantagshantering

F8: Undantagshantering F8: Undantagshantering Undantagshantering i 68 Vad är ett undantag? Typer av undantag Att skriva undantagsrutiner Undantagshantering, vad och varför? Exempel: Ett system ska mäta temperatur var :e sekund

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #19 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Normaltillstånd vs undantagstillstånd I normaltillstånd

Läs mer

Datorsystemteknik Föreläsning 7DAVA14

Datorsystemteknik Föreläsning 7DAVA14 Datorsystemteknik Föreläsning 7DAVA14 Innehåll Introduktion (forts) Polling (cyklisk avfrågning) Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec Novak IT-inst LTH Exempel

Läs mer

Polling (cyklisk avfrågning) Avbrott

Polling (cyklisk avfrågning) Avbrott Polling (cyklisk avfrågning) Avbrott Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec Novak IT-inst LTH Att känna till begreppet polling (cyklisk avfrågning) och hur det

Läs mer

Tentamen med lösningsförslag

Tentamen med lösningsförslag Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag EDA481 Programmering av inbyggda system D EDA486 Programmering av inbyggda system Z DAT016 Programmering

Läs mer

Datorteknik. Tomas Nordström. Föreläsning 7 Avbrott. För utveckling av verksamhet, produkter och livskvalitet.

Datorteknik. Tomas Nordström. Föreläsning 7 Avbrott. För utveckling av verksamhet, produkter och livskvalitet. Datorteknik Tomas Nordström Föreläsning 7 Avbrott För utveckling av verksamhet, produkter och livskvalitet. Föreläsning 7 Avbrott References: [SUM3U-complete] ATMEL AT91SAM ARM-based Flash MCU - SAM3U

Läs mer

Laboration 4: Knappstuds Drivrutiner för att eliminera störningar.

Laboration 4: Knappstuds Drivrutiner för att eliminera störningar. ATMega16 Laborationer av Kjell 2 Rev:5 Datum: 29.09.2010 Page 1 of 7 Laboration 4: Knappstuds Drivrutiner för att eliminera störningar. Inledning: Laborationskortet EasyAVR6 har bland annat tryckknappar

Läs mer

Tentamen med lösningsförslag

Tentamen med lösningsförslag Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag EDA481 Programmering av inbyggda system D EDA486 Programmering av inbyggda system Z DAT016 Programmering

Läs mer

AVR 3 - datorteknik. Avbrott. Digitala system 15 hp. Förberedelser

AVR 3 - datorteknik. Avbrott. Digitala system 15 hp. Förberedelser Namn: Laborationen godkänd: Digitala system 15 hp AVR 3 - datorteknik LTH Ingenjörshögskolan vid Campus Helsingborg Avbrott. Syften med den här laborationen är att introducera avbrott. Avbrott som uppkommer

Läs mer

Assemblerprogrammering del 3

Assemblerprogrammering del 3 Assemblerprogrammering del 3 Dagens föreläsning behandlar: Kompendiet kapitel 9 och 10.4 Arbetsboken kapitel 16 Ur innehållet: Modularisering, subrutiner och strukturerad programutveckling (flödesdiagram)

Läs mer

Ansvarig lärare: Olof Andersson, Telefon 021-101314 (besöker skrivsalen)

Ansvarig lärare: Olof Andersson, Telefon 021-101314 (besöker skrivsalen) MÄLRLENS HÖGSKOL Institutionen för elektroteknik Tentamen Mikrodatorteknik T3760 atum 2005-10-28 Tid 08.30 12.30 nsvarig lärare: Olof ndersson, Telefon 021-101314 (besöker skrivsalen) Om du klarat samtliga

Läs mer

Mål. Datorteknik. Introduktion. Innehåll. Verklig situation - pappaledighet. Introduktion (forts)

Mål. Datorteknik. Introduktion. Innehåll. Verklig situation - pappaledighet. Introduktion (forts) Mål Datorteknik Föreläsning 4 Att känna till begreppet polling (cyklisk avfrågning) och hur det implementeras Att förstå varför avbrottstyrd exekvering är överlägset polling Att veta vilken information

Läs mer

Institutionen för elektro- och informationsteknologi, LTH

Institutionen för elektro- och informationsteknologi, LTH Datorteknik Föreläsning 4 Polling och avbrott Mål Att känna till begreppet polling (cyklisk avfrågning) och hur det implementeras Att förstå varför avbrottstyrd exekvering är överlägset polling Att veta

Läs mer

Avbrottshantering. Övningsuppgifter Lösningsförslag Uppgift (Reservation för diverse fel!)

Avbrottshantering. Övningsuppgifter Lösningsförslag Uppgift (Reservation för diverse fel!) Avbrottshantering Övningsuppgifter 2013 Lösningsförslag Uppgift 1-19 (eservation för diverse fel!) 1 Koppling: Q 1 Till bit 0 INPOT ÖKA A 1 /W 1 Write 8FF 16 NOLLA Write 8FFF 16 Q 2 1 Q 2 Till bit 1 INPOT

Läs mer

Tentamen med lösningsförslag

Tentamen med lösningsförslag Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag EDA481 Programmering av inbyggda system D EDA486 Programmering av inbyggda system Z DAT016 Programmering

Läs mer

Att läsa en manual. Exempel Timern ECT_16B8C. Läs den allmänna beskrivningen (Overview) Vi ser att grundfunktionen är en räknare med prescaler

Att läsa en manual. Exempel Timern ECT_16B8C. Läs den allmänna beskrivningen (Overview) Vi ser att grundfunktionen är en räknare med prescaler Att läsa en manual Exempel Timern ECT_16B8C Läs den allmänna beskrivningen (Overview) Vi ser att grundfunktionen är en räknare med prescaler 1 Läs om speciella egenskaper (Features) I övrigt har vi Input

Läs mer

Avbrottshantering. Övningsuppgifter

Avbrottshantering. Övningsuppgifter Avbrottshantering Övningsuppgifter 2013 Besvara kortfattat följande frågor rörande CPU12. Redogör för vad som händer vid RESET och varför detta sker. Förklara kortfattat vad som händer vid ett IRQ avbrott

Läs mer

LABORATIONSINSTRUKTION

LABORATIONSINSTRUKTION Högskolan Dalarna Elektroteknik LABORATION LABORATIONSINSTRUKTION PLC-styrning av ett minimalt parkeringsgarage KURS El- och styrteknik för tekniker ET 1015 INNEHÅLL LAB NR 4 Ver 1.0 1. Inledning 2. Laborationskortet

Läs mer

Datakommunikation med IR-ljus.

Datakommunikation med IR-ljus. Datakommunikation med -ljus. I den här uppgiften skall du kommunicera med hjälp av infrarött () ljus. Du skall kunna sända tecken från tangentbordet samt ta emot tecken och visa dem på skärmen. Genom att

Läs mer

Datorteknik. Föreläsning 4. Polling och avbrott. Institutionen för elektro- och informationsteknologi, LTH. Mål

Datorteknik. Föreläsning 4. Polling och avbrott. Institutionen för elektro- och informationsteknologi, LTH. Mål Datorteknik Föreläsning 4 Polling och avbrott Mål Att känna till begreppet polling (cyklisk avfrågning) och hur det implementeras Att förstå varför avbrottstyrd exekvering är överlägset polling Att veta

Läs mer

Tentamen med lösningsförslag

Tentamen med lösningsförslag Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag EDA482 (EDA481) Maskinorienterad programmering D EDA487 (EDA486) Maskinorienterad programmering Z

Läs mer

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 - Inbyggda system - Analog till digital signal - Utvecklingssystem, målsystem - Labutrustningen - Uppbyggnad av mikrokontroller - Masinkod, assemblerkod

Läs mer

Fö 5+6 TSEA81. Real-time kernel + Real-time OS

Fö 5+6 TSEA81. Real-time kernel + Real-time OS Fö 5+6 TSEA81 Real-time kernel + Real-time OS Stackens användningsområde * JSR / RTS : returadress * Temporärdata (push / pop) void myfunc(void) { int i; // hamnar nog i register int test[10]; // hamnar

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #18 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Assemblerprogrammering Assemblatorer vs kompilatorer

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #8 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Assemblatorer vs kompilatorer En assemblator är ett program

Läs mer

A-del motsvarande KS1

A-del motsvarande KS1 MÄLARDALENS HÖGSKOLA Institutionen för elektroteknik Tentamen Mikrodatorteknik CT3760 Datum 2005-10-28 Tid 08.30 12.30 Svar till A- och B-del A-del motsvarande KS1 Uppgift A1. Vad blir resultatet då instruktionen

Läs mer

BDM12 Användarbeskrivning. Introduktion

BDM12 Användarbeskrivning. Introduktion Versioner/ändringar 1.0 2003-07 1.01 BUGFIX: FLASH unsecure algoritm 1.02 Fördröjning vid flash-prog. Statusutskrift under programmeringen. Programmeringsalgoritmen hanterar nu även 'bankade' minnet. Översättning

Läs mer

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll:

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll: F: Minneselement Innehåll: - Latchar - Flip-Flops - egister - Läs- och skrivminne (andom-access Memory AM) - Läsminne (ead Only Memory OM) Ett minneselements egenskaper Generellt sett så kan följande operationer

Läs mer

I DAG fo 4. Printerport v3 med READY o DAV. Avbrott. Hur bra blev det egentligen????

I DAG fo 4. Printerport v3 med READY o DAV. Avbrott. Hur bra blev det egentligen???? Rep Konstruktion av en Printer-Port ynkroniseringsproblem Villkorlig / ovillkorlig överföring Busy Wait och Polling Handskakningssignaler AVBROTT!!! svektor I-flagga svippa sdriven Printerport I DAG fo

Läs mer

Tentamen med lösningsförslag

Tentamen med lösningsförslag Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag EDA482 Maskinorienterad programmering D EDA487 Maskinorienterad programmering Z DAT017 Maskinorienterad

Läs mer

EDA480/EDA485 - Maskinorienterad programmering, tentamen 2006-xx-xx 1(7)

EDA480/EDA485 - Maskinorienterad programmering, tentamen 2006-xx-xx 1(7) EDA480/EDA485 - Maskinorienterad programmering, tentamen 2006-xx-xx 1(7) 1. Motivation ROM. 8kbyte 2 3 2 10 byte 13 Adressbitar [A12,A0] direkt till ROM-kapsel. RWM. 32kbyte 2 5 2 10 byte 15 Adressbitar

Läs mer

Datorteknik. Tomas Nordström. Föreläsning 8 Timers. För utveckling av verksamhet, produkter och livskvalitet.

Datorteknik. Tomas Nordström. Föreläsning 8 Timers. För utveckling av verksamhet, produkter och livskvalitet. Datorteknik Tomas Nordström Föreläsning 8 Timers För utveckling av verksamhet, produkter och livskvalitet. Föreläsning 8 Timerbegrepp Timer på SAM3U Avbrottskodexempel Timers References: [SUM3U-complete]

Läs mer

Digitala Projekt(EITF40) - Larm

Digitala Projekt(EITF40) - Larm Digitala Projekt(EITF40) - Larm Handledare: Bertil Lindvall Kristoffer Sätermark, dt08ks6 Magnus Johansson, dt08mj9 Innehåll 1 Introduktion 1 2 Kravspec 1 3 Hårdvara 2 3.1 knappsats och decoder........................

Läs mer

Tentamen med lösningsförslag

Tentamen med lösningsförslag Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag EDA482 Programmering av inbyggda system D EDA487 Programmering av inbyggda system Z DAT017 Maskinorienterad

Läs mer

Antares Användning och installation

Antares Användning och installation Antares Användning och installation Sidan 1 av 13 Innehåll 1. Introduktion...... 2. Antares programvara installation...... 3. Antares programvara uppdatering...... 4. Data Linker anslutning... 5. Funktioner...

Läs mer

Föreläsningsanteckningar 3. Mikroprogrammering II

Föreläsningsanteckningar 3. Mikroprogrammering II Föreläsningsanteckningar 3. Mikroprogrammering II Olle Seger 2012 Anders Nilsson 2016 1 Inledning Datorn, som vi byggde i förra föreläsningen, har en stor brist. Den saknar I/O. I denna föreläsning kompletterar

Läs mer

Tentamen med lösningsförslag

Tentamen med lösningsförslag Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag LEU500 Maskinorienterad programmering Måndag 13 mars 2017, kl. 14.00-18.00 Examinator Lars Bengtsson

Läs mer

LEU240 Mikrodatorsystem

LEU240 Mikrodatorsystem Institutionen för data- och informationsteknik 2011-10-11 LEU240 Mikrodatorsystem Vi har tidigare i olika sammanhang sett att det är önskvärt att kunna använda ett högnivåspråk som C för att skriva program

Läs mer

microlf, 1998-2006, Alla rättigheter förbehålles

microlf, 1998-2006, Alla rättigheter förbehålles microlf ML örrsimulator ML ML är ett laborationskort med enkla och intuitiva funktioner avsedda att illustrera en automatiskt styrd dörr. örren illustreras av en ljusdiodramp där tända ljusdioder indikerar

Läs mer

Effektpedal för elgitarr

Effektpedal för elgitarr EITF11 - Digitala Projekt Effektpedal för elgitarr Handledare: Bertil Lindvall Ivan Rimac (I05) Jimmy Lundberg (I08) 2011-05-10 Contents Bakgrund... 3 Kravspecifikation... 3 Kravspecifikation Effektpedal...

Läs mer

Övningsuppgifter STYRNING - i Mikrodatorteknik för U2 2010

Övningsuppgifter STYRNING - i Mikrodatorteknik för U2 2010 STYRNING - i Mikrodatorteknik för U2 2010 1. Uppgift M10 (5p) aug-09 Skriv ett program i PIC-assembler som - gör PortB till utport - ettställer bit 0, 3 och 4 i PortB - nollställer bit 5 och 6 i PortB

Läs mer

Övningsuppgifter i Mikrodatorteknik 4p/5p

Övningsuppgifter i Mikrodatorteknik 4p/5p Övningsuppgifter i Benny Thörnberg Mittuniversitetet Inst. för Informationsteknologi och medier Hösten 2005 1 Exekvering av assemblerkod 1.1 Statusflaggors beteende Vad blir C-, N- och Z- flaggornas värden

Läs mer

Facit till övningsuppgifter Kapitel 13 Anslutning av minnes- och I/O-moduler till buss 13-1

Facit till övningsuppgifter Kapitel 13 Anslutning av minnes- och I/O-moduler till buss 13-1 Facit till övningsuppgifter Kapitel 13 Anslutning av minnes- och I/O-moduler till buss 13-1 13.1 a) Minneskapseln har 10 st adressledningar, vilket innebär att den har 2 10 = 1024 adresser, var och med

Läs mer

Tentamen med lösningsförslag

Tentamen med lösningsförslag Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag DAT017 Maskinorienterad programmering IT DIT151 Maskinorienterad programmering GU EDA481 Programmering

Läs mer

LABORATION. Datorteknik Y

LABORATION. Datorteknik Y LABORATION Datorteknik Y Avbrottsprogrammering på Darma Version 4.03 Februari 2019 (OA, KP) Namn och personnummer Godkänd 1 1 Inledning Syftet med laborationen är först att ge övning i avbrottsprogrammering

Läs mer

Datorteknik 2 (AVR 2)

Datorteknik 2 (AVR 2) Namn: Laborationen godkänd: Digitala system 15 hp Datorteknik 2 (AVR 2) LTH Ingenjörshögskolan vid Campus Helsingborg Enkel in- och utmatning. Drivrutiner. Bithantering. I denna laboration ska vi förbättra

Läs mer

LEU240 Mikrodatorsystem Att placera program i FLASHrespektive

LEU240 Mikrodatorsystem Att placera program i FLASHrespektive Institutionen data- och informationsteknik 2011-10-31 Att placera program i FLASHrespektive RAM-minne Följande resonemang gäller för processorn MC9S12DG256B. Vi kommer i görligaste mån att skriva våra

Läs mer

M7005 och IBR Användarhandbok

M7005 och IBR Användarhandbok 181101/190313/190521/SJn M7005 och IBR Användarhandbok M7005 och IBR - Användarhandbok OBSERVERA Informationen i detta dokument kan ändras utan föregående meddelande. Innehållet är icke bindande. Matematikföretaget

Läs mer

Ethernet kommunikation med hjälp av optionskortet OPT-CI

Ethernet kommunikation med hjälp av optionskortet OPT-CI Ethernet kommunikation med hjälp av optionskortet OPT-CI 1. INLEDNING OPT-CI optionskortet används i första hand för Modbus TCP kommunikation vid styrning av frekvensomriktaren från överordnat system.

Läs mer

General Purpose registers ALU I T H S V N Z C SREG. Antag att vi behöver skriva in talet 25 till register R18

General Purpose registers ALU I T H S V N Z C SREG. Antag att vi behöver skriva in talet 25 till register R18 F3 Föreläsning i Mikrodatorteknink 2006-08-29 Kärnan i microcontrollern består av ett antal register och en ALU. Till detta kommer också ett antal portar. Det finns 64 st portar. Några är anslutna mot

Läs mer

Lösningar till tentamen i EIT070 Datorteknik

Lösningar till tentamen i EIT070 Datorteknik Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Onsdagen den 7 mars 2012, klockan 14:00 19:00 i Vic 2, 3. Tillåtna hjälpmedel: på tentan utdelad formelsamling,

Läs mer

LABORATION. Datorteknik Y

LABORATION. Datorteknik Y LABORATION Datorteknik Y Avbrottsprogrammering på Darma Version 4.02 Februari 2018 (OA, KP) Namn och personnummer Godkänd 1 1 Inledning Syftet med laborationen är först att ge övning i avbrottsprogrammering

Läs mer

Övning2 Datorteknik, HH vt12 - Programmering

Övning2 Datorteknik, HH vt12 - Programmering Övning2 Datorteknik, HH vt12 - Programmering För denna övning behöver man adresskarta och beskrivning av laborationsplattform. Finns bland föreläsningsanteckning samt i bilaga l till Lab l. Använd även

Läs mer

Tentamen med lösningsförslag

Tentamen med lösningsförslag Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag DAT017 Maskinorienterad programmering IT DIT151 Maskinorienterad programmering GU EDA481 Programmering

Läs mer

Datorteknik. Tomas Nordström. Föreläsning 6. För utveckling av verksamhet, produkter och livskvalitet.

Datorteknik. Tomas Nordström. Föreläsning 6. För utveckling av verksamhet, produkter och livskvalitet. Datorteknik Tomas Nordström Föreläsning 6 För utveckling av verksamhet, produkter och livskvalitet. Föreläsning 6 Vad händer vid uppstart SoC och Kringkretsar, PIO Programmering i Assembler Lab2 genomgång

Läs mer

Maskinorienterad programmering

Maskinorienterad programmering Institutionen för data och informationsteknik. Roger Johansson, Ulf Assarsson 2017-09-27 Maskinorienterad programmering Laborationer Detta laborations-pm innehåller anvisningar om förberedelser inför genomförande

Läs mer

Digitalteknik: CoolRunner-II CPLD Starter Kit

Digitalteknik: CoolRunner-II CPLD Starter Kit CR:1 CoolRunner-II CPLD Starter Kit är ett litet utvecklingssystem för Xilinx-kretsen XC2C256. Utvecklingskortet kommer från företaget Digilent. Vid laborationerna i digitalteknik kommer kortet att användas

Läs mer

DAT 015 Maskinorienterad programmering 2010/2011. Uppbyggnad_och_funktion.pdf

DAT 015 Maskinorienterad programmering 2010/2011. Uppbyggnad_och_funktion.pdf DAT 015 Maskinorienterad programmering 2010/2011 Uppbyggnad_och_funktion.pdf Ur innehållet: Bussystem, intern kommunikation i datorsystemet Adressavkodning, hur primärminne och I/O-enheter kan anslutas

Läs mer

Digitala projekt rapport

Digitala projekt rapport Digitala projekt rapport Alexander Westrup, d04aw@student.lth.se Martin Sandgren, d04ms@student.lth.se 4 december 2007 Innehåll 1 Abstract 1 2 Inledning 1 3 Arbetsgång 1 4 Hårdvara 1 4.1 Processor...............................

Läs mer

Microprocessor / Microcontroller. Industrial Electrical Engineering and Automation

Microprocessor / Microcontroller. Industrial Electrical Engineering and Automation Microprocessor / Microcontroller Varför? Billiga Innehåller bara det nödvändigaste Kräver få kringkomponenter Enkla att programmera PIC16F887 PIC16F887 In- och utgångar Pinnar på PIC16F887 Exempel: pinne

Läs mer

Digitalteknik: CoolRunner-II CPLD Starter Kit Med kommentarer för kursen ht 2012

Digitalteknik: CoolRunner-II CPLD Starter Kit Med kommentarer för kursen ht 2012 Med kommentarer för kursen ht 2012 2012 CR:1 CoolRunner-II CPLD Starter Kit är ett litet utvecklingssystem för Xilinx-kretsen XC2C256. Utvecklingskortet kommer från företaget Digilent. Vid laborationerna

Läs mer

Digitala Projekt(EITF40) - Larm

Digitala Projekt(EITF40) - Larm Digitala Projekt(EITF40) - Larm Handledare: Bertil Lindvall Erik Oredsson, I-09 Sara Sellin, I-09 2012-05-08 1. SAMMANFATTNING I denna rapport presenteras vårt projekt att bygga ett huslarm från grunden

Läs mer

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1 Halmstad University School of Information Science, Computer and Electrical Engineering Tomas Nordström, CC-lab TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1 Datum: 2012-05- 23 Tid och plats: 9:00 13:00 i

Läs mer

AVRStudio på tre minuter. Micke Josefsson, 2005

AVRStudio på tre minuter. Micke Josefsson, 2005 AVRStudio på tre minuter Micke Josefsson, 2005 Mycket kort intro till AVRStudio Utvecklingsmiljön AVRStudio innehåller en editor för att mata in programmet, en simulator för att under kontrollerade former

Läs mer

F6: I/O hantering. Typer av I/O i ett datorsystem. Protokoll för synkronisering. Drivrutiner. Memory mapped Port mapped. Polling Timed Interrupt DMA

F6: I/O hantering. Typer av I/O i ett datorsystem. Protokoll för synkronisering. Drivrutiner. Memory mapped Port mapped. Polling Timed Interrupt DMA F6: I/O hantering Typer av I/O i ett datorsystem Memory mapped Port mapped Protokoll för synkronisering Polling Timed Interrupt DMA Drivrutiner 1 Memory mapped I/O enheter avkodas precis som ett minne

Läs mer

TENTAMEN. Datorteknik. D1/E1/Mek1/Ö Hjälpmedel: Häfte "ARM-instruktioner", A4-format, 17 sidor. Maxpoäng:

TENTAMEN. Datorteknik. D1/E1/Mek1/Ö Hjälpmedel: Häfte ARM-instruktioner, A4-format, 17 sidor. Maxpoäng: TENTAMEN D1/E1/Mek1/Ö1 1400-1800 Hjälpmedel: Häfte "ARM-instruktioner", A4-format, 17 sidor Maxpoäng: Betyg 3 Betyg 4 Betyg 5 60p 24p 36p 48p Frågor under tentamen: Börje Delistrand tel. +46702986358 Bilaga

Läs mer

Drivrutiner för att hantera teckenfönster.

Drivrutiner för att hantera teckenfönster. Laboration: Teckenfönster Drivrutiner för att hantera teckenfönster. I denna laboration ska vi göra funktioner som på ett praktiskt sätt hanterar en tvåradig display av typ LM162XXX (se LCD.pdf). Displayen

Läs mer

Seriekommunikation. Ur innehållet: Nätverkstopologier Nätverksprotokoll Asynkron/synkron seriell överföring Programmering av USART-krets

Seriekommunikation. Ur innehållet: Nätverkstopologier Nätverksprotokoll Asynkron/synkron seriell överföring Programmering av USART-krets Seriekommunikation Ur innehållet: Nätverkstopologier Nätverksprotokoll Asynkron/synkron seriell överföring Programmering av USART-krets Läsanvisningar: Arbetsbok kapitel 7 Seriekommunikation 1 Parallell

Läs mer

Minneselement,. Styrteknik grundkurs. Digitala kursmoment. SR-latch med logiska grindar. Funktionstabell för SR-latchen R S Q Q ?

Minneselement,. Styrteknik grundkurs. Digitala kursmoment. SR-latch med logiska grindar. Funktionstabell för SR-latchen R S Q Q ? Styrteknik grundkurs Digitala kursmoment Binära tal, talsystem och koder Boolesk Algebra Grundläggande logiska grindar Minneselement, register, enkla räknare Analog/digital omvandling SR-latch med logiska

Läs mer

c a OP b Digitalteknik och Datorarkitektur 5hp ALU Design Principle 1 - Simplicity favors regularity add $15, $8, $11

c a OP b Digitalteknik och Datorarkitektur 5hp ALU Design Principle 1 - Simplicity favors regularity add $15, $8, $11 A basic -bit Select between various operations: OR, AND, XOR, and addition Full Adder Multiplexer Digitalteknik och Datorarkitektur hp Föreläsning : introduktion till MIPS-assembler - april 8 karlmarklund@ituuse

Läs mer

Adressrum, programmerarens bild

Adressrum, programmerarens bild EDA 480 2009/2010 MC68HC12, Uppbyggnad.pdf Ur innehållet: Datorns byggblock Busskommunikation Synkron buss Asynkron buss Multiplex-buss avkodning för minne och I/O Minnesavbildad I/O Direktadresserad I/O

Läs mer

Systemkonstruktion LABORATION REALTIDSPROGRAMMERING

Systemkonstruktion LABORATION REALTIDSPROGRAMMERING Systemkonstruktion LABORATION REALTIDSPROGRAMMERING Laborationsansvariga: Anders Arvidsson, Björn Lundblad Utskriftsdatum: 2002-10-31 Laboranter: 1 Syfte Denna laboration syftar till att öva användningen

Läs mer

CPU. Carry/Borrow IX. Programräknare

CPU. Carry/Borrow IX. Programräknare Laboration:. Jämförelser mellan assembler och C. CPU ACCA ACCD ACCB 8-bitars ackumulatorer eller 16- bitars ackumulator CCR 1 1 1 SXH I NZVC Flaggregister Carry/Borrow IX IY PC Indexregister X Indexregister

Läs mer

LABORATIONSINSTRUKTION

LABORATIONSINSTRUKTION Högskolan Dalarna Elektroteknik LABORATION LABORATIONSINSTRUKTION KURS ET1001 Styrteknik LAB NR PLC 5 INNEHÅLL 1. Inledning 2. Laborationskortet i styrteknik 3. Laborationsuppgifter NAMN KOMMENTARER PROGRAM/KURS

Läs mer

Instruktioner för uppdatering av enheter med ISP

Instruktioner för uppdatering av enheter med ISP För AP produkter som använder ISP måste flashuppdateringen göras med hjälp av den medföljande MPC Manager. För att utföra en firmware uppdatering, följ dessa instruktioner: 1. Ladda ner och installera

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #23 Översikt När flera smoduler placeras i processorns adressrum ansluts modulernas adressingångar till motsvarande ledningar i en. Övriga adressledningar i bussen

Läs mer

Kontrollskrivning Mikrodatorteknik CDT209 2007-09-20 S2-704

Kontrollskrivning Mikrodatorteknik CDT209 2007-09-20 S2-704 Kontrollskrivning Mikrodatorteknik CDT209 2007-09-20 S2-704 Svar Svar till uppgifterna lämnas på separat papper. En poäng per uppgift. Max 30 poäng. Bonuspoäng beräknas enligt följande tabell: 6-10 poäng

Läs mer

Microprocessor / Microcontroller

Microprocessor / Microcontroller Microprocessor / Microcontroller Varför? Industrial Electrical Engineering and Automation Billiga Innehåller bara det nödvändigaste Kräver få kringkomponenter Enkla att programmera PIC16F887 PIC16F887

Läs mer

Programmering av inbyggda system

Programmering av inbyggda system Programmering av inbyggda system Synkronisering och undantag Ur innehållet: Synkronisering: hur hanteras situationer när datorn ska kommunicera med en annan enhet med okänd arbetstakt? Vi ansluter en skrivare

Läs mer

0.1. INTRODUKTION 1. 2. Instruktionens opcode decodas till en språknivå som är förstålig för ALUn.

0.1. INTRODUKTION 1. 2. Instruktionens opcode decodas till en språknivå som är förstålig för ALUn. 0.1. INTRODUKTION 1 0.1 Introduktion Datorns klockfrekvens mäts i cykler per sekund, eller hertz. En miljon klockcykler är en megahertz, MHz. L1 cache (level 1) är den snabbaste formen av cache och sitter

Läs mer

Institutionen för elektro- och informationsteknologi, LTH

Institutionen för elektro- och informationsteknologi, LTH Datorteknik Föreläsning 5 Realtidssystem och realtidsprogrammering Mål Att du ska förstå hur avbrott används för - Mätning - Styrning - Stöd för körning av flera processer Att du ska förstå begreppet tråd

Läs mer

Datorteknik. Föreläsning 5. Realtidssystem och realtidsprogrammering. Institutionen för elektro- och informationsteknologi, LTH.

Datorteknik. Föreläsning 5. Realtidssystem och realtidsprogrammering. Institutionen för elektro- och informationsteknologi, LTH. Datorteknik Föreläsning 5 Realtidssystem och realtidsprogrammering Mål Att du ska förstå hur avbrott används för - Mätning - Styrning - Stöd för körning av flera processer Att du ska förstå begreppet tråd

Läs mer

Beskrivning av hur du ansluter en E-terminal från Beijer Electronics till HC900 via Ethernet så att denna kan visa och manipulera data i HC900.

Beskrivning av hur du ansluter en E-terminal från Beijer Electronics till HC900 via Ethernet så att denna kan visa och manipulera data i HC900. Noterat i labbet om: Anslut en Beijer Electronics E-terminal till HC900 via Ethernet NIL00019 2002/09/03 Vad är Noterat i labbet om? Noterat i labbet om är en samling dokument som skall ses som hjälpmedel

Läs mer

Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15.

Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15. Aktivera Kursens mål: LV3 Fo7 Konstruera en dator mha grindar och programmera denna Aktivera Förra veckans mål: Konstruktruera olika kombinatoriska nät som ingår i en dator. Studera hur addition/subtraktion

Läs mer

Datorteknik 1 (AVR 1)

Datorteknik 1 (AVR 1) Namn: Laborationen godkänd: Digitala system 15 hp Datorteknik 1 (AVR 1) LTH Ingenjörshögskolan vid Campus Helsingborg Introduktion till datorteknikutrustningen. Laborationens syfte. Syftet med laborationen

Läs mer