• Nie Znaleziono Wyników

Systemy wbudowane (Embedded Devices)

N/A
N/A
Protected

Academic year: 2021

Share "Systemy wbudowane (Embedded Devices)"

Copied!
8
0
0

Pełen tekst

(1)

PSM

Podstawy systemów mikroprocesorowych

dr Piotr Fronczak

http://www.if.pw.edu.pl/~agatka/psm.html fronczak@if.pw.edu.pl

Pokój 6GF

Na jednym końcu skali…

Procesor: Intel Pentium 4 Częstotliwość: 3.8GHz

Moc: 103 W max

Na drugim końcu skali

Systemy wbudowane (Embedded Devices)

Moc: ~ mW

Czym są systemy wbudowane?

(2)

°Urządzenia osobistego uŜytku: telefon

komórkowy, pager, zegarek, dyktafon, kalkulator

°Komponenty komputerowe: myszka, klawiatura,

modem, fax, karta dźwiękowa, ładowarka baterii

°Urządzenia domowe: zamek do drzwi, budzik,

termostat, klimatyzator, pilot, sprzęt fitness, pralka, zmywarka, kuchenka mikrofalowa

°Zabawki: gry wideo, samochody, lalki, itp.

Przykłady Technologie komputerowe 

 dramatyczne zmiany

°Procesor

2X szybość co kaŜde 1.5 roku;

100

X

w ostatniej dekadzie

°Pamięć

2X pojemność co kaŜde 2 lata;

• 64X

w ostatniej dekadze

Koszt jednego bitu: maleje o 25% na rok

°Dysk

pojemność > 2X kaŜdego roku

• 250X

w ostatniej dekadzie

Koszt jednego bitu: maleje o 50% na rok

°Komputer, który kupicie z okazji obrony pracy

magisterskiej:

Szybkość procesora: 10000

MegaHertzów

(10.0 GigaHertzów)

Pojemność pamięci: 64000

MegaBajtów

(64.0 GigaBajtów)

Pojemność dysku: 8000 GigaBajtów (8.0

TeraBajtów)

Nowe jednostki!

Mega

=> Giga, Giga => Tera

(Kilo, Mega, Giga, Tera, Peta, Exa, Zetta, Yotta = 10

24

) Technologie komputerowe 

 dramatyczne zmiany

“ Gdyby rozwój samochodów odzwierciedlał rozwój komputerów, Rolls Royce kosztowałby dziś 100 dolarów, pokonywałby milion kilometrów na jednym litrze paliwa i eksplodował raz do roku zabijając wszystkich wewnątrz. ”

Triumph of the Nerds– Robert X. Cringely Zmierzch ery PC?

(3)

Po co mam się uczyć PSM?

°Bo to jest fajne! I będzie coraz fajniejsze!

°Komputery PC odpowiadają za sprzedaŜ mniej niŜ 1%

wszystkich procesorów. Systemy wbudowane za ponad 99%.

Bionika:

Czujniki w lateksowych palcach nieprzerwanie rejestrują temperaturę, electroniczny interfejs w sztucznej kończynie stymuluje zakończenia nerwów w ramieniu, które przekazują tę informację do mózgu.

Wart 3,000$ system pozwala czuć ciśnienie i cięŜar. Po raz pierwszy od wypadku w 1986 roku ten straŜak moŜe podnieść szklankę bez zgniecenia jej i nie pozwalając jej się wyślizgnąć.

One Digital Day

Nie musisz mieć dyplomu lekarza, by pomagać ludziom.

Po co mam się uczyć PSM?

Plan wykładu

°Wprowadzenie.

°Mikrokontrolery

Architektura wewnętrzna

Zasada działania

°Programowanie mikrokontrolerów

°Komunikacja zewnętrzna i standardy komunikacyjne

Interfejsy szeregowe

Interfejsy równolegle

°Zastosowania z przykładami

°Mikrokontrolery w zaawansowanych systemach.

°Inne układy cyfrowe o złoŜonej strukturze: CPLD, FPGA

Literatura

°Ryszard Pełka, Mikrokontrolery. Architektura, programowanie , zastosowania, WKŁ

°Jarosław Doliński, Mikrokontrolery AVR w praktyce, BTC

°Piotr Gałka, Paweł Gałka, Podstawy programowania mikrokontrolera 8051, Mikom

°Robert Brzoza-Woch, Mikrokontrolery AT91SAM7 w przykładach, BTC

°Rafał Baranowski, Mikrokontrolery AVR ATmega w praktyce, BTC

°James M. Sibigtroth, Zrozumieć małe mikrokontrolery, BTC

°A. Pawluczuk, Sztuka programowania mikrokontrolerów AVR, podstawy, BTC

°Tomasz Jabłoński, Mikrokontrolery PIC16F8x w praktyce, BTC

°Jacek Bogusz, Lokalne interfejsy szeregowe w systemach mikroprocesorowych, BTC

°www.google.com

°Mirosław Kardaś, Mikrokontrolery AVR, Język C, Atnel (2011)

(4)

Regulamin

Średnia waŜona ocen z lab. i wykładu z wagami odpowiednio:

2/3 i 1/3 (przy czym obydwie pozytywne)

2 kolokwia

Ocena z wykładu = średnia arytmetyczna ocen z kol. (przy czym obydwie pozytywne)

1 poprawa kol. przy końcu zajęć w semestrze letnim.

wykonanie wszystkich przewidzianych ćwiczeń (ok. 12) – ocena 3.0

wykonanie projektu końcowego – ocena max. 4.0

sprawozdanie w postaci dokumentacji technicznej wykonanego projektu – ocena > 4.0

Zaliczenie lab:

Zaliczenie wykładu:

Mikrokontroler i mikroprocesor

°Mikroprocesor to cyfrowy układ scalony, którego działanie jest sterowane pobieranymi z zewnątrz rozkazami. Ciąg rozkazów sterujących pracą mikroprocesora stanowi jego program.

°Mikrokontroler to układ scalony, w którego strukturze zawarto mikroprocesor oraz pewien zestaw elementów zewnętrznych (peryferyjnych)

µP µC

ALU 16/32/ or 64 bitowa, Dual-

Core 4/8 bitowa

Peryferia zewn. RAM, ROM, porty I/O,

liczniki, wiele innych Pamięć (opcjonalnie) Applikacje PC, laptopy, tablety Systemy wbudowane,

sterowniki, motoryzacja, kalkulatory, …

Szybkość zegara 4M-4G 32K-20M

Przestrzeń

adresowa Gbajty, Tbajty (wirtualna) 2-8K wewn.

64K – 128K zewn.

ZuŜycie prądu 5 - 65 W 100µW – 2 W

Koszt 30-500 USD 1-10 USD

Przykład Motorola 68000, Intel x86 Intel 8051, Atmel AVR

Architektura mikrokontrolera

Od dziś umiemy się posługiwać systemami binarnymi, szesnastkowymi (i oczywiście dziesiątkowymi).

najbardziej znaczący bit MSB

najmniej znaczący bit LSB Bit – cyfra w układzie

binarnym (podstawowa jednostka informacji) Bajt – słowo, liczba złoŜona z 8 bitów

Zapis liczby w ukł. HEX

$10AF 0x10AF 10AFh

Zapis liczby w ukł. BIN

%10010101 0b10010101

O liczbach - dla przypomnienia…

(5)

Rejestr – komórka pamięci, układ elektroniczny, który potrafi zapamiętać stan jednego bajta.

Rejestr specjalny (Special Function Register – SFR) Oprócz rejestrów, które nie mają określonej z góry funkcji, kaŜdy mikrokontroler posiada pewną liczbę rejestrów, których funkcja została zaprojektowana odgórnie przez producenta. Poszczególne bity tych rejestrów są dosłownie połączone z wewnętrznymi obwodami mikrokontrolera.

Porty wejścia/wyjścia

Rejestry podłączone do pinów (nóŜek) mikrokontrolera.

Funkcja pinów (wejście albo wyjście) jest równieŜ kontrolowana przez odpowiedni rejestr.

Maksymalna wydajność prądowa portów w dokumentacji jest dzielona na wszystkie porty.

Mogą posiadać rezystory podciągające (czasem równieŜ kontrolowane przez odpowiedni rejestr).

Pamięć – część mikrokontrolera umoŜliwiająca przechowywanie danych i kodu programu.

°Pamięci nieulotne (zawartość pamięci nie ulega skasowaniu w momencie wyłączenia zasilania)

• ROM – Read Only Memory - Pamięć tylko do odczytu

• EPROM – Erasable Programmable Read Only Memory

• EEPROM – Electrically Erasable Programmable Read Only Memory

• Flash

°Pamięci ulotne (zawartość pamięci ulega skasowaniu w momencie wyłączenia zasilania): SRAM, DRAM itp..

Dekoder instrukcji - na podstawie zawartości rejestru instrukcji, generuje odpowiednie sygnały sterujące dla automatu realizującego funkcje procesora. Zbiór instrukcji jest odmienny dla kaŜdej rodziny mikrokontrolerów.

Jednostka arytmetyczno-logiczna (Arithmetical Logical Unit ALU) wykonuje wszystkie matematyczne i logiczne operacje na danych.

Wynik operacji jest umieszczany w dowolnym rejestrze, którym nie zawsze musi być akumulator (w niektórych rodzinach

mikrokontrolerów).

Rejestr SREG – jest rejestrem statusowym zawierającym informacje o rezultacie ostatnio wykonanej przez ALU operacji arytmetycznej (znak, przeniesienie, przepełnienie do dwóch, itd..)

Centralna jednostka obliczeniowa (Central Processing Unit CPU) Serce mikrokontrolera, monitoruje i kontroluje wszystkie procesy wewnątrz mikrokontrolera.

(6)

Stos (stack) rodzaj pamięci danych (logiczny).

Pobieranie danych ze stosu musi być wykonywane w kolejności odwrotnej niŜ ich umieszczanie na stosie - element przesłany na stos jako ostatni musi być zeń zdjęty jako pierwszy. Tak więc w danej chwili moŜliwy jest dostęp do jednego tylko – ostatniego elementu stosu.

Podstawowym zastosowaniem stosu jest zapamiętywanie adresów powrotu podczas wywoływania procedur. Stos wykorzystywany jest teŜ jako rodzaj podręcznej pamięci do chwilowego przechowywania danych.

Przy małych pojemnościach pamięci SRAM naleŜy zwracać baczną uwagę, by odkładanie danych na stos (np. przy wykonywaniu wielokrotnie zagnieŜdzonych skoków) nie powodowało jego rozszerzenia na obszar zmiennych programowych.

Przerwanie (Interrupt)

Idea przerwań w mikrokontrolerach polega na tym, Ŝe w odpowiedzi na określ sygnał (sygnał przerwania) mikrokontroler zawiesza chwilowo wykonywanie programu głównego i wykonuje specjalną procedurę określaną mianem procedury obsługi przerwania. Po zakończeniu tej procedury mikrokontroler wraca do wykonywania programu głównego, począwszy od miejsca, w którym zostało ono zawieszone.

• Podstawową funkcją przerwań jest umoŜliwienie szybkiego reagowania na zdarzenie zewnętrzne.

• Przerwania nie zawsze mają postać sygnałów zewnętrznych - mogą być one generowane takŜe przez układy wewnętrzne, np.

liczniki, łącza szeregowe.

• Stosowanie przerwań umoŜliwia maksymalne wykorzystanie moŜliwości przetwarzania danych, jakie daje mikrokontroler.

Zegar

Serce procesora wyznaczające rytm jego działania.

KaŜdy takt zegara – cykl zegarowy.

Do niedawna procesory wymagały kilku cykli zegarowych do wykonania jednej instrukcji.

Obecnie procesor moŜe wykonać więcej niŜ jedną instrukcję na cykl (pipelining).

Linie danych (data bus) są ścieŜkami słuŜącymi do przenoszenia danych między modułami systemu. Szyna danych składa się typowo z 8, 16 lub 32 oddzielnych linii, przy czym liczba linii określa szerokość tej szyny. PoniewaŜ w danym momencie kaŜda linia moŜe przenosić tylko 1 bit, z liczby linii wnika, ile bitów moŜna jednocześnie przenosić. Szerokość szyny danych jest kluczowym czynnikiem określającym wydajność całego systemu. Jeśli na przykład szyna danych ma szerokość 8 bitów, a kaŜdy rozkaz ma długość 16 bitów, to procesor musi łączyć się z modułem pamięci dwukrotnie w czasie kaŜdego cyklu rozkazu.

Linie adresowe są wykorzystywane do określania źródła lub miejsca przeznaczenia danych przesyłanych magistralą. Jeśli na przykład procesor ma zamiar odczytać słowo (8, 16 lub 32 bity) danych z pamięci, umieszcza adres potrzebnego słowa na linii adresowej. Szerokość szyny adresowej determinuje maksymalną moŜliwą pojemność pamięci systemu. Ponadto linie adresowe są równieŜ uŜywane do adresowania portów wejścia-wyjścia.

Magistrala (bus) – szyna komunikacyjna (zbiór linii, drucików)

Zawarte w magistralach linie moŜna podzielić na trzy grupy funkcjonalne:

linie danych, adresów i sterowania.

(7)

......

CPU

CPU PAMIĘPAMIĘCC UK UKŁŁADYADY

WE/WY WE/WY SZYNA DANYCH SZYNA DANYCH SZYNA ADRESOWA SZYNA ADRESOWA

SZYNA STEROWANIA SZYNA STEROWANIA

DANE DANE PROGRAMY PROGRAMY WYNIK I WYNIK I

Liczba linii wyznacza mo Liczba linii wyznacza moŜŜliwoliwośści ci adresowania

adresowania npnp. liczba linii 20 to . liczba linii 20 to mo

moŜŜna zaadresowana zaadresowaćć222020 kom

komóórekrek

Liczba linii okre Liczba linii okreśśla dla dłługougośćść s

łowa procesora (8, 16, 32, owa procesora (8, 16, 32, ........

Kilkana

Kilkanaśście (kilkadziesicie (kilkadziesiąąt) liniit) linii

Linii sterowania uŜywa się do sterowania dostępem do linii danych i linii adresowych, a takŜe do sterowania ich wykorzystaniem. PoniewaŜ linie danych i adresowe słuŜą wszystkim zespołom, musi istnieć sposób sterowania ich uŜywaniem. Sygnały sterujące przekazywane między modułami systemu zawierają zarówno rozkazy, jak i informacje regulujące czas (taktujące). Sygnały czasowe określają waŜność danych i adresów. Sygnały rozkazów precyzują operacje, które mają być przeprowadzone.

Gdy procesor chce odczytać dane z pamięci lub z urządzenia wejścia, to postępuje następująco:

1) Umieszcza na magistrali adresowej adres komórki pamięci lub numer urządzenia we/wy.

2) Na magistrali sterującej umieszcza informację, Ŝe chce odczytać dane z pamięci lub z urządzenia we/wy.

3) Pamięć lub urządzenie wejścia umieszcza dane na magistrali danych.

4) Pamięć lub urządzenie wejścia umieszcza na magistrali sterującej informację, Ŝe dane są gotowe do odczytu z magistrali danych.

5) Procesor odczytuje dane z magistrali danych.

Podobnie wygląda zapis do pamięci lub do urządzenia wyjścia:

1) Procesor umieszcza dane na magistrali danych.

2) Procesor umieszcza adres komórki pamięci lub numer urządzenia wyjścia na magistrali adresowej.

3) Procesor umieszcza na magistrali sterującej informację, Ŝe chce zapisać dane do pamięci lub urządzenia we/wy.

4) Pamięć lub urządzenie wyjścia odczytują dane z magistrali danych. Pamięć umieszcza dane pod adresem odczytanym z magistrali adresowej. Dla urządzeń wyjścia adres określa numer urządzenia, dla którego są przeznaczone dane.

5) Pamięć lub urządzenie wyjścia umieszczają na magistrali sterującej potwierdzenie odebrania danych.

Porównanie architektur mikroprocesora

Architektura von Neumanna Architektura Harvard

vNeumann: jeden blok pamięci przechowujący jednocześnie dane oraz instrukcje programu; jedna 8-bitowa szyna danych.

MoŜliwość wykonywania kodu z RAM, samomodyfikujący sie kod. Brak osobnych instrukcji dostępu do róŜnych obszarów pamięci i I/O.

Harvard: dwie szyny danych. PoniewaŜ dane programu mają 1 bajt szerokości (8 bitów), a szyna danych programu ma więcej (12, 14 lub 16) linii, jednocześnie moŜna odczytać instrukcję i dane  instrukcje wykonywane w jednym cyklu.

PoniewaŜ kod programu (ROM) i dane (RAM) są rodzielone, CPU moŜe wykonać dwie instrukcje jednocześnie.

(8)

Architektura instrukcji

CISC (Complex Instruction Set Computer):

- duŜa liczba rozkazów (instrukcji) (ponad 200)

- niektóre rozkazy potrzebują duŜej liczby cykli procesora do wykonania - występowanie złoŜonych, specjalistycznych rozkazów

- duŜa liczba trybów adresowania - powolne działanie dekodera rozkazów

83 A6 0C 01 00 00 FE and dword ptr [esi+0x10C],0xFE 8D 4E EC lea ecx,[esi-0x14]

6A FF push 0xFF

6A 01 push 0x1 FF 50 24 call [eax+0x24]

8B 86 80 00 00 00 mov eax,[esi+0x80]

3B C7 cmp eax,edi

80 E6 ldi R24, 0x60 90 E0 ldi R25, 0x00 9C 8B std Y+20, R25 8B 8B std Y+19, R24 98 E0 ldi R25, 0x08 9D 8B std Y+21, R25 EB 89 ldd R30, Y+19 FC 89 ldd R31, Y+20 00 80 ld R0, Z 4B 89 ldd R20, Y+19 5C 89 ldd R21, Y+20 4F 5F subi R20, 0xFF RISC (Reduced Instruction Set Computer):

- zredukowana liczba rozkazów (instrukcji) – nawet poniŜej 30!

- większość rozkazów wykonywana w jednym cyklu procesora

- rozkazy proste lub bardzo proste (+, -, kopiowanie) - bardzo mała liczba trybów adresowania - ograniczony dostęp do pamięci - szybkie działanie dekodera rozkazów

Cytaty

Powiązane dokumenty

 Zwraca liczbę odczytanych elementów - w przypadku gdy liczba ta jest różna od n, to wystąpił błąd końca strumienia (w pliku było mniej elementów niż podana

Algorytm uczenia polega na wykonywaniu modyfikacji wag dla wszystkich wzorów w zbiorze uczącym, albo do momentu w którym błąd sieci będzie się wystarczająco mały, albo

Dla systemów operacyjnych stosowanych w systemach wbudowanych wymaga si˛e nast˛epuj ˛ acych zasobów pami˛eci:.. • QNX: ma najmniejsze wymagania

Omówić zdarzenia związane z obsługą przerwań maskowalnych w procesorze 8086.. Omówić rozkazy procesora 8086 związane z

Wskaźnik stosu jest dekrementowany o jeden kiedy dane są odkładane na stos przez instrukcję PUSH i jest dekrementowany o dwa (lub 3 dla procesora ATMega256)

Wady: jeśli ktoś chce grać w dobre gry to sobie nie pogra, jeśli zintegrowana karta graficzna się zepsuje to trzeba kupić całą płytę główną Zalety; cena. Zad +4 punkty

Nadto prowokuje on pytanie o żydowskie dziedzictwo w Europie, pozbawione dziś własnej wspólnoty i o to, czy jego pamięć powinna być podejmowana jako pamięć Shoah, czy

W celu wpisania informacji na temat organu uprawnionego do reprezentacji podmiotu i osób wchodzących w jego skład oraz sposobu reprezentacji, należy wypełnić załącznik