Pytania na zaliczenie „Podstaw Techniki Mikroprocesorowej” (wykład)
Wyjaśnić pojęcia: mikroprocesor, mikrokomputer, mikrokontroler. Opisać różnice między nimi.
Mikroprocesor
Mikroprocesor (ang. microprocessor) jest to procesor wykonany w postaci pojedynczego mikroukladu (ang. chip) o wielkim stopniu scalenia. Okreslenie mikroprocesora zawiera w sobie dwa elementy:
- funkcjonalne przeznaczenie do przetwarzania
informacji w zadany z zewnatrz (prizes uSytkownika) sposób (procesor),
- technologiczne wykonanie jako elektronicznego
ukladu scalonego o wielkim stopniu integracji.
Mikrokomputer
Mikroprocesor jako jednostka centralna (ang. Central Processing Unit CPU) wraz z zestawem uk.adów dodatkowych tworza system mikroprocesorowy zwany równiez mikrokomputerem (komputerem).
Mikrokontroler (ang. MCU)
Jest to mikrokomputer, którego zastosowanie zosta.o zawezone do sterowania urzadzeniami elektronicznymi.
Podstawowe układy typowego mikroprocesora - wymień i omów.
Sam mikroprocesor nie jest zdolny do samodzielnego funkcjonowania. Do jego prawidłowej pracy potrzebne sa dwa typy uk.adów dodatkowych:
• układy do wprowadzania i wyprowadzania informacji, nazywane uk.adami wejscia-wyjscia (ang. input-output),
• pamiec (ang. memory), w której jest przechowywany program oraz dane i wyniki obliczen, zarówno koncowe, jak i czastkowe.
Wymień i omów podstawowe rodzaje pamięci stosowanych w systemach mikroprocesorowych.
Pamiec podreczna (ang. cache)
Jest to obszar pamieci statycznej o dostepie swobodnym zintegrowanej z procesorem.
• Jej zawartosc istnieje tylko w czasie pracy procesora (pod.aczenia zasilania)
• W pamieci tej przechowywane sa najczesciej uzywane fragmenty zawartosci pamieci operacyjnej.
• Jest to pamiec droga, czas dostepu do niej wynosi kilka nanosekund i jest wyraznie krótszy od czasu dostepu do pamieci operacyjnej, co daje wydatne skrócenie cyklu
maszynowego
Pamiec rejestrowa procesora
Jest to kilka lub kilkanascie rejestrów n-bitowych stanowiacych funkcjonalnie integralna czesc procesora, do których dostep odbywa sie za pomoca multiplekserów sterowanych przez uk.ad sterujacy procesora.
• Jest droga, czas dostepu do niej to u.amki nanosekundy, a jej zawartosc istnieje tylko w czasie pracy procesora.
• Jest to pamiec statyczna, zbudowana jako uk.ad przerzutników.
• Musi byc najszybsza w systemie komputerowym, gdyz na jej zawartosci procesor wykonuje bezposrednio operacje arytmetyczne i logiczne.
Pamiec operacyjna
Jest to obszar pamieci czesciowo sta.ej o dostepie swobodnym (ROM) przeznaczonym na czesc systemowa I dynamicznej o dostepie swobodnym (DRAM) przeznaczonym na czesc uzytkowa.
• Jest stosunkowo tania.
• Czas dostepu do niej to kilkanascie nanosekund.
• Zawartosc pamieci dynamicznej istnieje tylko prizes kilkadziesiat milisekund w czasie pod.aczenia zasilania I wymaga odswiezania.
• Jest uzywana do przechowywania danych i kodów zadan aktualnie potrzebnych do wykonywania.
Pamiec masowa
Jest to obszar pamieci przede wszystkim dyskowej, do której czas dostepu wynosi kilka milisekund
• Jest tania a jej zawartosc jest trwa.a.
• S.uzy do przechowywania wszystkich stale uzywanych w danym systemie komputerowym kodów programów I danych.
Pamiec zewnetrzna
Obszar pamieci nie zintegrowanej bezposrednio z mikroprocesorem o stosunkowo d.ugim i to sekwencyjnym sposobie dostepu ale i o praktycznie nieograniczonej
pojemnosci. Sa to nosniki typu tasmy streamerowe, twarde dyski, czy popularne ostatnio pendrive'y. Bardzo tania, ale nadajaca sie tylko do przechowywania
archiwaliów programów i danych.
Wymień i omów podstawowe tryby adresowania pamięci.
Omówić podstawowe architektury budowy mikrokontrolerów (harwardzka, von Neumanna).
Architektura von-Neumanna
Polega na scis.ym podziale komputera na trzy podstawowe czesci:
• procesor (w ramach którego wydzielona bywa czesc sterujaca oraz czesc arytmetyczno-logiczna)
• pamiec komputera (zawierajaca dane i sam program)
• urzadzenia wejscia/wyjscia
System komputerowy von Neumanna nie posiada oddzielnych pamieci do przechowywania danych i instrukcji.
Instrukcje jak i dane sa zakodowane w postaci liczb. Bez analizy programu trudno jest okreslic czy dany obszar pamieci zawiera dane czy instrukcje. Wykonywany program moze się sam modyfikowac traktujac obszar instrukcji jako dane, a po przetworzeniu tych instrukcji - danych - zaczac je wykonywac.
Architektura harwardzka
W odróznieniu od architektury von Neumanna, pamiec danych programu jest oddzielona od pamieci rozkazów. Prostsza budowa przek.ada sie na wieksza szybkosc dzia.ania - dlatego ten typ architektury jest często wykorzystywany w procesorach sygna.owych oraz przy dostepie procesora do pamieci cache. Separacja pamieci danych od pamieci rozkazów sprawia, ze architektura harwardzka jest obecnie powszechnie stosowana w mikrokomputerach jednouk.adowych, w których dane programu sa najczesciej zapisane w nieulotnej pamieci ROM (EPROM/EEPROM), natomiast dla danych tymczasowych wykorzystana jest pamiec RAM (wewnetrzna lub zewnetrzna).
Systemy użytkowe i uruchomieniowe - sprzęt i oprogramowanie.
System uzytkowy (docelowy),
czyli taki, jaki bedzie zainstalowany u uzytkownika zawiera sprzet i oprogramowanie przeznaczone tylko do spe.nienia funkcji okreslonych w za.ozeniach projektu (np. kontrolnopomiarowych i sterujacych). W zaleznosci od potrzeby, zastepuje on zadajnik, regulatory, przetworniki pomiarowe, sterowniki cyfrowe itp. Uruchamianie w nim programu by.oby bardzo trudne ze wzgledu na to, ze bezposrednio można obserwowac tylko zewnetrzne wyniki dzia.ania procesora oraz nie ma mozliwosci dokonywania zmian w programie.
System uruchomieniowy
s.uzy do przygotowywania programów uzytkowych dla systemów uzytkowych (docelowych).
Zasady współpracy mikroprocesora z urządzeniami zewnętrznymi: wymienić i scharakteryzować.
Zasady wspó.pracy mikroprocesora z uk.adami we/wy:
-Przegladania przez mikroprocesor rejestrów stanów poszczególnych uk.adów we/wy (ang. pooling).
-Realizacja przerwan (ang. interrupt).
-Bezposredni dostep do pamieci (ang. Direct Memory Access).
Wspó.praca na zasadzie przegladania rejestrów stanu odbywa sie ca.kowicie pod
kontrola programu.
-Rejestr stanu uk.adu we/wy zawiera informacje o aktualnym stanie urzadzenia zewnetrznego.
-Mikroprocesor przenosi do akumulatora zawartosc rejestru stanu, sprawdza stany odpowiednich bitów i na tej podstawie podejmuje decyzje o realizacji okreslonych dzia.an
programowych dotyczacych obs.ugi urzadzenia.
Bezposredni dostep do pamieci (DMA)
Wymiana danych miedzy pamiecia a urzadzeniami we/wy odbywa sie bez udzia.u
mikroprocesora. Dzieki temu istnieje mozliwosc szybszego przesy.ania duzych bloków danych, ograniczonego tylko czasem dostepu do pamieci i czasem dzia.ania uk.adów bioracych udzia. w transmisji.
Zasada działania systemu przerwań w typowym mikrokontrolerze.
Definicja przerwania
Przerwaniem nazywamy taki stan pracy mikroprocesora, w którym przerywa on
wykonywanie programu g.ównego w celu wykonania podprogramu zwiazanego ze
zród.em przerwania.
Kolejnosc wykonywania przerwania:
-Zapamietanie stanu w chwili przyjecia sygna.u przerwania
-Zidentyfikowanie zród.a sygna.u przerwania i okreslenie jego priorytetu, jeżeli jednoczesnie pojawi.a sie wieksza liczba sygna.ów przerwan,
Procedura wykonywania przerwania
-Ustalenie strategii dzia.ania obs.ugi i realizacja odpowiedniego podprogramu,
-Odtworzenie stanu mikroprocesora i powrót do przerwanego programu.
Procedura obs.ugi przerwania moze rozpoczac sie w dowolnym momencie wykonywania
programu g.ównego w nastepnym cyklu maszynowym po wykryciu zg.oszenia przerwania, jesli spe.nione sa nastepujace warunki:
-Cykl maszynowy, w którym nastapi.o zg.oszenie przerwania jest ostatnim cyklem aktualnie
wykonywanej instrukcji rozkazu,
-Nie jest wykonywana instrukcja RETI lub inna zwiazana z dzia.aniem na zawartosci rejestrów przerwan,
-Aktualnie wykonywane przerwanie znajduje się na nizszym poziomie.
Wymień i omów podstawowe cechy mikrokontrolerów AVR.
Architektura harwardzka - rozdzielenie przestrzeni adresowej pamieci programu i danych (oddzielne magistrale adresowe)
Architektura RISC - Reduced Instruction Set Computer. Wiekszosc rozkazów jest realizowana w 1 takcie zegara. Programy dla procesorów RISC sa bardziej spójne i posiadaja mniejszy kod wynikowy
32 uniwersalne rejestry wewnetrzne moga pelnic funkcje akumulatora podczas wykonywania operacji arytmetycznych i logicznych. Minimalizuje to liczbe przeslan miedzyrejestrowych
Slowo instrukcji jest 16Bbitowe, tzn. mikrokontroler z pamiecia 2kB moSe pomiescic 1kslów
Budowa i programowanie portów we/wy mikrokontrolera ATMega32
W mikrokontrolerach rodziny AVR wbudowano bardzo mocno rozbudowany modu. wejscia-wyjscia. Maksymalna liczba portów mikrokontrolerów rodziny ATmega wynosi 9 (ATmega3250/6450).
Do najciekawszych w.asciwosci modu.u we/wy zaliczyc mozna:
• dwukierunkowosc
• trójstanowosc
• opcjonalny pull-up
• duza wydajnosc pradowa stopni wyjsciowych
• symetryczna charakterystyka wyjsciowa
• mozliwosc konfiguracji bitowej
Rejestry sterujace praca portów umieszczone sa w najnizszej przestrzeni adresowej wejscia-wyjscia (0x00-0x1F)
Dedykowane rejestry funkcyjne: PORTx, PINx, DDRx
Instrukcje dostepu do portów: SBI, CBI, OUT, IN
Instrukcje testujace: SBIS, SBIC
Budowa i programowanie przetwornika A/C mikrokontrolera ATMega32
Wiekszosc mikrokontrolerów rodziny ATmega wyposazonych zosta.o w 10- bitowy przetwornik A/C sukcesywnej aproksymacji i wielowejsciowy multiplekser analogowy.
Przyk.adowe parametry modu.u A/C mikrokontrolera ATmega32:
• rozdzielczosc 10bit
• ca.kowita nieliniowosc +/- 0.5 LSB
• ca.kowita dok.adnosc +/- 2 LSB
• czas konwersji 13 - 260 µs
• max czestotliwosc 15 kSaPs (dla max. rozdzielczosci)
• 8 multipleksowanych kana.ów analogowych
• 7 róznicowych kana.ów wejsciowych
• 2 wejscia róznicowe z opcjonalnym wzmacniaczem x10 lub x200
• zakres napiec wejsciowych 0-Vcc
• mozliwosc wyboru wewnetrznego zród.a Uref = 2,56V
• opcjonalny tryb redukcji zak.ócen
Budowa i programowanie układu czasowo-licznikowego mikrokontrolera ATMega32.
Uk.ady licznikowe sa jednymi z najczesciej wykorzystywanych modu.ów peryferyjnych wszystkich mikrokontrolerów. Najczesciej s.uza do odmierzania czasu, zliczania zdarzen, generacji przebiegów o zmiennej czestotliwosci i wype.nieniu.
W mikrokontrolerach rodziny ATmega wystepuja liczniki 8-bitowe (T0 i T2) oraz 16-bitowe (T1 i T3)
Dedykowane rejestry:
• TCNTnH, TCNTnL (aktualna wartosc)
• OCRnxH, OCRnxL (wartosc do porównania)
• ICRnH, ICRnL (wartosc przechwycona)
• TCCRn(x) (nastawy trybu pracy)
• TIMSK(n), ETIMSK (ustawienia przerwan)
• TIFR(n), ETIFR (znaczniki przerwan)
• Tryb pracy normalnej. Licznik zlicza impulsy do wartosci maksymalnej, zaleznej od jego pojemnosci (65535 lub 255), a przepe.nienie powoduje zliczanie od poczatku.
• Tryb porównania. Mikroprocesor moze porównac stan aktualny licznika z wartoscia sta.a, zapisana w rejestrach OCRnx. Zrównanie tych wartosci może spowodowac przerwanie lub zmiane stanu na dedykowanym wyjsciu.
• Tryb przechwytywania. Polega na przepisaniu aktualnego stanu licznika do rejestru ICRx w scisle okreslonej chwili.
• Tryb CTC (Clear Timer on Compare match). Polega na zerowaniu licznika po wykryciu zgodnosci rejestru TCNTn z OCRn. Manipulowanie wartoscia rejestru OCRn pozwala okreslic w ten sposób pojemnosc modu.u licznikowego.
• Szybki Tryb PWM
• Zaawansowane tryby PWM
• Tryb poprawnej fazy
• Tryb poprawnej fazy i czestotliwosci