Systemy wbudowane - PowerPoint PPT Presentation

1 / 33
About This Presentation
Title:

Systemy wbudowane

Description:

Systemy wbudowane Wyk ad nr 5: Bloki funkcjonalne mikrokontroler w Piotr Bilski * Budowa typowego mikrokontrolera Potok instrukcji i dekoder Uk ad sterowania ... – PowerPoint PPT presentation

Number of Views:96
Avg rating:3.0/5.0
Slides: 34
Provided by: Piot99
Category:

less

Transcript and Presenter's Notes

Title: Systemy wbudowane


1
Systemy wbudowane
  • Wyklad nr 5
  • Bloki funkcjonalne mikrokontrolerów
  • Piotr Bilski

2
Budowa typowego mikrokontrolera
zegar
Potok instrukcji i dekoder
Sekwenser
Uklad sterowania
Uklad sterowania szynami
Szyna sterowania
dane
Uklad wykonawczy
adresy
sygnaly wyjsciowe
3
Linie sygnalowe mikrokontrolera
  • Linie adresowe
  • Linie danych
  • Wejscia przerwan IRQ
  • Wejscia dla przetwornika A/C
  • Linie portów równoleglych
  • 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
16 bitów
16 bitów
Akumulator B
Akumulator A
Rejestr mnoznej
Rejestr mnoznika
Akumulator E
Akumulator ukladu mnozacego
Rejestr indeksowy X
Akumulator ukladu mnozacego (c.d.)
Rejestr indeksowy Y
Y MASK
X MASK
Rejestr indeksowy Z
EK
XK
YK
ZK
Wskaznik stosu
SK
Licznik programu
Slowo stanu (CCR)
6
Slowo wskazników (CCR) 68HC16
Bit obslugi nadmiaru
Rozszerzenie licznika programu
Rejestr stanu
Priorytet przerwan
  • Przerwania maja 8 poziomów priorytetów
  • S zatrzymanie zegara / operacja NOP
  • MV, EV sygnalizacja nadmiaru w ukladzie
    mnozacym
  • H przeniesienie polówkowe

7
Potok instrukcji
  • Mikrosekwenser steruje kolejnoscia pobierania
    instrukcji
  • Obecnosc pobierania instrukcji z wyprzedzeniem
    (pre-fetch)

Mikrosekwenser
Potok instrukcji
Szyna danych
A
C
B
Uklad wykonawczy
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 przeslan
  • Instrukcje arytmetyczne
  • Instrukcje logiczne
  • Instrukcje operacji na bitach
  • Instrukcje sterujace
  • Instrukcje obslugi indeksów
  • Instrukcje operacji na stosie
  • Instrukcje manipulacji na CCR
  • Instrukcje DSP
  • Instrukcje specjalne

10
Instrukcje przeslan
  • Sluza do transmisji zawartosci miedzy rejestrami,
    pamiecia i urzadzeniami wejscia-wyjscia
  • Grupy
  • Ladowania (LDAA, LDAB, LDBA)
  • Przesuwania (MOVB, MOVW)
  • Zapamietywania (STAA, STD, STED)
  • Transferu miedzy rejestrami (TAB, TDE, TED)
  • Wymiany zawartosci rejestrów (XGAB, XGDE)

11
Instrukcje arytmetyczne
  • Sluza do wykonywania operacji na liczbach
    calkowitych i rzeczywistych
  • Grupy
  • Dodawania (ABA, ADDA)
  • Odejmowania (SBA, SDE, SUBA)
  • Porównania (CBA, CPD)
  • Testowania (TST, TSTA)
  • Dzielenia (EDIV, EDIVS, FDIV)
  • Mnozenia (EMUL, FMULS)
  • Inkrementacji i dekrementacji (DEC, INC)
  • Zerowania (CLR, CLRW)
  • Uzupelnienia (COM, NEG)

12
Instrukcje logiczne i operacji na bitach
  • Sluza do wykonywania operacji logicznych
  • Przyklady ANDA, ANDD, ORAA, EORA
  • Operacje moga byc dokonywane na kazdym bicie
    osobno
  • Uzywana jest maska, zawezajaca efekt dzialania
    operacji
  • Przyklady BITA, BITB, BCLR, BSET

13
Instrukcje przesuniec bitowych
  • Przesuniecia logiczne, arytmetyczne i cykliczne
    (rotacje)
  • Przyklady LSR, ASR, ROR, ASLD, RORD

0
C
C
0
C
C
C
14
Instrukcje sterujace
  • Wplywaja na kolejnosc wykonywania instrukcji
    programu
  • Instrukcje skoków i przerwan
  • Skoki moga byc krótkie lub dlugie, bezwarunkowe
    lub warunkowe
  • Skoki krótkie
  • wzgledny tryb adresowania z PC (i rozszerzenia
    PK), 8-bitowy argument
  • Przyklady skoków krótkich BRA, BRN, BHI, BGT,
    BCS, BMI

15
Instrukcje sterujace (c.d.)
  • Skoki dlugie argument 16-bitowy, dodawany do PC
    (i rozszerzenia PK)
  • Wiekszy zakres pamieci w zasiegu skoku
  • Przyklady LBLE rel
  • JMP adres
  • BRCLR M, maska, rel
  • Wywolywania podprogramów (przed skokiem
    zapamietanie adresu na stosie)
  • Przyklady RTI (przerwania sprzetowe), SWI
    (przerwania programowe), JSR, BSR

16
Instrukcje obslugi indeksów
  • Operuja na zawartosci rejestrów indeksowych
  • Operacje dodawanie , porównywanie, ladowanie,
    wymiane zawartosci rejestrów indeksowych
  • Przyklady ADX, AIX, LDX, STX, TXY, XGDX

17
Instrukcje operacji na stosie
  • Manipulacja szczytem stosu zawartym w rejestrach
    SKSP, transfer danych do i ze stosu
  • Przyklady AIS, PSHA, PSHB, PULA, PULB
  • Mozliwe operacje wysylania zawartosci wielu
    rejestrów naraz na stos PSHM, PULM. Potrzebna
    jest maska do okreslania, które rejestry kopiowac

CCR
K
IZ
IY
IX
E
D
PSHM
PULM
18
Instrukcje manipulacji na CCR i specjalne
  • Sluza do ustawiania i zerowania poszczególnych
    bitów oraz przesylac zawartosc akumulatorów
  • Przyklady ANDP, ORP, TAP, TDP itp.
  • Mozliwe równiez przesylanie zawartosci CCR do
    innych rejestrów
  • Instrukcje specjalne sluza do zatrzymania
    procesora (LPSTOP), oczekiwania an przerwanie
    (WAI), uruchomienia debugera (BGND) oraz
    wykonania pustego cyklu (NOP)

19
Instrukcje DSP
  • Zestaw operacji wykorzystywanych podczas
    przetwarzania sygnalów (filtracja, obliczanie
    transformaty Fouriera)
  • Wykorzystywane sa rejestry HR i IR, wyniki
    przechowywane sa w akumulatorze
  • Powtarzanie operacji w petli umozliwia realizacje
    podstawowych dzialan

20
Pamieci
  • Metody alokacji pamieci
  • Alokacja stala (obszary adresowe okreslone przez
    producenta)
  • Zmienne przypisania obszarów adresowych (obszary
    ustalane przez programiste)
  • Klasyfikacja
  • RAM
  • ROM/OTP/EPROM
  • EEPROM/Flash

21
Architektury mikrokontrolerów
  • Rejestrowa (rejestry sa czescia pamieci RAM,
    jednolicie adresowanej)
  • Plik rejestrów roboczych
  • Obszar rejestrów specjalnych
  • Pamiec podreczna
  • Akumulatorowa (rejestry sa wydzielone z pamieci
    RAM)

22
Mapa rejestrów wewnetrznych (68HC916Y3)
QSM 512 B ADC 64 B Sterowanie FLASH Sterowanie
FLASH 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 pamieci (68HC916Y3) wspólna przestrzen
programu i danych
000000
Sekcja 0
Sekcja 8
QSM
Sekcja 1
Sekcja 9
ADC
Sekcja 2
Sekcja 10
Ster. FLASH
Sekcja 3
Sekcja 11
GPT
Sekcja 4
Sekcja 12
SCIM
Sekcja 5
Sekcja 13
Ster. SRAM
Sekcja 6
Sekcja 14
MCCI
Sekcja 7
Sekcja 15
TPU
FFFFFF
  • Wspólna przestrzen pamieci programu i danych
  • Rozmiar 1 MB
  • 16 sekcji

24
Pamiec SRAM
  • Szybka pamiec, wykonana np. w technologii CHMOS
  • Mozliwosc przejscie w stan oczekiwania (podczas
    zasilania bateryjnego) zasilanie napieciem
    Vstby
  • Sluzy do realizacji stosu i przechowywania
    zmiennych

25
Technologia CHMOS
  • Complementary High-Performance Metal-Oxide
    Semiconductor
  • Uklady zdolne sa do pracy przy niskim napieciu
    zasilajacym z zachowaniem efektywnosci pracy
  • Wykorzystywana w mikrokontrolerach oraz
    kontrolerach dysków, interfejsach peryferyjnych
    itp.
  • Aktualna technologia CHMOS III (litografia 1.5
    mikrona)

26
Obsluga pamieci SRAM
  • Rejestr RAMMC sluzy do ustawienia trybu pamieci
    (rozkazy i dane/rozkazy) i zarzadza praca przy
    zmniejszonym poborze mocy
  • Rejestr RAMTST sluzy do testowania pamieci
  • Rejestry RAMBAH i RAMBAL przechowuja adresy
    bazowe (ustawiane tylko przy zmniejszonym
    poziomie mocy!)

27
Mapa pamieci (68HC916Y3) rozdzielone
przestrzenie programu i danych
Wektor adresów obslugi przerwan
Obsluga wyjatków po RESET
000000
000000
Sekcja 1
Sekcja 1
Sekcja 2
Sekcja 2
512 kB
512 kB
Nie uzywane
Nie uzywane
512 kB
Sekcja 14
Sekcja 14
512 kB
Sekcja 15
Blok rejestrów
FFFFFF
FFFFFF
28
Pamieci ROM, OTP i EPROM
  • Wielkosc rzedu kilkuset kB (np. 8, 32, 64 kB)
  • Bloki pamieci moga byc maskowalne (MRM)
  • Programowanie
  • W specjalnych urzadzeniach (programatorach)
  • W ukladzie (in-circut programming),
    mikrokontroler musi miec wbudowany odpowiedni
    uklad
  • Wymagane dodatkowe napiecie 12V (z zewnatrz lub z
    wbudowanej przetwornicy)

29
Programowanie pamieci ROM
  • Konieczne dodatkowe wejscia do ukladu (np. EA)
  • Tryby programowania
  • Automatyczny (wyjscia PACT i PVAL) do
    programowania pojedynczych kosci
  • Seryjny typu Slave (konfiguracja wejsc PMODE i
    HSI) do projektowania seryjnego
  • Seryjny typu Word Dump
  • Porty (np. P3 i P4) wykorzystywane sa do
    podawania danych, adresów i instrukcji
    programujacych

30
Pamieci EEPROM i Flash
  • Pojemnosc rzedu setek kB
  • Wykorzystywane w kilku blokach
  • Do programowania wymagane podwyzszone napiecie
    (11.5-13.5V)
  • Tryby pracy
  • Normalny (odczyt)
  • Zapisu
  • Praca pamieci steruje rejestr FCR

31
Licznik nadzorcy
  • Dodatkowy uklad w mikrokontrolerach pracujacych
    autonomicznie
  • Odlicza czas i oczekuje sygnalów zerujacych
  • Brak sygnalów zerujacych powoduje reset
    mikrokontrolera
  • Po resecie przeprowadzana jest diagnostyka
    (wykrywanie przyczyny zawieszenia)

32
Schemat licznika nadzorcy
Uklad wyboru okresu zegara
Blok sterowania przerwaniami
IRQ
WDTOVF
Sterowanie sygnalem RESET
Wewn. RESET
RSTCSR
TCNT
TCSR
Szyna modulu
Interfejs szyny
Wewnetrzna szyna danych
33
Rejestry licznika nadzorcy
  • TCSR rejestr kontrolny i stanu bloku
  • TCNT 8-bitowy licznik nadzorcy
  • RSTCSR rejestr stanu i kontrolny ukladu
    generowania sygnalu reset
  • Licznik nadzorcy zaczyna prace po ustawieniu
    linii WT w stan wysoki (watchdog)
Write a Comment
User Comments (0)
About PowerShow.com