Systemy Wbudowane
Dr inż. Mariusz Fraś
Mikroarchitektura systemów wbudowanych
" Mikrokontrolery
© maf 1
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Model systemu wbudowanego
" Model systemu
Sensory
" Konwersja fizycznych parametrów środowiska na sygnały systemu
Aktuatory
" Konwersja wyjścia interfejsu wyj. systemu na akcję fizyczną
Bloki dopasowania we/wy
" Konwersja zakresu (wzmocnienie, przesunięcie), typu
(normowanie) i selekcja sygnału
Układy we/wy
" Dostosowanie przepływu informacji do sposobu działania systemu
sterowania (AC/CA)
Jednostka sterujÄ…ca (przetwarzania)
Jednostka
Układy
dopasowania
wejścia
wejścia
sensor
Jednostka
Interfejs
sterujÄ…ca
operatora
(w czasie RT)
Jednostka
Układy
dopasowania
wyjścia
wyjścia
aktuator
© maf 2
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Definicje
" System wbudowany
Dedykowany system komputerowy, składający się z
odpowiednio dobranych komponentów sprzętowych i
programowych, zaprojektowany pod kątem wykonania ściśle
określonego działania przez aplikację programową
odpowiedzialnÄ… za realizacjÄ™ funkcji systemu
Automatyka Systemy komputerowe
Komputerowe Systemy Sterowania
PLC Systemy wbudowane Mikrokontrolery
© maf 3
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Definicje
" Mikrokontroler
Komputer wykonany w jednym układzie scalonym z
wyspecjalizowanym mikroprocesorem, zintegrowaną pamięcią oraz
układami we/wy do sterowania urządzeniami peryferyjnymi,
spełniający dwa kryteria:
" zdolność do autonomicznej pracy
" zaprojektowany do pracy w systemach wbudowanych (w tym kontrolno
pomiarowych)
" UrzÄ…dzenia peryferyjne (ang. Peripheral Device)
Urządzenia elektroniczne dołączone do procesora przez magistralę
systemowÄ… lub interfejs, wykorzystywane do realizowania
specjalizowanej funkcjonalności systemu
" Magistrala (ang. Bus)
Połączenie elektryczne umożliwiające przesyłanie danym pomiędzy
procesorem, pamięcią i urządzeniami peryferyjnymi
" Interface (ang. Interface)
UrzÄ…dzenie elektroniczne lub optyczne pozwalajÄ…ce na komunikacjÄ™
między dwoma innymi urządzeniami, których bezpośrednio nie da się
ze sobą połączyć
© maf 4
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Mikrokontrolery
" Popularne mikrokontrolery
8051 firmy Intel i jego liczne klony
PIC firmy Microchip Technology
68HC firmy Motorola (obecnie Freescale Semiconductor)
Z8 firmy Zilog
AVR firmy Atmel
MSP430 firmy Texas Instruments
ARM produkowane przez wiele firm, np.: Atmel, IBM, Intel,
NEC, Samsung, STMicroelectronics, TI, Toshiba, Qualcomm, &
" Mikrokontrolery firmy Atmel
8-bitowa architektura 8051
" AT80& , AT83& , AT87& , AT89& ,
8-bitowa architektura AVR
" AT90& , ATtiny& , ATmega& , ATxmega&
32-bitowa architektura AVR
" AT32&
32-bitowa architektura ARM
" AT91&
© maf 5
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Mikrokontrolery
" Mikrokontrolery/procesory ARM
Szeroko stosowane w systemach wbudowanych i systemach o
niskim poborze mocy
" EnergooszczÄ™dna architektura RISC: 0,25 ÷ 0,568 mW/MHz
Zajmuje od 75% do 90% rynku 32-bitowych CPU dla systemów
wbudowanych
" 2010r. ponad 6 mld licencji
" od prostych mikrokontrolerów
" po wersje ze wsparciem systemu operacyjnego,
z zaimplementowanymi mechanizmami wielowątkowości, z obsługą
stosu TCP/IP, systemu plików, zaawansowanej grafiki itp.
Windows CE, Symbian OS, FreeRTOS, QNX, VxWorks, i inne
Linux, BSD, Solaris, Apple iOS, WebOS, Android i inne
Windows
" Wersje rdzenia: v1 - v7
Określają liczbę oraz rodzaj instrukcji, które realizują jednostki
wykonawcze i parametry procesora
różne zastosowania
© maf 6
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Mikrokontrolery
" Wersje architektury procesorów ARM
Arch. Family / Core Charakterystyka MIPS / MHz
ARM (wybrane cechy)
" operacje arytmetyczno/logiczne,
ARMv1 ARM1, ARM2, 4/8 ÷ 30/40
" programowe przerwania,
ARM3, ARM6,
ARMv2
" 8 i 32 bitowe operacje na danych,
ARM6xx
ARMv3
" koprocesor,
" 32-bit adresowanie
" tryb pracy Thumb 16-bitowe operacje na danych,
ARMv4 ARM7TDMI do:
" w aplikacjach o niskim poborze energii
60/70
" Wersja StronARM (do ok.. 200Mhz)
" wsparcie dla pracy wieloprocesorowej,
ARMv5 ARM9 / typowo:
" instrukcje DSP,
ARM9xxx 220/200
" technologia Jazelle (bezpośrednie wykonywanie Java
Bytecode)
" Wersje do 1,25 GHz
" sprzętowe wsparcie dla przetwarzania dzwięku i obrazu
ARMv6 ARM11 / 400/500
(FFT, MPEG4, SIMD, etc...),
ARM11xxx ÷
" Thumb2
960/700
© maf 7
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Mikrokontrolery
" Wersje architektury procesorów ARM
Arch. Family / Charakterystyka Przeznaczenie
ARM Core (wybrane cechy)
" silne procesory przeznaczone do obsługi systemów
Cortex-A Systemy
operacyjnych
aplikacyjne (SO)
" cyfrowe dekodery, np. HDTV, DVD, Netbooki, smartfony,
Embeded Linux,
PDA, cyfrowe ramki do zdjęć, itp.
Windows CE,&
" procesory przeznaczone do zastosowań w systemach
Cortex-R Systemy
czasu rzeczywistego
wbudowane
" niski pobór mocy, szybka reakcja na zdarzenia
zewnętrzne,
ARMv7
" np. motoryzacja: ABS, urzÄ…dzenia peryferyjne komputera
PC, sterowanie HDD, Ethernet, sterowniki drukarek, itp.
" procesory będące odpowiednikami mikrokontrolerów
Cortex-M Systemy
" niski pobór mocy, niska cena
wbudowane
" sterowanie procesami przemysłowymi, inteligentne
czujniki, motoryzacja (sterownie procesami innymi niż
RT)
" Cortex-M3 - tylko Thumb2
© maf 8
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Architektura mikrokontrolerów
" Architektura systemów sposoby opisu
Struktura systemów
" Struktura logiczna
" Składowe/komponenty systemu
" Typy kompozycji/projektowania składowych
systemu relacje pomiędzy komponentami
Elementy funkcjonalne
Zestaw atrybutów widzianych przez
programistÄ™
Model
" Typ listy rozkazów
programowy
" Typ mapy pamięci
" Mechanizmy zarzÄ…dzania zasobami
© maf 9
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Architektura mikrokontrolerów
" Ogólna struktura mikrokontrolera
zewnętrzne
zewnętrzne urządzenia zewnętrzna
I urzÄ…dzenia
II
peryferyjne pamięć
peryferyjne
układy we/wy
III
układy układ
ALU
czasowe przerwań sterowniki sterowniki
układów innych
zewnętrzne
układy sterowania
komunikacji peryferiów
(rdzeń)
urzÄ…dzenia
[rejestry]
peryferyjne
szyny systemowe
zewnętrzna
pamięć
wewnętrzna wewnętrzna
układ
pamięć pamięć
zasilania
programu danych
© maf 10
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Układy SoC
" Typowa architektura SoC
(ang. System-on-Chip)
mikroprocesor, mikrokontroler
i/lub rdzeń DSP,
także MPSoC
bloki pamięci złożone z
modułów
RAM, ROM, EEPROM lub FLASH
układy czasowo-licznikowe
kontrolery transmisji
szeregowej
i/lub równoległej
przetworniki analogowo-
cyfrowe
i/lub cyfrowo-analogowe
obwody zarzÄ…dzania zasilaniem
© maf 11
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Atmel ATMega16/32
© maf 12
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Atmel AT91SAM9263
© maf 13
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Atmel AT91SAM9263
" Interfejsy komunikacyjne AT91SAM9263
9-warstwowa magistrala EBI (External Bus Interface,
41,6 Gbps)
Sterownik interfejsu I2C
Sterownik USB (host + device, 12 Mbps)
Sterownik sieci komputerowej Ethernet 10/100 Mbit/s
Sterownik magistrali CAN (Controlled Area Network, 1 Mbps)
Sterownik USART (Universal Serial Asynchronous
Receiver-Transmitter, 4 kanały)
Sterownik interfejsu SPI (Serial Peripheral Interfaces, 50 Mbps)
Sterownik pamięci CompactFlash oraz MMC/SD, SDIO (MCI)
Sterownik interfejsu TWI (two-wire interface, GPRS modem,
Wi-Fi, ...)
PWMC
© maf 14
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Atmel AT91SAM9263
© maf 15
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Architektura mikrokontrolerów
" Wyróżniki architektury mikrokontrolerów
Architektura procesora/rdzenia
" Tryby pracy
" Zestaw rejestrów
" Lista instrukcji
Architektury RISC i CISC
" Typy danych
Model pamięci
" Organizacja przestrzeni adresowej
Interfejsy i układy we/wy
" sposób obsługi
" Porty transmisji równoległej i szeregowej
(oprogramowania)
" Układy zegarowe, liczniki
" rejestry
" Przetworniki A/C i C/A
" rozkazy
" USB
" tryby pracy
" &
© maf 16
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Architektura procesora/rdzenia
" Tryby pracy procesora
Tryb określa jakie zasoby procesora są dostępne
" np. dostępne rejestry, obszary pamięci, urządzenia peryferyjne
W ARM
" User tryb normalny / tryb użytkownika (nieuprzywilejowany)
przeznaczony do wykonywania programów użytkownika
" FIQ tryb obsługujący przerwania i wyjątki o wysokich
priorytetach
obsługa szybkiego transferu danych
" IRQ obsługa przerwań z niskim/normalnym priorytetem
" Supervisor tryb chroniony dla SO
dostęp do wszystkich zasobów procesora
dostępny po resecie lub przerwaniu programowym
" Abort obsługa wyjątków związanych z pamięcią
implementacja pamięci wirtualnej i ochrony pamięci
" Undefined obsługa nieznanych/błędnych rozkazów
emulacja programowa koprocesora
" System uprzywilejowane zadania SO
praca jak w trybie User plus dostęp do różnych obszarów pamięci
© maf 17
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Architektura procesora/rdzenia
" Rejestry
Rejestry ogólnego przeznaczenia
" W ARM: 30 rejestrów + PC
Rejestry statusu wykonania programowego
" W ARM: 6 rejestrów (12 z 32 bit)
R0 - R12 rejestry ogólnego przeznaczenia
SP (R13) zwykle używany jako wskaznik stosu (Stack Pointer)
LR (R14) rejestr powrotu (Link Register), wykorzystywany podczas
tworzenia ramki stosu (instrukcje skoku do funkcji)
PC (R15) licznik programu (Program Counter)
CPSR rejestr statusowy (Current Program Status Register) aktualny
status
- Przepełnienie
- Przeniesienie
- Wynik operacji (<,=,> 0)
- Status układów przerwań
- Tryb pracy procesora
& inne (np. typ instrukcji)
SPSR rejestr statusowy (Saved Program Status Register) dostępne
w różnych trybach uprzywilejowania
Nie wszystkie rejestry są dostępne w różnych trybach pracy procesora
© maf 18
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Architektura procesora/rdzenia
" Zestaw instrukcji
32-bitowe instrukcje ARM
" Kod programu musi być wyrównany do granicy 4 bajtów
16-bitowe instrukcje Thumb/Thumb2
" Optymalizacja rozmiaru kodu
" Kod programu musi być wyrównany do granicy 2 bajtów, wszystkie
rejestry pracujÄ… w trybie 32 bitowym
Instrukcje języka Java - Jazelle DBX
" Bezpośrednie wykonywanie instrukcji zgodnych ze specyfikacją
języka Java (bez użycia maszyny wirtualnej JVM)
" Sprzętowa realizacja dekodera instrukcji
" Wszystkie instrukcje sÄ… 8 bitowe
" Procesor odczytuje zawsze 4 kolejne instrukcje
Instrukcje DSP
" Wykonywanie instrukcji (działań) na specyficznych strukturach
danych
© maf 19
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Architektura pamięci
" Typy pamięci
pamięć RAM (ang. Random Access Memory)
pamięć ROM (ang. Read-Only Memory)
pamięć EPROM (ang. Erasable Programmable ROM)
pamięć OTP (ang. One Time Programmable)
pamięć EEPROM (ang. Electrically Erasable PROM)
pamięć FLASH (ang. bulk erasable non-volatile memory)
" Model pamięci
Przestrzeń adresowa i adresowanie
Typy danych
Endianess
" Praca w trybie Big lub Little Endian
Mapowanie pamięci do we/wy
© maf 20
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Adresowanie
" Implikowane
operand i miejsce przeznaczenia określone przez rozkaz
instrukcje jednobajtowe
w odniesieniu do wewnętrznych rejestrów mikrokontrolera
" Natychmiastowe
operand podany w sposób jawny w postaci kodu
w odniesieniu do stałych
Natychmiastowe w ARM
" Dla rejestrów od R0 do R15
" LDR R1, #-100
© maf 21
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Adresowanie
" Bezpośrednie
odniesienie do operandu zródłowego jako rejestru
" Pośrednie
po kodzie rozkazu następuje adres argumentu
w mikrokontrolerach zwykle do ograniczonego obszaru danych
W ARM:
Bezpośrednie rejestrowe
" ADD R1,R2,R3
Pośrednie rejestrowe
" LDRB R4, [R7]
" STRB R4, [R7, #6] z przesunięciem
" LDR R4, [R7, R0] z przesunięciem rejestrowym
" z indeksowaniem
" z preindeksowaniem
" z postindeksowaniem
© maf 22
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Adresowanie
" Indeksowe
sumowanie adresu z instrukcji z wartością rejestru indeksowego
nie we wszystkich mikrokontrolerach
" Względne
Względem adresu wykonywanej instrukcji (skoki)
W ARM:
Względem licznika programu
" LDR R2, [PC, -#16]
" LDR R2, [PC, R1]
" W sumie w ARM 11 podstawowych trybów
adresowania
© maf 23
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Architektura pamięci
" Architektury pamięci
Von-Neumana (Princeton)
Harwardzka (Harvard)
Zmodyfikowana Harwardzka
" Architektura Von-Neumanna
Wspólna pamięć dla danych i rozkazów
Wspólna szyna danych i instrukcji
Wolniejsza realizacja cyklu rozkazowego
data
ALU
address
Mem
CPU Mem
data
instr
Control
address
© maf 24
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Architektura pamięci
" Architektura Von-
F& F
rejestry urz.
Neumanna
zewnętrznych
przestrzeń
Jednolita przestrzeń adresowa
wolna przestrzeń adresowa
Prostota i przejrzystość
pamięci
Prostota programowania
zewnętrznej
zewnętrzna
zunifikowane rozkazy
pamięć programu
i danych
adresy procedur
Przykładowa, uproszczona
obsługi przerwań
mapa pamięci mikrokontrolera
z jednolitÄ… przestrzeniÄ…
adresowÄ…
przestrzeń
Programy, dane,
adresowa
stos
pamięci
wewnętrznej
układy we/wy
rejestry
0& 0
© maf 25
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Architektura pamięci
" Architektura Harwardzka
Oddzielna szyna dla danych i rozkazów
Organizacja pamięci może być różna (inne długości słowa danych
i rozkazów)
Umożliwia technikę pre-fetch
data
address ALU Data
Data
data
address
CPU
Control
address
Prog
instr
Control
Prog
data
address
© maf 26
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Architektura pamięci
" Architektura Harwardzka F& F
zewnętrzna
Niejednoznaczność
wolna przestrzeń
pamięć programu
adresów zróżnicowanie
rozkazów dostępu do
X& X X& X
wewnętrzna zewnętrzna
zewnętrzna
zewnętrzna
danych i trybów adresacji
pamięć programu pamięć programu
pamięć programu
pamięć programu
Bardziej skomplikowane
0& 0 0& 0
programowanie
F& F
rejestry urz.
" Przykładowa
zewnętrznych
(uproszczona)
mapa pamięci
X& X
mikrokontrolera o
wolna przestrzeń
architekturze
wewnętrzne, dane
harwardzkiej
i stos
zewnętrzna
układy we/wy
pamięć danych
rejestry
0& 0 0& 0
© maf 27
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Architektura pamięci
" Zmodyfikowana architektura Harwardzka
Oddzielna szyna dla danych i rozkazów
Jednolita przestrzeń adresowa
Aatwiejsze programowanie (na wyższym poziomie)
Utrzymanie szybkości działania
data
Data
address
CPU
Prog
instr
© maf 28
Å›
Fra
awska
Å‚
Informatyki
Mariusz
Wroc
Instytut
Politechnika
Wyszukiwarka
Podobne podstrony:
SW b(full permission)SWch(full permission)SWeh(full permission)SWch(full permission)SWah(full permission)SWc(full permission)SWch(full permission)SWf(full permission)SWeh(full permission)SWeh(full permission)SWd(full permission)SWah(full permission)SWah(full permission)wyklada ekosystem ziemi(full permission)7 Prezentacje(full permission)10 Konstrukcja blachowa(full permission)5 Dokumentacja płaska(full permission)wyklada cykl c n s(full permission)12 Generator ram(full permission)więcej podobnych podstron