Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Systemy wbudowane Wykład nr 4: Mikrokontrolery - wprowadzenie Piotr Bilski.

Podobne prezentacje


Prezentacja na temat: "Systemy wbudowane Wykład nr 4: Mikrokontrolery - wprowadzenie Piotr Bilski."— Zapis prezentacji:

1 Systemy wbudowane Wykład nr 4: Mikrokontrolery - wprowadzenie Piotr Bilski

2 Definicja mikrokontrolera Jest to specjalizowany układ cyfrowy z dedykowanym procesorem, który spełnia dwa kryteria: –Jest zdolny do autonomiczne pracy –Jest stosowany w systemach pomiarowo- kontrolnych Inna nazwa: komputer jednopłytkowy Posiada zmodyfikowaną architekturę względem komputera ogólnego przeznaczenia

3 Schemat mikrokontrolera Jednostka centralna (CPU) Układy wejścia/wyjścia Pamięć programu Pamięć danych Zegar Wewnętrzna szyna adresowa Wewnętrzna szyna danych sygnały wejściowe sygnały wyjściowe reset zasilanie Rezonator kwarcowy

4 Architektura Harvard Modyfikacja architektury von Neumanna Wydzielona oddzielna pamięć na dane i na program Eliminacja konfliktów przy dostępie do pamięci operacyjnej Jednoczesny dostęp do danych i do rozkazów zwiększa efektywność programu Zastosowanie: mikrokontrolery, procesory sygnałowe (DSP)

5 Schemat architektury typu Harvard Dane programu często są w pamięci EPROM Dane tymczasowe przechowywane są w pamięci RAM

6 Elementy mikrokontrolera Jednostka centralna (synchroniczny układ sekwencyjny, sterowany zegarem) Układy wejścia/wyjścia –Porty –Przetworniki A/C i C/A –Liczniki (timers) Pamięć wewnętrzna i zewnętrzna (RAM, ROM, flash)

7 Jednostka centralna mikrokontrolera Układ sterujący Sygnały stanu Układ wykonawczy Szyna sygnałów sterowania Wewnętrzna szyna danych Wewnętrzna szyna adresowa

8 Ogólna architektura mikrokontrolera Akumulator Zegar Układ zasilania Rejestr wskaźników Rejestr przejściowy Rejestr rozkazów Rejestry R 0 - R n Wskaźnik stosu Licznik prog. Rejestr adr. Układ we/wy Układy peryferyjne Rejestry specjalne Bufor adresowy Dekoder rozkazów Układ sterowania Wewnętrzna pamięć danych Bufor szyny danych Wewnętrzna pamięć programu Szyna sterowania We/wy Wewnętrzna szyna danych ALU

9 Układ wykonawczy Elementy składowe: –Jednostka arytmetyczno-logiczna (ALU) –Akumulator –Rejestr przejściowy (tymczasowy) –Rejestr wskaźników (flagi) –Rejestr przesuwny (na wyjściu) –Jednostka zmiennoprzecinkowa (opcjonalnie)

10 Rejestr wskaźników (8051) C – przeniesienie AC – przeniesienie pomocnicze V – nadmiar N – znak Z – zero P – parzystość (inne mikrokontrolery) CACVNZ

11 Rejestry mikrokontrolera Rejestry robocze –Akumulator (pierwszy argument ALU i wynik) –Rejestr pomocniczy (drugi argument ALU) –Zbiór rejestrów roboczych (R 0 -R n ) Rejestry związane z pracą jednostki sterującej (licznik rozkazów, rejestr rozkazów) Rejestry specjalne (SFR)

12 Struktura rejestrów ogólnego przeznaczenia R3HR3L R2HR2L R1HR1L R0HR0L R7HR7L R6HR6L R5HR5L R4HR4L R15 R14 R13 R12 R11 R10 R09 R08 Rejestry globalne (16 bit) Banki rejestrów 8- i 16-bitowych Rejestry globalne (8 i 16 bit)

13 Instrukcje maszynowe procesora Postać analogiczna, jak w przypadku klasycznego komputera Programowanie najczęściej w asemblerze Program wykonywany sekwencyjnie (wyjątek: rozgałęzienia) Przykład: ADD A,#3CH Zmienna długość rozkazu w pamięci (1-3B): 1. bajt – kod operacji, 2. bajt – pierwszy argument, 3. bajt – trzeci argument

14 Tryby adresowania Tryby proste i niezbyt liczne: –Wewnętrzne (rejestrowe) –Natychmiastowe –Bezpośrednie –Pośrednie –Indeksowe –Względne

15 Tryb wewnętrzny Instrukcje jednobajtowe Argumenty przechowywane w rejestrach Sposób efektywny! ADD A,R1 AkumulatorRejestr R1 +

16 Tryb natychmiastowy Instrukcje jednobajtowe Argumenty to liczby, nie adresy Przydatny tylko dla operacji na stałych! ADD A,#liczba Akumulator +

17 Tryb bezpośredni Instrukcje wielobajtowe Argumenty przechowywane w pamięci Ograniczony adresowany obszar danych ADD A,adres Akumulator Argument + 00 FF

18 Tryb indeksowy Instrukcje wielobajtowe Adres generowany przez sumowanie dwóch argumentów Efektywne przy operacjach na blokach danych Rozkaz adres,R1 Argument Rejestr indeksowy +

19 Tryb postindeksowy Instrukcje wielobajtowe Bardziej skomplikowany sposób generowania adresów Rozkaz adres,R1 Argument Rejestr indeksowy +

20 Tryb pośredni Instrukcje wielobajtowe Argument jest przechowywany pod innym adresem w pamięci Rozkaz adres Adres Argument 00 FF

21 Tryb względny Adres obliczany względem licznika programu Przesunięcie przechowywane w pamięci Zastosowanie: programy modyfikujące własny kod, małe skoki Rozkaz Przesunięcie Argument 00 FF + Licznik rozkazu

22 Cykl wykonania rozkazu Pobranie kodu rozkazu z pamięci do rejestru IR –Odczytanie zawartości licznika rozkazów (adres) –Podanie adresu na linie adresowe magistrali –Wygenerowanie sygnału odczytu na liniach sterowania –Przesłanie otrzymanego rozkazu do rejestru IR –Inkrementacja IP Wykonanie mikrooperacji składających się na rozkaz

23 Ilustracja fazy pobrania rozkazu Rejestr rozkazów Dekoder rozkazów Licznik programu Rejestr adresowy Układ sterowania Dane Pamięć programu Adresy Zegar Szyna sterowania Szyna adresowa

24 Ilustracja fazy wykonania rozkazu Rejestr rozkazów Dekoder rozkazówAkumulator Układ sterowania Dane Pamięć danych Adresy Zegar Szyna sterowania Szyna adresowa R0 R1 Rejestr adresowy (A) → M(R0, R1)

25 Schemat czasowy fazy wykonania instrukcji Licznik programu( R0, R1 ) RozkazZawartość akumulatora Szyna adresowa Szyna danych MEMR MEMW t ar t dr trtr t hr t dw t aw twtw t hw

26 Instrukcje wielobajtowe Wymagany wielokrotny dostęp do pamięci Nowsze mikrokontrolery operują na słowach – zwiększenie wydajności Czas wykonania instrukcji – liczba cykli maszynowych potrzebnych do jej realizacji Cykl maszynowy: –Cykl pobrania rozkazu –Cykl pobrania argumentów –Cykl zapisu wyniku

27 Przerwania i wyjątki Przerwania generowane przez sprzęt (ograniczenia w systemach czasu rzeczywistego) Sytuacje wyjątkowe (exceptions - NMI) Przerwania maskowalne (event interrupts) Przerwania programowe (software interrupts) Pułapki (traps)

28 Diagram przejść między stanami mikrokontrolera Stan reset po włącz. Stan reset po akcji Obsługa przerw. Zwolnienie szyny Wykonywa- nie programu Stan czuwania Stan uśpienia Stan obniżonego poboru mocy Przerwanie NMI Wymuszenie trybu stand-by Wymuszenie trybu sleep BRQ=1 BRQ=0 BRQ=1 BRQ=0 BRQ=1 Stan reset Zgłoszenie przerwania Koniec obsługi przerwania RES=1, NMI=1 RES=1, NMI=0 RES=0, NMI=0 RES=0, NMI=1

29 Hierarchia pamięci Pamięć RAM (ulotna) –Statyczna lub dynamiczna –Wykorzystywane jako układy zewnętrzne Pamięć ROM (nieulotna) –EPROM (przechowuje programy i dane użytkownika) –OTP (jednokrotnie programowalna) –EEPROM (przechowuje programy i dane) –FLASH (używana jako wewnętrzna lub zewnętrzna)

30 Mapy pamięci Jest to struktua pamięci w systemie Zależy od architektury systemu i liczby oraz rodzajów pamięci Rozwiązania: –jednolita przestrzeń adresowa (von Neumanna) –Architektura Harvard

31 Jednolita przestrzeń adresowa = Rejestry kontrolerów i urządzeń zewnętrznych Zewnętrzna pamięć danych Przestrzeń niewykorzystana Zewnętrzna pamięć programu Adresy procedur obsługi przerwań Programy diagnostyczne i systemowe (monitor) Układy wejścia/wyjścia Rejestry specjalne (SFR) Pamięć danych i stos Rejestry F...FH 0...0H Przestrzeń adresowa pamięci zewnętrznej Przestrzeń adresowa pamięci wewnętrznej

32 Mapa pamięci w architekturze Harvard Zewnętrzna pamięć programu Obszary nieużywane Układy we/wy zewnętrzne Dane Wewnętrzna pamięć programu Pamięć danych Rejestry specjalne SFR Rejestry, dane, stos Pamięć programu Zewnętrzna pamięć danych Wewnętrzna pamięć danych 00H FFH 00H FFH00H FFH 00H XXH XX+1H YYH Adresowanie pośrednie Adresowanie bezpośrednie

33 Segmentacja pamięci Wymagana przy dużej przestrzeni adresowej Umożliwia ochronę fragmentów pamięci przed niepowołanym dostępem (wielozadaniowość) Segmenty definiowane przez rejestry segmentowe Adresowanie: (RS1) + offset = EffAddr

34 Użycie stosu Fragment pamięci RAM obsługiwany jak kolejka LIFO Użycie wskaźnika stosu (SP) Wykorzystanie: –Zapamiętywanie stanu procesora przed przejściem do obsługi przerwań –Zapamiętywanie adresu powrotu z podprogramów –Chwilowe zapamiętywanie zawartości rejestrów i zmiennych

35 Zaawansowana architektura mikrokontrolerów Wymagana w zastosowaniach o dużej przepustowości danych Kryterium oceny: MIPS, MFLOPS Architektury: –Superskalarne –Potokowe –Z pamięcią podręczną –RISC

36 Architektura superskalarna i potoki Rozkaz dzielony jest na wiele faz, które mogą być przetwarzane równolegle Niektóre elementy procesora są zwielokrotnione (np. ALU) Problem: algorytm wypełniania kolejki rozkazami (przewidywanie rozgałęzień) Drożność architektury – liczba równoległych jednostek wykonawczych

37 Pamięć podręczna (cache) Wymagane przy wykorzystaniu pamięci zewnętrznych Przechowuje tymczasowo dane i kod programu w celu przyspieszenia przetwarzania Problem: modyfikacja zawartości pamięci, gdy jest ona pełna

38 Mikrosystemy mikrokontrolerów Dodanie układów ASIC o funkcjonalności definiowanej przez użytkownika Dodanie procesora DSP Dodanie urządzeń peryferyjnych definiowalnych przez użytkownika Przykład: TriCore (Siemens)

39 Architektura RISC Zgodna z architekturą Harvard Przetwarzanie potokowe Niewielki zbiór instrukcji ortogonalnych –Instrukcje operują na dowolnych rejestrach –Każda instrukcja wykorzystuje dowolny tryb adresowania argumentów –Wszystkie instrukcje mają identyczną długość i jednorodny format Procesor znacznie uproszczony

40 Parametry elektryczne i mechaniczne Długość słowa (szerokość szyny): 8, 16, 32 bity Zakres temperatur pracy (standardowo: 0 do 70ºC, zastosowania wojskowe: -40 do 125ºC) Napięcie zasilające (3.3, 4.5, 5 V) Częstotliwość oscylatora kwarcowego (1 MHz – 300 MHz) Parametry stałoprądowe (poziom napięć w stanie niskim i wysokim)

41 Technologia CMOS Complementary Metal-Oxide Semiconductor Umożliwia tworzenie układów µm Zaleta: niewielka moc pobierana przez układ (możliwość zasilania bateryjnego), liniowo zależna od jego częstotliwości Możliwość modyfikacji częstotliwości układu Odporność na zakłócenia

42 Parametry dynamiczne Oznaczają czasy trwania poszczególnych faz pracy mikrokontrolera Wartości maksymalne, minimalne i typowe Przykłady: –Okres drgań oscylatora –Okres zegara –Czas trwania wysokiego stanu impulsu zegarowego –Okres sygnału ALE –Czas trwania niskiego/wysokiego stanu READ i WRITE

43 Obudowy mikrokontrolerów Układy scalone wymagają obudów określonego rodzaju (plastik lub ceramika) Zależą od rodzaju montażu (tradycyjnego, czy powierzchniowego) Przykłady: –DIP (S-DIP, SK-DIP) – dwurzędowe płaskie –PGA – matryca prostokątna lub kwadratowa –DFP – montaż powierzchniowy, wyprowadzenia z dwóch stron obudowy –QFP/TQFP – montaż powierzchniowy, wyprowadzenia z czterech stron obudowy


Pobierz ppt "Systemy wbudowane Wykład nr 4: Mikrokontrolery - wprowadzenie Piotr Bilski."

Podobne prezentacje


Reklamy Google