PLAN... work in progress 1. Mikrokontrolery i mikroprocesory - architektura systemów mikroprocesorów ( 8051, AVR, ARM) - pamięci - rejestry - tryby adresowania - repertuar instrukcji - urządzenia we/wy (porty i wewnętrzne układy peryferyjne ) - systemy przerwań - interfejsy i protokoły komunikacyjne 2. Programatory, symulatory 3. Cross assebmler'y, cross-kompilatory 4. Wielcy bracia - wybrane informacje o historii i teraźniejszości 80x86 1/8
Mikroprocesor a mikrokontroler Mikrokontrolery architektury CISC Budowa, działanie i oprogramowanie µc rodziny 51 i pochodnych Mikrokontrolery architektury RISC Różnice w budowie, działaniu i oprogramowaniu µc typu AVR Mikroprocesory Architektura mikroprocesorów Oprogramowanie i system operacyjny Obsługa urządzeń peryferyjnych Komunikacja Tematy uzupełniające: DSP Magistrale Protokoły komunikacyjne Tendencje rozwoju Literatura:Tomasz STARECKI - Mikrokontrolery jednoukładowe rodziny 51. ''NOZOMI'' W-wa 1996 ISBN 83-906175-0-1 Tomasz STARECKI Mikrokontrolery 8051 w praktyce. BTC. Warszawa 2002. ISBN 83-910067-4-3. Piotr GAŁKA, Paweł GAŁKA - Podstawy programowania mikrokontrolera 8051. MIKOM, W-wa 1995 ISBN 83-85625-94-1 AVR Bardzo wiele dobrych materiałów można znależć na stronach www. http://www.ccs.neu.edu/groups/honors-program/freshsem/19951996/utopia/risc.html http://www.arstechnica.com/cpu/4q99/risc-cisc/rvc-1.html ATMEL - www.atmel.com ATMEL - www.atmel.com 2/8
... to tylko interpretacja rozróżnia czy w rejestrze lub komórce pamięci znajduje się instrukcja programu, czy dane... Struktura pamięci - bity, bajty i słowa zapisy instrukcji programu (kod operacji, adresy) zapisy stałych tekstowych (kodowanie znaków) zapisy liczb całkowitych sposoby kodowania liczb ujemnych reprezentacja liczb zmiennoprzecinkowych (mantysa, cecha, położenie przecinka, normalizacja ) Mikroprocesor a mikrokontroler Na system mikroprocesorowy składa się mikroprocesor, układy wejścia/wyjścia, pamięć programu i danych, szyny adresowe, szyny danych..., system operacyjny. Mikrokontroler to pojedynczy układ scalony zawierający kompletny system, zdolny do samodzielnego wykonywania operacji arytmetycznych i logicznych oraz do sterowania układami i elementami zewnętrznymi. Typowy mikrokontroler (rodzina 51: 89C51, 89C52, 89C2051..., AduC812,,,,) zawiera jednostkę centralną (CPU) pamięć programu (ROM) pamięć danych (RAM) porty wejścia/wyjścia liczne wewnętrzne układy peryferyjne (timer, UART, ADC, DAC,...) 3/8
Organizacja pamięci mikrokontrolerów Pamięć programu Wewnętrzna pamięć danych Rejestry ogólnego zastosowania (kilka bloków) Obszary pamięci i ich adresowanie (bezpośrednie, zawartością rejestrów, pośrednie) Obszar rejestrów specjalnych Stos Zewnętrzna pamięć danych Taktowanie CPU Zerowanie mikrokontrolera (reset, power-up) Struktura portów 4/8
PRZYKŁAD SCHEMATU BLOKOWEGO MIKROKONTROLERA (Tu, dla procesora AVR - ATmega32 ATMAEL) P 5/8
Organizacja wewnętrznej pamięci RAM μkontrolerów rodziny 51 0FFH 0FFH 128 bajtów górnego obszaru wewnętrznej pamięci RAM Obszar rejestrów SFR 80H 80H 07FH 00H 128 bajtów dolnego obszaru wewnętrznej pamięci RAM Adresowanie bezpośrednie i pośrednie Adresowanie pośrednie zawartością rejestrów Adresowanie bezpośrednie 6/8
Struktura dolnego obszaru pamięci RAM µkontrolerów Pamięć ogólnego zastosowania 7F H 7F Bajty z adresowalnymi bitami 78 07 00 BANK 3 18H - 1FH BANK 2 30 H 10H - 17H R7 R6 R5 R4 R3 R2 R1 R0 BANK 1 8H - 0FH 7H Bank 0 0H 7/8
SFR obszar rejestrów specjalnego przeznaczenia wykorzystuje się: Jako zapis wszelkich rejestrów sterujących pracą CPU takich jak ACC- akumulator, B akumulator pomocniczy, PSW - rejestr wskaźników stanu, SP wskaźnik stosu... (poza licznikiem rozkazów (PC) i bankami GPR, Jako interfejs pomiędzy CPU a urządzeniami peryferyjnymi....sterowanie urządzeniami peryferyjnymi poprzez operacje na odpowiadających im rejestrach pamięci należy do genialnych rozwiązań w konstrukcji procesorów cyfrowych... Stan wszystkich rejestów SFR po RESET (lub po uruchomieniu procesora) jest zdefiniowany. Jest też udokumentowany w danych technicznych kontrolera. Programista może zmienić pierwotne (default niejawne) ustawienia SFR. Np. wskaźnik stosu SP ustawiany jest pierwotnie na (adres) 07H, wskazuje na R0 pierwszego banku rejestrów ogólnego zastosowania GPR i zwykle przestawiany na odległą lokację. 8/8
TAKTOWANIE MIKROKONTROLERA Cykl maszynowy mikrokontrolerów rodziny 51 składa się z sześciu stanów (S1 S6). Każdy stan trwa dwa okresy sygnału taktującego. Więc jeden cykl maszynowy trwa 12 taktów (okresów) sygnału zegarowego. Mikrokontrolery mają wbudowany generator sygnału zegarowego i zewnętrzny rezonator kwarcowy. Dobór rezonatora wyznacza częstotliwość taktowania. Zwykle od kilku do kilkudziesięciu MHz. Później poznamy powody dla popularnej częstości 11.059 MHz. Czas wykonywania instrukcji mikrokontrolerów rodziny 51 wynosi jeden, dwa lub 4 cykle maszynowe. (Te 4 cykle odnoszą jedynie do dwóch instrukcji: mnożenie i dzielenia). Podział cyklu maszynowego na stany i fazy wynika z potrzeby generacji sygnałów sterujących poszczególnymi etapami wykonywania instrukcji (pobranie z pamięci, zdekodowanie instrukcji, pobranie argumentów, zapis wyniku itp). Np.: stan wyprowadzenia RESET jest testowany w każdym cyklu maszynowym w stanie S5P2. 9/8