IS1500 Lösningar övning CE_O CE_O7. Programmerad in/utmatning. Serieport. Förberedelser till nios2io.

Save this PDF as:
 WORD  PNG  TXT  JPG

Storlek: px
Starta visningen från sidan:

Download "IS1500 Lösningar övning CE_O7 2014. CE_O7. Programmerad in/utmatning. Serieport. Förberedelser till nios2io."

Transkript

1 IS1500 ösningar övning CE_O CE_O7. Programmerad in/utmatning. Serieport. Förberedelser till nios2io Vad är seriell kommunikation? a) Vad är skillnaden mellan seriell och parallell kommunikation? Vid seriell kommunikation överförs i varje tidsintervall en enda bit dvs om man vill överföra många bitar skickas bitarna en i taget i en lång serie. Vanliga bithastigheter är 9600 bps, 56kbit/sec eller med bredband dvs fler än cirka 2 Mbit per sekund typ. Vid parallell kommunikation har man flera ledningar parallellt och kan alltså i varje tidintervall överföra flera bitar samtidigt (parallellt). b) Vad är skillnaden mellan synkron och asynkron seriell kommunikation Vid asynkron kommunkation behöver sändare och mottagare inte ha exakt samma uppfattning om klocksignalens frekvens och fas. Det räcker om mottagarens och sändarens klockor går ungefär likadant i frekvens och fas. Sändning av ett paket av bitar, t.ex. ASCII-koden för ett tecken sköts synkront med sändarklockan. Mottagaren ska kunna upptäcka och ta emot ett paket när som helst jämfört med den egna klockan (asynkront) vilket kräver att mottagarklockan snabbt måste kunna synkroniseras i fas med det mottagna paketet och gå i rätt fart/frekvens under den tid paketet tas emot. Om paketet är kort behöver alltså mottagaren kunna upptäcka starten på varje paket och fasa in sin klocka och sen hålla hyfsat noga fart/frekvens ett tag (under hela paketets inkomst). Vid synkron kommunikation krävs att sändar- och mottagar-klocka går synkront hela tiden dvs ska ha exakt samma frekvens och hela tiden ha samma (kända) fasförskjutning. För att bibehålla synkroniseringen skickar sändaren hela tiden en följd av (paus-) bitar som mottagaren använder för att hålla sin klocka synkron med den mottagna signalen men bitarna innehåller ingen datainformation, bara klockinformation. Ett exempel på hur man kan åstadkomma detta är att sändaren hela tiden skickar en följd av ASCII-koden för SYN (0x16 = p ). Mottagarens hårdvara/mjukvara ska alltså vara utformad så att den kan upptäcka att det kommer in ett bitmönster som består av en följd av SYN och kunna använda dessa bitar till att synkronisera på bitnivå (fas och frekvens) samt på byte-nivå dvs veta var gränsen finns mellan två SYN-tecken. När andra tecken börjar dyka upp ska mottagren dels kunna dela upp dem i separata 8 bitars tecken och dels kunna bibehålla både bit- och byte-synkronisering. Hur detta ska implementeras ger upphov till ett flertal intressanta frågeställningar för dem som ösningar till övning CE_O7, sida 1 (av 9)

2 ska bygga den elektronik som måste finnas i mottagaren. Det kan påminnas om att det rimligen även bör finnas någon synkronisering på block- eller paketnivå som troligen sköts av mjukvara. Denna diskussion ligger i gränsområdet mot en kurs i Datorkommunikation och Datornät. c) Rita ett tidsdiagem som visar de logiska värde den överförda signalen antar, om man förutsätter att ett 7 bitars ASCII-tecken, t.ex. 0x26 som är koden för tecknet &, överförs med asynkron kommunikation med jämn paritet och 2 stoppbitar. Denna figur finns i föreläsningsbilderna för föreläsning 6. d) Vilken funktion har startbiten? Startbiten, dvs den första växling från 1 till 0 som upptäcks i viloläget, ska användas för att synkronisera mottagarklockan till rätt fas. Avsikten är att mottagaren i fortsättningen kunna känna av (sampla/polla) den inkommande signalen mitt i varje efterföljande klockpulsintervall för varje bit som ingår i det paket som tas emot. Om paketet är koden för ett ASCII-tecken innehåller det startbit, 7 databitar, eventuellt en paritetsbit samt stoppbit (ar) dvs cirka 10 bitar. Mottagarklockan ska alltså inte fasa ur inom 10 mottagna bitar. e) Vilken funktion har stoppbiten (stoppbitarna)? Stoppbiten (stoppbitarna) läggs in av sändaren för att garantera att det finns en minsta tid mellan två ivägsända paket så att mottagern hinner vila och göra sig beredd på nästa startbit. Det är ju av stort värde att mottagaren är helt säker på vilken flank (1 till 0) som inleder en startbit eftersom den flanken behövs för både bit- och bytesynkronisering. f) Vilken funktion har paritetsbiten? Paritetsbiten beräknas och införs av sändaren (av hårdvara eller mjukvara) för att mottagaren ska kunna utföra en rudimentär (nästan dålig men ändå någon) kontroll av att data inte har ändrats (förstörts) vid överföringen. Om mottagaren upptäcker att mottagna data har fel paritet så har ett udda antal bitar växlat värde i det paket som paritetskontrolleras. Denna information kan lämnas vidare till programvara (eller hårdvara) som vid behov kan välja att begära omsändning av det mottagna paketet. Betänk att felupptäckt (error detection) och felkontroll/korrigering (error control/correction) är helt olika kvaliteter. g) Hur stor procentuell skillnad kan man maximalt tillåta mellan sändarklocka och mottagarklocka för att kunna erhålla en fungerande kommunikation? Mottagarklockan måste hålla sig i rätt fas under hela tiden ett paket tas emot. Om vi förutsätter att vi har 1 startbit, 7 databitar, 1 paritetsbit och 1 stoppbit (10 bitar) så får mottagarklockan gå fel med högst ett halvt klockpulsintervall under dessa 10 bitar/intervall vilket betyder att en frekvensskillnad mindre än 5% är tillräcklig för att möjliggöra felfri kommunikation. (ett halvt intervall på 10 ger 1 per 20 ger 5 per 100 ger 5%) h) Vilka spänningsnivåer används vid seriell dataöverföring enligt standarden EIA RS-232C/CCITT V.24 (+- 5 till 15 Volt!!!) (Att gå mot strömmen utan motstånd ger ingen spänning sade Ohm) ösningar till övning CE_O7, sida 2 (av 9)

3 6.2. Vad är en serieport / seriekrets Hur betraktas en serieport ur programmerarens synpunkt? Jämför med en parallellport. Hur kopplas en seriekrets till en processors bussystem? SVAR: Ur programmerarens synpunkt betraktas serieporten som en parallellport som man skriver en byte till eller läser en byte från. Porten kopplas till processorns bussystem som andra portar dvs det finns en adressavkodare som väcker kretsen till liv för vissa valda adresser. Det finns en (parallell) koppling till busens data-signaler så att det går att överföra data (t.ex. 8 bitar) parallellt mellan processor och serieport. Dessutom finns samma typ av kontrollsignaler som för andra portar dvs läs och skriv (eller kombinerad RD/WR och Data Strobe) samt möjligen IRQ (Interrupt ReQuest). Hur betraktas en seriekrets ur omgivningens synpunkt jämfört med en parallellport. Vilka signaler bör finnas mot omgivningen? SVAR: det finns bara en datasignal för sänd och en datasignal för mottag (samt jordsignal). Det måste även finnas klocksignal(er) som anger fart och fas för sända och mottagna data. Det är möjligt att man vill använda olika klocksignal för sänd och mottag (för uplink och downlink, jämför ADS som har olika bithastighet för up- och down-load) 6.3. ogiskt EKO-program (ekologiskt program?) Skriv ett program som ekar tecken på bildskärmen dvs varje tecken som skrivs på tangentbordet ska skrivas ut i motsvarande terminalfönster. Nios-II-assembler:.global main main: call in_char # invänta tecken från tangentbord mov r4, r2 # kopiera tecken call out_char # skriv ut tecken br main # snurra runt ösningsförslag i C: int in_char( void ); /* Extern funktion "importeras". */ void out_char( int ); /* Extern funktion "importeras". */ int main( void ) int c; while( 1 ) /* Oändlig slinga. */ c = in_char(); /* Vänta på tecken, läs ett. */ out_char( c ); /* Skriv tecknet till serieport. */ return( 0 ); /* to avoid "warning: control reaches end of non-void function" */ ösningar till övning CE_O7, sida 3 (av 9)

4 Subrutinen in_char ska invänta Receiver Ready dvs att det finns ett tecken i seriekretsens mottagarregister, därefter kopiera data från mottagarregistret till register r2 och göra retur från subrutinen med det mottagna tecknet i r2. ösningsförslag i Nios-II-assembler:.equ serieport0, 0x860 # basadress symbolisk.global in_char # BOCKING I/O, inläsning av en byte till r2 in_char: movia r8, serieport0 # r8 pekar till basadress inloop: ldwio r9, 8(r8) # läs status andi r9, r9, 0x80 # maska fram RxRdy beq r9, r0, inloop # invänta värdet 1 ldwio r2, 0(r8) # läs ett word andi r2, r2, 0x7F # maska fram 7 bitar ret # och returhopp ösningsförslag i C: #define SERIEPORT0 ( (volatile unsigned int *) 0x860 ) #define RXRDYBIT (1 << 7) int in_char( void ) volatile unsigned int * tmp = SERIEPORT0; while( (tmp[2] & RXRDYBIT) == 0 ); /* vänta tills RxRdy == 1 */ return( tmp[0] & 0xff ); Subrutinen out_char ska ska invänta Transmitter Ready dvs att det går att skriva ett tecken till seriekretsens sändarregister utan att gamla förstörs, och därefter skriva data från r4 till sändarregistret. ösningsförslag i Nios-II-assembler:.equ serieport0, 0x860 # basadress symbolisk.global out_char # BOCKING I/O, skrivning av en byte från r4 till porten out_char: movia r8, SPORT # r8 pekar till basadress outloop: ldwio r9, 8(r8) # läs status andi r9, r9, 0x40 # maska fram TxRdy beq r9, r0,outloop # invänta värdet 1 andi r4, r4, 0x7F # kanske onödigt stwio r4, 4(r8) # skriv ett word/en byte ret # och returhopp ösningar till övning CE_O7, sida 4 (av 9)

5 ösningsförslag i C: #define SERIEPORT0 ( (volatile unsigned int *) 0x860 ) #define TXRDYBIT (1 << 6) void out_char( int c ) volatile unsigned int * tmp = SERIEPORT0; while( (tmp[2] & TXRDYBIT) == 0 ); /* vänta tills TxRdy == 1 */ tmp[1] = c & 0xff; 6.4. Subrutinen prtext för utmatning av en textsträng a) Flödesschema finns inte än... b) Skriv assemblerkod för Nios II, för subrutinen prtext..global prtext prtext: push r31 mov r8, r4 # kopiera adresspekare prloop: ldb r4, 0(r8) # läs en byte beq r4, r0, prret #retur om NU push r8 # r8 kanske förstörs av OUT_CHAR call out_char # skriv ut ett tecken pop r8 addi r8, r8, 1 # peka på nästa tecken br prloop # nästa varv prret: pop r31 # reuradress på plats ret Det finns ett assemblerdirektiv.asciz för att skapa en textsträng med nulltecken som slutmarkör: message:.asciz "Hello, World!" c) Anta att ovanstående textsträng är konstant, och alltså inte ska ändras under programmets körning. Den kan då lagras antingen i kodarean () eller i dataarean (.data). Fördel och nackdel att placera i är att den inte kan ändras under exekvering, om man förutsätter att hårdvaran i processorn skyddar mot skrivning. d) Skriv programkod i C för funktionen prtext, som ska göra samma sak som assemblersubrutinen prtext enligt ovan. void prtext( char * textp ) unsigned int c; while( (c = *textp)!= 0 ) out_char( c ); textp = textp + 1; ösningar till övning CE_O7, sida 5 (av 9)

6 6.5. Utökad Eko-logik Rita flödesshema och modifiera huvudprogram och subrutiner i tidigare uppgift så att de nya in_charx och out_charx vid anrop gör omedelbar retur om läsning respektive skrivning inte kan utföras ( misslyckas ) på grund av att kretsen inte är beredd för uppgiften (Not Ready dvs RxRdy respektive TxRdy har värdet noll). Vid returen från in_charx respektive out_charx ska innehållet i r2 ange om subrutinen har lyckats utföra sin uppgift eller inte. Retur efter att ha lyckats med uppgiften markeras med att r2 ska innehålla ett positivt värde. Misslyckat uppdrag (error) ska markeras med att r2 innehåller värdet -1 vid returen. Huvudprogrammet ska välja sin fortsatta exekvering beroende på returvärde i r2. För att skriva ett konstant värde -1 till r2 ska Du använda instruktionen movi r2, -1 Det fungerar inte med movia r2, -1 pga fel i översättarprogrammet. Observera att att dessa rutiner inte är exakt samma som i laboration nios2io..global main main: call in_charx # försök läsa tecken blt r2,r0,main # invänta lyckad läsning mov r4, r2 # kopiera tecken plain: call out_charx # försök skriva ut tecken blt r2,r0,plain # invänta lyckad skrivning br main # snurra runt Huvudprogram i C: int in_charx( void ); /* Extern funktion "importeras". */ void out_charx( int ); /* Extern funktion "importeras". */ int main( void ) int c; int retvalcheck; while( 1 ) /* Oändlig slinga. */ c = in_charx(); /* Vänta på tecken, läs ett. */ if( c >= 0 ) retvalcheck = out_charx( c ); while( retvalcheck < 0 ) retvalcheck = out_charx( c ); return( 0 ); /* to avoid "warning: control reaches end of non-void function" */ ösningar till övning CE_O7, sida 6 (av 9)

7 Subrutinen in_charx i Nios-II-assembler:.equ serieport0, 0x860 # basadress symbolisk.global in_charx in_charx: movi r2, -1 # default error movia r8, serieport0 # r8 pekar till basadress INO: ldwio r9, 8(r8) # läs status andi r9, r9, 0b # maska fram RxRdy beq r9, r0, INRET # hopp ty ej Ready ldwio r2, 0(r8) # läs ett word andi r2, r2, 0x7F # onödigt men... positivt! INRET: ret # och returhopp Funktionen in_charx i C: #define SERIEPORT0 ( (volatile unsigned int *) 0x860 ) #define RXRDYBIT (1 << 7) int in_charx( void ) volatile unsigned int * tmp = SERIEPORT0; if( (tmp[2] & RXRDYBIT) ) return( tmp[0] & 0xff ); else return( -1 ); Subrutinen out_charx i Nios-II-assembler:.equ serieport0, 0x860 # basadress symbolisk.global out_char.equ serieport0, 0x860 # basadress symbolisk # NON-BOCKING I/O, skrivning av en byte från r4 till porten out_charx: movi r2, -1 # default error movia r8, serieport0 # r8 pekar till basadress OUTO: ldwio r9, 8(r8) # läs status andi r9, r9, 0b # maska fram TxRdy beq r9, r0,outret # hopp ty ej Ready andi r4, r4, 0x7F # kanske onödigt stwio r4, 4(r8) # skriv ett word (en byte) movi r2, 1 # positivt värde dvs lyckat OUTRET: ret # och returhopp ösningar till övning CE_O7, sida 7 (av 9)

8 Funktionen out_charx i C: #define SERIEPORT0 ( (volatile unsigned int *) 0x860 ) #define TXRDYBIT (1 << 6) int out_charx( int c ) volatile unsigned int * tmp = SERIEPORT0; if( (tmp[2] & TXRDYBIT) ) tmp[1] = c & 0xff; return( 1 ); else return( -1 ); 6.6. Teckenvis kommunikation.global main main: foo: call in_charx # kolla om tecken från keyboard blt r2, r0, bar # hoppa om inget tecken mov r4, r2 # kopiera parameter call send_char # sänd tecken bar: call rec_charx # kolla om tecken i mottagare blt r2, r0, foo mov r4, r2 # kopiera parameter call out_char # skriv ut tecken br foo Funktionen rec_charx i C: #define SERIEPORT1 ( (volatile unsigned int *) 0x880 ) #define RXRDYBIT (1 << 7) int rec_charx( void ) volatile unsigned int * tmp = SERIEPORT1; if( (tmp[2] & RXRDYBIT) ) return( tmp[0] & 0xff ); else return( -1 ); Funktionen send_char i C: #define SERIEPORT1 ( (volatile unsigned int *) 0x880 ) #define TXRDYBIT (1 << 6) void send_char( int c ) volatile unsigned int * tmp = SERIEPORT1; while( (tmp[2] & TXRDYBIT) == 0 ); /* vänta tills TxRdy == 1 */ tmp[1] = c & 0xff; ösningar till övning CE_O7, sida 8 (av 9)

9 6.7. Tidmätning När man skriver (vad som helst) till något Snap-Shot-register så kopieras aktuellt värde i Counter till Snap-Shot-registren vars innehåll kan läsas av med program..global getsnap getsnap: movia r2, Timer1_Base stw r0, 0x10(r2) # kopierar Counter till SnapShot ldw r4, 0x14(r2) # läs SnapShotH till r4 slli r4, r4, 16 # omplacera ldw r2, 0x10(r2) # läs SnapShot till r2 andi r2,r2,0xffff # maska för säkerhets skull or r2, r2, r4 # kombinera ihop SnapShot 32 bit ret # returnera till anroparen # Mätning av tid för subrutinen SUBRUT PUSH r16 # spara undan R16s innehåll call getsnap # läs av start-värde i Counter mov r16, r2 # spara startvärdet call SUBRUT # exekvera SUBRUTinen call getsnap # läs av slut-värde i Counter sub r4, r16, r2 # beräkna skillnad i ticks subi r4, r4, overhead # korrigering POP r16 # återställ R16s innehåll # Nu finns i r4 antal klockcykler som SUBRUT tog (nästan exakt). # Några intruktioner går åt till administration, för push/pop med mera. Värdet justeras # för detta. För korrekta resultat, gör noggrannare mätning/uppskattning av denna # overhead, värdet 17 är bara en gissning..equ overhead, 17 Kortfattad beräkning av antal extra instruktioner/ticks förutom själva SUBRUT 6 instruktioner i första Get_SnapShot efter stw till SnapShot 1 instruktion: mov r16, r2 1 instruktion call Get_SnapShot 2 instruktioner: movia innan stw till SnapShot Det blir cirka 10 instruktioner varav en del (call/ret) tar mer än 1 klockpulsintervall Kan det inträffa att mätningen ger växlande resultat, med små eller stora variationer? Kan man gardera sig mot detta? I något slags allmänt fall kan man tänka sig att Counter slår runt från bara nollor till ett nytt startvärde från period mellan de båda avläsningarna. Då får man ett mystiskt värde när man räknar ut skillnaden mellan avläsningarna. Om man tolkar värdet som SignedInt blir kan det bli en negativ tid och om man tolkar värdet som UnSigned Int blir det ett alldeles för stort värde. ösningar till övning CE_O7, sida 9 (av 9)

Övning 7. Timer, serieport

Övning 7. Timer, serieport Övning 7 Timer, serieport 7.6 timer_1 Memory-Mapped addresses 0x920 status 0x924 control 0x928 periodl 0x92C periodh 0x930 snapl 0x934 snaph 15 0 Run TO (Time-Out) ITO cont start stop timer_1 start D Q

Läs mer

Övning 6. Parallellport, timer

Övning 6. Parallellport, timer Övning 6 Parallellport, timer 6.1 de2_pio_toggles18 Memory-Mapped addresses LEDG8 LEDR17 LEDR16 LEDR15 LEDR14 LEDR13 LEDR12 LEDR11 LEDR10 LEDR9 LEDR8 LEDR7 LEDR6 LEDR5 LEDR4 LEDR3 LEDR2 LEDR1 LEDR0 LEDG7

Läs mer

Datorsystem Laboration 2: Minnesmappade bussar

Datorsystem Laboration 2: Minnesmappade bussar Datorsystem Laboration 2: Minnesmappade bussar Senast uppdaterad: 14 oktober 2012 Version 1.2 Student: Lärare: Underskrift: Underskrift: Datum: Datorsystem Laboration 2 1 Innehåll 1 Inledning 2 1.1 Introduktion..................................

Läs mer

CE_O6. Parallell in/utmatning (I/O). Förberedelser till laboration nios2io.

CE_O6. Parallell in/utmatning (I/O). Förberedelser till laboration nios2io. IS1200 Exempelsamling till övning CE_O6, 2015 CE_O6. Parallell in/utmatning (I/O). Förberedelser till laboration nios2io. 6.1. Läs in data från IN-port (skjutomkopplare TOGGLES18) Skriv en subrutin, Get_Data

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

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013 Rahim Rahmani (rahim@dsv.su.se) Division of ACT Department of Computer and Systems Sciences Stockholm University SVAR TILL TENTAMEN I DATORSYSTEM, VT2013 Tentamensdatum: 2013-03-21 Tentamen består av totalt

Läs mer

Vad är kommunikation? Vad är datorkommunikation? Dataöverföring; Inledning

Vad är kommunikation? Vad är datorkommunikation? Dataöverföring; Inledning Vad är kommunikation? Kommunikation är ett vitt begrepp. Vi använder det för att benämna till exempel ett samtal eller att vi själv förflyttar oss med till exempel tåg eller buss. Kommunikation kommer

Läs mer

Tentamen i IS1500/IS1200/2G1518 Datorteknik fredagen den 19 augusti 2011 kl

Tentamen i IS1500/IS1200/2G1518 Datorteknik fredagen den 19 augusti 2011 kl Tentamen i IS1500/IS1200/2G1518 Datorteknik fredagen den 19 augusti 2011 kl 14.00 19.00 Examinator: Fredrik Lundevall (IS1500), Johan Wennlund (IS1200, 2G1518). Jourhavande lärare: Johan Wennlund. Tentamensuppgifterna

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

CE_O1. Nios II. Enkla assembler-instruktioner.

CE_O1. Nios II. Enkla assembler-instruktioner. IS1500 ösningsförslag till övning CE_O1 2014 CE_O1. Nios II. Enkla assembler-instruktioner. 1.1. Datorarkitektur för Nios II a) Tabell 3 1 i Nios II Processor Reference Handbook visar processorns register:

Läs mer

Systemkonstruktion SERIEKOMMUNIKATION

Systemkonstruktion SERIEKOMMUNIKATION Systemkonstruktion SERIEKOMMUNIKATION Laborationsansvariga: Anders Arvidsson Utskriftsdatum: 2005-04-26 Syfte Laborationen syftar till att ge studenten tillfälle att närmare bekanta sig med RS-232-protokollet,

Läs mer

Att använda pekare i. C-kod

Att använda pekare i. C-kod Att använda pekare i C-kod (Bör användas av de som känner sig lite hemma med C-programmering!) Rev 1, 2005-11-23 av Ted Wolfram www.wolfram.se Syfte: Man kan tycka att det är komplicerat att använda pekare

Läs mer

Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien

Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien DIGITAL- OCH MIKRODATORTEKNIK, U2 11-01-12 09.00 13.00 Tillåtna hjälpmedel: Instruktionslista PIC16F877A Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien Fullständiga lösningar

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

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

Lösningsförslag till tentamen i IS1500 Datorteknik

Lösningsförslag till tentamen i IS1500 Datorteknik Lösningsförslag till tentamen i IS1500 Datorteknik 2010-12-13 Obs! Dessa lösningsförlag kan vara felakktiga och/eller ofullständ Uppgift 1. Maskinartmetik a) Flyttalet X lagras som 0 1000 0011 000 1001

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

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

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

Föreläsning 6: Introduktion av listor

Föreläsning 6: Introduktion av listor Föreläsning 6: Introduktion av listor Med hjälp av pekare kan man bygga upp datastrukturer på olika sätt. Bland annat kan man bygga upp listor bestående av någon typ av data. Begreppet lista bör förklaras.

Läs mer

Grunderna i stegkodsprogrammering

Grunderna i stegkodsprogrammering Kapitel 1 Grunderna i stegkodsprogrammering Följande bilaga innehåller grunderna i stegkodsprogrammering i den form som används under kursen. Vi kommer att kort diskutera olika datatyper, villkor, operationer

Läs mer

Stack och subrutiner Programmeringskonventionen

Stack och subrutiner Programmeringskonventionen Stack och subrutiner Programmeringskonventionen Du ska förstå hur en instruktion behandlas i processorn Du ska känna till några fler instruktioner Du ska veta hur maskinkoden för ett program byggs upp

Läs mer

Tentamen PC-teknik 5 p Lösningar och kommentarer

Tentamen PC-teknik 5 p Lösningar och kommentarer Tentamen PC-teknik 5 p Lösningar och kommentarer Program: Di2, Em3, Et3 Datum: 04-08-10 Tid: 13:30-18:30 Lokal E171 Hjälpmedel: Linjal, miniräknare, Instruktionsrepertoar för 8086 (utdelas), Lathund, Pacific

Läs mer

F6: I/O hantering. Typer av I/O i ett datorsystem. Memory mapped

F6: I/O hantering. Typer av I/O i ett datorsystem. Memory mapped 1 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

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

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

LEGO Mindstorm-robot

LEGO Mindstorm-robot KUNGLIGA TEKNISKA HÖGSKOLAN LEGO Mindstorm-robot Programmering av LEGO Mindstorm-robot i språket NXC Kim Hammar 2/6-2013 Kimham@kth.se Introduktionskurs i Datateknik 1311 Sammanfattning En viktig del av

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

CE_O3. Nios II. Stackhantering och förberedelse för lab nios2time

CE_O3. Nios II. Stackhantering och förberedelse för lab nios2time IS1200 ösningsförslag till övning CE_O3 2015 CE_O3. Nios II. Stackhantering och förberedelse för lab nios2time 3.1. ogiska operationer Nios II kan utföra de logiska operationerna AND, OR, XOR och NOR.

Läs mer

Dataöverföring på Parallell- och serieform MOP 11/12 1

Dataöverföring på Parallell- och serieform MOP 11/12 1 Dataöverföring på Parallell- och serieform MOP 11/12 1 Parallell dataöverföring I digitala system finns ofta behovet att flytta ett eller flera dataord från ett ställe (sändare) till ett annat ställe (mottagare).

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

CE_O5. Cacheminne. Hemlaboration 2.

CE_O5. Cacheminne. Hemlaboration 2. IS1500 Exempelsamling till övning CE_O5, 2014 CE_O5. Cacheminne. Hemlaboration 2. 5.1. Medeltidshistoria Diskutera förloppet då CPU:n gör en läsreferens i huvudminnet dvs information kopieras från huvudminne

Läs mer

Algoritmanalys. Genomsnittligen behövs n/2 jämförelser vilket är proportionellt mot n, vi säger att vi har en O(n) algoritm.

Algoritmanalys. Genomsnittligen behövs n/2 jämförelser vilket är proportionellt mot n, vi säger att vi har en O(n) algoritm. Algoritmanalys Analys av algoritmer används för att uppskatta effektivitet. Om vi t. ex. har n stycken tal lagrat i en array och vi vill linjärsöka i denna. Det betyder att vi måste leta i arrayen tills

Läs mer

LEGO Robot programmering och felsökning Hur svårt ska det vara att följa den svarta linjen?

LEGO Robot programmering och felsökning Hur svårt ska det vara att följa den svarta linjen? ICT LEGO Robot programmering och felsökning Hur svårt ska det vara att följa den svarta linjen? Daniel Lindfors 12/9/07 dlindf@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Denna laboration

Läs mer

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

TENTAMEN. Datorteknik. D1/E1/Mek1/Ö Hjälpmedel: Häfte ARM-instruktioner, A4-format, 17 sidor. Maxpoäng: 60p TENTAMEN D1/E1/Mek1/Ö1 0900-1300 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ör j e Delistrand tel. 16 7122 alt.

Läs mer

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära

Läs mer

LABORATION DATORKONSTRUKTION TSEA83 UART. Namn och personnummer. Version: 1.0 2013 (OS)

LABORATION DATORKONSTRUKTION TSEA83 UART. Namn och personnummer. Version: 1.0 2013 (OS) LABORATION DATORKONSTRUKTION TSEA83 UART Version: 1.0 2013 (OS) Namn och personnummer Godkänd 1 blank sida 2 Innehåll 1 Inledning 5 1.1 Syfte................................. 5 1.2 Förberedelser............................

Läs mer

Laboration Datorteknik TSIU02 2. I/O-programmering

Laboration Datorteknik TSIU02 2. I/O-programmering Laboration Datorteknik TSIU02 2. I/O-programmering Stefan Gustafsson version 1.1 1. Inledning Laboration: I/O-programmering Du skall i denna laboration programmera TUTOR till att signalera i Morsekod.

Läs mer

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Talsystem Talsystem - binära tal F1.1) 2 n stycken tal från 0 till 2 n 1 F1.2) 9 bitar (512 kombinationer) Talsystem - 2-

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

VHDL och laborationer i digitalteknik

VHDL och laborationer i digitalteknik V:1.1 VHDL och laborationer i digitalteknik Vid laborationskursen i digitalteknik används VHDL till alla laborationerna utom den första. VHDL är ett stort språk och enbart en liten del av språket behövs

Läs mer

Laboration D184. ELEKTRONIK Digitalteknik. Sekvensnät beskrivna med VHDL och realiserade med PLD

Laboration D184. ELEKTRONIK Digitalteknik. Sekvensnät beskrivna med VHDL och realiserade med PLD UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Lars Wållberg/Dan Weinehall/ Håkan Joëlson 2010-05-06 v 1.7 ELEKTRONIK Digitalteknik Laboration D184 Sekvensnät beskrivna med VHDL och realiserade

Läs mer

Enkla datatyper minne

Enkla datatyper minne Enkla datatyper minne 143.56 sant Sonja A falskt 18 1999-10-29 Bertil Gralvik, KTH Ingenjörsskolan 1 Addera två tal Algoritmen Summera tal Mata in två tal Beräkna Skriv ut resultat Mata in tal 1 Mata in

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

Assemblerprogrammering

Assemblerprogrammering 2012-02-14 Assemblerprogrammering Övningsuppgifter 2011 Lösningar (Med reservation för diverse fel!) 1. Hur många E-klockperioder använder CPU12 (HCS12) för att köra programsekvensen nedan? ORG $1000 LDAA

Läs mer

(Lösningsförslag finns sist i denna fil.)

(Lösningsförslag finns sist i denna fil.) (Lösningsförslag finns sist i denna fil.) Läser externa signaler. Har 64 ingångar (kanaler), från 0 till 63. Kan bara avläsa en ingång i taget. Avlästa värdet positivt 16-bitars tal. Varje läsning tar

Läs mer

Introduktion till arv

Introduktion till arv Introduktion till arv 6 INTRODUKTION TILL ARV Arv Generell-Speciell Arv för att utnyttja det vi redan gjort Återanvändning Basklass Härledd klass Varför arv? Inför en subklass för att uttrycka specialisering

Läs mer

Felsökning av mjukvara

Felsökning av mjukvara KUNGLIGA TEKNISKA HÖGSKOLAN Felsökning av mjukvara Programmering av en NXT-robot Max Kufa [03/08-13] mkufa@kth.se Introduktionskurs i datateknik (II1310) Sammanfattning Syftet med laborationen var att

Läs mer

HF0010. Introduktionskurs i datateknik 1,5 hp

HF0010. Introduktionskurs i datateknik 1,5 hp HF0010 Introduktionskurs i datateknik 1,5 hp Välkommna - till KTH, Haninge, Datateknik, kursen och till första steget mot att bli programmerare! Er lärare och kursansvarig: Nicklas Brandefelt, bfelt@kth.se

Läs mer

7) Beskriv tre sätt att överföra parametrar mellan huvudprogram och subrutin.

7) Beskriv tre sätt att överföra parametrar mellan huvudprogram och subrutin. 1(5) Övningstentamen i Mikrodatorer och assemblerprogrammering, ELGA05 Hjälpmedel: Bifogad lista med memokoder för MC68xxx. Samtliga programmeringsuppgifter ska innehålla flödesschema med förklaringar

Läs mer

Växtviskaren EITF11 Digitala projekt VT15, I12

Växtviskaren EITF11 Digitala projekt VT15, I12 Växtviskaren EITF11DigitalaprojektVT15,I12 NathalieLiljebrunn,EbbaRiismark,AnnaNorelius LundsTekniskaHögskola Institutionenförelektro ochinformationsteknik Handledare:BertilLindvall,AndreasJohansson 2015

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 OOP 2015-03-14

Tentamen OOP 2015-03-14 Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning

Läs mer

1 Funktioner och procedurell abstraktion

1 Funktioner och procedurell abstraktion 1 Funktioner och procedurell abstraktion Det som gör programkonstruktion hanterlig och övergripbar och överhuvudtaget genomförbar är möjligheten att dela upp program i olika avsnitt, i underprogram. Vår

Läs mer

Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.

Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14. Tentamen 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.00, sal E33 Tentan har en teoridel och en problemdel. På teoridelen är inga hjälpmedel

Läs mer

Tenta i Digitalteknik

Tenta i Digitalteknik Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2010-06-01 Skrivtid 9.00-14.00 (5 timmar) Maximalt resultat 50 poäng Godkänt resultat 25 poäng inkl bonus Jourhavande lärare Per Lindgren Tel 070 376

Läs mer

Övningar Dag 2 En första klass

Övningar Dag 2 En första klass Kurs i C++ Sid 1 (5) Övningar Dag 2 En första klass Denna övning går ut på att steg för steg bygga upp en klass och skapa objekt. Vi kommer att utgå från en sammansatt datatyp i en struct och parallellt

Läs mer

Övningar modul 1 - Dataöverföring & fysisk infrastruktur

Övningar modul 1 - Dataöverföring & fysisk infrastruktur 1. Dataöverföring Övningar modul 1 - Dataöverföring & fysisk infrastruktur Syfte: Förstå begreppen dämpning och förstärkning av en signal. Kunna räkna i db och kunna använda det till beräkning av effektbudget.

Läs mer

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik VT05 2 Repetition Repetition - Programmering i

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

Ö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

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

Ett program som frågar regelbundet om något skall utföras. Exempelvis om spänningen på ett batteri sjunkit under en viss nivå.

Ett program som frågar regelbundet om något skall utföras. Exempelvis om spänningen på ett batteri sjunkit under en viss nivå. CT3760 Mikrodatorteknik Föreläsning 12 Torsdag 2006-10-05 Naxos Pollning Ett program som frågar regelbundet om något skall utföras. Exempelvis om spänningen på ett batteri sjunkit under en viss nivå. En

Läs mer

Paketförstörare Implementerad på XESS XSV800 labbkort

Paketförstörare Implementerad på XESS XSV800 labbkort aketförstörare Implementerad på XESS XSV800 labbkort rojektrapport i kursen SMD106 av Markus Finér (780726-2014) Urban Classon (760516-8918) 2003-03-04 Abstrakt När man tar fram och utvecklar nya kommunikationsprotokoll

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

Digital Termometer J10 B4 A4 GND GND GND B1 GND GND GND GND B3 A3 +5V +5V A3 +5V A2 +5V +5V A2. +5v B16 A16 UREG UREG B1 6 AC AC A1 6 A6 6

Digital Termometer J10 B4 A4 GND GND GND B1 GND GND GND GND B3 A3 +5V +5V A3 +5V A2 +5V +5V A2. +5v B16 A16 UREG UREG B1 6 AC AC A1 6 A6 6 Digital Termometer I den här uppgiften skall vi mäta temperaturen på ditt kaffe. Vi använder en termistor som temperaturkänslig givare och timerkretsen 555 som A/D omvandlare. Temperaturen presenterar

Läs mer

Föreläsning 1 & 2 INTRODUKTION

Föreläsning 1 & 2 INTRODUKTION Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga

Läs mer

Högskolan i Halmstad Digital- och Mikrodatorteknik 7.5p. Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien

Högskolan i Halmstad Digital- och Mikrodatorteknik 7.5p. Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien DIGITAL- OCH MIKRODATORTEKNIK, U2 09.00 13.00 Tillåtna hjälpmedel: Instruktionslista PIC16F877A Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien Fullständiga lösningar skall inlämnas.

Läs mer

Studera databladen för LCD på sid 4, 5, 7, 8, 14, 18, 19, 20 och 23. Datablad finns på kurshemsidan.

Studera databladen för LCD på sid 4, 5, 7, 8, 14, 18, 19, 20 och 23. Datablad finns på kurshemsidan. Namn: Laborationen godkänd: Digitala system 15 p Datorprojekt, del 2 L T H I n g e n j ö r s h ö g s k o l a n v i d C a m p u s H e l s i n g b o r g Projektlaboration 2, skrivning till LCD. Förberedelser:

Läs mer

4:4 Mätinstrument. Inledning

4:4 Mätinstrument. Inledning 4:4 Mätinstrument. Inledning För att studera elektriska signaler, strömmar och spänningar måste man ha lämpliga instrument. I detta avsnitt kommer vi att gå igenom de viktigaste, och som vi kommer att

Läs mer

Arduinokurs. Kurstillfälle 4

Arduinokurs. Kurstillfälle 4 Kurstillfälle 4 CW-generering Det här kan ses som överkurs men kan ändå vara roligt för att kunna generera CW på ett enkelt sätt. Det blir en hel del nytt men vi tar det steg för steg Som alla vet gäller

Läs mer

Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3. Namn: Personnummer: Tentamensdatum: 20120410 Tid: 14:00-18:00.

Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3. Namn: Personnummer: Tentamensdatum: 20120410 Tid: 14:00-18:00. Mikrodatorteknik Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3 7,5 högskolepoäng Namn: Personnummer: Tentamensdatum: 20120410 Tid: 14:00-18:00 Hjälpmedel: Totalt antal poäng på tentamen:

Läs mer

Lathund. C för inbyggda system

Lathund. C för inbyggda system Lathund C för inbyggda system Revision 1 2000-09-21 Anders Arvidsson Jonny Martinsson Synpunkter välkomnas! Innehållsförteckning 1 Introduktion...3 1.1 Assembler kontra C...3 1.2 Kodexempel...3 1.3 MPLAB...4

Läs mer

In- och Utenheter. Fö 3: In/Ut matning och kopplingsstruktur. Några exempel. Egenskaper. In- och Utenheter. Styrning.

In- och Utenheter. Fö 3: In/Ut matning och kopplingsstruktur. Några exempel. Egenskaper. In- och Utenheter. Styrning. Fö 3: In/Ut matning och kopplingsstruktur In- och Utenheter In- och Utenheter. Styrning. I/O-kanalenheter Kopplingsstruktur. Buss. Två huvudsakliga typer av I/O enheter: - Interaktiva. Exempelvis en terminal.

Läs mer

Tentamen i EIT070 Datorteknik

Tentamen i EIT070 Datorteknik Tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Onsdagen den 10 mars 2010, klockan 08:00 13:00 å Victoriastadion 1 och 2. Tillåtna hjälpmedel: på tentan utdelad formelsamling,

Läs mer

Tentamen i. för D1 m fl, även distanskursen. fredag 13 januari 2012

Tentamen i. för D1 m fl, även distanskursen. fredag 13 januari 2012 1 of 6 Örebro universitet Akademin för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen

Läs mer

Föreläsning 2: Avlusning och antilustekniker

Föreläsning 2: Avlusning och antilustekniker 2D1458, Problemlösning och programmering under press Föreläsning 2: Avlusning och antilustekniker Datum: 2007-09-11 Skribent(er): Emil Hesslow, Stefan Pettersson Föreläsare: Per Austrin Föreläsningen handlade

Läs mer

Skizz till en enkel databas

Skizz till en enkel databas Skizz till en enkel databas Data: Register En vektor Funktioner: Databas Initiera huvudloop Avsluta Poster (struct( struct) val Mata in Skriv ut Spara Hämta Ändra Radera Enligt diskussion 1999-11-23 Bertil

Läs mer

Programmerbar logik. Kapitel 4

Programmerbar logik. Kapitel 4 Kapitel 4 Programmerbar logik Programmerbar logik (PLC: Programmable Logic Controller; fi. ohjelmoitava logiikka) är en sorts mikrodatorliknande instrument som är speciellt avsedda för logik- och sekvensstyrningsproblem.

Läs mer

Programmering av inbyggda system. Kodningskonventioner. Viktor Kämpe

Programmering av inbyggda system. Kodningskonventioner. Viktor Kämpe Kodningskonventioner Viktor Kämpe Varför kodningskonventioner? Förståelse för Skillnaden mellan lokala/globala variabler. Funktionsargument. Returvärde. Möjliggör Mix av assembler och C. Kodningskonventioner/VK

Läs mer

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition. Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)

Läs mer

Nordline. Monteringsanvisning Garageport. Lertagsgatan 7 69434 Hallsberg 019-125580

Nordline. Monteringsanvisning Garageport. Lertagsgatan 7 69434 Hallsberg 019-125580 Nordline Monteringsanvisning Garageport Lertagsgatan 7 69434 Hallsberg 019-125580 Byggmå& på din port A: ÖppningsmåC skall vara samma som angiven portbredd. Portbladen är några cm bredare. B: ÖppningsmåC

Läs mer

D/A- och A/D-omvandlarmodul MOD687-31

D/A- och A/D-omvandlarmodul MOD687-31 D/A- och A/D-omvandlarmodul MOD687-31 Allmänt Modulen är helt självförsörjande, det enda du behöver för att komma igång är en 9VAC väggtransformator som du kopplar till jacket J2. När du så småningom vill

Läs mer

Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng

Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng Lunds Universitet LTH Ingenjörshögskolan, Helsingborg Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng Skrivtid: 08.00-13.00 Tillåtna hjälpmedel: Inga. Maximalt

Läs mer

5 Grundläggande in- och utmatning

5 Grundläggande in- och utmatning 5 Grundläggande in- och utmatning För att användaren skall kunna kommunicera med programmet krävs att man inkluderar ett eller flera bibliotek med rutiner. I Ada finns det ett antal paket som gör detta

Läs mer

LABORATIONSINSTRUKTION

LABORATIONSINSTRUKTION Högskolan Dalarna Institutionen för Elektroteknik LABORATION LABORATIONSINSTRUKTION LOG/iC, PLD, kombinatorik, sekvensnät KURS Digitalteknik LAB NR 6 INNEHÅLL. Inledning 2. Prioritetskodare 3. Elektronisk

Läs mer

Datorsystemteknik D. Lösningar till tentamen i kursen EDA330 14/1 2000

Datorsystemteknik D. Lösningar till tentamen i kursen EDA330 14/1 2000 1(6) Lösningar till tentamen i kursen EDA330 Datorsystemteknik D 14/1 2000 Följande är skisser till lösningar av uppgifterna. Full poäng på en uppgift kräver i de flesta fall en något fylligare motivering.

Läs mer

Digitala Projekt (EITF11)

Digitala Projekt (EITF11) Digitala Projekt (EITF11) Temperaturgivare med larm Handledare: Bertil Lindvall 2014-05-20 Erik Hellered, I-11 Andreas Sjöblom, I-11 Philip Dahlström, I-11 Table of Contents Inledning... 1 Kravspecifikation...

Läs mer

Realtid. eda040project2010 MANUAL. - Christoffer Olsson. - Daniel Lehtonen

Realtid. eda040project2010 MANUAL. - Christoffer Olsson. - Daniel Lehtonen Realtid eda040project2010 MANUAL dt08es7 dt08co0 dt08dm8 dt08dl4 - Emil Selinder - Christoffer Olsson - David Meyer - Daniel Lehtonen Innehållsförtäckning Introduktion Hur man kör igång programmet Proxy

Läs mer

Processidentifiering och Polplacerad Reglering

Processidentifiering och Polplacerad Reglering UmU/TFE Laboration Processidentifiering och Polplacerad Reglering Introduktion Referenser till teoriavsnitt följer här. Processidentifiering: Kursbok kap 17.3-17.4. Jämför med det sista exemplet i kap

Läs mer

DatorsystemteknikDAVA14 Föreläsning 9

DatorsystemteknikDAVA14 Föreläsning 9 DatorsystemteknikDAVA14 Föreläsning 9 epetition: MP likainstruktioneri Exempel på instruktionstyper Processorns uppbyggnad Pipelining törre delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson

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

Redovisning av inlämningsuppgifter

Redovisning av inlämningsuppgifter Bilaga B Redovisning av inlämningsuppgifter 1 Rapportens innehåll Varje inlämningsuppgift ska redovisas med en skriftlig rapport. Rapporten ska vara häftad och försedd med ett försättsblad med uppgiftens

Läs mer

Realtidsprogrammering. En introduktion Implementering (med exempel från PIC)

Realtidsprogrammering. En introduktion Implementering (med exempel från PIC) Realtidsprogrammering En introduktion Implementering (med exempel från PIC) Utan timing Periodtid varierar beroende på funktionernas exekveringstid. Specificera endast maxtid ( Worst case) och eventuellt

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

Lösningsförslag till tentamen i Datorteknik 2011-05-28

Lösningsförslag till tentamen i Datorteknik 2011-05-28 Lösningsförslag till tentamen i Datorteknik 2011-05-28 Varning: dessa lösningsförslag kan vara felakktiga och/eller ofullstän Uppgift 1. Maskinaritmetik a) Flyttalet X lagras som 1 1000 0110 000 1100 0000

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

Klassdeklaration. Metoddeklaration. Parameteröverföring

Klassdeklaration. Metoddeklaration. Parameteröverföring Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar

Läs mer

Föreläsning 3.1: Datastrukturer, en översikt

Föreläsning 3.1: Datastrukturer, en översikt Föreläsning.: Datastrukturer, en översikt Hittills har vi i kursen lagt mycket fokus på algoritmiskt tänkande. Vi har inte egentligen ägna så mycket uppmärksamhet åt det andra som datorprogram också består,

Läs mer

DATORTEKNIK. Tangentbord, knappsatser och deras avkodning

DATORTEKNIK. Tangentbord, knappsatser och deras avkodning UMEÅ UNIVERSITET Tillämpad fysik och elektronik Datorteknik Håkan Joëlson 2001-08-30 v 1.1 DATORTEKNIK Innehåll Uppbyggnad Hårdvara Koppling Tangentbordsavkodning Knappidentifiering Metodval Avstudsning

Läs mer