Föreläsningsanteckningar till Konstruktionsmetoder 981027



Relevanta dokument
INGENJÖRSHÖGSKOLAN INGENJÖRSHÖGSKOLAN

#include <pic.h> #include <sys.h> char LEFT,RIGHT,MOTORHASTIGHET;

Datormodell. Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden

Tentamen Enchipsdatorer med tillämpningar. Lösningar och kommentarer

LABORATION PIC-PROGRAMMERARE

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

'HOWHQWDPHQ 6\VWHPNRQVWUXNWLRQ

Lathund. C för inbyggda system

Tentamen Enchipsdatorer med tillämpningar. Lösningar och kommentarer

Lathund. C för inbyggda system

Övningsuppgifter STYRNING - i Mikrodatorteknik för U2 2010

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

Grundläggande datavetenskap, 4p

GPIO - General Purpose Input Output

Enchipsdatorer med tillämpningar LABORATION 7, ROBOT

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen

Kontrollskrivning Mikrodatorteknik CDT S2-704

Microprocessor / Microcontroller. Industrial Electrical Engineering and Automation

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.

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

Tentamen Enchipsdatorer med tillämpningar Lösningar och kommentarer

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

Tentamen Enchipsdatorer med tillämpningar Lösningar och kommentarer

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

Microprocessor / Microcontroller

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Programexempel 1 AND-funktionen

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

Läsminne Read Only Memory ROM

Moment 2 Digital elektronik. Föreläsning Inbyggda system, introduktion

Övningsuppgifter i Mikrodatorteknik för U2

Design av digitala kretsar

Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade)

Laboration nr2 med enchipsdatorn PIC-16F877

GPIO - General Purpose Input Output

Övningsuppgifterna i kapitel F avser FLIS-processorn, vars instruktioner och motsvarande koder definieras i INSTRUKTIONSLISTA FÖR FLISP.

DAT 015 Maskinorienterad programmering 2010/2011. Uppbyggnad_och_funktion.pdf

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

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

FÖRORD...3 MEMEC SCANDINAVIA AB...3

Digitala projekt rapport

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

Dataminne I/O Stack 0x005D 0x3D SP low byte 0x005E 0x3E SP high byte

PROTOTYPUTVECKLING AV DIGITALT

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

Datorsystemteknik DVGA03 Föreläsning 8

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

Läs igenom hela laboration 5 innan du börjar beskriva instruktionsavkodaren i VHDL!

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

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

Anders Arvidsson ROBOTBESKRIVNING. Roboten på bilden är extrautrustad

Program kan beskrivas på olika abstrak3onsnivåer. Högnivåprogram: läsbart (för människor), hög abstrak3onsnivå, enkelt a> porta (fly>a 3ll en annan ar

Det finns en hemsida. Adressen är

Varför använda en liten 8-bitars processor när det finns billiga kraftfulla 32-bitars? William Sandqvist

Utvecklingen från en 8 bitars till en 16 bitars mikroprocessor

Polling (cyklisk avfrågning) Avbrott

LABORATION DATORTEKNIK D. Pipelining. Namn och personnummer. Version: (OS,OVA,AN)

Svar till Övning3 Datorteknik, HH vt12 Avbrott och timers

Datorsystemteknik Föreläsning 7DAVA14

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning

Digital- och datorteknik

Digitala System: Datorteknik ERIK LARSSON

Formula Blue. Digitala Projekt 8p. Jesper Ferm E02 Carl Hakenäs E04

System S. Datorarkitektur - en inledning. Organisation av datorsystem: olika abstraktionsnivåer. den mest abstrakta synen på systemet

Minnen delas in i två huvudgrupper, permanenta och icke permanenta. Non-volatile and volatile.

LABORATIONSINSTRUKTION

Programexempel för FLEX

Tenta i Digitalteknik

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

Datorteknik. Föreläsning 6. Processorns uppbyggnad, pipelining. Institutionen för elektro- och informationsteknologi, LTH. Mål

LV6 LV7. Aktivera Kursens mål:

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning

Digital och Datorteknik EDA /2011. EDA 451 Digital och datorteknik 2010/2011. Uppbyggnad_och_funktion.pdf

Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp

Laboration 3 i Digital- och Mikrodatorteknik. Utvecklingssystemet MPLAB IDE Grundläggande assemblerprogrammering för PIC

Lösningsföslag till Exempel på tentamensuppgifter i Digitalteknik I

Styrprojektet (LEU075) Process 4

Enchipsdatorer med tillämpningar LABORATION 6, ROBOT

Programräknaren visar alltid på nästa instruktion som skall utföras. Så fort en instruktion har hämtats så visar programräknaren på nästa instruktion.

AVRStudio på tre minuter. Micke Josefsson, 2005

Datorarkitekturer med operativsystem ERIK LARSSON

Program som ska exekveras ligger i primärminnet. Processorn hämtar instruk7on för instruk7on. Varje instruk7on, som är e= antal 1:or och 0:or, tolkas

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

Hantering av hazards i pipelines

F8: Undantagshantering

Mikrokontroller TSIU02 Datorteknik

Thunder s Truck projektrapport

IBM POWER4, den första flerkärniga processorn och dess pipelines.

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

Lösningar till tentamen i EIT070 Datorteknik

Tentamen. Datorteknik Y, TSEA28

HF0010. Introduktionskurs i datateknik 1,5 hp

Datakommunikation med IR-ljus.

Adressavkodning - busskommunikation

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

ALU:n ska anslutas hur då?

32 Bitar Blir 64 Sammanfattning

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

Transkript:

Föreläsningsanteckningar till Konstruktionsmetoder 981027 Jämförelse mellan 68705P3 och 16F84 externt MC68705P3 PIC16F84 I/O 20 13 Kapsling 28-pin DIL 18-pin DIL Drivförmåga på pinnar PortB 10mA Sink, 1.6mA Source 25mA Sink, 20mA Source Övriga 1.6mA Sink, 1.0mA Source Oscillator typer Externt eller kristall Externt, Kristall, RC-krets Oscillator frekvens Max 4.4MHz Max 20 MHz Spänningsmatning 4.75V - 5.25V 2.0V - 6.0V Strömförbrukning i Drift < 2mA vid 5V, 4MHz * Strömförbrukning i Standby <1uA vid 2V * * Ingen drivning på någon port t.ex lysdiod eller dyl. Jämförelse mellan 68705P3 och 16F84 internt (Se 16F84.pdf sid 8) Motorola: - von Neuman - CISC-arkitektur (Complex Instruction Set Computer) - Samma buss för operationskod och data - Instruktionen bestämmer hur många byte varje instruktion med dess operand skall uppta. - 1804 Bytes EPROM - 112 Bytes RAM - 1st 8-Bit Timer med Prescaler - Ingen WDT PIC: - Harvard - RISC-arkitektur (Reduced Instruction Set Computer) - Skillda bussar för operationskod och data. - Alltid 14 bitars bredd. - 1024 x 14 words EPROM - 68 Bytes RAM - 1st 8-Bit Timer med Prescaler - WDT-timer

Jämförelse mellan 68705P3 och 16F84 instruktionsset Motorola: 61 instruktioner -Har mer direkta instruktioner för jämförande operationer. -Tar mellan 2 och 11 cykler för att utföra en instruktion PIC: 35 instruktioner (Se 16F84.pdf sid 56) - Kräver lite Tips och Tricks för att utföra jämförande operationer - Samtliga instruktioner tar 1 cykel. Hopp tar 2 cykler. Jämförelse mellan ett program skrivet i 68705P3 och PIC16F84 Programförklaring: En jämförelse skall utföras mellan det inlästa värdet från respektive slinggivare, LEFT och RIGHT. Om LEFT = RIGHT skall de båda motorerna köras med full hastighet (MOTORHASTIGHET). Exempel för 68705P3 68705P3: LDA LEFT ; Laddar accumulatorn med LEFT 2 cykler 2 word CMP RIGHT ; Jämför LEFT med RIGHT 4 cykler 2 word BEQ PLATTAN ; Hoppa till PLATTAN om LEFT=RIGHT 4 cykler 2 word CLR MOTORHASTIGHET 4 cykler 1 word BRA SLUT 4 cykler 2 word PLATTAN: LDA $FF 2 cykler 2 word STA MOTORHASTIGHET 5 cykler 2 word SLUT: BRA SLUT 2 cykler 2 word Exempel för P16F84 P16F84: MOVFW LEFT ; Flytta LEFT till W-registeret 1 cykel 1 word XORWF RIGHT,W ; Jämför LEFT med RIGHT 1 cykel 1 word BTFSC Z ; Om LEFT=RIGHT blir Z=1 2 cykel 1 word GOTO PLATTAN 1 cykel 1 word CLRF MOTORHASTIGHET 1 cykel 1 word GOTO SLUT 1 cykel 1 word PLATTAN: MOVLW 0xFF 1 cykel 1 word MOVWF MOTORHASTIGHET 1 cykel 1 word SLUT: GOTO SLUT 1 cykel 1 word

En fördjupning i 16F84 (Se 16F84.pdf sid 8) Arkitekturen - Programminnet (Flash/ROM) och dataminnet (RAM) är separerat. - Programmbussen 14bitar. - Databussen 8 bitar. - Periferienheter så som PORTAR,TIMER etc. ligger på databussen. Instruktionsflödet (Se 16F84.pdf sid 10) PIC hämtar nästa instruktion under tiden som den förra utförs. Q1 Instruktionen hämtas, Den exekveras sedan under Q2, Q3, Q4 Q2 Data läses från RAM och skrivs sedan i Q4. Hopp instruktioner tar 2 cykler pga att processorn vet då inte vad nästa instruktion kommer att bli förrän instruktionen är utförd. Programminnets organisation (Se 16F84.pdf sid 11) PIC16F84 har en 13-bitars programräknare som kan adressera upp till 8K x 14 programminne. Dataminnets organisation (Se 16F84.pdf sid 13) Data minnet är uppdelat i 2 delar BANK0 och BANK1. BANK0 är SFR Special Function Register. Bank0 kontrollerar processorns ut enheter. Ex: Portar, Timer etc. Här ligger även användar RAM. BANK1 är GFR General Purpose Ram. Bank1 kontrollerar generella inställningar. EX: Inställning omen viss pinnen skall vara ut- eller ingång. I programmet hänsyn tas till om det register man har tänkt skriva till ligger i BANK0 eller 1.

Timer (Se 16F84.pdf sid 27) TMR0: 8 bitars räknare,skriv och läsbar, programmerbar prescaler, intern eller extern klockning PRESCALER: Delar klockan med 1:2,1:4,...,1:256 Sriv och läsbar: Timerns värde kan läsas som också kan laddas med ett visst värde. Intern och extern klockning: Timer kan klockas från intern oscillator eller från en utanför liggande pulsgivande krets. Watchdog Timer (WDT) (Se 16F84.pdf sid 51) WDT är självgående timer som klockas av en RC-oscillator. Det betyder att om clockan till processorn skulle stanna, kommer WDT att forsätta att fungera. När WDT timer har räknat alla sina bitar, kommer den att generera en WDT-timeout. Detta innebär en reset av processorn. Vad är vitsen med detta? Om ett fel uppstår i programmet, t ex processorn blir störd av utifrån kommande störningar, kommer WDT timer att efter tidigast 18ms att starta om processorn. Det gäller alltså att nollställa WDT med jämna mellanrum så att inte en omstart sker. TRISA och TRISB -register (Se 16F84.pdf sid 23) Bestämmer om en I/O-pin skall vara utgång eller ingång. 1 = Ingång, 0 = Utgång TRIS står här för tristate. Vilket betyder att när en etta skrivs till en bitpoistion i TRIS-registret kommer porten i ett hög-impedivt tillstånd och blir därmed en inport. PORTA, PORTB-register (Se 16F84.pdf sid 23) Register som håller det värde som för tillfället finns på I/O-pin Kan både läsas och skrivas. STATUS-register (Se 16F84.pdf sid 15) Status regsitret anger den arimetiska status från ALU:n. Här läser man ut Zero flagga, Carry, Digit, efter aritmetiska operationer. Val av bank görs här med hjälp av biten RP0. Reset status kan läsas ut av bitarna TO och PD. TO betyder att WDT-timer startar om processorn. PD visar att processorn är i standby-mode.

OPTION-register (Se 16F84.pdf sid 16) Kontrollerara viss hårvaruinställningar i processorn., så som: - Pull-ups på PORTB - Val av extern eller intern klockning av TMR0 - Om extern klockning är vald, går det att välja vilken flank som skall klocka TMR0. - Prescaler användning sätts här antingen för TMR0 eller WDT. - PRESCALE delning