Zerowanie mikroprocesorów Cel: wprowadzenie mikroprocesora w określony stan początkowy Zwykle realizowany poprzez: inicjalizację licznika rozkazów (PC) pewną wartością początkową lub wartością umieszczoną pod pewnym adresem w pamięci inicjalizację rejestru stanu (w tym znaczników) ustaloną wartością zablokowanie przyjmowania przerwań
Zerowanie mikroprocesorów Ponadto w mikrokontrolerach: porty przełączane są w tryb pracy jako wejściowe rejestry specjalne inicjowane są ustalonymi wartościami, które z reguły powodują ustawienie układów peryferyjnych w stan nieaktywny
Zerowanie mikroprocesorów Wykonywane: po włączeniu zasilania w przypadku niepoprawnej pracy systemu poprzez podanie na końcówkę RESET (RST, itp.) sygnału: o odpowiedniej wartości napięcia (bliskiej GND lub VCC) przez odpowiednio długi czas t RST V CC RESET µP
Zerowanie mikroprocesorów Wartość napięcia sygnału zerującego: w pierwszym przybliżeniu jest to wartość napięcia odpowiadającego poziomowi logicznemu niskiemu (ozn. /RESET) lub wysokiemu (ozn. RESET) dokładny zakres wartości należy jednak sprawdzić w katalogu
Zerowanie mikroprocesorów Czas trwania sygnału zerującego: czas trwania sygnału zerującego wynosi zwykle kilka cykli maszynowych (np. w 8051 – 2 cykle, ale np. w MC68000 – cykli maszynowych) należy jednak pamiętać, że zanim generator sygnału taktującego zacznie działać stabilnie po włączeniu zasilania musi upłynąć znacznie więcej czasu (kilka ms) podobna sytuacja występuje w mikrokontrolerach, które przeszły w tryb zmniejszonego poboru mocy, w którym wyłączany jest generator (np. tryb zamrożenia w 8051)
Układy zerowania mikroprocesorów Układ najprostszy – RC: RESET µP V CC 0 0 t RST V IH1 u RST np. dla t = 5 ms, V CC = 5V, V IH1 =1,9V C R czyli np. R = 10 kΩ, C = 0,68µF
Układy zerowania mikroprocesorów Układ dla mikroprocesora z wejściem aktywnym w stanie niskim: RESET µP V CC 0 0 t RST V IL1 u RST C R
Układy zerowania mikroprocesorów Wbudowane elementy układu zerowania mikroprocesora RESET µP V CC C R RST RESET µP V CC układ POR PON – Power On Reset
Układy zerowania mikroprocesorów Układ ręcznego zerowania mikroprocesora: RESET µP V CC C R
Układy zerowania mikroprocesorów Zewnętrzne, złożone układy zerowania: RESET µP V CC układ zerowania generowanie sygnału zerowania podczas włączania zasilania generowanie sygnału zerowania po obniżeniu się napięcia V CC poniżej określonej wartości dokładne określenie czasu trwania sygnału zerującego, niezależnie od zmian V CC stab.
Układy zerowania mikroprocesorów Zewnętrzne, złożone układy zerowania:
Układy zerowania mikroprocesorów Zewnętrzne, złożone układy zerowania:
Liczniki czuwające (watchdog timers) pętla główna program sterownika zwykle wykonywany jest w pętli wejście w petlę nieskończoną w jednym z fragmentów powoduje przerwanie działania całego sterownika przywrócenie sterownika do działania wymaga wyzerowania mikroprocesora przez operatora
Liczniki czuwające (watchdog timers) zerowanie licznika czuwającego pętla główna RESET µC V CC układ zerowania I/O przywrócenie sterownika do działania realizowane jest przez automatyczne wyzerowanie mikroprocesora przy braku sygnału zerującego licznik czuwający
Liczniki czuwające (watchdog timers)
Przerwania INT µP urządzenie żądające obsługi 1000h 2000h RET 1008h przejście do podprogramu na skutek pojawienia się sygnału INT
Przerwania Etapy procesu obsługi przerwania sprawdzenie czy pojawił się sygnał INT zakończenie wykonywania bieżącego rozkazu sprawdzenie czy dopuszczalne jest przyjmowanie przerwań jeśli tak, to: ustalenie adresu procedury obsługi przerwania wywołanie procedury wykonanie procedury powrót z procedury
Przerwania INT µP urządzenie żądające obsługi wykrywacz sytuacji awaryjnych NMI sygnał zgłoszenia przerwania musi być z reguły utrzymywany dopóki nie zostanie otrzymany sygnał potwierdzenia przyjęcia przerwania mikroprocesory obsługują z reguły dwa rodzaje przerwań: maskowalne i niemaskowalne INTA
Przerwania Określanie adresu procedury obsługi przerwania adres początku procedury określony przez producenta układu (np. Z80 tryb 1, Intel 8051) adres pobierany z komórki pamięci o adresie określonym przez producenta (np. MC6800) wykonanie specjalnego cyklu odczytu instrukcji (np. 8080, Z80 tryb 0) wykonanie specjalnego cyklu odczytu danej – numeru przerwania
Przerwania - kontroler przerwań INT µP kontroler przerwań INTA RD WR D A z układów zewnętrznych mikrokontroler
Przerwania O kolejności obsługiwania przerwań decydują tzw. priorytety poziom priorytetu – określa czy żądanie obsługi od danego urządzenia jest ważniejsze, pilniejsze do obsłużenia od już obsługiwanego priorytet naturalny – określa, które z przerwań należy obsłużyć, jeżeli w jednej chwili zgłaszanych jest kilka przerwań o tym samym poziomie priorytetu jeśli w trakcie obsługiwania przerwania o danym poziomie priorytetu zgłaszne jest przerwanie o poziomie wyższym, to przerywana jest obsługa bieżącego przerwania i następuje przejście do wykonywania przerwania o poziomie wyższym
Przerwania Przed zakończeniem obsługi przerwania należy wysłać do kontrolera przerwań informację o zakończeniu obsługi. W mikrokontrolerach wystarczy z reguły na zakończenie procedury obsługi przerwań umieścić rozkaz RETI (IRET) zamiast RET