Mikroprocesor i mikrokontolery, Mechatronika


Autor: Krzysztof Janeczek

Temat zadania: Technika mikroprocesorowa i mikrokontrolery w sterowaniu maszyn

Mikroprocesor to procesor wykonany w technologii LSI (mikroprocesor 8-bitowe), VLSI (mikroprocesor 16-bitowe i 32-bitowe) lub ULSI (mikroprocesor 64-bitowe).

Układ, który dokonał rewolucji w informatyce, powstał trochę na zasadzie nieudanego produktu ubocznego. Pierwszy mikroprocesorem Intel 4004 (USA) z trudem znajdował zastosowania w wąskim gronie amatorów komputeryzacji i nie wróżono mu dalekiej przyszłości. Przodującymi producentami typowych mikroprocesorów są firmy: Intel, Motorola, MOS Technology oraz liczne zakłady dalekowschodnie, a przemysł mikroprocesorów stanowi istotną gałąź produkcji krajów rozwiniętych.

Cały sprzęt PC, sprzęt sieciowy i telekomunikacyjny, komputery laboratoryjne, osprzęt linii technologicznych, elektronika motoryzacyjna, niezliczone aplikacje domowe opierają się na mikroprocesorach.

Na procesor składają się głównie: układ sterowania, jednostka arytmetyczno - logiczna, zw. arytmometrem, oraz zespół rejestrów: rejestr rozkazów, licznik rozkazów, akumulatory i inne. Procesor wykonuje kolejne cykle rozkazowe, pobierając rozkazy i dane bezpośrednio z pamięci operacyjnej. Szczegóły dotyczące cyklu pracy mikroprocesora zostaną omówione dalej.

Pamięć operacyjna składa się z komórek ponumerowanych kolejnymi liczbami naturalnymi (0, 1, 2,...). Komórka jest ciągiem bitów, które można sobie wyobrazić jako miejsca, gdzie można wpisać 0 lub 1. Do komórek pamięci można więc wpisywać informacje w postaci zer i jedynek. Można również pobierać informacje tam zapisane. W czasie zapisywania poprzednia zawartość komórki ulega zniszczeniu. Przy odczytywaniu nie zmienia się. Numery komórek nazywane są adresami.

Zawartość pamięci może być odczytywana jedynie za pośrednictwem dwóch związanych z nią rejestrów: rejestru adresowego pamięci oraz rejestru buforowego pamięci (rys. 1). To samo dotyczy operacji zapisywania do pamięci. Przy odczytywaniu z pamięci do rejestru buforowego pobierana jest zawartość tej komórki pamięci, której adres znajduje się w rejestrze adresowym. Przy zapisie zawartość rejestru buforowego jest wpisywana do komórki o adresie z rejestru buforowego.

0x01 graphic

Rys. 1. Schemat pamięci operacyjnej (mem) oraz rejestru adresowego (ar) i buforowego (br) pamięci.

W pamięci umieszczane są programy oraz dane dla nich. Programy są ciągami rozkazów, które komputer ma wykonać. Dane są informacjami, które w wyniku wykonania programu są przekształcane w inne informacje. Arytmometr wykonuje rozkazy na danych umieszczonych w rejestrach z nim związanych. Mogą to być na przykład rozkazy dodawania liczb lub też rozkazy logiczne, takie jak iloczyn lub suma logiczna ciągów zer i jedynek. Wynik działania arytmometru pozostaje w jednym z jego rejestrów.

Poza wymienionymi wyżej rejestrami związanymi z pamięcią oraz arytmometrem w procesorze istnieją także takie, które sterują przebiegiem jego pracy. Kluczową rolę pełnia tu: rejestr rozkazów oraz rejestr zwany licznikiem rozkazów. W pierwszym pamiętany jest rozkaz aktualnie wykonywany przez komputer, w drugim - adres komórki pamięci, w której znajduje się następny rozkaz do wykonania.

Komputer działa według ustalonego schematu. Schemat ten, nazywany cyklem pracy komputera, wygląda następująco:

Lista rozkazów mikroprocesora składa się zwykle z rozkazów arytmetycznych, logicznych, przesłań, rozkazów skoku, zatrzymania, wejścia / wyjścia oraz wywołania podprogramu. Każdy z tych rozkazów ma zero, jeden lub dwa argumenty. Argumenty mogą być umieszczone bezpośrednio w kodzie rozkazu, w rejestrze lub w pamięci. W związku z różnymi sposobami adresowania argumentów istotne jest podanie sposobu ich odnalezienia, który zależy od zastosowanego sposobu adresacji.

Sposoby adresowania operandów

Istnieje wiele sposobów adresowania. Sposoby te związane są z konkretnym typem mikroprocesora. Najprostsze jest adresowanie natychmiastowe (proste), gdy w formacie rozkazu po kodzie operacji następuje bezpośrednio argument, czyli nie ma potrzeby pobierać go ani z pamięci, ani z żadnego rejestru procesora.

Drugim popularnym trybem adresowania jest adresowanie rejestrowe. Żądany rejestr roboczy zazwyczaj jest wybierany przez wydzielone pole w kodzie operacji.

Jeśli w rejestrze roboczym jest umieszczony nie argument, lecz jego adres zwany wskaźnikiem argumentu, to otrzymuje się adresowanie wskaźnikowe, określane również jako rejestrowe pośrednie .

W adresowaniu bezpośrednim adres argumentu jest umieszczony wprost w części adresowej rozkazu.

Nazwa adresowanie indeksowe pochodzi od typowego zastosowania, związanego z operacjami na tablicach. Wówczas adres początku tablicy umieszcza się w części adresowej rozkazu, a pozycję (indeks) elementu tablicy określa zawartość rejestru indeksowego, którą można łatwo modyfikować (np. cyklicznie zwiększać lub zmniejszać o 1).

Przykładowy mikroprocesor

Przykładowy mikroprocesor wraz z pamięcią operacyjną ma charakter narzędzia demonstracyjnego, które umożliwia poznanie i zrozumienie istoty budowy i funkcjonowania bardziej zaawansowanych układów tego typu.

W rozważanym przykładzie pamięć operacyjna składa się z komórek 8 - bitowych, które jednak mogą być łączone w większe jednostki, tzw. słowa o długości 32 bitów. Wszystkie rejestry oraz rozkazy są także 32 - bitowe.

Na rysunku 2 zamieszczono schemat przykładowego mikroprocesora wraz z pamięcią operacyjną.

0x01 graphic

Rys. 2. Przykładowy mikroprocesor dydaktyczny wraz z pamięcią operacyjną.

Budowa przykładowego mikroprocesora - oznaczenia według rysunku 2

ALU - arytmometr, jednostka arytmetyczno - logiczna (ang. Arithmetical - Logical Unit) współpracuje z rejestrami, realizuje operacje arytmetyczne oraz logiczne

@A, @B - rejestry, akumulatory (ang. Register) służą do przechowywania argumentów oraz wyników operacji

pc - licznik rozkazów (ang. Program Counter) wskazuje adres komórki pamięci, gdzie umieszczony jest kolejny rozkaz do wykonania

ir - rejestr instrukcji (ang. Instruction Register), w rejestrze tym dekodowana jest każda kolejna instrukcja pobrana z pamięci operacyjnej

or - rejestr operanda (ang. Operand Register) jest wykorzystywany do obliczania operanda

rr - rejestr żądań (ang. Request Register), w tym rejestrze zapisywana jest informacja, która może być wykorzystywana przez program do podejmowania odpowiednich decyzji

sr - rejestr stanu (ang. State Register) zawiera informacje o stanie komputera po wykonaniu kolejnego rozkazu.

Strzałki na rysunku wskazują dopuszczalny kierunek przepływu informacji.

Mikroprocesor przykładowy oferuje kilka rodzajów adresacji, tzn. obliczania argumentu rozkazu. Mamy adresację natychmiastową ( w rozkazie występuje argument), bezpośrednią (w rozkazie występuje adres argumentu) oraz pośrednią (w rozkazie umieszczony jest adres adresu argumentu). Rozkazy są jedno- i dwuargumentowe. Lista rozkazów obejmuje: rozkaz pusty, rozkaz stopu, rozkazy przesłań, rozkazy arytmetyczne oraz rozkazy stopu.

Trzy powody integrowania mikroprocesorów z maszynami

Główne powody wbudowywania mikroprocesorów w urządzenia mechaniczne

można scharakteryzować trzema słowami: poszerzenie, uproszczenie,

innowacyjność.

Poszerzenie charakterystyk

Zasadnicza konstrukcja urządzenia pozostaje taka sama, często przestarzała. Dodanie

mikroprocesora może rozszerzyć lub poprawić dokładność, szybkość pracy czy

elastyczność zastosowania, zredukować wymagania eksploatacyjne, poprawić niezawodność.

Typowym przykładem jest układ sterowania silnikiem samochodowym.

Układ ten zwiększa ekonomiczność silnika, daje łagodniejszy bieg jałowy

i dłuższe okresy między kolejnymi przeglądami technicznymi.

Uproszczenie złożonych mechanizmów

System mikroprocesorowy może zastąpić jeden lub kilka skomplikowanych mechanizmów.

Przykładem może być modernizacja nacinania gwintów na tokarce.

W tokarce tradycyjnej do napędu wrzeciona i śruby pociągowej służy ten sam silnik.

Do sterowania stosunkiem prędkości śruby pociągowej i wrzeciona (przedmiotu

obrabianego) - jest to warunek wykonywania gwintów o różnym skoku - służą

zestawy wymiennych kół zębatych lub przekładnia wielostopniowa o bardzo dużej

liczbie przełożeń. Maszyna jest skomplikowana i droga. Rozwiązanie mechatroniczne

polega na zastosowaniu oddzielnych silników do napędu śruby pociągowej i

wrzeciona tokarki. Przekładnia wielostopniowa staje się zbyteczna. Elektroniczne

sterowanie stosunkiem prędkości śruby pociągowej i wrzeciona staje się wygodniejsze,

ponieważ „przekładnia” elektroniczna jest bezstopniowa i umożliwia na15

cięcie gwintu o dowolnym skoku. Konstrukcja mechaniczna tokarki zostaje

uproszczona. Jej zespoły mogą być używane bardziej elastycznie, co sprzyja

oszczędności kosztów. Podobne rozwiązanie jest stosowane w obrabiarkach do kół

zębatych w celu zastąpienia sprzężenia (powiązania) mechanicznego miedzy narzędziem

(dłutakiem) a kołem obrabianym (otoczką). Zastąpienie skomplikowanej

przekładni wielostopniowej przez oddzielnie sterowane napędy bezpośrednie

sprawia, że sprzężenie miedzy dłutakiem a otoczką staje się sztywniejsze. Odkształcenia

i drgania skrętne wałów, luzy w przekładniach i tolerancje wykonania

nie mają wpływu na proces nacinania zębów. Efekt jest podwójny: poprawa jakości

kół i uproszczenie konstrukcji maszyny.

Innowacyjność

Zastosowanie mikroprocesorów umożliwia stworzenie produktów czy systemów,

które dotychczas nie mogły być zrealizowane. Chodzi tu przede wszystkim o roboty

i maszyny, które wymagają zaawansowanych technologii sensorycznych, jak np.

rozpoznawania obrazu.

Dwa pierwsze powody nie wykluczają się wzajemnie. W wielu przypadkach zastosowanie

mikroprocesorów daje podwójną korzyść: poprawia osiągi i obniża koszty.

Mikrokontrolery w sterowaniu maszyn

Zastosowanie mikrokontrolerów jest dość powszechne i często nie zauważane przez nas.

Pierwszym przykładem jak już wymieniłem będzie pralka automatyczna, jaką każdy z nas ma z pewnością w domu i używa jej dosyć często (proszę mnie tylko nie postrzegać jako eksperta w dziedzinie pralek automatycznych. Zagłębimy się tutaj nie w mechanizm jej działania, lecz w system sterowania. Muszę tutaj wspomnieć, że układy sterujące pralkami na przestrzeni lat się zmieniały, ale ogólna zasada jest taka sama. W zależności od wybranego przez nas programu prania, pranie jest poddawane kolejno odpowiednim procesom, takim jak między innymi, „kręcenie”, wirowanie, moczenie w odpowiedniej ilości wody i co ważniejsze woda ta musi mieć (w zależności od pranej tkaniny) odpowiednią temperaturę. Teraz pomyślmy jak moglibyśmy tym wszystkim sterować. Mamy na przykład 10 programów prania, a więc jest wiele procesów, które układ sterujący będzie musiał wykonywać jeden po drugim (każdy w odpowiednim przedziale czasu). Co gorsza nie chodzi tu tylko o np. włączenie po kolei namaczania, kręcenia i wirowania. Wszyscy sobie pewnie zdajemy sprawę z tego, że do pralki płynie woda zimna, a przecież ubrań nie pierze się w zimnej wodzie, tak więc jeszcze tę wodę trzeba ogrzać. Ale jak tu ją ogrzewać, jeżeli mamy 10 programów prania i wszędzie musi być woda o innej temperaturze?! Pomimo tego trzeba jeszcze sterować ciągiem przepływającej wody (włączać przypływ/odpływ wody do/z bębna) oraz jak widziałem w reklamie jednej z pralek, dozowaniem proszku (tu w postaci płynu), oraz wyświetlaniem wszystkich informacji na wyświetlaczu LCD, lub lampce/diodzie sygnalizacyjnej. Tak więc z tego procesu możemy wydobyć kilka cech mikrokontrolera, przedstawię to w punktach za pomocą schematu cecha mikrokontrolera - funkcja jaką wykonuje w pralce:

Tak więc widzimy, że mikrokontroler steruje pralką, jest jej „mózgiem” i bez niego pralka byłaby „bezużyteczną stertą blachy i metalu”.

Kolejnym przykładem zastosowania mikrokontrolera jest nam powszechnie znany system ABS. System ten chroni kierowcę przed wpadnięciem w poślizg, gdy ten za mocno wciśnie pedał hamulca. Gdy samochód zaczyna się ślizgać znaczy to, że jedno lub więcej kół tracą przyczepność z podłożem, wtedy system ABS zaczyna zmniejszać ilość obrotów na tym kole aż do momentu kiedy koło uzyska pełną przyczepność do podłoża, a moment siły hamującej przekazuje na pozostałe koła, które mają pełną przyczepność do podłoża. To jest krótki opis systemu, jednak pewnie teraz zastanawiamy się jak to działa. Otóż działa to tak: jednostka sterująca (mikrokontroler), podczas wciskania pedału hamulca zaczyna kontrolować ilość obrotów na każdym ilość kół. Jeżeli ilość ta spadnie do 0 - koło ślizga się (mówiąc inaczej nie hamuje), wtedy mikrokontroler zmniejsza moment siły hamowania na tym kole, aż do momentu odzyskania pełnej przyczepności do podłoża, jednocześnie odjęty moment siły hamującej z jednego koła jest przekazywany na inne koła, przez co na nich moment zwiększa się jeszcze bardziej. Spróbujmy teraz wyciągnąć wnioski z tego opisu, tak jak na przykładzie pralki automatycznej, schemat jest ten sam: cecha - pełniona funkcja:

Ostatnim już przykładem jaki przygotowałem jest system sterowania pociskami Cruise. Pokazuje to nam precyzyjne zastosowanie mikrokontrolera. Otóż musimy wiedzieć, że pociski te są naprowadzane na cel drogą satelitarną. Wystrzelona rakieta jest ciągle w kontakcie z satelitą GPS, która ciągle przesyła rakiecie jej pozycję (długość i szerokość geograficzną). Na podstawie tych danych rakieta wie gdzie się znajduje, oraz na podstawie wprowadzonych do pamięci danych kieruje się na obiekt, który ma zniszczyć. Rakieta ma jeszcze systemy, dzięki którym np. nie wleci w napotkaną przeszkodę lub system, który zdetonuje ładunek wybuchowy. Chciałbym powiedzieć, że w przypadku rakiet używa się innych mikrokontrolerów niż w przypadku np. pralki, ponieważ do przetwarzania tak dużej ilości danych potrzeba mikrokontrolera o wiele szybszego. Teraz jak już w powyższych przykładach porównanie cecha - funkcja;

Tak więc widzimy, że mikrokontroler jest również używany do celów militarnych, oczywiście mikrokontrolerów stosowanych w rakietach nie da się kupić, są one specjalnie projektowane i produkowane tylko dla wojska.

Teraz chciałbym podsumować to co właśnie napisałem, nim przejdę do omawiania wewnętrznej budowy mikrokontrolera. Ale zanim to zrobię, chciałbym odpowiedzieć na pewne pytanie: „Dlaczego akurat mikrokontroler?”. Odpowiedź na to pytanie jest bardzo prosta, po pierwsze ze względu na swoje funkcje, rozmiar, mały pobór energii elektrycznej, oraz ze względu na cenę, która kształtuje się na poziomie kilku dolarów. Ale najważniejszą cechą mikrokontrolera jest to, że jest on układem bardzo uniwersalnym, a jedynym czynnikiem określającym jego funkcję w danym układzie jest program. Tak, to właśnie od programisty zależy jaką funkcję będzie pełnił dany mikrokontroler, czy będzie sterował żelazkiem, pralką, czy może automatem do kawy. Jest to cecha bardzo ważna, ponieważ w każdym z zastosowań nie musimy zmieniać wewnętrznej budowy mikrokontrolera, wystarczy tylko napisać odpowiedni program. A wracając do zastosowania, chciałbym powiedzieć, że mikrokontrolery są używane szczególnie w sprzęcie AGD, oraz do sterowania różnymi procesami przemysłowymi. Również coraz więcej elektroników - amatorów zaczyna opierać swoje projekty elektroniczne na mikroprocesorach. Np. zaprojektowanie i zbudowanie systemu antywłamaniowego, np. do domu, jest bajecznie proste. Wystarczy tylko trochę czujników ruchu/otwarcia okna lub drzwi, dzwonek, zasilanie, wszystko łączymy, a resztę kończymy pisząc odpowiedni program. Powstawanie nowych pakietów do oprogramowywania mikroprocesorów takich jak np. środowisko programistyczne Bascom, sprawia, że napisanie programu do obsługi takiego systemu antywłamaniowego zajmuje nam nie więcej niż 1-2 dni.

Rozmiary mikrokontrolera - otóż kwestia rozmiarów mikrokontrolera jest bardzo ważna. W zależności od rodzaju zastosowania jakie dany mikrokontroler ma pełnić, producenci oferują różne obudowy mikrokontrolerów. Są to technologie:

Teraz przyszła kolej na dokładniejsze poznanie się z samym mikrokontrolerem. W tym opisie przedstawię budowę wewnętrzną mikrokontrolera, oraz opiszę wszystkie wewnętrzne układy.

Na samym początku tego opisu chciałbym żebyśmy spróbowali, już teraz korzystając z wiadomości, które przedstawiłem powyżej, określić i opisać mikrokontroler oraz odpowiedzieć na pytanie:, Czym jest mikrokontroler?. Postaram się teraz scharakteryzować ten układ elektroniczny.

Mikrokontroler - jest to układ cyfrowy z wyspecjalizowanym mikroprocesorem i niezbędnymi urządzeniami zawartymi w jednym układzie scalonym, czyniącymi go układem autonomicznym tzn. że do pracy nie potrzebuje żadnych urządzeń zewnętrznych.

0x01 graphic

Na powyższym rysunku pokazałem uproszczoną budowę mikrokontrolera. Widać z niego, że mikrokontroler jest układem scalonym, w którego wnętrzu zintegrowane są wszystkie elementy kompletnego komputera tj. jednostka centralna, pamięci oraz urządzenia peryferyjne (za ich pomocą mikrokontroler komunikuje się z otoczeniem).

Jedną z ważniejszych cech jednostki centralnej jest szerokość szyny danych. Może ona być 8-bitowa, 16-bitowa lub 32-bitowa. Na jej podstawie określa się typ mikrokontrolera, np. mikrokontroler 8-bitowy.

Jak już wspominałem mikrokontrolery są ukierunkowane na zastosowania w układach kontrolno-pomiarowych i komunikacyjnych. Z tymi zastosowanymi wiąże się kolejna cecha: jest to częstotliwość sygnału taktującego (zegarowego). Chodzi tu o to, że w każdym z wyżej wymienionych zastosowań, daje się określić minimalną prędkość przetwarzania danych przez jednostkę centralną. Nie obowiązuje tutaj zasada wzięta z mikroprocesorów, że im większa częstotliwość przetwarzania danych tym lepiej. Musimy pamiętać o tym, że im większa częstotliwość sygnału zegarowego, tym większy pobór mocy, a to jest bardzo niekorzystne dla mikrokontrolera. Nie chodzi tutaj o to, że mikrokontroler nie może pracować przy wyższych napięciach, lecz o to, że np. duży pobór mocy skraca czas pracy mikrokontrolera np. w systemach bateryjnych, a wraz ze wzrostem poboru mocy pobieranej przez mikrokontroler zaczyna on wydzielać więcej ciepła, więc trzeba by go było chłodzić. Chciałbym jeszcze dodać, że w większości zadań jakie wykonują mikrokontrolery algorytmy przetwarzania danych nie są zbyt skomplikowane, więc nie potrzebna jest duża częstotliwość taktowania jednostki centralnej.

0x01 graphic

Na powyższym rysunku pokazałem uszczegółowioną budowę mikrokontrolera. Jednostka centralna realizuje program zawarty w pamięci programu (ROM lub FLASH). Zmienne programu są przechowywane w pamięci danych RAM. Jednostka centralna jest taktowana zegarem, którego częstotliwość jest stabilizowana oscylatorem kwarcowym. W stan początkowy mikrokontroler jest prowadzany sygnałem RESET. Układy peryferyjne umożliwiają odczyt sygnałów wejściowych cyfrowych, jak i również analogowych (przetworniki A/C) oraz generację sygnałów wyjściowych.

Mikrokontrolery posiadają następujące cechy:

Jednostka centralna

Teraz chciałbym napisać o „mózgu” mikrokontrolera, czyli o jednostce centralnej. Często określa się ją jako procesor rdzeniowy lub w skrócie procesor. Procesor należy do grupy układów cyfrowych, określanych jako układy synchroniczne i sekwencyjne. Na czym polega synchroniczność i sekwencyjność?

Jednostka centralna posiada również własną pamięć (rejestry) do np. przechowywania argumentów bądź rozkazów niezbędnych do wykonania danej operacji.

Pamięci

W mikrokontrolerach można wyróżnić następujące typy pamięci:

Bibliografia:

Internet:

Książki:



Wyszukiwarka

Podobne podstrony:
mim, studia Polibuda Informatyka, III semestr, mikroprocesory i mikrokontrolery (mim)
Mikroproc mikrokomp(TAK7)
ETP2921 - MIKROPROCESORY, Mikrokontrolery
mim, studia Polibuda Informatyka, III semestr, mikroprocesory i mikrokontrolery (mim)
Systemy Mikroprocesorowe Mikrokontrolery Janusz Janiczek
ściąga MIKROPROCKI, informatyka, Mikrokontrolery
Laboratorium budowy urządzeń mikrokomputerowych, Sprzęganie urządzeń zewnętrznych i peryferyjnych mi
mikrokontrolery, ELEKTRONIKA I PROGRAMOWANIE, Mikroprocesory, programowanie Bascom, AVR,
R5 Budowa mikroprocesora, Mechatronika
Labolatorium Urządzeń mikrokomputerowych, Badanie zasilacza ukł. mikroprocesor., Politechnika Lubel
Badanie zasilacza ukł. mikroprocesor, Studia, sprawozdania, sprawozdania od cewki 2, Dok 2, Dok 2, P
Mechatronika4
Mechatronika6
Wykład Mechatronika 01 05
mikroprocesor 2
MTR 2009 Wstep do mechatr cz 3 (2)

więcej podobnych podstron