Mikrokontrolery F Marecki id 30 Nieznany

background image

Przedmiot : Systemy Wbudowane - Mikrokontrolery

Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Strona 1 z 27


Skrypt

do wykładu z przedmiotu :

Mikrokontrolery


1. Architektura mikrokontrolerów

1.1 Mikrokontrolery 8 bitowe
1.2 Mikrokontrolery 16 bitowe
1.3 Mikrokontrolery 32 bitowe


W modelu komputera (J. von Neumann) wyróżnia się :

- jednostkę centralną, (CPU);
- pamięć, (memory),
- urządzenia peryferyjne : wejścia oraz wyjścia, (Input, Output).

Produkowane aktualnie procesory (mikroprocesory) znajdują się w CPU i komunikują się
z pamięcią oraz urządzeniami peryferyjnymi poprzez magistrale systemowe :
- danych;
- adresów;
- sterowania.
Celem takiego komputera jest szybkie wykonywanie wielu różnych programów (np.
multimedialnych), które mają określone zakończenie. Programy te są kopiowane z dysku
(lub CD) do pamięci RAM. Zatem procesor powinien mieć jak największą moc
obliczeniową a adresowalna pamięć RAM - jak największą pojemność.

Mikrokontroler jest komputerem jednoukładowym ponieważ zawiera :

- mikroprocesor;
- pamięć adresowalną (ROM oraz RAM);
- urządzenia peryferyjne.
Celem takiego jednoukładowego komputera (mikrokontrolera) jest nieskończone
wykonywanie (bez określonego końca) jednego programu - reagującego na sygnały z
otoczenia. Program ten jest zapisany w pamięci stałej (ROM, FLASH) – jest on
wbudowany do systemu sterującego.
Cechą charakterystyczną mikrokontrolerów (8 bitowych) jest mała pamięć i duża liczba
różnorodnych urządzeń peryferyjnych. Moc obliczeniowa mikroprocesorów
wykorzystanych w mikrokontrolerach jest mniejsza niż mikroprocesorów stosowanych w
mikrokomputerach.

Mikrokontrolery są stosowane w urządzeniach : pomiarowych i sterujących

(automatyka) oraz transmisyjnych (telekomunikacja).

Mikrokontrolery są klasyfikowane z uwagi na szerokość wewnętrznej magistrali

danych na : 8-mio, 16-sto, oraz 32-dwu bitowe (istnieją także mikrokontrolery 4-ro
bitowe i 64-ro bitowe). W mikrokontrolerach 8-mio bitowych dla adresowania małej
pamięci wewnętrznej (danych i programu) magistrala adresów miała mniejsze znaczenie.
Aktualnie mikrokontrolery 16-sto i 32-dwu bitowe wykorzystują również adresowaną
pamięć zewnętrzną, co wymaga odpowiednio szerokiej magistrali adresów.

background image

Przedmiot : Systemy Wbudowane - Mikrokontrolery

Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Strona 2 z 27

Klasyczna architektura Mikrokontrolera jest pokazana na rysunku











Legenda :

1 – układ przerwań,

2 – układy czasowe,

3 – sterowniki komunikacji,

4 – urządzenia peryferyjne


Komunikacja klasycznego mikrokontrolera z otoczeniem następuje poprzez porty.
Magistrala może być udostępniona na zewnątrz dla pamięci lub urządzeń peryferyjnych

Mikrokontrolery są klasyfikowane z uwagi na szerokość magistral danych. Wyróżnia się
przy tym magistralę wewnętrzną oraz magistralę zewnętrzną. Pierwsze mikrokontrolery
(4 oraz 8 bitowe) posiadały tylko wewnętrzną magistralę danych. Nowsze
mikrokontrolery (16 i 32 a także 64 bitowe) udostępniają na zewnątrz magistralę danych
(głównie dla dostępu do dużych pamięci adresowalnych).

C
P
U

porty

Pamięć ROM programu

Pamięć RAM danych

MAGISTRALA

2

3

4

1

P O R T Y

background image

Przedmiot : Systemy Wbudowane - Mikrokontrolery

Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Strona 3 z 27


Rozwój mikrokontrolerów przedstawia poniższa tabela

od roku

wewnętrzna magistra danych

zewnętrzna magistrala danych

1975

4

-

1980

8

-

1985

8

8

1990

16

8

1995

16

16

2000

32

16

2005

32

32

?

64

32

Cechą charakterystyczną mikrokontrolerów ( w odróżnieniu od mikroprocesorów)

jest to, że nowsze wersje nie wypierają z rynku wersji starszych. Kolejne wersje są
konstruowane dla kolejnych zastosowań. Mikrokontrolery 4 bitowe są do dzisiaj
stosowane w artykułach gospodarstwa domowego, sejfach, zamkach szyfrowych, itp.
Mikrokontrolery te są programowane w asemblerze. Program funkcjonowania takich
mikrokontrolerów jest zapisywany (wbudowany) w pamięci ROM a 4 bitowa
wewnętrzna magistrala danych jest wystarczająca.

Mikrokontrolery nowszych generacji (8 oraz 32 bitowe) mają kilkaset urządzeń

peryferyjnych. Programowanie takich mikrokontrolerów za pomocą asemblera nie jest
możliwe w praktyce. Z tego powodu wykorzystywane są pakiety programowe wyższych
poziomów oparte głównie na języku C. Programy takie są lokowane na zewnątrz
mikrokontrolera – stąd potrzeba szerokiej zewnętrznej magistrali danych i magistrali
adresowej.

Należy oczekiwać, że niebawem na rynku pojawią się mikrokontrolery 64 bitowe

– głównie dla zastosowań w telekomunikacji.

2. Układy przerwań

a. Przerwania priorytetowe
b. Przerwania maskowane

Cechą charakterystyczną konstrukcji mikrokontrolerów są rozbudowane układy

przerwań. Mikrokontroler jest automatem realizującym ogólny program w niekończącej
się pętli czasowej. W trakcie realizacji tego ogólnego programu mogą się pojawić
zdarzenia, które wymagają uruchomienia innych szczególnych programów o wyższym
priorytecie.

W takich przypadkach mikrokontroler zawiesza wykonywanie ogólnego

programu i przechodzi do realizacji szczególnego programu obsługi przerwania.
Zawieszenie realizacji ogólnego programu jest nazywane wywłaszczeniem programu.
Polega ono na zapisaniu na tzw. stosie systemowym aktualnych wartości wszystkich
rejestrów (Program Counter, Accumulator, Instruction Register, Status Register)
opisujących tzw. kontekst realizacji zawieszanego programu. Program szczególny jest

background image

Przedmiot : Systemy Wbudowane - Mikrokontrolery

Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Strona 4 z 27

zapisany w pamięci pod określonym adresem. Zatem przejście do obsługi przerwania
polega na podstawieniu do Program Counter (licznika rozkazów) nowego adresu
początkowego szczególnego programu.

W ogólnym przypadku zdarzenia wywołujące przerwanie realizacji aktualnego

programu mogą mieć przypisane różne priorytety (na kilkunastu poziomach, np. 16).
Wówczas przejście do obsługi przerwania (czyli uruchomienie szczególnego programu)
następuje tylko wówczas, gdy aktualnie realizowany program ma niższy priorytet niż
program szczególny do obsługi zgłoszonego przerwania. Zatem program o niższym
priorytecie jest wywłaszczany przez program o wyższym priorytecie – a kontekst
realizowanego programu jest zapisywany na tzw. stosie systemowym. W przypadku
przerwań priorytetowych, programy o najniższym priorytecie mogą nie być realizowane.
Z tego względu wprowadza się ograniczenie czasu realizacji programu – bez względu na
priorytet.

W niektórych przypadkach przyczyną przerwania realizacji programu może być

wyczerpanie limitu czasu przeznaczonego na realizację tego programu. Po takim
przerwaniu tzw. kontekst jest również zapisywany na stosie systemowym, a
mikrokontroler przystępuje do realizacji innego zawieszonego programu o aktualnie
najwyższym priorytecie. W tym celu ze stosu jest odczytywany odpowiedni kontekst
ponownie uruchamianego programu. Metoda ta daje większe prawdopodobieństwo
realizacji programów o niskich priorytetach – ale nie daje gwarancji ich realizacji.

W trakcie realizacji programów obsługi przerwań, niektóre darzenia wywołujące

te przerwania mogą być maskowane. Oznacza to, że przerwania maskowane nie będą
uwzględniane w realizacji programów. W ogólnym przypadku przerwania są
obsługiwane według jednego z dwóch trybów:
- priority mode;
- round-robin mode.
W trybie round-robin mode zdarzenia (przerwania) są traktowane jako o równych
priorytetach. Do obsługi każdego zdarzenia przydzielany jest określony limit czasu.
Wyczerpanie tego limitu powoduje wywłaszczenie aktualnie realizowanego programu. W
ramach danego limitu program obsługi przerwania może się zakończyć. W obydwu
przypadkach mikrokontroler przechodzi do obsługi kolejnego (wg numerów)
zgłoszonego przerwania lub realizuje ogólny program niekończącej się pętli czasowej.

Układy przerwań są oceniane z punktu widzenia :

- liczby linii przerwań;
- rejestrowanej przyczyny przerwania (sygnał zewnętrzny, błąd programisty,
przekłamanie sprzętowe, itp.);
- czasu reakcji mikrokontrolera na zdarzenie przerwania.
Czas reakcji mikrokontrolera jest zależny od szybkości działania układów zapisu tzw.
kontekstu wywłaszczanego programu. Ponadto w niektórych przypadkach mikrokontroler
musi rozpoznać przyczynę przerwania. W najnowszych kontrolerach niektóre zdarzenia
przerwania są rozpoznawane i obsługiwane lokalnie – bez udziału CPU. Dla przykładu
obsługa przerwania o przyjęciu bajtu z linii szeregowej – polega na przeniesieniu tego
bajtu do innego rejestru mikrokontrolera. Taka operacja – obsługa przerwania – może
być wykonana bez angażowania CPU, co skraca czas reakcji mikrokontrolera.


background image

Przedmiot : Systemy Wbudowane - Mikrokontrolery

Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Strona 5 z 27

3. Układy czasowe

a. TIMER-y
b. COUNTER-y

Mikrokontrolery są wyposażane w układy czasowe, zbudowane z liczników oraz

rejestrów przesuwających (tzw. TIMER-ów oraz COUNTER-ów).
TIMER jest czasomierzem sygnalizującym, że upłynął zadany czas. Dla przykładu jeśli
mikrokontroler przesyła dane poprzez łącze szeregowe, to musi być uwzględniona
szybkość transmisji łącza (mniejsza niż mikroprocesora). Mikrokontroler jest
wyposażony w zegar o wyższej częstotliwości niż częstotliwość transmisji danych w
łączu szeregowym. W związku z tym TIMER jest konfigurowany tak, by dawał sygnał
transmisji danych z częstotliwością łącza szeregowego. Można to osiągnąć ustalając w
rejestrze konfiguracyjnym TIMER-a zadaną liczbę impulsów zegara (odstęp czasowy
transmisji na łączu) natomiast w TIMER-ze zliczać impulsy z zegara. W przypadku
równości komparator daje sygnał do transmisji, a TIMER jest zerowany.

COUNTER jest licznikiem dowolnych impulsów z zewnętrznych układów

peryferyjnych. COUNTER może być skonfigurowany tak by liczył w systemie do
dowolnego N. COUNTER-y są wykorzystywane do zliczania zmian sygnałów
zewnętrznych (np. bitów) zapisywanych do rejestrów przesuwających – lub zliczania
elementów (np. bajtów lub znaków) zapisywanych do pamięci buforowej FIFO lub
LIFO.


4. Porty - Łącza równoległe

a. PORT-y
b. Łącze równoległe PCI

Wszystkie mikrokontrolery są wyposażone w PORT-y. PORT jest układem, który

pozwala na transfer danych z mikrokontrolera do otoczenia – lub w kierunku odwrotnym
z otoczenia do mikrokontrolera. Dane wewnątrz mikrokontrolera są udostępniane na
równoległych liniach (ścieżkach) wewnętrznej magistrali danych. Dane te są
transferowane równocześnie poprzez PORT do otoczenia mikrokontrolera. Zatem PORT
jest łączem równoległym. Schemat PORT-u dla transmisji jednego bitu pokazano
poniżej. Bit z magistrali jest przekazywany przez bramkę 1 (AND) do przerzutnika 3. W
ten sposób stan przerzutnika (bit) znajdzie się na linii łącza. Bit z łącza jest
przekazywany – w trakcie odczytu - poprzez bramkę 2 (AND) bezpośrednio ma
wewnętrzną magistralę danych mikrokontrolera. Dla N-bitowego PORT-u równoległego
takich układów jest N.

background image

Przedmiot : Systemy Wbudowane - Mikrokontrolery

Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Strona 6 z 27



Łącze równoległe PCI (Peripheral Components Interconenct) jest znane z architektury
komputerów.


5. Sterowniki komunikacji szeregowej

a. UART
b. CAN

Mikrokontroler komunikuje się z dalszym otoczeniem poprzez łącza szeregowe.

Transmisja szeregowa jest prowadzona poprzez PORT lecz jest sterowana specjalnym
układem UART (Universal Asynchronuos Receiver/Transmiter). UART steruje
wysyłaniem danych z mikrokontrolera lub odbieraniem danych przez mikrokontroler.
Dane są transmitowane zgodnie z ustalonym protokołem, np. protokołem znakowym
(Profibus DP lub Interbus-S). Zatem ramka zawiera określoną liczbę bitów (np. bit startu,
8 bitów dla znaku, bit parzystości oraz bit stopu).

Schemat sterownika UART transmisji szeregowej pokazano na poniższym rysunku.

1

2

3

Nadawanie=1

Odbieranie=1

Magistrala
wewnętrzna

Łącze danych

Bit nadawany
nadawany

Bit odbierany

Impuls zapisu

background image

Przedmiot : Systemy Wbudowane - Mikrokontrolery

Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Strona 7 z 27

W trybie wysyłania informacji (TDX) dane magistrali wewnętrznej są przekazane do

bufora OUT. Bufor OUT może zawierać jeden lub więcej rejestrów (tyle ile liczy ramka
określonego protokołu). Bufor działa na zasadzie pamięci typu FIFO. Dane z bufora OUT
są przekazane do Rejestru Przesuwającego OUT. Następnie dane są wyprowadzane
(poprzez przesuwanie) z częstotliwością f OUT poprzez Port OUT do otoczenia
mikrokontrolera.

W trybie odbierania informacji (RDX) dane z otoczenia mikrokontrolera są

przekazywane poprzez Port IN do Rejestru Przesuwającego IN. Dane są zapisywane
(przesuwane) z częstotliwością f IN. Z Rejestru Przesuwającego IN dane są zapisywane
do rejestru Bufora IN. Bufor IN działa na zasadzie pamięci typu FIFO. Bufor ten może
mieć jeden lub wiele rejestrów (tyle ile liczy ramka określonego protokołu). Z Bufora IN
dane są transferowane równolegle na wewnętrzną magistralę.

Rejestr CONTROL umożliwia konfigurację i sterowanie kontrolera UART. Dla

przykładu bity Rejestru CONTROL informują czy dane zastały wysłane z Rejestru
Przesuwającego OUT – lub czy dane zostały odebrane do Rejestru Przesuwającego IN.

Sterowniki CAN są stosowane w przemysłowych sieciach mikrokontrolerów.


Rejestr Przesuwny IN

Rejestr Przesuwny OUT

Rejestr CONTROL

Bufor IN

Bufor OUT

M
A
G
I
S
T
R
A
L
A

W
E
W
N
Ę
T
R
Z
N
A

Port IN

Port OUT

f IN

f OUT

background image

Przedmiot : Systemy Wbudowane - Mikrokontrolery

Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Strona 8 z 27

6. Systemy operacyjne czasu rzeczywistego

a. Struktura systemu
b. Funkcjonowanie systemu

System operacyjny czasu rzeczywistego RTOS (Real Time Operating System) jest

specjalizowanym systemem operacyjnym dla mikrokontrolerów. Mikrokontroler jest
automatem reagującym na zdarzenia. Automat ten wykonuje w tle program bazowy,
który jest niekończącą się pętla czasową. Realizacja tej pętli jest przerywana przez
określone zdarzenia, po których mikrokontroler przechodzi do programów specjalnych
obsługujących przerwania. Podstawowe znaczenie ma gwarancja reakcji na zdarzenie w
czasie nie przekraczającym ustalonego limitu.

Program wbudowany (embedded program) do mikrokontrolera może być napisany w

asemblerze lub w języku wyższego poziomu, np. C. Program taki ma cechy systemu
operacyjnego – na tle programu bazowego uruchamiane są programy specjalne dla
obsługi przerwań. Idea ta została rozwinięta tak, że powstały systemy RTOS dla
mikrokontrolerów.

Podstawowymi celami stosowania systemów RTOS w mikrokontrolerach są :

- skrócenie czasu opracowywania programu wbudowanego,
- zwiększenie niezawodności programu wbudowanego,
- ułatwienie zarządzania procesem tworzenia programów wbudowanych.

Systemy RTOS posiadają reguły i algorytmy zarządzania zasobami

mikrokontrolera – głównie czasem i pamięcią. Ponadto systemy RTOS posiadają także
reguły i algorytmy koordynacji programów obsługi przerwań, np. poprzez przekazywanie
danych. W związku z tym programiści mogą skupiać się na opracowywaniu programów
obsługi przerwań – a system RTOS zapewnia ich realizację.

Program wbudowany zawierający reguły i algorytmy systemu RTOS oraz zbiór

modułów obsługi przerwań jest bardziej niezawodny niż program wbudowany bez
systemu RTOS. Wynika to z faktu, że system RTOS jest stosowany powszechnie – tym
samym jest dobrze przetestowany.

Zasada funkcjonowania sytemu RTOS w mikrokontrolerze jest przedstawiona na

poniższym rysunku.


background image

Przedmiot : Systemy Wbudowane - Mikrokontrolery

Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Strona 9 z 27

Program źródłowy może być napisany w języku wyższego poziomu (np. C) z

wykorzystaniem biblioteki systemu RTOS. System RTOS składa się z jądra (kernel) oraz
Biblioteki (Library). System RTOS realizuje funkcje usługowe dla programu użytkowego
(źródłowego, wbudowanego) oraz zarządza podstawowymi zasobami, tzn. czasem i
pamięcią.

Program użytkowy (źródłowy, wbudowany) składa się z zadań (tasks) tworzących

procesy (processes). Wymiana informacji pomiędzy zadaniami odbywa się za
pośrednictwem systemu RTOS.




7. Metody przydziału czasu i pamięci

a. Przydział czasu dla zadań
b. Przydział pamięci dla zadań

Wbudowany do mikrokontrolera program użytkowy składa się z sieci zadań, które są

wykonywane w jednym mikroprocesorze (CPU). Z tego względu system RTOS
przydziela czas dla realizacji tych zadań. Stosowane są dwie skrajne metody przydziału
czasu dla realizacji zadań :

Program źródłowy

Jądro systemu RTOS

Biblioteka RTOS

Program Wbudowany

M I K R O K O N T R O L E R

background image

Przedmiot : Systemy Wbudowane - Mikrokontrolery

Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Strona 10 z
27

- obsługa priorytetowa,
- obsługa cykliczna.

W przypadku obsługi priorytetowej zakłada się, że zadaniom nadano priorytety ich
realizacji. CPU realizuje zadanie zgłoszone (przerwanie aktywne) o najwyższym
priorytecie bez ograniczenia czasowego. Po zakończeniu realizacji tego zadania CPU
rozpocznie realizować zadanie aktywne (zgłoszone przerwanie) o najwyższym
priorytecie. Jeśli w trakcie realizacji zadania o pewnym priorytecie pojawi się przerwanie
o wyższym priorytecie – to aktualnie realizowane zadanie zostaje wywłaszczone.
Aktualny kontekst obliczeń zostaje zapisany na tzw. stos. CPU przechodzi do realizacji
zgłoszonego zadania o najwyższym priorytecie. W ten sposób aktywne zadania
(przerwania) o niskich priorytetach mogą nie być obsługiwane.
Metoda obsługi priorytetowej jest pokazana na poniższym rysunku.

Zadanie o priorytecie 1 jest wywłaszczone przez zadanie o priorytecie 2. Zadanie o
priorytecie 2 jest wywłaszczone przez zadanie o priorytecie 3. Zadanie o priorytecie 3
jest wywłaszczone przez zadanie o priorytecie 4, które jest zrealizowane w całości. Po
zakończeniu zadania o priorytecie 4 realizowane jest do końca zadanie o priorytecie 3. Po
zakończeniu zadania o priorytecie 3 realizowane jest do końca zadanie o priorytecie 2. Po
zakończeniu zadania o priorytecie 2 realizowane jest do końca zadanie o priorytecie 1.

W przypadku obsługi cyklicznej zakłada się, że zadania mają jednakowe

priorytety ale są realizowane cyklicznie według nadanych im numerów. Ponadto każde
zadanie ma określony limit czasu realizacji. Jeśli czas ten zostanie wyczerpany to zadanie
zostanie wywłaszczone (będzie realizowane w następnym cyklu) Należy przy tym
zaznaczyć, że w dowolnej chwili realizowane są tylko aktywne zadania (dla zgłoszonych
przerwań).

Metoda obsługi cyklicznej jest pokazana na poniższym rysunku.

1

2

3

4

3

2

1

Priorytety zadań

Czas realizacji zadań

background image

Przedmiot : Systemy Wbudowane - Mikrokontrolery

Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Strona 11 z
27


Zadania 1 oraz 2 nie wyczerpują limitu czasu realizacji. Zadanie 3 wyczerpuje limit czasu
realizacji, dlatego w aktualnym cyklu jest zrealizowane tylko 3a natomiast w kolejnym
cyklu 3b.

Przydział dedykowanej pamięci dla zadań likwiduje czas zapisu tzw. kontekstu na

stos, bo kontekst dla każdego zdania jest zapamiętany. Przy dużej liczbie zadań może
wystąpić ograniczenie pamięci wewnętrznej mikrokontrolera. Wówczas niektóre dane sa
zapisywane w pamięci zewnętrznej – co wydłuża czas dostępu do nich. W przypadku
takich problemów wprowadza się podział pamięci (modele pamięci) : small, medium
oraz large. W pamięciach tych zapisuje się dane w zależności od częstości ich
wykorzystywania.


8. Metody wymiany informacji między zadaniami

a. Wymiana wewnętrzna (queues, semaphores),
b. Wymian zewnętrzna (signals, sockets),















1

2

3a

1

2

3b

1

Jednakowe priorytety zadań

Czas realizacji zadań

background image

Przedmiot : Systemy Wbudowane - Mikrokontrolery

Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Strona 12 z
27

9. Programowanie mikrokontrolerów

a. Programowanie w asemblerze
b. Programowanie w języku C

Mikrokontrolery są automatami stosowanymi w :
- sprzęcie gospodarstwa domowego, (4 bitowe),
- urządzeniach pomiarowo-kontrolnych, (8 bitowe),
- sterowaniu procesami przemysłowymi, (16 bitowe),
- sieciach komputerowych i telekomunikacyjnych, (32 bitowe).
Mikrokontroler jako automat posiada wbudowany program – najczęściej w pamięci
ROM, EPROM lub FLASH. W związku z tym istotne znaczenie ma programowanie
mikrokontrolerów.

Celem programowania mikrokontrolerów jest tzw. program wbudowany, tzn.

zapisany do pamięci stałej mikrokontrolera. Program wbudowany ma postać maszynową,
tzn. składa się z szeregów zer (0) oraz jedynek (1). Programowanie w języku
maszynowym, który uwzględnia konstrukcję CPU, jest żmudne. Dlatego jest stosowane
dla krótkich programów w mikrokontrolerach 4 bitowych (np. zamki szyfrowe, sejfy,
itp.).

W programowaniu mikrokontrolerów 8 bitowych stosuje się asembler (język niskiego

poziomu). Asembler zawiera listę rozkazów w postaci mnemoników, np. ADD dla
dodawanie lub MOV dla przesunięcia danych pomiędzy rejestrami. Programowanie w
asemblerze zabiera mniej czasu niż w języku maszynowym. Jednakże w praktyce lista
rozkazów asemblera jest dostosowana do możliwości CPU mikrokontrolera. Program
napisany w asemblerze musi być zamieniony na postać maszynową, by być
wbudowanym (zapisanym) do pamięci stałej mikrokontrolera. Stanowi to pewien
problem, ponieważ na rynku występuje kilkaset mikrokontrolerów 8 bitowych. Z tego
względu producenci mikrokontrolerów dostarczają do mikrokontrolera asembler (listę
rozkazów oraz program konwertujący kod do postaci maszynowej), którym może się
posłużyć użytkownik.

W ogólnym przypadku mikrokontrolery 8 bitowe oraz 16 bitowe są programowane w

asemblerze. Przy tym istnieje tendencja do standaryzacji asemblerów dla pewnych klas
CPU, tzw. rodzin mikrokontrolerów – np. rodziny 8 bitowej 8051 lub rodziny 16 bitowej
80166.

W związku z ciągłą rozbudową mikrokontrolerów, do ich programowania

wykorzystuje się coraz powszechniej języki wysokiego poziomu, np. C lub C++.
Wykorzystanie wprost standardowego języka ANSI C nie jest możliwe. Wynika to
przede wszystkim z różnicy w metodyce programowania mikrokomputerów i
mikrokontrolerów. W przypadku programowania mikrokomputerów – program jest
opracowywany i instalowany w tym samym systemie (mikrokomputerze jako klasie
systemów). Natomiast w przypadku mikrokontrolerów wyróżnia się, tzw. Development
System oraz Target System. Program w języku wysokiego poziomu (np. C) jest
opracowywany w Development System (w mikrokomputerze) natomiast ostatecznie jest
on instalowany (wbudowywany) w Target System-ie (w mikrokontrolerze). Z tych
względów metodyka programowania mikrokontrolerów 8 bitowych oraz 16 bitowych
składa się z kilku etapów.

background image

Przedmiot : Systemy Wbudowane - Mikrokontrolery

Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Strona 13 z
27

W pierwszym etapie opracowywany jest kod źródłowy w języku wysokiego poziomu.

Następnie kod ten jest kompilowany do postaci relokowalnych modułów. Ponadto
korzysta się także z relokowalnych modułów bibliotecznych języka wysokiego poziomu
oraz relokowalnych modułów systemu operacyjnego czasu rzeczywistego (RTOS).

Relokowalne moduły są łączone przy pomocy specjalnego programu – linkera – do

postaci kodu absolutnego. Kod absolutny ma postać maszynową dostosowaną do
mikrokontrolera (8 bitowego lub 16 bitowego). Ponadto dla wbudowania takiego
programu do pamięci stałej mikrokontrolera stosowane są specjalne programatory, w
których stosowany jest standard HEX (firmy Intel) lub S-Record (firmy Motorola).

W ogólnym przypadku programowania mikrokontrolerów w języku wysokiego

poziomu stosowane są pewne odmiany języka ANSI C. Modyfikacje polegają na dodaniu
typów danych bitowych oraz operacji na bitach. Ponadto dla programowania obsługi
przerwań wprowadza się rozkaz INTERRUPT .

Dla programowania rodziny 8051 mikrokontrolerów 8 bitowych stosowany jest język

C51 natomiast dla rodziny 80166 mikrokontrolerów 16 bitowych stosowany jest język
C166. Programowanie mikrokontrolerów w języku wysokiego poziomu wymaga dużych
pamięci. Z tego względu rośnie rola pamięci zewnętrznych w mikrokontrolerach.
Ponadto trwają prace standaryzacyjne języka C++ dla programowania mikrokontrolerów.
Celem tych prac jest wyeliminowanie tych elementów języka C++, które maja
największe wymagania pamięci.


10. Uruchamianie programów mikrokontrolerów

a. Programowe symulatory mikrokontrolerów
b. Uruchamiania programów w systemie docelowym

Bezbłędnie działający program wbudowany mikrokontrolera ma podstawowe

znaczenie. Mikrokontrolery stosowane są do sterowania procesami technologicznymi lub
sieciami telekomunikacyjnymi. W związku z tym błąd programu może spowodować
znaczne straty. Pod tym względem uruchamianie programów mikrokontrolerów jest
zadaniem traktowanym z większą powagą niż w mikrokomputerach (gdzie np.
wypuszcza się wersje nie dopracowane – beta).

Mikrokomputer

powinien sterować kompleksowym środowiskiem, w którym

występuje wiele zdarzeń o różnym priorytecie. Z tego względu opracowanie i
uruchomienie bezbłędnego programu jest procesem – prób i błędów. W procesie tym
stosowane są dwie metody :

- programowe symulatory mikrokontrolerów,
- uruchamianie programów w mikrokontrolerze (Target System).

Programowe symulatory mikrokomputerów stanowią standardowe wyposażenie pakietów
programowania mikrokontrolerów (software tools), które są oferowane przez różne
firmy, np. Keil Software lub Tasking Software. Symulatory są stosowane na
początkowym etapie wdrażania programu dla mikrokontrolera. Pozwalają one na szybkie
wykrywanie logicznych błędów w opracowywanym programie. Jednakże w programach
dla mikrokontrolerów istotne znaczenie maja zależności czasowe pomiędzy zdarzeniami
a w szczególności czasy reakcji na przerwania. Weryfikacja programu

background image

Przedmiot : Systemy Wbudowane - Mikrokontrolery

Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Strona 14 z
27

mikrokomputerowego

w tym względzie może być przeprowadzona tylko w

rzeczywistym systemie (Target System).

Do uruchamianie programów w rzeczywistych mikrokontrolerach stosowanych

jest kila metod – o różnej efektywności, czasie i kosztach.

a.

Metoda prób i błędów

Polega na opracowywaniu kolejnych wersji programu i zapisywaniu
(wbudowywaniu) go do pamięci stałej. Następnie sprawdza się poprawność
funkcjonowania programu w mikrokontrolerze. Metoda jest czasochłonna i
kosztowna z uwagi na programowanie pamięci stałej : ROM lub EPROM.

b.

Metoda emulatora pamięci stałej

Jest analogiczna do metody prób i błędów. Różnica polega na tym, że zamiast
pamięci stałej (ROM lub EPROM) wstawia się pamięć RAM.
Przeprogramowywanie pamięci RAM jest łatwiejsze.

c.

Metoda monitora programowego rezydującego w pamięci stałej
mikrokontrolera.

Monitor jest małym programem kontrolującym działanie testowanego programu.
Wyniki testowania są przekazywane na zewnątrz mikrokontrolera poprzez port
szeregowy. Monitory są stosowane w mikrokontrolerach 8 bitowych, 16 bitowych
oraz 32 bitowych.

d.

Metoda emulatora sprzętowego mikrokontrolera

Jest to metoda kosztowna (cena emulatora) lecz efektywna. Emulator pozwala
sprawdzać program wbudowany „krok po kroku”.

e.

Metoda specjalnych zasobów wewnętrznych mikrokontrolera

Mikrokontrolery wyposaża się w specjalne programy typu debugger.
Mikrokontroler posiada specjalne (dedykowane) wyjścia (debug PORT, JTAG)
poprzez które przekazuje na zewnątrz informacje o realizacji programu
wbudowanego.

Oprogramowanie do testowania uruchamianych programów wbudowanych wchodzi w
skład pakietów Software Tools oferowanych dla mikrokontrolerów.

11. Standaryzacja oprogramowania mikrokontrolerów

a. Standaryzacja kodu wynikowego programu
b. Standaryzacja systemów operacyjnych czasu rzeczywistego


Standaryzacja oprogramowania mikrokontrolerów obejmuje :
- standardy języków wysokiego poziomu (C oraz C++),

Standardy języków programowania wysokiego poziomu dotyczą języka C oraz

języka C++. W standardach tych wprowadzono dodatkowe typy zmiennych binarnych
oraz rozkazy na bitach. Ponadto wprowadzono rozkazy związane z obsługa przerwań, np.
Interrupt n (dla funkcji przyporządkowanej n-temu przerwaniu) oraz Using n (dla
oznaczenia obszaru pamięci dla n-tego przerwania). Wprowadzono także modele pamięci
: small, compact, large.
Standardy języków wysokiego poziomu maja umożliwić przenoszenie programów
źródłowych pomiędzy różnymi systemami.

background image

Przedmiot : Systemy Wbudowane - Mikrokontrolery

Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Strona 15 z
27

- standardy asemblerów dla rodzin mikrokontrolerów,

Standardy kodu wynikowego maja umożliwić przenoszenie programów po

kompilacji. Stosowane sa następujące standardy : OMF (Object Module Format), ELF
(Executable Link Format), COFF (common Object File Format).
- standardy systemów operacyjnych czasu rzeczywistego,

Systemy operacyjne czasu rzeczywistego nie są konieczne dla mikrokontrolerów

8 bitowych, ułatwiają programowanie mikrokontrolerów 16 bitowych – i są konieczne
dla mikrokontrolerów 32 bitowych. Przykłady systemów operacyjnych czasu
rzeczywistego dla rodziny MPC860 mikrokontrolerów 32 bitowych podano niżej :

System operacyjny

Producent


Nucleus PLUS

Accelerated Technology

pSOS

Integrated Systems

OS-9

Microware Systems

VRTX

Mentor Graphics Corporation

MQX

Precise Software Technologies

QNX

QNX Software

AMX

Kadak Products

VxWorks

Wind River Systems

RTXC

Embeded Systems Products

Threadx

Expres Logic

OSE

Enea Data

LynxOS

Lynx Teal-Time Systems

ChorusOS

Chorus


Ponadto wprowadzony standard POSIX (Portale Operate System Interface) umożliwia
przenoszenie kodu źródłowego programu użytkowego pomiędzy różnymi systemami
operacyjnymi czasu rzeczywistego.
- standardy zapisu kodu maszynowego w pamięci stałej mikrokontrolera.

Ponadto programatory pamięci stałej mikrokontrolera (ROM, EPROM) akceptują

kod maszynowy zapisany w standardzie HEX (firmy Intel) lub S-Record (firmy
Motorola). Wszystkie standardy oprogramowania dla mikrokontrolerów tworzą
zintegrowane środowisko EDE (Embedded Development Environment).











background image

Przedmiot : Systemy Wbudowane - Mikrokontrolery

Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Strona 16 z
27

Rodziny mikrokontrolerów


12. Mikrokontrolery rodziny 8051

a. Architektura
b. Programowanie

Podstawowe rodziny mikrokontrolerów 8 bitowych i ich producentów

wyszczególniono niżej :


Oznaczenie rodziny

Producent


8051

Intel, Philips, Siemens, Atmel

6805/08/11

Motorola

ST62/72/92

STMicroelectronics

PICmicro

Microchip Technology

COP8

National Simiconductor

Rodzina mikrokontrolerów 8051 została utworzona w roku 1980 przez firmę Intel.

Następnie produkcją mikrokontrolerów na licencji Intel –a zajęły się firmy Philips oraz
Siemens. Aktualnie mikrokontrolery rodziny 8051 są produkowane przez kilkanaście
firm światowych. Odmian tych mikrokontrolerów jest kilkaset – a ich cena wynosi
kilkadziesiąt złotych.

Podstawową architekturę mikrokontrolerów rodziny 8051 pokazano na poniższym

rysunku




background image

Przedmiot : Systemy Wbudowane - Mikrokontrolery

Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Strona 17 z
27

Zegar

Jednostka Centralna - CPU

Pamięć ROM
programu

Pamięć ROM
danych

Pamięć RAM
programu

Pamięć RAM
danych

Sterowniki
magistral zewn.

Wewnętrzne
Urządzenia
Peryferyjne

Układy przerwań

P O R T Y

background image

Przedmiot : Systemy Wbudowane - Mikrokontrolery

Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Strona 18 z
27

Cechą charakterystyczną tej architektury jest to, że mikrokontroler nie udostępnia na

zewnątrz magistrali systemowej. Ponadto mikrokontroler komunikuje się z otoczeniem
tylko poprzez swoje PORT-y. Mikrokontroler posiada pamięć wewnętrzną typu Harvard
(podział pamięci na program oraz dane).

Podstawowe parametry rodziny mikrokontrolerów 8051 wyszczególniono niżej :


Intel 8051

Moc obliczeniowa (MIPS) = 1

Częstotliwość zegara (MHZ) = 12

Wewnetrzna pamięć RAM (bajty) = 128

PORT-y równoległe = 4

UART = 1

Przetwornik analogowo cyfrowy (liczba kanałów/rozdzielczość) = brak

Philips 80C552

Moc obliczeniowa (MIPS) = 1,3

Częstotliwość zegara (MHZ) = 16

Wewnetrzna pamięć RAM (bajty) = 256

PORT-y równoległe = 5

UART = 1

Przetwornik analogowo cyfrowy (liczba kanałów/rozdzielczość) = 8/10


Siemens 80C515

Moc obliczeniowa (MIPS) = 1,5

Częstotliwość zegara (MHZ) = 18

Wewnetrzna pamięć RAM (bajty) = 256

PORT-y równoległe = 6

UART = 1

Przetwornik analogowo cyfrowy (liczba kanałów/rozdzielczość) = 8/8


Dallas 80C320

Moc obliczeniowa (MIPS) = 9

Częstotliwość zegara (MHZ) = 33

Wewnetrzna pamięć RAM (bajty) = 256

PORT-y równoległe = 4

UART = 1

Przetwornik analogowo cyfrowy (liczba kanałów/rozdzielczość) = 8/10


Atmel 89C55

Moc obliczeniowa (MIPS) = 4

Częstotliwość zegara (MHZ) = 33

Wewnetrzna pamięć RAM (bajty) = 256

PORT-y równoległe = 4

UART = 1

Przetwornik analogowo cyfrowy (liczba kanałów/rozdzielczość) = brak

background image

Przedmiot : Systemy Wbudowane - Mikrokontrolery

Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Strona 19 z
27

Programy wbudowane mikrokontrolerów rodziny 8051 są opracowywane przy pomocy
pakietów programów narzędziowych (software tools). Programy narzędziowe są
zintegrowane w specjalnym środowisku (Embedded Development Environment), które
funkcjonuje pod systemem operacyjnym Windows.
Cykl tworzenia i uruchamiania oprogramowania szykowego pokazano na schemacie.




Embedded Development Environment
uVISION

C51
Compiler

A51
Assembler

C51
Library

A51
Library

BL51
Linker for Code-Banking

dScope51
Debugger

OH51 Object-Hex
Converter

Emulator and Programmer
EPROM/FLASH

background image

Przedmiot : Systemy Wbudowane - Mikrokontrolery

Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Strona 20 z
27

Programy użytkowe mogą być pisane w assemblerze A51 lub w języku

wysokiego poziomu C51. Programy te są kompilowane do postaci modułów
relokowalnych. Połączenie tych modułów wraz z modułami bibliotecznymi następuje w
Linkerze BL51.

Kod maszynowy może być testowany przy pomocy Debugger-a dScope51. Przed

wbudowaniem (zapisem do pamięci stałej) kod maszynowy jest konwertowany do
postaci wymaganej przez programator. Ponadto kod ten może być wykorzystany w fazie
uruchamiania programu użytkowego w Emulatorze.

Mikrokontrolery rodziny 8051 znalazły szerokie zastosowanie w automatycznych

pomiarach, sterowaniu oraz w sieciach komputerowych i telekomunikacyjnych.

==================

13. Mikrokontrolery rodziny 80166

a. Architektura
b. Programowanie

Mikrokontrolery 16 bitowe zostały wprowadzone około 1990 roku, w odpowiedzi na

zapotrzebowanie w systemach pomiarowo-kontrolnych. Charakteryzują się one dużą
różnorodnością wewnętrznych i zewnętrznych układów peryferyjnych. Ponadto układy
pamięci oraz urządzenia peryferyjne wykorzystują odrębne magistrale systemowe.
Pierwszą rodzinę mikrokontrolerów 16 bitowych wprowadziła na rynek firma Intel.
Aktualnie do najważniejszych rodzin mikrokomputerów 16 bitowych należą :

Rodzina

Producent


8096/196/296

Intel

MPS430

Texas Instruments

6812/16

Motorola

80166

Siemens

Do zastosowań w programowalnych sterownikach przemysłowych powszechnie

stosowane są mikrokontrolery należące do rodziny 80166, produkowane przez firmę
Siemens. Moc obliczeniowa tych mikrokontrolerów wynosi około 10 MIPS.

Ogólną architekturę mikrokontrolerów 80166 pokazano na poniższym rysunku.










background image

Przedmiot : Systemy Wbudowane - Mikrokontrolery

Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Strona 21 z
27






Z E G A R

Jednostka Centralna

CPU
CPU

Pamięć

ROM

Pamięć

RAM

Sterowniki

Magistral Zewnętrznych

P O R T Y

Wewnętrzne

Urządzenia Peryferyjne

Układy

Przerwań

background image

Przedmiot : Systemy Wbudowane - Mikrokontrolery

Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Strona 22 z
27

Mikrokontrolery rodziny 80166 maja pamięć typu von Neumann (wspólna dla

programu i danych). Poprzez magistralę zewnętrzną podłączana jest pamięć zewnętrzna
oraz zewnętrzne (specjalizowane) urządzenia peryferyjne.

Podstawowe parametry dla kolejnych generacji rodziny mikrokontrolerów 80166

wyszczególniono poniżej.
Mikrokontroler C166

Częstotliwość zegara (MHz) =20

Liniowa przestrzeń adresowa (KB) =256

Wewnętrzna pamięć RAM (KB) = 1

Liczba Portów = 76

Liczba wejść analogowych/Rozdzielczość = 10/10

Liczba kanałów CAPCOM = 16

Sterowniki komunikacji asynchronicznej = 2


Mikrokontroler C165

Częstotliwość zegara (MHz) =25

Liniowa przestrzeń adresowa (MB) =16

Wewnętrzna pamięć RAM (KB) = 2

Liczba Portów = 77

Liczba wejść analogowych/Rozdzielczość = brak

Liczba kanałów CAPCOM = brak

Sterowniki komunikacji asynchronicznej = 1


Mikrokontroler C167

Częstotliwość zegara (MHz) =20

Liniowa przestrzeń adresowa (MB) =16

Wewnętrzna pamięć RAM (KB) = 4

Liczba Portów = 111

Liczba wejść analogowych/Rozdzielczość = 16/10

Liczba kanałów CAPCOM = 32

Sterowniki komunikacji asynchronicznej = 1


Mikrokontroler C161

Częstotliwość zegara (MHz) =16

Liniowa przestrzeń adresowa (MB) =8

Wewnętrzna pamięć RAM (KB) = 3

Liczba Portów = 76

Liczba wejść analogowych/Rozdzielczość = 4/8

Liczba kanałów CAPCOM = brak

Sterowniki komunikacji asynchronicznej = 1


Mikrokontroler C163

Częstotliwość zegara (MHz) =25

Liniowa przestrzeń adresowa (MB) =16

Wewnętrzna pamięć RAM (KB) = 1

Liczba Portów = 77

background image

Przedmiot : Systemy Wbudowane - Mikrokontrolery

Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Strona 23 z
27

Liczba wejść analogowych/Rozdzielczość = brak

Liczba kanałów CAPCOM = 8

Sterowniki komunikacji asynchronicznej = 1


Mikrokontroler C164

Częstotliwość zegara (MHz) =20

Liniowa przestrzeń adresowa (MB) =4

Wewnętrzna pamięć RAM (KB) = 2

Liczba Portów = 59

Liczba wejść analogowych/Rozdzielczość = 8/10

Liczba kanałów CAPCOM = 8

Sterowniki komunikacji asynchronicznej = 1

Wszystkie mikrokontrolery rodziny 80166 mają CPU typu RISC. Z analizy rozwoju

kolejnych generacji mikrokontrolerów rodziny 80166 wynika, że pierwszy uniwersalny
mikrokontroler 80166 został rozbudowany dla różnych zastosowań. Stąd kolejne
mikrokontrolery maja lepsze tylko niektóre parametry. Natomiast pamięć adresowalna
została rozbudowana dla całej rodziny 80166.

Programy użytkowe (wbudowane) są tworzone dla rodziny mikrokontrolerów

80166 w zintegrowanym środowisku (Embedded Development Environment). Cykl
tworzenia i uruchamiania programów użytkowych jest analogiczny jak dla rodziny
mikrokontrolerów 8051. Dodatkiem w pakiecie programów narzędziowych jest system
operacyjny czasu rzeczywistego. System ten (jego moduły) jest kompilowany i łączony w
kod wynikowy absolutny. Ponadto ważne znaczenie dla testowania programu
wbudowanego ma symulator mikrokontrolera, który jest włączony do pakietu EDE.

14. Mikrokontrolery rodziny MPC860

a. Architektura
b. Programowanie

Mikrokontrolery 32 bitowe zostały wprowadzone na rynek przed rokiem 2000.

Przyczyną pojawienia się tych mikrokontrolerów był rozwój sieci telekomunikacyjnych i
komputerowych, głównie Internetu. Okazało się, że oprogramowanie mikrokontrolerów
nie nadąża za rozbudową wewnętrznych i zewnętrznych układów peryferyjnych. Ponadto
programowanie złożonych mikrokontrolerów (kilkaset wyprowadzeń z układu) nie było
możliwe w asemblerze. W związku z tym powszechnie zaczęto stosować języki
wysokiego poziomu – głównie C oraz C++. Ponadto wprowadzono systemy operacyjne
czasu rzeczywistego, które wspomagają tworzenie programów dla mikrokontrolerów.
Języki C oraz C++ zostały zmodyfikowane, tak by zapewnić obsługę przerwań a
jednocześnie zmniejszyć wymaganie dużej pamięci dla programów pisanych w tych
językach. Potrzeba programowania w językach wysokiego poziomu spowodowała
zmianę architektury mikrokontrolerów. Przede wszystkich mikrokontrolery 32 bitowe
mają możliwość adresowania pamięci do 1 GB. Taka pamięć nie mieści się w
mikrokontrolerze, dlatego potrzebny był bezpośredni dostęp do wewnętrznych magistral

background image

Przedmiot : Systemy Wbudowane - Mikrokontrolery

Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Strona 24 z
27

systemowych. Mikrokontrolery 32 bitowe nie posiadają stałej pamięci wewnętrznej.
Program i dane znajdują się w pamięci zewnętrznej SRAM lub DRAM . Do produkcji
mikrokontrolerów zaczęto używać mikroprocesorów stosowanych w mikrokomputerach.
Te mikroprocesory nazywane są wbudowanymi do mikrokontrolerów. Przykłady
mikrokontrolerów wywodzących się z mikroprocesorów podano niżej.


Mikroprocesor

Rodzina mikrokontrolerów

Producent


i960

80960VH

Intel

80386

80386EX

Intel

68000

683xx

Motorola

PowerPC

MPC860/8260

Motorola

Mikrokontrolery 32 bitowe powstały głównie na zapotrzebowanie

telekomunikacji. Cechą charakterystyczną tych mikrokontrolerów jest moduł procesora
komunikacyjnego – obok procesora centralnego. W telekomunikacji powszechnie
stosowane są mikrokontrolery rodziny MPC860/8260. Parametry mikrokontrolerów
kolejnych generacji tej rodziny wyszczególniono niżej.

Mikrokontroler MPC801

Częstotliwość zegara (MHz) = 40

Moc obliczeniowa (MIPS) = 52

Moduł SCC = brak

Moduł SMC = brak


Mikrokontroler MPC821

Częstotliwość zegara (MHz) = 66

Moc obliczeniowa (MIPS) = 86

Moduł SCC = 2

Moduł SMC = 2


Mikrokontroler MPC823

Częstotliwość zegara (MHz) = 80

Moc obliczeniowa (MIPS) = 105

Moduł SCC = 1

Moduł SMC = 2


Mikrokontroler MPC850

Częstotliwość zegara (MHz) = 80

Moc obliczeniowa (MIPS) = 105

Moduł SCC = 2

Moduł SMC = 2


Mikrokontroler MPC855

Częstotliwość zegara (MHz) = 80

Moc obliczeniowa (MIPS) = 105

background image

Przedmiot : Systemy Wbudowane - Mikrokontrolery

Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Strona 25 z
27

Moduł SCC = 1

Moduł SMC = 2


Mikrokontroler MPC860

Częstotliwość zegara (MHz) = 80

Moc obliczeniowa (MIPS) = 105

Moduł SCC = 4

Moduł SMC = 2


Mikrokontroler MPC8240

Częstotliwość zegara (MHz) = 266

Moc obliczeniowa (MIPS) = 375

Moduł SCC = brak

Moduł SMC = brak


Mikrokontroler MPC8260

Częstotliwość zegara (MHz) = 200

Moc obliczeniowa (MIPS) = 280

Moduł SCC = 4

Moduł SMC = 2


Architektura mikrokontrolerów rodziny MPC860 została pokazana na rysunku.






















background image

Przedmiot : Systemy Wbudowane - Mikrokontrolery

Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Strona 26 z
27

Kontroler pamieci zewnetrznych

Sterownik zewnętrznych magistral systemowych

Porty PCMCIA

System Integration Unit

PowerPC

Cache programu

Cache danych

RISC

Serial Communication Controller

Serial Management Controller

Fast Communication Controller

Multichannel Communication Controller

P O R T Y

Communication Processor Module

M
A
G
I
S
T
R
A
L
A

W
E
W
N
Ę
T
R
Z
N
A

background image

Przedmiot : Systemy Wbudowane - Mikrokontrolery

Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Strona 27 z
27

Programowanie mikrokomputerów 32 bitowych jest realizowane w pakietach

Embedded Development Environment. Wyróżnia się przy tym System Rozwojowy (host)
oraz System Docelowy (target).
W skład systemu rozwojowego wchodzą :
- kompilatory języków wysokiego poziomu, C oraz C++
- program dla konsolidacji modułów relokowalnych, Linker
- system operacyjny czasu rzeczywistego, VRTX
- program uruchomieniowy, Debugger
- program komunikacyjny z systemem docelowym Xtrace Target Manager
- symulator systemu docelowego, Virtual Target
W skład systemu docelowego wchodzą :
- program użytkowy
- jadro systemu operacyjnego VRTX
- program bazowy + monitor programowy.
Aktualnie na rynku dostępnych jest kilka kompilatorów języków wyższego poziomu (C
oraz C++), firm :
- Greek Hills Software,
Tasking,
Meta Ware,
Micro Mentor Graphics.
Schemat blokowy tworzenia i uruchamiania programu użytkowego dla mikrokontrolerów
32 bitowych jest analogiczny jak dla mikrokontrolerów 16 bitowych.


Wyszukiwarka

Podobne podstrony:
ML5 Statecznosc statyczna id 30 Nieznany
MOJE OPRACOWANIE wersja C id 30 Nieznany
Most Zamkowy Rzeszow 2002 id 30 Nieznany
MLEKO WYKLADY POLOZNICTWO id 30 Nieznany
# Skrypt Biochemia czesc4 id 30 Nieznany
mleko i przetwory mleczne id 30 Nieznany
Mini Corpus Iuris Civilis id 30 Nieznany
#Technologie informacyjne id 30 Nieznany (2)
23 Wedrownicy, gajdzinski id 30 Nieznany
MOJE OPRACOWANIE wersja D id 30 Nieznany
Milosc i odpowiedzialnosc id 30 Nieznany
ML5 Statecznosc statyczna id 30 Nieznany
7 30 id 44759 Nieznany (2)
FP 30 kolo id 180395 Nieznany
AAS piatek 14 30 id 50013 Nieznany
30 id 34432 Nieznany
30 9 id 34450 Nieznany (2)
30 10 id 34435 Nieznany

więcej podobnych podstron