Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Systemy wbudowane Wykład nr 5: Bloki funkcjonalne mikrokontrolerów Piotr Bilski.

Podobne prezentacje


Prezentacja na temat: "Systemy wbudowane Wykład nr 5: Bloki funkcjonalne mikrokontrolerów Piotr Bilski."— Zapis prezentacji:

1 Systemy wbudowane Wykład nr 5: Bloki funkcjonalne mikrokontrolerów Piotr Bilski

2 Budowa typowego mikrokontrolera Potok instrukcji i dekoder Układ sterowania szynami Sekwenser sygnały wyjściowe zegar Układ wykonawczy Układ sterowania Szyna sterowania dane adresy

3 Linie sygnałowe mikrokontrolera Linie adresowe Linie danych Wejścia przerwań IRQ Wejścia dla przetwornika A/C Linie portów równoległych Linie transmisji szeregowej Porty liczników

4 Jednostka centralna Jednostka arytmetyczno-logiczna Banki rejestrów Potoki instrukcji Formaty instrukcji Lista instrukcji

5 Zestaw rejestrów Akumulator BAkumulator A Akumulator E Rejestr indeksowy X Rejestr indeksowy Y Rejestr indeksowy Z Wskaźnik stosu Licznik programu Słowo stanu (CCR) Rejestr mnożnej Rejestr mnożnika Akumulator układu mnożącego Akumulator układu mnożącego (c.d.) Y MASKX MASK EKXKYKZK SK 16 bitów

6 Słowo wskaźników (CCR) – 68HC16 SMHHEVNZVCCIP (3b)PK (4b) Rejestr stanuPriorytet przerwań Rozszerzenie licznika programu Bit obsługi nadmiaru Przerwania mają 8 poziomów priorytetów S – zatrzymanie zegara / operacja NOP MV, EV – sygnalizacja nadmiaru w układzie mnożącym H – przeniesienie połówkowe

7 Potok instrukcji Mikrosekwenser steruje kolejnością pobierania instrukcji Obecność pobierania instrukcji z wyprzedzeniem (pre-fetch) Mikrosekwenser ACB Układ wykonawczy Szyna danych Potok instrukcji

8 Formaty instrukcji 8-bitowy kod rozkazu, 8-bitowy argument 8-bitowy kod rozkazu, 4-bitowe rozszerzenia adresów 8-bitowy kod rozkazu, operand 8-bitowy prefiks, 8-bitowy kod rozkazu 8-bitowy prefiks, 8-bitowy kod rozkazu, argumenty

9 Lista instrukcji Instrukcje przesłań Instrukcje arytmetyczne Instrukcje logiczne Instrukcje operacji na bitach Instrukcje sterujące Instrukcje obsługi indeksów Instrukcje operacji na stosie Instrukcje manipulacji na CCR Instrukcje DSP Instrukcje specjalne

10 Instrukcje przesłań Służą do transmisji zawartości między rejestrami, pamięcią i urządzeniami wejścia-wyjścia Grupy: –Ładowania (LDAA, LDAB, LDBA) –Przesuwania (MOVB, MOVW) –Zapamietywania (STAA, STD, STED) –Transferu między rejestrami (TAB, TDE, TED) –Wymiany zawartości rejestrów (XGAB, XGDE)

11 Instrukcje arytmetyczne Służą do wykonywania operacji na liczbach całkowitych i rzeczywistych Grupy: –Dodawania (ABA, ADDA) –Odejmowania (SBA, SDE, SUBA) –Porównania (CBA, CPD) –Testowania (TST, TSTA) –Dzielenia (EDIV, EDIVS, FDIV) –Mnożenia (EMUL, FMULS) –Inkrementacji i dekrementacji (DEC, INC) –Zerowania (CLR, CLRW) –Uzupełnienia (COM, NEG)

12 Instrukcje logiczne i operacji na bitach Służą do wykonywania operacji logicznych Przykłady: ANDA, ANDD, ORAA, EORA Operacje mogą być dokonywane na każdym bicie osobno Używana jest maska, zawężająca efekt działania operacji Przykłady: BITA, BITB, BCLR, BSET

13 Instrukcje przesunięć bitowych Przesunięcia logiczne, arytmetyczne i cykliczne (rotacje) Przykłady: LSR, ASR, ROR, ASLD, RORD b7b0 C b7b0 C C C C 0 0

14 Instrukcje sterujące Wpływają na kolejność wykonywania instrukcji programu Instrukcje skoków i przerwań Skoki mogą być krótkie lub długie, bezwarunkowe lub warunkowe Skoki krótkie: –względny tryb adresowania z PC (i rozszerzenia PK), 8-bitowy argument Przykłady skoków krótkich: BRA, BRN, BHI, BGT, BCS, BMI

15 Instrukcje sterujące (c.d.) Skoki długie – argument 16-bitowy, dodawany do PC (i rozszerzenia PK) Większy zakres pamięci w zasięgu skoku Przykłady: LBLE rel JMP adres BRCLR M, #maska, rel Wywoływania podprogramów (przed skokiem zapamiętanie adresu na stosie) Przykłady: RTI (przerwania sprzętowe), SWI (przerwania programowe), JSR, BSR

16 Instrukcje obsługi indeksów Operują na zawartości rejestrów indeksowych Operacje: dodawanie, porównywanie, ładowanie, wymianę zawartości rejestrów indeksowych Przykłady: ADX, AIX, LDX, STX, TXY, XGDX

17 Instrukcje operacji na stosie Manipulacja szczytem stosu zawartym w rejestrach SK:SP, transfer danych do i ze stosu Przykłady: AIS, PSHA, PSHB, PULA, PULB Możliwe operacje wysyłania zawartości wielu rejestrów naraz na stos: PSHM, PULM. Potrzebna jest maska do określania, które rejestry kopiować: CCRKIZIYIXED DE IYIZKCCR PSHM PULM

18 Instrukcje manipulacji na CCR i specjalne Służą do ustawiania i zerowania poszczególnych bitów oraz przesyłać zawartość akumulatorów Przykłady: ANDP, ORP, TAP, TDP itp. Możliwe również przesyłanie zawartości CCR do innych rejestrów Instrukcje specjalne służą do zatrzymania procesora (LPSTOP), oczekiwania an przerwanie (WAI), uruchomienia debugera (BGND) oraz wykonania pustego cyklu (NOP)

19 Instrukcje DSP Zestaw operacji wykorzystywanych podczas przetwarzania sygnałów (filtracja, obliczanie transformaty Fouriera) Wykorzystywane są rejestry HR i IR, wyniki przechowywane są w akumulatorze Powtarzanie operacji w pętli umożliwia realizację podstawowych działań

20 Pamięci Metody alokacji pamięci: –Alokacja stała (obszary adresowe określone przez producenta) –Zmienne przypisania obszarów adresowych (obszary ustalane przez programistę) Klasyfikacja: –RAM –ROM/OTP/EPROM –EEPROM/Flash

21 Architektury mikrokontrolerów Rejestrowa (rejestry są częścią pamięci RAM, jednolicie adresowanej) –Plik rejestrów roboczych –Obszar rejestrów specjalnych –Pamięć podręczna Akumulatorowa (rejestry są wydzielone z pamięci RAM)

22 Mapa rejestrów wewnętrznych (68HC916Y3) QSM 512 B ADC 64 B Sterowanie FLASH Sterowanie FLASH TPU GPT 64B SCIM 128B Sterowanie SRAM MCCI 64B TPU 512B FLASH 16kB FLASH 48 kB FLASH 32 kB FLASH TPU 4kB SRAM 2kB

23 Mapa pamięci (68HC916Y3) – wspólna przestrzeń programu i danych Wspólna przestrzeń pamięci programu i danych Rozmiar: 1 MB 16 sekcji Sekcja 0 Sekcja 1 Sekcja 2 Sekcja 3 Sekcja 4 Sekcja 5 Sekcja 6 Sekcja 7 Sekcja 8 Sekcja 9 Sekcja 10 Sekcja 11 Sekcja 12 Sekcja 13 Sekcja 14 Sekcja 15 QSM ADC Ster. FLASH GPT SCIM Ster. SRAM MCCI TPU FFFFFF

24 Pamięć SRAM Szybka pamięć, wykonana np. w technologii CHMOS Możliwość przejście w stan oczekiwania (podczas zasilania bateryjnego) – zasilanie napięciem V stby Służy do realizacji stosu i przechowywania zmiennych

25 Technologia CHMOS Complementary High-Performance Metal- Oxide Semiconductor Układy zdolne są do pracy przy niskim napięciu zasilającym z zachowaniem efektywności pracy Wykorzystywana w mikrokontrolerach oraz kontrolerach dysków, interfejsach peryferyjnych itp. Aktualna technologia: CHMOS III (litografia 1.5 mikrona)

26 Obsługa pamięci SRAM Rejestr RAMMC służy do ustawienia trybu pamięci (rozkazy i dane/rozkazy) i zarządza pracą przy zmniejszonym poborze mocy Rejestr RAMTST służy do testowania pamięci Rejestry RAMBAH i RAMBAL przechowują adresy bazowe (ustawiane tylko przy zmniejszonym poziomie mocy!)

27 Mapa pamięci (68HC916Y3) – rozdzielone przestrzenie programu i danych Sekcja 1 Sekcja 2 Nie używane Sekcja 14 Sekcja 15 Sekcja 1 Sekcja 2 Nie używane Sekcja 14 Blok rejestrów Obsługa wyjątków po RESET 512 kB FFFFFF FFFFFF Wektor adresów obsługi przerwań 512 kB

28 Pamięci ROM, OTP i EPROM Wielkość rzędu kilkuset kB (np. 8, 32, 64 kB) Bloki pamięci mogą być maskowalne (MRM) Programowanie: –W specjalnych urządzeniach (programatorach) –W układzie (in-circut programming), mikrokontroler musi mieć wbudowany odpowiedni układ –Wymagane dodatkowe napięcie 12V (z zewnątrz lub z wbudowanej przetwornicy)

29 Programowanie pamięci ROM Konieczne dodatkowe wejścia do układu (np. EA) Tryby programowania: –Automatyczny (wyjścia PACT i PVAL) – do programowania pojedynczych kości –Seryjny typu Slave (konfiguracja wejść PMODE i HSI) – do projektowania seryjnego –Seryjny typu Word Dump Porty (np. P3 i P4) wykorzystywane są do podawania danych, adresów i instrukcji programujących

30 Pamięci EEPROM i Flash Pojemność rzędu setek kB Wykorzystywane w kilku blokach Do programowania wymagane podwyższone napięcie ( V) Tryby pracy: –Normalny (odczyt) –Zapisu Pracą pamięci steruje rejestr FCR

31 Licznik nadzorcy Dodatkowy układ w mikrokontrolerach pracujących autonomicznie Odlicza czas i oczekuje sygnałów zerujących Brak sygnałów zerujących powoduje reset mikrokontrolera Po resecie przeprowadzana jest diagnostyka (wykrywanie przyczyny zawieszenia)

32 Schemat licznika nadzorcy Blok sterowania przerwaniami Sterowanie sygnałem RESET Układ wyboru okresu zegara RSTCSRTCNTTCSR Interfejs szyny WDTOVF Wewn. RESET IRQ Szyna modułu Wewnętrzna szyna danych

33 Rejestry licznika nadzorcy TCSR – rejestr kontrolny i stanu bloku TCNT – 8-bitowy licznik nadzorcy RSTCSR – rejestr stanu i kontrolny układu generowania sygnału reset Licznik nadzorcy zaczyna pracę po ustawieniu linii WT w stan wysoki (watchdog)


Pobierz ppt "Systemy wbudowane Wykład nr 5: Bloki funkcjonalne mikrokontrolerów Piotr Bilski."

Podobne prezentacje


Reklamy Google