Mikrokontrolery czyli o czym to będzie... Ryszard J. Barczyński, 2017 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego
PNPiM Poznamy: Cechy charakterystyczne mikrokontrolerów. Klasyczny przykład mikrokontrolera: 8051 Crossassembler 8051 na komputery PC. (napiszemy i uruchomimy jakieś programy). PSoC, oparty o architekturę 8051 i M8 Specyfikę języka C w środowisku mikrokontrolerów. Metody pomiarów wielkości zewnętrznych za pomocą mikrokontrolerów Metody sterowania za pomocą mikrokontrolerów Sposoby interakcji z użytkownikiem Lokalne interfejsy systemów mikroprocesorowych http://www.mif.pg.gda.pl/homepages/jasiu/stud/pnp/
PNPiM Warunki zaliczenia: Trzeba osiągnąć powyżej 51% punktów zarówno z laboratorium, jak również części teoretycznej. Ocena jest proporcjonalna do sumy otrzymanych punktów Część teoretyczna to: - egzamin (ok. 20 punktów) - możliwe krótkie, niezapowiedziane kartkówki na wykładzie (dodatkowe punkty tylko do licznika) Być może będą też konkursy za dodatkowe punkty.
PNPiM Laboratorium: Laboratorium trwa ¾ semestru w wymiarze 4 godzin lekcyjnych. Nie jest możliwe zaliczanie laboratorium po zakończeniu semestru. Niekiedy przed ćwiczeniami będą wejściówki. - punktacja za wejściówki jest wliczana do punktacji laboratorium. - niezaliczoną wejściówkę trzeba zaliczyć w ciągu tygodnia, w przeciwnym razie nie zostanie się dopuszczonym do następnych zajęć. W szczególności dotyczy to list rozkazów i składni assemblera (będę bezlitosny)... Takie opóźnione zaliczenie umożliwia jedynie dopuszczenie do zajęć punktacja pozostaje pierwotna. Dla zainteresowanych: zamiast ćwiczeń laboratoryjnych możliwe jest podjęcie niewielkiego projektu.
Mikrokontrolery czyli o czym to będzie... Mikrokontroler to cały komputer w kawałku krzemu, zoptymalizowany pod kątem sterowania różnorakimi urządzeniami. Typowy mikrokontroler zawiera praktycznie wszystko, co mu jest potrzebne do pracy - tym różni się od zwykłego mikroprocesora.
Mikrokontrolery Mikrokontroler nie jest... wolny niektóre mikrokontrolery osiągają częstotliwości w zakresie GHz; prosty oprócz znanych ze zwykłej techniki mikroprocesorowej składników mikrokontrolery mogą zawierać na przykład przetworniki A/C i C/A, modemy radiowe, kompletne podsystemy sieciowe, kontrolery zasilania... tani a przynajmniej nie zawsze jest tani... zawodny mikrokontrolery są projektowane tak, by odznaczać się niezawodnością;
Typowa architektura mikrokontrolera
Jednostka centralna * Jednostka centralna (zwana też procesorem rdzeniowym, rdzeniem, procesorem lub układem wykonawczym) cyklicznie wykonuje instrukcje zawarte w programie mikrokontrolera. * Lista instrukcji dla danego mikrokontrolera jest z góry określona. * Jednostka centralna jest synchronicznym i sekwencyjnym układem cyfrowym. * Instrukcja składa się z kodu operacji i argumentów. * Sposób dostępu do argumentów zależy od trybu adresowania.
Tryby adresowania Interesujące nas tryby adresowania to: ** implikowane (zwane też wewnętrznym lub rejestrowym) (inherent, register) ** natychmiastowe (immediate) ** bezpośrednie (direct) ** indeksowe (indirect) ** względne (relative)
Adresowanie implikowane Dotyczy prostych instrukcji, w których zarówno operacja, jak i operandy są zawarte w jednym słowie rozkazowym. Na przykład (8051): ADD A, R2 INC A NOP
Adresowanie natychmiastowe Operand (argument) instrukcji jest podany bezpośrednio w treści programu. Na przykład: ADD A, #7 XOR A,#04DH MOV R1,#30 ADD A,#wzrost
Adresowanie bezpośrednie Po kodzie rozkazu w treści programu podany jest adres argumentu umieszczonego w pamięci danych. Na przykład: ADD A, 7 XOR A,04DH ADD A,wzrost
Adresowanie indeksowe Polega na obliczeniu adresu argumentu poprzez sumowanie zawartości specjalnego rejestru (indeksowego) z adresem zapisanym w programie. * Nie wszystkie procesory realizują ten tryb. * Niektóre mają wiele rejestrów indeksowych. np. (Z80): LD A, (IX+7) ADD A, (IY+Shift)
Adresowanie pośrednie Część adresowa instrukcji wskazuje na komórkę pamięci zawierającą właściwy (efektywny) adres. * Odmianą jest adresowanie zawartością rejestrów, w którym adres efektywny znajduje się w rejestrze (lub ich parze) np. (8051): MOV A,@R1 MOVX A,@DPTR np. (Z80): LD A, (HL)
Adresowanie względne Służy do adresowania pamięci względem aktualnie wykonywanej operacji w pamięci programu. * Często służy do wykonywania względnych (na przykład z przesunięciem +/ 127) skoków. np. (8051): JNB P2.1, LOOP [...] LOOP: MOV START: [...] DJNZ R4,#8 R4, START
Podział mikroprocesorów Ze względu na mapy pamięci * architektura harwardzka * architektura Von Neumanna Ze względu na typ listy instrukcji * RISC (Reduced Instruction Set Computer) o zredukowanej liczbie instrukcji * CISC (Complex Instruction Set Computer) z rozbudowaną liczbą instrukcji
Podział mikroprocesorów Architektura harwardzka charakteryzuje się zastosowaniem oddzielnych obszarów pamięci dla danych i programu. * Magistrale danych i adresów mogą mieć różną szerokość (długość słowa)
Podział mikroprocesorów Architektura Von Neumanna cechuje się jednolitą przestrzenią adresową. Mapa pamięci układu serii ST7 (ST72215G)
Podział mikroprocesorów RISC (Reduced Instruction Set Computer) ** Procesor jest zbudowany zgodzie z architekturą harwardzką. ** Zbiór instrukcji jest ograniczony i ortogonalny, czyli *** każda instrukcja może operować na dowolnym rejestrze roboczym *** każda instrukcja może wykorzystywać dowolny tryb adresowania *** nie ma ukrytych związków między instrukcjami *** kody rozkazów i formaty instrukcji są zunifikowane Zwykle w mikrokontrolerach ortogonalność instrukcji nie jest pełna.
Podział mikroprocesorów CISC (Complex Instruction Set Computer) Charakteryzuje się rozbudowaną liczbą instrukcji (często ponad sto). Niektóre instrukcje * Są wąsko specjalizowane. * Współpracują tylko z wybranymi rejestrami. * Wymagają stosowania określonych trybów adresowania
Podział mikrokontrolerów Jeszcze jedną cechą wyróżniającą mikrokontrolery jest sposób udostępnienia szyn systemowych. Niektóre mikrokontrolery * Udostępniają bezpośrednio szyny (danych, adresowe i sterujące). * Udostępniają szyny poprzez wyprowadzenia portów we/wy. * Nie udostępniają szyn są zamknięte (embeded).
Podstawowe układy pamięci Zawartość pamięci nie zanika wraz z wyłączeniem zasilania Z pamięci można czytać, ale nie można do niej zapisywać danych. Umieszczenie danych wymaga specjalnego procesu programowania. * ROM (Read Only Memory) programowanie następuje w procesie produkcyjnym mikrokontrolera. * EPROM (Erasable Programmable ROM) można kasować dotychczasową zawartość promieniowaniem UV i programować za pomocą specjalnego urządzenia. * OTP (One Time Programmable) można jednorazowo programować za pomocą specjalnego urządzenia. * FLASH (Bulk Erasable Non Volatile Memory) możliwe jest wielokrotne elektryczne wymazanie zawartości i programowanie, często bezpośrednio w systemie (ISP In System Programmable, IAP In Application Programmable)
Podstawowe układy pamięci Zawartość pamięci nie zanika wraz z wyłączeniem zasilania Z pamięci można zarówno czytać, jak i pisać do niej dane. Często tworzy się specjalne konstrukcje podtrzymujące jej zawartość przy wyłączeniu zasilania urządzenia. * SRAM (Static Random Access Memory) pamięci RAM statyczne. Krótkie czasy dostępu, proste w obsłudze przez CPU, drogie. * DRAM (Dynamic Random Access Memory) wymagają przeprowadzania w określonych odstępach czasu pewnych operacji na pamięci (odświeżanie), w przeciwnym wypadku dane zanikają. Charakteryzują się dużymi pojemnościami, są tanie.