MIKROPROCESORY I MIKROKONTROLERY - Strona główna -...

24
MIKROPROCESORY I MIKROKONTROLERY Piotr MALECKI 1/24 TEMAT TEGO WYKŁADU OBEJMUJE OBSZAR GDZIE INFORMATYK SPOTYKA SIĘ Z PODSTAWOWYMI PROBLEMAMI BUDOWY KOMPUTERÓW. POZNAMY ELEMENTY JEDNOSTKI CENTRALNEJ – CPU (CENTRAL PROCESSOR UNIT) ORAZ ELEMENTY SKŁADAJĄCE SIĘ NA KOMPLETNY SYSTEM KOMPUTEROWY. TYTUŁOWE ROZRÓŻNIENIE MIKROPROCESORA I MIKROKONTROLERA DOTYCZY WŁAŚNIE DWU RÓŻNYCH TYPÓW OBWODÓW SCALONYCH: UKŁAD MIKROPROCESORA ZAWIERA PRAWIE WYŁĄCZNIE CPU (ZWYKLE O POTĘŻNEJ MOCY OBLICZENIOWEJ) GDY MIKROKONTROLER TO JEDNOUKŁADOWY, W PEŁNI AUTONOMICZNY, KOMPLETNY SYSTEM KOMPUTEROWY WYPOSAŻONY W PAMIĘCI DANYCH I PROGRAMÓW ORAZ ZNACZNĄ LICZBĘ UKŁADÓW WEJŚCIA/WYJŚCIA TAKICH JAK LICZNIKI/CZASOMIERZE, PRZETWORNIKI ANALOGOWO-CYFROWE I CYFROWO-ANALOGOWE, INTERFEJSY KOMUNIKACYJNE OBSŁUGUJĄCE RÓŻNE PROTOKOŁY TRANSMISJI DANYCH, KOMPARATORY NAPIĘĆ, STEROWNIKI WYŚWIETLACZY LCD, ORAZ WIELE PORTÓW (GRUP LINII WE/WY). MIKROPROCESOR „wielki inwalida" MIKROKONTROLER - przykł. AVR RAM RAM

Transcript of MIKROPROCESORY I MIKROKONTROLERY - Strona główna -...

Page 1: MIKROPROCESORY I MIKROKONTROLERY - Strona główna - …mars.iti.pk.edu.pl/~malecki/MiM2015A-wprowadzenie.pdf · Endianess (Jonathan Swift (1726) – satyryczna powieść „Podróże

MIKROPROCESORY I MIKROKONTROLERY

Piotr MALECKI 1/24

TEMAT TEGO WYKŁADU OBEJMUJE OBSZAR GDZIE INFORMATYK SPOTYKA SIĘ Z PODSTAWOWYMI PROBLEMAMI BUDOWY

KOMPUTERÓW. POZNAMY ELEMENTY JEDNOSTKI CENTRALNEJ – CPU (CENTRAL PROCESSOR UNIT) ORAZ ELEMENTY

SKŁADAJĄCE SIĘ NA KOMPLETNY SYSTEM KOMPUTEROWY.

TYTUŁOWE ROZRÓŻNIENIE MIKROPROCESORA I MIKROKONTROLERA DOTYCZY WŁAŚNIE DWU RÓŻNYCH TYPÓW OBWODÓW

SCALONYCH: UKŁAD MIKROPROCESORA ZAWIERA PRAWIE WYŁĄCZNIE CPU (ZWYKLE O POTĘŻNEJ MOCY OBLICZENIOWEJ) GDY

MIKROKONTROLER TO JEDNOUKŁADOWY, W PEŁNI AUTONOMICZNY, KOMPLETNY SYSTEM KOMPUTEROWY WYPOSAŻONY W

PAMIĘCI DANYCH I PROGRAMÓW ORAZ ZNACZNĄ LICZBĘ UKŁADÓW WEJŚCIA/WYJŚCIA TAKICH JAK LICZNIKI/CZASOMIERZE,

PRZETWORNIKI ANALOGOWO-CYFROWE I CYFROWO-ANALOGOWE, INTERFEJSY KOMUNIKACYJNE OBSŁUGUJĄCE RÓŻNE

PROTOKOŁY TRANSMISJI DANYCH, KOMPARATORY NAPIĘĆ, STEROWNIKI WYŚWIETLACZY LCD, ORAZ WIELE PORTÓW (GRUP LINII

WE/WY).

MIKROPROCESOR –

„wielki inwalida" MIKROKONTROLER - przykł. AVR

RA

M

RA

M

Page 2: MIKROPROCESORY I MIKROKONTROLERY - Strona główna - …mars.iti.pk.edu.pl/~malecki/MiM2015A-wprowadzenie.pdf · Endianess (Jonathan Swift (1726) – satyryczna powieść „Podróże

MIKROPROCESORY I MIKROKONTROLERY

Piotr MALECKI 2/24

CPU – JEDNOSTKA CENTRALNA TO ZŁOŻONY UKŁAD ELEKTRONICZNY ZDOLNY

DO WYKONYWANIA INSTRUKCJI (KOMEND, ROZKAZÓW),

KTÓRYCH REPERTUAR POZNAMY W TRAKCIE WYKŁADU.

- INSTRUKCJA ZAWIERA KOD OPERACJI, PRZY POMOCY KTÓREJ CPU

PRZETWARZA DANE – ARGUMENTY INSTRUKCJI

- CIĄG INSTRUKCJI (PROGRAM) MAGAZYNOWANY JEST W PAMIĘCI

PROGRAMÓW, SKĄD JEST POBIERANY DO WYKONANIA

Z CZĘSTOTLIWOŚCIĄ ZEGARA TAKTUJĄCEGO PRACĘ CPU.

PRAKTYCZNE POZNANIE MIKROKONTROLERA OZNACZA UMIEJĘTNOŚĆ JEGO

PROGRAMOWANIA. W TYM CELU NALEŻY POZNAĆ REPERTUAR INSTRUKCJI, ZNACZENIE

REJESTRÓW ORAZ FUNKCJE UKŁADÓW WEJŚCIA/WYJŚCIA ZWANYCH TEŻ „WEWNĘTRZNYMI

UKŁADAMI PERYFERYJNYMI”

ZNACZĄCY ROZWÓJ MIKROKONTROLERÓW TRWA OD LAT 80-TYCH XX WIEKU.

ISTNIEJE SZEREG RODZAJÓW MIKROKONTROLERÓW.

SKONCENTRUJEMY SIĘ NA TRZECH TYPACH MIKROKONTROLERÓW:

„RODZINIE” ‘81, RODZINIE AVR ORAZ NA GRUPIE OBECNIE NAJLICZNIEJ PRODUKOWANYCH

MIKROKONTROLERÓW ARM.

Page 3: MIKROPROCESORY I MIKROKONTROLERY - Strona główna - …mars.iti.pk.edu.pl/~malecki/MiM2015A-wprowadzenie.pdf · Endianess (Jonathan Swift (1726) – satyryczna powieść „Podróże

MIKROPROCESORY I MIKROKONTROLERY

Piotr MALECKI 3/24

RÓŻNE CECHY BUDOWY TYCH GRUP OKREŚLA SIĘ ICH PRZYNALEŻNOŚCIĄ DO

PEWNYCH „ARCHITEKTUR”. RODZINA ‘51 NALEŻY DO ARCHITEKTURY „CISC”, RODZINY

AVR I ARM TO ARCHITEKTURA „RISC”

CISC a RISC Complex Instruction Set Computer a Reduced Instruction Set Computer

DOSŁOWNE ROZWINIĘCIE TYCH AKRONIMÓW JEST DOSYĆ MYLĄCE, ALE RÓŻNICE TYCH

ARCHITEKTUR RZECZYWIŚCIE DOTYCZĄ INSTRUKCJI.

INTRUKCJE (ROZKAZY, KOMENDY, OPERACJE) MIKROKONTROLERÓW

WSZYSTKIE ROZKAZY ZAWIERAJĄ

KOD OPERACJI

ARGUMENTY (ADRESY ARGUMENTÓW I ADRES WYNIKU)

I, EWENTUALNIE, MODYFIKATORY KODU BĄDŹ ADRESÓW

ROZKAZY (PO PRZETWORZENIU PRZEZ ASEMBLER) ŁADOWANE SĄ DO PAMIĘCI

PROGRAMÓW

Przykłady :

ADD A, R4 ; dodaj zawartość rejestru R4 do A („akumulator”) i wynik umieść w A

; rozkaz dla ’51

w2: sublt r1,r1,r0 ; odejmij r0 od r1, tylko jeśli warunek LT jest spełniony. Linia kodu została

; opatrzona wizytówką

Page 4: MIKROPROCESORY I MIKROKONTROLERY - Strona główna - …mars.iti.pk.edu.pl/~malecki/MiM2015A-wprowadzenie.pdf · Endianess (Jonathan Swift (1726) – satyryczna powieść „Podróże

MIKROPROCESORY I MIKROKONTROLERY

Piotr MALECKI 4/24

FUNDAMENTALNĄ RÓŻNICĄ ARCHITEKTUR CISC / RISC JEST ROLA

I FUNKCJONALNOŚĆ REJESTRÓW ROBOCZYCH CPU

W RODZINIE ‘51 SZCZEGÓLNĄ ROLĘ MA „AKUMULATOR”, JEDYNY REJESTR CPU

O „PEŁNEJ” FUNKCJONALNOŚCI.

WSZYSTKIE REJESTRY ROBOCZE CPU MIKROKONTROLERÓW RISC MAJĄ FUNKCJE CISC-owego

AKUMULATORA

MIKROKONTROLERY RISC OKREŚLA SIĘ JAKO „MASZYNY REJESTROWE” PONIEWAŻ POZWALAJĄ

WYKONYWAĆ WIĘKSZOŚĆ OPERACJI NA REJESTRACH OGRANICZAJĄC TRANSFERY DO / Z

PAMIĘCI DO MINIMUM

REJESTRY CPU rodzina ’51 AVR ARM

8 bit 8 bit 32 bit

A – akumulator

B – akumulator pomocniczy

R0 – R7 rejestry robocze (x 4) R0 – R31 R0 – R15

PSW – rejestr wskaźników SREG CPSR (SPSR)

PC – licznik rozkazów PC PC = R15

SP – wskaźnik stosu SP SO = R13

Page 5: MIKROPROCESORY I MIKROKONTROLERY - Strona główna - …mars.iti.pk.edu.pl/~malecki/MiM2015A-wprowadzenie.pdf · Endianess (Jonathan Swift (1726) – satyryczna powieść „Podróże

MIKROPROCESORY I MIKROKONTROLERY

Piotr MALECKI 5/24

AVR ARITHMETIC and LOGIC INSTRUCTIONS

Code arguments affected flags cycles

ADD Rd,Rs Z,C,N,V,H,S 1

ADC Rd,Rs Z,C,N,V,H,S 1

ADIW RR,c63 Z,C,N,V,S 2

SUB Rd,Rs Z,C,H,N,V,S 1

SUB Rh,c255 Z,C,N,V,S,H 1

SBIW RR,c63 Z,C,N,V,S 2

SBC Rd,Rs Z,C,N,V,S,H 1

SBC Rd,c255 Z,C,N,V,S,H 1

AND Rd,Rs S,V,N,Z 1

ANDI Rh,c255 S,V,N,Z 1

OR Rd,Rs S,V,N,Z 1

ORI Rh,c255 S,V,N,Z 1

EOR Rd,Rs S,V,N,Z 1

COM Rd S,V,N,Z,C 1

NEG Rd H,S,V,N,Z,C 1

SBR Rh,c255 S,V,N,Z 1

CBR Rh,c255 S,V,N,Z 1

INC Rd S,V,N,Z 1

DEC Rd S,V,N,Z 1

TST Rd S,V,N,Z 1

CLR Rd S,V,N,Z 1

SER Rh 1

MUL Rd,Rs Z,C 2

MULS Rh,Rh Z,C 2

MULSU Rh,Rh Z,C 2

FMUL Rhd,Rhs Z,C 2

FMULS Rhd,Rhs Z,C 2

FMULSU Rhd,Rhs Z,C 2

Where: d,s = 0 : 30, h = 16 : 30, hd, hs = 16:23

c63 = 0 : 63, c255 = 0 : 255

8051 FAMILY ARITHMETIC and LOGIC INSTRUCTIONS

Code Addressing flags cycles

ADD A,Rr A,direct A,@Ri A.#data C,N,V 1

ADC A,Rr A,direct A,@Ri A,#data C,N,V 1

SUBB A,Rr A,direct A,@Ri A,#data C,H,V 1

INC A Rr direct @Ri DPTR 1

DEC A Rr direct @Ri 1

MUL AB C,V 4

DIV AB C,V 4

DA A C 1

ANL A,Rr A,direct A,@Ri A,#data direct,A direct,#data 1(2)

ORL A,Rr A,direct A,@Ri A,#data direct,A direct,#data 1(2)

XRL A,Rr A,direct A,@Ri A,#data direct,A direct,#data 1(2)

CLR A

CPL A

SWAP A

Where: r = 0 : 7, i = 0,1 #data = 0 : 255

OPERACJE (rozkazy) PROCESORÓW CYFROWYCH

TWORZĄ GRUPY:

OPERACJE ARYTMETCZNO-LOGICZNE

OPERACJE TRANSFERU DANYCH

OPERACJE WARUNKOWE

OPERACJE STERUJĄCE

W DALSZEJ CZĘŚCI KURSU POZNAMY SZCZEGÓŁY

INSTRUKCJI.

POWYŻSZE TABELE ILUSTRUJĄ ISTOTNE RÓŻNICE

TRYBÓW ADRESOWANIA CISC I RISC

Page 6: MIKROPROCESORY I MIKROKONTROLERY - Strona główna - …mars.iti.pk.edu.pl/~malecki/MiM2015A-wprowadzenie.pdf · Endianess (Jonathan Swift (1726) – satyryczna powieść „Podróże

MIKROPROCESORY I MIKROKONTROLERY

Piotr MALECKI 6/24

CISC a RISC c.d.

PRZYKŁADOWE PORÓWNANIE GRUP OPERACJI ARYTMETYCZNYCH PROCESORA ‘51 ORAZ AVR

ILUSTRUJE NAJBARDZIEJ ISTOTNE RÓŻNICE TYCH ARCHITEKTUR:

ZNACZNIE WIĘCEJ REJESTRÓW RISC MOŻE BYĆ DOWOLNYMI ARGUMENTAMI OPERACJI

WIĘKSZOŚĆ OPERACJI RISC WPŁYWA NA USTAWIENIA ZNACZNIKÓW („FLAG”)

WIĘKSZOŚĆ OPERACJI ODNOSI SIĘ DO REJESTRÓW – PAMIĘĆ DANYCH TRAKTOWNA

JEST JAK URZĄDZENIE WEJŚCIA/WYJŚCIA

RÓŻNICE TE ZNACZNIE USPRAWNIAJĄ I UŁATWIAJĄ PROGRAMOWANIE; POZWALAJĄ SKRÓCIĆ

KOD PROGRAMU.

PRZYKŁAD DODAWANIA DWÓCH LICZB CAŁKOWITYCH 16-BITOWYCH DLA –BITOWYCH

PROCESORÓW: [R8,R7] = [R8,R7] + [R6,R5]

CISC RISC

… …

MOV A, R7 ADD R7, R5

ADD A, R5 ADDC R8, R6

MOV R7, A …

MOV A, R8

ADDC A, R6

MOV R7, A

Page 7: MIKROPROCESORY I MIKROKONTROLERY - Strona główna - …mars.iti.pk.edu.pl/~malecki/MiM2015A-wprowadzenie.pdf · Endianess (Jonathan Swift (1726) – satyryczna powieść „Podróże

MIKROPROCESORY I MIKROKONTROLERY

Piotr MALECKI 7/24

JESZCZE JEDEN PODZIAŁ:

O PROCESORACH, KTÓRYCH PAMIĘCI PROGRAMÓW I PAMIĘCI DANYCH SĄ ODRĘBNYMI URZĄDZENIAMI

MÓWIMY, ŻE NALEŻĄ DO ARCHITEKTURY HARWARDZKIEJ.

JEŚLI PAMIĘĆ DANYCH I PAMIĘĆ PROGRAMÓW RÓŻNI SIĘ TYLKO PRZESTRZENIĄ ADRESOWĄ, TO

MÓWIMY O ARCHITEKTURZE VON NEUMANNA

RODZINY ‘51 I AVR NALEŻĄ DO ARCHITEKTURY HARWARDZKIEJ, WCZEŚNIEJSZE KONSTRUKCJE ARM ( NP.

MODELE CORTEX-M0, CORTEX-M1) BUDOWANE BYŁY W ARCHITEKTURZE VON NEUMANN’A.

Page 8: MIKROPROCESORY I MIKROKONTROLERY - Strona główna - …mars.iti.pk.edu.pl/~malecki/MiM2015A-wprowadzenie.pdf · Endianess (Jonathan Swift (1726) – satyryczna powieść „Podróże

MIKROPROCESORY I MIKROKONTROLERY

Piotr MALECKI 8/24

CECHY ARCHITEKTURY HARWARDZKIEJ:

ODRĘBNOŚĆ PAMIĘCI DANYCH I PAMIĘCI KODU OZNACZA, ŻE MAGISTRALE CPU –

PAMIĘĆ SĄ NIEZALEŻNE, MOGĄ MIEĆ RÓŻNE SZYBKOŚCI I SZEROKOŚCI.

W ARCHITEKTURZE ARM TRANSFERY DANYCH I INSTRUKCJI MOGĄ NAWET ODBYWAĆ

SIĘ JEDNOCZEŚNIE.

RODZINA ‘51 JEST PRZYKŁADEM „RYGORYSTYCZNEJ” ARCHITEKTURY

HARWARDZKIEJ. OZNACZA TO, ŻE PROGRAMISTA POZBAWIONY JEST MOŻLIWOŚCI

INGERENCJI W PAMIĘĆ PROGRAMU W TRAKCIE JEGO WYKONYWANIA.

PAMIĘĆ PROGRAMÓW MOŻNA ZMIENIĆ JEDYNIE W TRYBIE ŁADOWANIA.

PRZESYŁANIE DANYCH (przykład instrukcji rodziny ‘51 - „regorystyczny Harward”)

kod dozwolone adresowanie

Kopiuj A <- □ MOV A,Rr A,direct A,@Ri A,#data

Kopiuj Rr <- □ MOV Rr,A Rr,direct Rr,#data

Kopiuj direct <- □ MOV direct,A direct,Rr direct,direct direct,@Ri direct,#data

Kopiuj @Ri <- □ MOV @Ri,A @Ri,direct @Ri,#data

Kopiuj DPTR <- □ MOV DPTR,#data16

Pamięć programu MOVC A,@A+DPTR A,@A+PC

Zewn. pamięć danych MOVX A,@Ri A,@DPTR @Ri,A @DPTR,A

Zamień XCH A,Rr A,direct A,@Ri

Zamień 4 młodsze bity XCHD A,@Ri

Zapisz na stos PUSH direct (SP=SP+1 (SP) <- direct)

Odczytaj ze stosu POP direct (direct <- (SP) SP=SP-1)

Page 9: MIKROPROCESORY I MIKROKONTROLERY - Strona główna - …mars.iti.pk.edu.pl/~malecki/MiM2015A-wprowadzenie.pdf · Endianess (Jonathan Swift (1726) – satyryczna powieść „Podróże

MIKROPROCESORY I MIKROKONTROLERY

Piotr MALECKI 9/24

MOVC A,@A+DPTR A,@A+PC Z POPRZEDNIEJ TABELI TO KOMENDA

PRZENIESIENIA BAJTU Z PAMIĘCI KODU

DO AKUMULATORA. TYLE I NIC WIĘCEJ

HARWARDZKIE AVR NIE SĄ JUŻ TAK RYGORYSTYCZNE:

SPM (Z) <= R1:R0 STORE PROGRAM MEMORY !

Każdy rozkaz AVR zajmuje 2 bajty pamięci kodu. Starszy bit to zawartość R1, młodszy R0.

Nie wszystkie modele AVR pozwalają na zapis pojedynczego słowa (2-bajtowego). W niektórych

można wyzerować całą stronę (64K) pamięci kodu i całą załadować za pomocą STM.

ORGANIZACJA PAMIĘCI ARM JEST BARDZO ORYGINALNA - NIEZALEŻNIE OD

FIZYCZNEGO, SPRZĘTOWEGO ROZRÓŻNIENIA TYPÓW I MAGISTRAL PAMIĘCI DANYCH

I PROGRAMÓW SĄ ONE OBJĘTE JEDNĄ WSPÓLNĄ PRZESTRZENIĄ ADRESOWĄ !

Page 10: MIKROPROCESORY I MIKROKONTROLERY - Strona główna - …mars.iti.pk.edu.pl/~malecki/MiM2015A-wprowadzenie.pdf · Endianess (Jonathan Swift (1726) – satyryczna powieść „Podróże

MIKROPROCESORY I MIKROKONTROLERY

Piotr MALECKI 10/24

„ZALECANA”

ORGANIZACJA

PAMIĘCI

ARM-CORTEX M3

MOŻNA UMIEŚCIĆ

KOD

W PRZESTRZENI

DANYCH (!)

ALE

PRODUCENT

ODRADZA

Page 11: MIKROPROCESORY I MIKROKONTROLERY - Strona główna - …mars.iti.pk.edu.pl/~malecki/MiM2015A-wprowadzenie.pdf · Endianess (Jonathan Swift (1726) – satyryczna powieść „Podróże

MIKROPROCESORY I MIKROKONTROLERY

Piotr MALECKI 11/24

Organizacja wewnętrznej pamięci RAM μkontrolerów rodziny 51

128 bajtów dolnego obszaru wewnętrznej pamięci RAM

128 bajtów górnego obszaru wewnętrznej pamięci RAM

Obszar rejestrów SFR

Adresowanie bezpośrednie i pośrednie

Adresowanie pośrednie zawartością rejestrów

Adresowanie bezpośrednie

00H

07FH

80H

0FFH 0FFH

80H

Page 12: MIKROPROCESORY I MIKROKONTROLERY - Strona główna - …mars.iti.pk.edu.pl/~malecki/MiM2015A-wprowadzenie.pdf · Endianess (Jonathan Swift (1726) – satyryczna powieść „Podróże

MIKROPROCESORY I MIKROKONTROLERY

Piotr MALECKI 12/24

Struktura dolnego obszaru pamięci RAM µkontrolerów

R0

R1

R2

R3 R4

R5

R6 R7

Bank 0

0H

7H

BANK 1

BANK 2

BANK 3

Bajty z adresowalnymi bitami

Pamięć ogólnego zastosowania

00 07

7F 78

30H

7FH

8H - 0FH

10H - 17H

18H - 1FH

Page 13: MIKROPROCESORY I MIKROKONTROLERY - Strona główna - …mars.iti.pk.edu.pl/~malecki/MiM2015A-wprowadzenie.pdf · Endianess (Jonathan Swift (1726) – satyryczna powieść „Podróże

MIKROPROCESORY I MIKROKONTROLERY

Piotr MALECKI 13/24

SFR – obszar rejestrów specjalnego przeznaczenia wykorzystuje się: ●Jako zapis wszelkich rejestrów sterujących pracą CPU takich jak ACC- akumulator, B – akumulator pomocniczy, PSW - rejestr wskaźników stanu, SP – wskaźnik stosu ... (poza licznikiem rozkazów (PC) i bankami GPR, ●Jako interfejs pomiędzy CPU a urządzeniami peryferyjnymi.

...sterowanie urządzeniami peryferyjnymi poprzez operacje na odpowiadających im

rejestrach pamięci należy do genialnych rozwiązań w konstrukcji procesorów cyfrowych...

Stan wszystkich rejestów SFR po RESET (lub po uruchomieniu procesora) jest zdefiniowany. Jest też udokumentowany w danych technicznych kontrolera.

Programista może zmienić pierwotne (default – niejawne) ustawienia SFR. Np. wskaźnik stosu SP ustawiany jest pierwotnie na (adres) 07H, wskazuje na

R0 pierwszego banku rejestrów ogólnego zastosowania GPR i zwykle przestawiany na odległą lokację.

Page 14: MIKROPROCESORY I MIKROKONTROLERY - Strona główna - …mars.iti.pk.edu.pl/~malecki/MiM2015A-wprowadzenie.pdf · Endianess (Jonathan Swift (1726) – satyryczna powieść „Podróże

MIKROPROCESORY I MIKROKONTROLERY

Piotr MALECKI 14/24

TAKTOWANIE MIKROKONTROLERA ●Cykl maszynowy mikrokontrolerów rodziny 51 składa się z sześciu stanów (S1 – S6). Każdy stan trwa dwa okresy sygnału taktującego. Więc jeden cykl maszynowy trwa 12 taktów (okresów) sygnału zegarowego. ●Mikrokontrolery mają wbudowany generator sygnału zegarowego i zewnętrzny rezonator kwarcowy. Dobór rezonatora wyznacza częstotliwość taktowania. Zwykle od kilku do kilkudziesięciu MHz. Później poznamy powody dla popularnej częstości 11.059 MHz. ●Czas wykonywania instrukcji mikrokontrolerów rodziny 51 wynosi jeden, dwa lub 4 cykle maszynowe. (Te 4 cykle odnoszą jedynie do dwóch instrukcji: mnożenie i dzielenia). ●Podział cyklu maszynowego na stany i fazy wynika z potrzeby generacji sygnałów sterujących poszczególnymi etapami wykonywania instrukcji (pobranie z pamięci, zdekodowanie instrukcji, pobranie argumentów, zapis wyniku itp). Np.: stan wyprowadzenia RESET jest testowany w każdym cyklu maszynowym w stanie S5P2.

Page 15: MIKROPROCESORY I MIKROKONTROLERY - Strona główna - …mars.iti.pk.edu.pl/~malecki/MiM2015A-wprowadzenie.pdf · Endianess (Jonathan Swift (1726) – satyryczna powieść „Podróże

MIKROPROCESORY I MIKROKONTROLERY

Piotr MALECKI 15/24

ACC.7 ACC.6 ACC.5 ACC.4 ACC.3 ACC.2 ACC.1 ACC.0

CY AC F0 RS1 RS0 OV F1 P

‘51 AKUMULATOR

PSW – PROGRAM STATUS WORD

7 6 5 4 3 2 1 0

CY – carry flag AC – aux. Carry F0, F1 – general purpose RS1, RS0 – reg. bank select

OV – overflow flag P – parity bit

Page 16: MIKROPROCESORY I MIKROKONTROLERY - Strona główna - …mars.iti.pk.edu.pl/~malecki/MiM2015A-wprowadzenie.pdf · Endianess (Jonathan Swift (1726) – satyryczna powieść „Podróże

MIKROPROCESORY I MIKROKONTROLERY

Piotr MALECKI 16/24

ARM

Page 17: MIKROPROCESORY I MIKROKONTROLERY - Strona główna - …mars.iti.pk.edu.pl/~malecki/MiM2015A-wprowadzenie.pdf · Endianess (Jonathan Swift (1726) – satyryczna powieść „Podróże

MIKROPROCESORY I MIKROKONTROLERY

Piotr MALECKI 17/24

Page 18: MIKROPROCESORY I MIKROKONTROLERY - Strona główna - …mars.iti.pk.edu.pl/~malecki/MiM2015A-wprowadzenie.pdf · Endianess (Jonathan Swift (1726) – satyryczna powieść „Podróże

MIKROPROCESORY I MIKROKONTROLERY

Piotr MALECKI 18/24

Endianess (Jonathan Swift (1726) – satyryczna powieść „Podróże Guliwera”)

Stos - SP ‘51, AVR i ARM ! Specjalny sposób używania części pamięci danych

Wyposażenie - c.d.

Zasilanie

Narzędzia programistyczne – Keil, IAR, MCU 8051 IDE, … wstępny przykład

Page 19: MIKROPROCESORY I MIKROKONTROLERY - Strona główna - …mars.iti.pk.edu.pl/~malecki/MiM2015A-wprowadzenie.pdf · Endianess (Jonathan Swift (1726) – satyryczna powieść „Podróże

MIKROPROCESORY I MIKROKONTROLERY

Piotr MALECKI 19/24

Page 20: MIKROPROCESORY I MIKROKONTROLERY - Strona główna - …mars.iti.pk.edu.pl/~malecki/MiM2015A-wprowadzenie.pdf · Endianess (Jonathan Swift (1726) – satyryczna powieść „Podróże

MIKROPROCESORY I MIKROKONTROLERY

Piotr MALECKI 20/24

Przykład wyposażenia

ADuC812 – Analog Devices

Warto zwrócić uwagę

co dla Firmy jest dumą …

Page 21: MIKROPROCESORY I MIKROKONTROLERY - Strona główna - …mars.iti.pk.edu.pl/~malecki/MiM2015A-wprowadzenie.pdf · Endianess (Jonathan Swift (1726) – satyryczna powieść „Podróże

MIKROPROCESORY I MIKROKONTROLERY

Piotr MALECKI 21/24

Ultra-low-power platform

1.65 V to 3.6 V power supply -40°C to 85°C/105°C temperature range

0.3 μA Standby mode (3 wakeup pins)

0.9 μA Standby mode + RTC

0.57 μA Stop mode (16 wakeup lines)

1.45 μA Stop mode + RTC

9 μA Low-power Run mode

214 μA/MHz Run mode

10 nA ultra-low I/O leakage

< 8 μs wakeup time

Core: ARM 32-bit Cortex™-M3 CPU

From 32 kHz up to 32 MHz max

33.3 DMIPS peak (Dhrystone 2.1)

Memory protection unit

Reset and supply management

Ultra-safe, low-power BOR (brownout reset) with 5 selectable thresholds

Ultra-low-power POR/PDR

Programmable voltage detector (PVD)

STM32L152RB PRZYKŁAD ARM – CORTEX – M3

Page 22: MIKROPROCESORY I MIKROKONTROLERY - Strona główna - …mars.iti.pk.edu.pl/~malecki/MiM2015A-wprowadzenie.pdf · Endianess (Jonathan Swift (1726) – satyryczna powieść „Podróże

MIKROPROCESORY I MIKROKONTROLERY

Piotr MALECKI 22/24

Clock sources

1 to 24 MHz crystal oscillator

32 kHz oscillator for RTC with calibration

High Speed Internal 16 MHz factory-trimmed RC (+/- 1%)

Internal Low Power 37 kHz RC

Internal multispeed low power 65 kHz to 4.2 MHz

PLL for CPU clock and USB (48 MHz)

Pre-programmed bootloader

USART supported

Development support

Serial wire debug supported

JTAG and trace supported

Up to 83 fast I/Os (73 I/Os 5V tolerant), all mappable on 16 external interrupt vectors

Memories

Up to 128 KB Flash with ECC

Up to 16 KB RAM

Up to 4 KB of true EEPROM with ECC

80 Byte Backup Register

STM32L152RB PRZYKŁAD ARM – CORTEX – M3 c.d.

Page 23: MIKROPROCESORY I MIKROKONTROLERY - Strona główna - …mars.iti.pk.edu.pl/~malecki/MiM2015A-wprowadzenie.pdf · Endianess (Jonathan Swift (1726) – satyryczna powieść „Podróże

MIKROPROCESORY I MIKROKONTROLERY

Piotr MALECKI 23/24

LCD Driver for up to 8x40 segments

Support contrast adjustment

Support blinking mode

Step-up converter on board

Rich analog peripherals (down to 1.8 V)

12-bit ADC 1 Msps up to 24 channels

12-bit DAC 2 channels with output buffers

2x Ultra-low-power-comparators(window mode and wake up capability)

DMA controller 7x channels

8x peripherals communication interface

1x USB 2.0 (internal 48 MHz PLL)

3x USART (ISO 7816, IrDA)

2x SPI 16 Mbits/s

2x I2C (SMBus/PMBus)

10x timers: 6x 16-bit with up to 4 IC/OC/PWM channels, 2x 16-bit basic timer, 2x watchdog

timers (independent and window)

Up to 20 capacitive sensing channels supporting touchkey, linear and rotary touch sensors

CRC calculation unit, 96-bit unique ID

STM32L152RB PRZYKŁAD ARM – CORTEX – M3 c.d.

Page 24: MIKROPROCESORY I MIKROKONTROLERY - Strona główna - …mars.iti.pk.edu.pl/~malecki/MiM2015A-wprowadzenie.pdf · Endianess (Jonathan Swift (1726) – satyryczna powieść „Podróże

MIKROPROCESORY I MIKROKONTROLERY

Piotr MALECKI 24/24

Tomasz Starecki „Mikrokontrolery 8051 w praktyce” BTC Warszawa 2002

Andrzej Pawluczuk „Sztuka programowania mikrokontrolerów AVR” BTC Warszawa2006

Krzysztof Paprocki „Mikrokontrolery STM32 w praktyce” BTC Warszawa 2011

Paweł Borkowski „ARM & AVR programowanie mikrokontrolerów” Helion 2009

Marek Galewski „STM32 Aplikacje i ćwiczenia w języku C”

… INTERNET … LINKI DO PRODUCENTÓW !!!

mars.iti.pk.edu.pl/~malecki „slajdy” powstające na bieżąco oraz archiwalne

MATERIAŁY DYDAKTYCZNE: