Riistvarapõhine programmeerimine

Download Report

Transcript Riistvarapõhine programmeerimine

Slide 1

Riistvarapõhine
programmeerimine
Loeng 9
Mikrokontrollerite pered
PIC
Motorola


Slide 2

Mikrokontroller
Ühe kiibi peal:
 Protsessor
 Sisendi liides
 Väljundi liides

Mikrokontrollerite pered – sama
arhitektuuriga kontrollerite seeriad
02/07/2004

ID218 Riistvaralähedane
programmeerimine

2


Slide 3

Mikrokontrollerite pered


CISC arhitektuuriga




Motorola MC68HC11

RISC arhitektuuriga


Microchip PIC16

02/07/2004

ID218 Riistvaralähedane
programmeerimine

3


Slide 4

PIC


Microchip,

http://www.microchip.com

RISC-based architecture of OTP, FLASH,
EEPROM and ROM microcontrollers
 16-bit dsPIC® Digital Signal Controllers
 A complete line of high-endurance
Serial EEPROMs
 Development tools


02/07/2004

ID218 Riistvaralähedane
programmeerimine

4


Slide 5

PIC16C84, üldinfo I

02/07/2004

ID218 Riistvaralähedane
programmeerimine

5


Slide 6

PIC 16C84, üldinfo II

02/07/2004

ID218 Riistvaralähedane
programmeerimine

6


Slide 7

PIC16C84, mälud


ROM INSTRUCTION MEMORY
14 x 1 K
 OTI (One Time Programmable)




RAM MEMORY




12 eriregistrit + 36 File Registers

EEPROM MEMORY


8 x 64

02/07/2004

ID218 Riistvaralähedane
programmeerimine

7


Slide 8

PIC16C84, skeem

02/07/2004

ID218 Riistvaralähedane
programmeerimine

8


Slide 9

PIC16C84, ehitus I

Eraldi programmi mälu ja andmete mälu
02/07/2004

ID218 Riistvaralähedane
programmeerimine

9


Slide 10

PIC16C84, ehitus II

Register W - akkumulator, tööregister
02/07/2004

ID218 Riistvaralähedane
programmeerimine

10


Slide 11

PIC16C84, ehitus III


Üldregistrid





02/07/2004

File Registers (RAM)
FSR
Status
PC

ID218 Riistvaralähedane
programmeerimine

11


Slide 12

PIC16C84, ehitus IV
Pinu
Klassikaline puudub
8-level stack
8 pesa ‘return address’-le

Call – 8 korda

02/07/2004

ID218 Riistvaralähedane
programmeerimine

12


Slide 13

PIC16C84, käsustik I

02/07/2004

ID218 Riistvaralähedane
programmeerimine

13


Slide 14

PIC16C84, käsustik II

02/07/2004

ID218 Riistvaralähedane
programmeerimine

14


Slide 15

PIC16C84, käsustik III
Kokku
 Käsk


Käsukood
 Operand


Käsu täitmine
 Siirdekäsud
 Konveier


02/07/2004

-

35 käsku
14 bitti

-

7 bitti
7 bitti

-

1 tsükkel
2 tsükkli
2 sammu

ID218 Riistvaralähedane
programmeerimine

15


Slide 16

PIC16C84, käsustik IV
ADDWF f,d
f
d
Näiteks:
ADDWF 30,F
ADDWF 30,W
02/07/2004

File Register
sihtkoht

F30 =
W
=
ID218 Riistvaralähedane
programmeerimine

F30 +
F30 +

W
W
16


Slide 17

PIC16C84, käsustik VI



Kaudne adresseerimine
02/07/2004

ID218 Riistvaralähedane
programmeerimine

17


Slide 18

PIC16C84, käsustik V

Otsene adresseerimine

02/07/2004

ID218 Riistvaralähedane
programmeerimine

18


Slide 19

PIC16C84, input/output
INPUT/OUTPUT PORTS:
Port A
5 bit
Port B
8 bit
Iga bitti suund eraldi programmeeritav
Väljund suuteline LED-i põlema panna

02/07/2004

ID218 Riistvaralähedane
programmeerimine

19


Slide 20

PIC16C84, timer
internal 8 bit counter/timer
 CPU clock / 4
 Counter from Port A bit 4


02/07/2004

ID218 Riistvaralähedane
programmeerimine

20


Slide 21

PIC16C…, muud valikud I

02/07/2004

ID218 Riistvaralähedane
programmeerimine

21


Slide 22

PIC16C…, muud valikud II

02/07/2004

ID218 Riistvaralähedane
programmeerimine

22


Slide 23

Motorola
Freescale Semiconductors,
http://www.mot-sps.com/
 32-bit embedded processors
 Digital Signal processors
 Microcontrollers
 Communication processors
 Network processors


02/07/2004

ID218 Riistvaralähedane
programmeerimine

23


Slide 24

MC68HC11F1, üldinfo










8-bitine kontroller
1024 Bytes of On-Chip RAM
512 Bytes of On-Chip EEPROM
Serial Peripheral Interface (SPI)
Eight-Channel 8-Bit A/D Converter
22 int/ext interrupt sources
Enhanced 16-Bit Timer System
Speeds of up to 6 MHz
02/07/2004

ID218 Riistvaralähedane
programmeerimine

24


Slide 25

MC68HC11F1, mälud
Control Registers
 EEPROM
 RAM
 ROM


02/07/2004

96 bytes
512 bytes
1024 bytes
256 bytes

ID218 Riistvaralähedane
programmeerimine

25


Slide 26

MC68HC11F1, mälukaart

02/07/2004

ID218 Riistvaralähedane
programmeerimine

26


Slide 27

MC68HC11F1, registrid

02/07/2004

ID218 Riistvaralähedane
programmeerimine

27


Slide 28

MC68HC11F1,
adresseerimisviisid
Immediate
 Direct
 Extended
 Indexed
 Inherent
 Relative


02/07/2004

ID218 Riistvaralähedane
programmeerimine

28


Slide 29

MC68HC11F1, Immidiate
Käsus antakse mäluopefrandi
aadress(pikkus sobib sihtkoha
suurusele) - vahetu
ADDA $10
SUBA $20
LDD $30
02/07/2004

ID218 Riistvaralähedane
programmeerimine

29


Slide 30

MC68HC11F1, Direct
Käsus antakse operandi mälu aadress
(pikkus 1 baiti) - otsene
ADDA $10
SUBA $20
LDD $30

02/07/2004

ID218 Riistvaralähedane
programmeerimine

30


Slide 31

MC68HC11F1, Extended
Käsus antakse operandi mäluaadress
(pikkus 2 baiti) - laiendatud
LDAA $1000
LDX
$1000
ADDD $31030

02/07/2004

ID218 Riistvaralähedane
programmeerimine

31


Slide 32

MC68HC11F1, Indexed
Indeks
Operandi mäluaadress on
indeksregistri ja 8-bitise offseti
summa

ADDA
LDAA
02/07/2004

10,X
3,Y
ID218 Riistvaralähedane
programmeerimine

32


Slide 33

MC68HC11F1, Inherent
Operandi aadressi ja adresserimisviisi
määrab ära käsukood –
kaasasündinud
INCB
PSHA

02/07/2004

ID218 Riistvaralähedane
programmeerimine

33


Slide 34

MC68HC11F1, Relative
8-bit offset liidetakse käsuloenduriga.
Kasutatakse siirdkäskudes suhteline

Label
02/07/2004

BEQ Label
ADDA #10
...
DECB
ID218 Riistvaralähedane
programmeerimine

34


Slide 35

MC68HC11F1, skeem I

02/07/2004

ID218 Riistvaralähedane
programmeerimine

35


Slide 36

MC68HC11F1, skeem II

02/07/2004

ID218 Riistvaralähedane
programmeerimine

36


Slide 37

MC68HC11F1, käsustik I
Üle 120 käsku
 Käsupikkus 1 – 4 baiti
 Täitmiseks läheb 2 – 7 tsükli …


02/07/2004

ID218 Riistvaralähedane
programmeerimine

37


Slide 38

MC68HC11F1, käsustik II

02/07/2004

ID218 Riistvaralähedane
programmeerimine

38


Slide 39

MC68HC11F1, input/output


SCI, serial communications interface


COM-port, (UART)

SPI, serial peripheral interface, (I2C)
 Analog-to-Digital Converter
 Parallel Input/Output




ports A, B, C, D, E, F, G; 54 pins

02/07/2004

ID218 Riistvaralähedane
programmeerimine

39


Slide 40

MC68HC11F1, timer
16-bit timer
 CPU clock / 1, 4, 8 ja 16
 8-bit counter


02/07/2004

ID218 Riistvaralähedane
programmeerimine

40


Slide 41

Kokkuvõte I


PIC16
Lihtne RISC protsessor
 Harvardi arhitektuur
 Eraldi programmi mälu
 Lihtne käsustik
 Kaks adresseerimisviisi


02/07/2004

ID218 Riistvaralähedane
programmeerimine

41


Slide 42

Kokkuvõte II


MS6800
Keeruline CISC protsessor
 von Neumann arhitektuur
 Võimalus kasutada välist mälu
 Rikas käsustik
 Kuus adresseerimisviisi


02/07/2004

ID218 Riistvaralähedane
programmeerimine

42


Slide 43

Kokkuvõte III
Ei ole ‘parimat’ protsessorit.

On olemas antud ülesandele sobivad
või mittesobivad protsessorid.

02/07/2004

ID218 Riistvaralähedane
programmeerimine

43