pytania elektronika cw5, Automatyka i Robotyka PK, II rok, elektronika, Pytania do kolosów


Cw.5 MIKROKONTROLERY

Typowy system mikroprocesorowy, czy to realizowany przy użyciu mikroprocesora, czy mikrokontrolera, zawiera (rys. 3.1) [5]:

- centralną jednostkę procesora (CPU),

- pamięć programu (ROM),

- pamięć danych (RAM)

- porty wejścia/wyjścia (I/O).

0x01 graphic

Rysunek 3.1. Schemat funkcjonalny mikrokontrolera 8051. [2]

3.1. Procesor - CPU

Ośmiobitowa jednostka centralna może wykonywać 111 rozkazów (49 jedno-, 45 dwu- i 17 trzybajtowych) umożliwiających łatwą i efektywną realizację wszelkiego rodzaju algorytmów sterowania (również wymagających złożonych obliczeń) [2, 7]. Lista rozkazów zawiera m.in. rozkazy arytmetyczne (w tym mnożenie i dzielenie) i logiczne, rozkazy dotyczące operacji logicznych na bitach (procesor boolowski) oraz rozbudowane grupy rozkazów skoków warunkowych i wejścia-wyjścia. Prawie wszystkie rozkazy wykonują się w czasie jednego lub dwóch cykli maszynowych. Wyjątek stanowi tu mnożenie i dzielenie, wymagające czterech cykli.

Każdy rejestr stanowi komórkę pamięci, w której może być przechowywane jedno słowo maszynowe. W czasie pracy procesora rejestry są używane do chwilowe­go przechowywania danych i wyników wykonywanych operacji. Przetwarzanie da­nych zapisanych w rejestrach wewnętrznych procesora lub komórkach pamięci jest realizowane przez arytmometr ALU. Zespół rejestrów i arytmometrów tworzy tzw. układ operacyjny procesora.

Zarówno rozkazy, jak i dane są zapisywane w identycznej postaci słów zerojedynko­wych. O tym, jak procesor zidentyfikuje słowo pobrane z pamięci decyduje miejsce, do którego słowo to zostanie przesłane wewnątrz procesora. Słowa przesłane do układu sterującego są traktowane jako rozkazy, słowa przesłane do układu operacyjnego są przetwarzane jako dane. Słowem nazywa się wektor informacji cyfrowej, który może mikroprocesor wymienić z pamięcią w wyniku jednej operacji czytania lub zapisu. Dłu­gość słowa (liczba bitów) mikroprocesora jest jednym z jego najważniejszych parame­trów. Determinuje ona w decydującym stopniu jego efektywność (moc obliczeniową). Liczba bitów w słowie mikroprocesora jest równa liczbie linii jego magistrali danych. Z reguły nie jest ona równa liczbie linii jego wewnętrznej magistrali.

W różnych mikroprocesorach stosuje się różną długość słowa; zwykle jednak jest to wielokrotność 8 bitów (8 bitów = 1 bajt).

Rysunek 3.3. Struktura wewnętrzna mikrokontrolera 8-bitowego MCS-C51. [11]

3.2. Pamięć - ROM, RAM

Zadaniem pamięci jest przechowywanie informacji [10]. W elektronice cyfrowej informacją będzie stan napięcia określający stan logiczny. Układy cyfrowe przetwarzają i przechowują (pamiętają) informacje w postaci binarnej (0 - 1). Informacje przetwa­rzane muszą być wcześniej zapamiętane.

0x08 graphic
Istotnym zagadnieniem dotyczącym pamięci jest możliwość zapisania informacji w określonym miejscu jak i jej pobranie. Wymaga to uporządkowania rozmieszczenia komórek i realizacji tzw. adresowania, czyli wskazywania komórki do zapisu lub odczytu informacji. Pierwszym kryterium podziału pamięci jest sposób wprowadzania i wyprowadzania danych. Może być on szeregowy lub równoległy. Z tym wiążą się różne struktury pamięci: szeregowa i matrycowa. Struktura szeregowa występuje w rejestrze przesuwnym. Zasadniczym blokiem pamięci matrycowej (rys. 3.5a) jest matryca pamięci zawierająca uporządkowane komórki pamięci. Komórki te rozmieszczone są na płaszczyźnie np. układu scalonego i ich położenie można określić za pomocą współrzędnych X i Y (rys. 3.5b). Adres komórki składa się więc z dwóch części. Dane są wprowadzane lub wyprowadzane z pamięci przez układ we/wy.

Pamięć systemu mikroprocesorowego można również podzielić ze względu na moż­liwość wielokrotnego zapisu informacji do pamięci na dwie odrębne części: pamięć zapisywalną i pamięć stałą. Każda z tych części składa się z pamięciowych układów scalonych, połączonych w sposób zależny od ich organizacji wewnętrznej. Na rysunku 3.6 pokazano podział funkcjonalny pamięci półprzewo­dni­kowych [2].

0x01 graphic

Rysunek 3.6. Podział funkcjonalny pamięci półprzewodnikowych. [2]

W zależności od typu, mikrokontroler może być wyposażony w kilka rodzajów wbudowanej pamięci wewnętrznej [3]. Ze względu na technologię wykonania pamięci te dzieli się na sześć podstawowych odmian.

Pamięć RAM (ang. random access memory) może być zarówno odczytywana, jak i zapisywana przez CPU. Zawartość pamięci jest podtrzymywana tak długo, jak długo jest włączone zasilanie układu. Rozróżnia się statyczne i dynami­czne pamięci RAM. Pa­mięci dynamiczne zachowują swoją zawartość tylko wtedy, gdy jest ona cyklicznie od­świeżana (czas rzędu milisekund). Pamięci statyczne nie wymagają odświeżania i zapewniają krótszy czas dostępu. Pamięci dynamiczne są łatwiejsze do scalenia, dlatego pamięci RAM o dużych pojemno­ściach wykonuje się zwykle jako dynamiczne, natomiast mniejsze pamięci realizuje się jako statyczne.

Do pamięci RAM doprowadzany jest adres, sygnały sterujące CE, R/W (zapis W lub odczyt R) oraz dane (rys. 3.7) [10]. Adres, podawany liniami adresowymi

0x08 graphic
Rysunek 3.7. Pamięci RAM. [10]

służy do wyboru komórki, do której zostanie zapisana informacja lub, z której zostanie odczytana. Sygnał sterujący CE uaktywnia pamięć, tzn. dołącza ją do linii adresowych i danych.

0x08 graphic
Pamięć ROM (ang. read-only memory) może być tylko odczytywana [3]. Zawartość pamięci jest określona na stałe podczas procesu produkcji. Pamięci tego typu są używane jako wewnętrzna pamięć programu do przechowywania kodu firmowego oprogramowa­nia dostarczanego wraz z mikrokontrolerem (ang. firmware).

Schemat budowy tych pamięci przedstawiono na rysunku 3.8.

Rysunek 3.8. Pamięci ROM. [10]

Pamięć EPROM (ang. erasable programmable ROM) służy do przechowywania programów i danych użytkownika (rys. 3.9). Zawartość pamięci może być zmieniana przez skaso­wanie poprzedniej zawartości i wpisanie nowej. Operacja ta wymaga zwykle wyjęcia układu z podstawki. Kasowanie przeprowadza się naświetlając pamięć promieniami ul­trafioletowymi, natomiast programowanie odbywa się
0x01 graphic
w sterowanym przez komputer programatorze, przy użyciu napięcia o wartości równej kilkanaście woltów. Liczba cykli kasowania-programowania jest ograniczona. Podobnie jak pamięć ROM, pamięć EPROM jest nieulotna, to znaczy po wyłączeniu zasilania zachowuje swoją zawartość.

Pamięć jednokrotnie programowalna OTP (ang. one time programmable) ma bu­dowę identyczną jak EPROM, ale proces programowania można wykonać tylko jeden raz. W odróżnieniu od pamięci EPROM, których obudowy są wyposażone w okno z kwarcu umożliwiające kasowanie w ultrafiolecie, pamięci OTP nie mają takiego okien­ka, nie mogą być więc kasowane. Ściślej biorąc, zawartość zaprogramowanej pamięci OTP można modyfikować, ale tylko przez zmianę jedynek na zera. Zaprogramowane wcześniej zera nie mogą być już przeprogramowane na jedynki.

Pamięć EEPROM (ang. electrically erasable PROM) może być przeprogramowana elektrycznie, bez potrzeby kasowania ultrafioletem. Jest pamięcią nieulotną, stosowaną do przechowywania programów i danych. Wadą pamięci tego typu jest długi czas zapisu wynoszący zwykle od kilkuset nanosekund do około 1 milisekundy. Liczba cykli zapisu-kasowania jest ograniczona i wynosi typowo 10 000.

3.3. Układ czasowo-licznikowy

Bloki timerów - liczników umieszczo­ne wewnątrz struktury procesorów '51 są jednymi z najbardziej użytecznych ukła­dów jakie możemy wykorzystywać [5]. Umożliwiają one dokonywanie wszelkich operacji rozgrywających się w czasie rzeczywistym, budowanie zega­rów, timerów, stoperów oraz innych ukła­dów, których działanie uzależnione jest od upływu czasu. Jednocześnie, obsługa ti­merów sprawia zwykle wiele problemów początkującym programistom.

Układ czasowo-licznikowy (ang. timer-counter) mikrokompu­tera 8051 zawiera dwa 16-bitowe (2x8bitów) liczniki: Timer0 i Timer1 [7].

Mogą one zliczać impulsy zewnętrzne, doprowadzone do wejść, odpowiednio, T0 (P3.4) lub T1 (P3.5), spełniając w ten sposób funkcję licznika (ang. event counter).

Mogą też zliczać wewnętrzne impulsy zegarowe, w celu odmierza­nia opóźnień czy generowania przerwań zegarowych o zadanej częstotli­wości. W tym przypadku spełniają funkcję czasomierza (ang. timer) - (zliczanie cykli maszynowych mikrokon­trolera).

3.4. Układ wejścia - wyjścia (porty)

Jednym z istotniejszych parametrów mikrokontrolerów jednoukładowych, który często decyduje o wyborze układu jest liczba i możliwości wykorzystania linii wejść/wyjść mikrokontrolera [9]. W celu uelastycznienia struktury mikrokontrolera, a tym samym poszerzenia możliwości jego zastosowań, przy jednoczesnym zachowaniu małych rozmiarów układu, znaczna część linii wejść/wyjść mikrokontrolerów może zwykle pełnić różne funkcje. W przypadku mikrokontrolerów rodziny 51 większości linii wejść/wyjść przypisane są dwie lub trzy alternatywne funkcje. Z reguły, oprócz funkcji zwykłego wejścia/wyjścia cyfrowego, linia może być wejściem lub wyjściem sygnałów strobujących, impulsowych, analogowych, adresu, danych itp. Rodzaj funkcji pełnionej przez daną linię prawie zawsze może być ustalany programowo. Linie pełniące zbliżone funkcje zebrane są w grupy określane mianem portów.

Jeśli linia pracuje jako wyjście cyfrowe, zapis jedynki logicznej do przerzutnika powoduje odcięcie tranzystora i pojawienie się na wyprowadzeniu zewnętrznym mikrokontrolera stanu wysokiego, na skutek działania rezystora podciągającego przyłączonego do dodatniego napięcia zasilania mikrokontrolera. Zapis zera do przerzutnika powoduje wejście tranzystora w przewodzenie i wymu­szenie na wyprowadzeniu zewnętrznym mikrokontrolera stanu niskiego.

3.4.1. Budowa wewnętrzna portów

0x08 graphic
Porty, oprócz standardowych funkcji wejścia-wyjścia nie realizują żadnych dodatkowych funkcji. W takim układzie sygnał wyj­ściowy rejestru portu steruje bezpośrednio tranzystorem wyjściowym, wymuszając odpowiedni stan na końcówce układu. Schemat standardowych portów wejścia-wyjścia przedstawiono na rysunku 3.17.

Rysunek 3.17. Schemat standardowych portów wejścia-wyjścia. [2]

Elementem wspólnym w strukturze każdego z portów jest przerzutnik typu D, będący elementem rejestru danego portu. Sterowanie portami odbywa się w podo­bny sposób, jak jest w przy­padku pozostałych rejestrów mikro­kontrolera. Rejestry portów należą do grupy rejestrów adresowanych bitowo i bajtowo. Dzięki temu możliwe jest ustawianie każdego bitu rejestru danego portu (lub odczytanie stanu dowolnego bitu rejestru portu) niezależnie, wykorzystując rozkazy operacji na bi­tach.

3.6. Rodzaje przetworników

Układy przetwarzające przebieg jednej wielkości sygnału (wejściowego) na drugą wielkość (wyjściową) nazywamy przetwornikami. Najważniejszymi przetwornikami stosowanymi w systemach mikroprocesorowych są:

3.6.2. Przetworniki analogowo-cyfrowe

Przetworniki analogowo-cyfrowe stosowane w mikrokontrolerach wykorzystują najczę­ściej dwie spośród wielu znanych metod przetwarzania napięcia na odpowiadającą mu miarę liczbową [3]:

1) metodę sukcesywnej aproksymacji SAR (ang. successive approximation),

2) metodę jednozboczowego ładowania pojemności SS (ang. single-slope A/D).

METODY KONWERSJI ANALOGOWO-CYFROWEJ

Przetwornik SAR składa się z układu próbkująco-pamiętającego (ang. sample-and-hold), komparatora, rejestru aproksymacyjnego i układu sterowania realizującego algo­rytm SAR (rys. 3.23). W rzeczywistych układach stosuje się zazwyczaj kilka (bądź nawet kilkanaście) kanałów przetwarzania A/C, multiplekser kanałów, źródło napięcia odniesienia i niekiedy oddzielny układ zasilania części analogowej w celu wyeliminowa­nia zakłóceń.

0x08 graphic
Rysunek 3.23. Uproszczony schemat blokowy przetwornika A/C pracującego na zasadzie sukcesywnej aproksymacji. [3]

Cykl konwersji w układzie SAR zaczyna się od pobrania próbki mierzonego napię­cia wejściowego i zapamiętania jej w pojemności C. Rejestr aproksymacyjny jest zazwy­czaj inicjowany w taki sposób, że ma ustawiony najbardziej znaczący bit, a pozostałe bity wyzerowane. Zawartość rejestru reprezentuje zatem napięcie równe połowie maksymal­nego napięcia (zakresu pomiarowego).

układY sterowania za pomocą mikrokontrolera

Schemat blokowy

W stanowisku laboratoryjnym, można wyróżnić poszczególne bloki: blok mikrokontrolera, klawiaturę, wyświetlacz, blok sterowania silnikiem oraz silnik.

Na rysunku 1 przedstawiono schemat blokowy układu.

0x08 graphic

Języki programowania mikroprocesorów

Program jest to ciąg instrukcji danego procesora wykonywanych jeden po drugim w określonej przez programistę kolejności. Ciąg ten zapisany w formie symbolicznej, czyli z użyciem symbolicznych nazw instrukcji stworzony przez programistę nazywa się programem źródłowym. Ten sam program przetworzony przez kompilator do postaci kodów dla mikroprocesora nazywamy programem binarnym lub programem wykonywalnym. Ten podział spowodowany jest tym, że mikrokontrolery nie mogą wykonywać programów źródłowych, ponieważ oczekują one ciągu zer i jedynek będących kodami instrukcji. Z drugiej strony człowiek nie może poruszać się w programie binarnym, ponieważ jest on dla niego kompletnie nieczytelny. Stosowany do przetwarzania z zapisu źródłowego na postać binarną program jest kompilatorem, czyli programem tłumaczącym jedną postać na drugą. Dla uniknięcia problemów z interpretacją zapisów w programach stworzony jest specjalny język programowania. Takim językiem jest asembler (jako podstawowy i elementarny język programowania). Oprócz asemblera są stosowane inne języki programowania, wśród których duża popularnością cieszy się język C, natomiast wśród elektroników przeważa prostszy i wygodniejszy do zastosowania język BASCOM.

a) b)

0x01 graphic
0x01 graphic

Rysunek 3.5. a) Pamięć matrycowa b) Matryca pamięci. [10]

Wyświetlacz LCD

Klawiatura

Silnik

TDA844

DAC4

DAC3

DAC2

DAC1

ATMEL

8535

I2C

E

Reg.napięcia 1

Reg.napięcia 2

Reg.napięcia

Reg. napięcia 4



Wyszukiwarka

Podobne podstrony:
pytania elektronika cw2, Automatyka i Robotyka PK, II rok, elektronika, Pytania do kolosów
potencjalne pytania, Automatyka i Robotyka, Semestr II, Zasady doboru materiałów inżynierskich, wykl
pytania znów, Automatyka i Robotyka, Semestr II, Zasady doboru materiałów inżynierskich, wyklady, wy
Z6 elektrostatyka, Materiały PK, II ROK, Teoria Pola
Pytanie nr 3-Dachy-więźby (dachy o konstrukcjach ciesielskich), PK II rok, budo!!!!!
wstęp i podstawowe informacje, Automatyka i Robotyka, Semestr II, Ekologia i zarządzanie środowiskie
sciaga karkt 3, Automatyka i Robotyka, Semestr II, Ekologia i zarządzanie środowiskiem
Politechnika Krakowska, PK II rok
Aktualne poziomy emisji i zużycia rtęci, Automatyka i Robotyka, Semestr II, Ekologia i zarządzanie ś
Obliczenie reakcji projekt nr1, PK II rok, wytrzymka
odpowiedzi do kolosa nr1, PK II rok, budo!!!!!
stopy Cu, Automatyka i Robotyka, Semestr II, Zasady doboru materiałów inżynierskich
skierowanie-praktyka-zawod, Automatyka i Robotyka, Semestr II, Praktyki
RTĘĆ, Automatyka i Robotyka, Semestr II, Ekologia i zarządzanie środowiskiem, Ekologia, rtęć
pigulka, Automatyka i Robotyka, Semestr II, Ekologia i zarządzanie środowiskiem
umowa praktyka prod, Automatyka i Robotyka, Semestr II, Praktyki, prakt
proj, Automatyka i Robotyka, Semestr II, Elementy biofizyki i biomechanika

więcej podobnych podstron