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.
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.
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:
Zamknięcie magistrali danych i adresowej wewnątrz jednego układu;
Stała struktura pamięci ROM/RAM;
Stałość programu sterującego;
Dostęp do rejestrów procesora i układów wejścia/wyjścia poprzez adresowanie pamięci RAM;
Rejestrowa budowa jednostki centralnej;
Procesory boolowskie wykonujące operacje na pojedynczych bitach pamięci, rejestrach i układach wejścia/wyjścia;
Bogaty zestaw urządzeń wejścia/wyjścia;
Rozbudowane i szybkie układy przerwań;
Różnorodne tryby i środki redukcji mocy pobieranej;
Rozbudowane mechanizmy kontroli i detekcji nieprawidłowych stanów mikrokontrolera;
Zawarcie w jednej strukturze układów cyfrowych (sterujących i analogowych (pomiarowych)
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ść?
Synchroniczność polega na tym, że wszystkie operacje są wykonywane w rytm sygnału zegarowego;
Sekwencyjność oznacza, że stan wyjść jednostki centralnej zależy nie tylko od stanu jej wejść, ale i od poprzednich stanów tego układu.
Jednostka centralna posiada również własną pamięć (rejestry) do np. przechowywania argumentów bądź rozkazów niezbędnych do wykonania danej operacji.