Mikrokontrolery, architektura AVR

Transkrypt

Mikrokontrolery, architektura AVR
Systemy wbudowane
Mikrokontrolery
Budowa
i cechy mikrokontrolerów
Architektura mikrokontrolerów
rodziny AVR
1
Czym jest mikrokontroler?
Mikrokontroler jest systemem komputerowym
implementowanym w pojedynczym układzie
scalonym
2
Typowa struktura
mikrokontrolera
Pamięć
programu
ROM, FLASH
Procesor
(CPU)
Kontroler
przerwań
Kontroler
DMA
Magistrala wewnętrzna
Układy
czasowo
-licznikowe
Porty cyfrowe
ogólnego
przeznaczenia
Interfejs
analogowy
Interfejsy
komunikacyjne
Sygnały zewnętrzne
Pamięć
danych
SRAM
Oscylator
3
Cechy charakterystyczne
Integracja w pojedynczym układzie wszystkich
podzespołów niezbędnych do realizacji wybranego
algorytmu sterowania
Niewielkie rozmiary
Dobry stosunek mocy obliczeniowej do energii
pobieranej ze źródła zasilania
Tryby obniżonego poboru mocy (uśpienia)
Sprzętowe zabezpieczenie przed „zawieszaniem się”
4
systemu
Architektura mikrokontrolerów
rodziny AVR
5
Architektura mikrokontrolerów
rodziny AVR (8-bitowej)
Wewnętrzna architektura potokowa RISC
Wykonanie większości instrukcji w pojedynczym
cyklu zegara
8-bitowa jednostka ALU
Rozdzielona przestrzeń adresowa pamięci programu
i danych
Zbiór 32 8-bitowych rejestrów roboczych
Rejestry robocze i rejestry układów I/O mapowane na
przestrzeń adresową pamięci danych
W pełni statyczna realizacja rejestrów – możliwość
taktowania dowolnie małą częstotliwością
6
Schemat blokowy
mikrokontrolera ATmega32
7
Podstawowe cechy
mikrokontrolera ATmega32
Architektura zgodna z AVR 8-BIT RICS
32KB pamięci programu typu FLASH
2KB pamięci danych
1KB pamięci EEPROM
Możliwość zaprogramowania w docelowym systemie
Zabezpieczenie przed odczytaniem programu
Interfejs JTAG ułatwiający uruchamianie programu
Tryb programowania szeregowego przez interfejs
JTAG
Układ restartu po spadku napięcia zasilania
6 trybów obniżonego poboru mocy
8
Układy peryferyjne
mikrokontrolera ATmega32
2 liczniki/timery 8-bitowe
Licznik/timer 16-bitowy
Licznik czasu rzeczywistego pozwalający na
programową implementację RTC
4 kanały PWM
8-kanałowy 10-bitowy przetwornik A/C
Dwuprzewodowy interfejs szeregowy (odpowiednik
I2C)
Programowalny port szeregowy USART
Interfejs SPI
Programowalny timer Watchdog
Komparator analogowy
9
Inne cechy charakterystyczne
mikrokontrolera ATmega32
32 programowalne linie I/O
Obudowa PDIP40, TQFP4 lub QFN/MLF44
Zakres napięć zasilania:
- ATmega32L: 2,7-5,5V
- ATmega32: 4,5-5,5V
Częstotliwość zegara:
- ATmega32L: 0-8MHz
- ATmega32: 0-16MHz
Pobór prądu dla wersji ATmega32L w warunkach
focs=1MHz, Uz=3V, T=25oC:
- tryb aktywny: 1,1mA
- tryb Idle: 0,35mA
- tryb Power-Down: <1uA
10
Obudowy mikrokontrolera
ATmega32
11
Obudowy mikrokontrolera
ATmega32
12
Jednostka centralna
mikrokontrolera ATmega32
13
Cechy CPU
Dwucyklowa architektura potokowa
– w pojedynczym cyklu wykonywana jest n-ta
instrukcja, a n+1 jest pobierana
ALU wykonuje operacje na argumentach z pliku
rejestrów roboczych lub na rejestrze i stałej
Wykonywanie operacji ALU w pojedynczym cyklu
(odczyt argumentów z rejestrów roboczych, operacja
i zapis do rejestru)
6 rejestrów ogólnego przeznaczenia tworzy trzy
16-bitowe rejestry będące wskaźnikami
przy adresowaniu pośrednim danych
14
Koncepcja przetwarzania
potokowego AVR
15
Zależności czasowe operacji
ALU
16
Rejestr statusu SREG
17
Rejestr statusu SREG
Bit 7 – I: globalne zezwolenie na przerwania
Bit 6 – T: podręczna pamięć w operacjach na bitach
Bit 5 – H: przeniesienie połówkowe
Bit 4 – S: bit znaku
Bit 3 – V: znacznik przekroczenia zakresu liczb U2
Bit 2 – N: znacznik wartości ujemnej w kodzie U2
Bit 1 – Z: znacznik wartości równej 0
Bit 0 – C: znacznik przekroczenia zakresu liczb NBC
18
Zbiór rejestrów roboczych
ogólnego przeznaczenia
19
Pamięć programu
Pamięć programu ma
organizację 16-bitową
ponieważ pojedyncza
instrukcja jest kodowana
za pomocą 16 bitów
20
Przestrzeń pamięci danych
21
Przestrzeń pamięci danych
Rejestry robocze są mapowane na przestrzeń pamięci danych
Dostęp do rejestrów roboczych można zrealizować za pomocą
ich nazwy lub jako dostęp do pamięci danych
Rejestry funkcyjne (sterujące) układów wejścia-wyjścia są
mapowane na przestrzeń pamięci danych
Dostęp do tych rejestrów można zrealizować za pomocą
rozkazu transferu I/O lub do/z pamięci danych
22