Metody obsługi zdarzeń



Podobne dokumenty
Przerwania, polling, timery - wykład 9

Mikroprocesor Operacje wejścia / wyjścia

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Mechanizm przerwań i menadżer zdarzeń procesora sygnałowego F/C240

Przerwania w systemie mikroprocesorowym. Obsługa urządzeo wejścia/wyjścia

PRZERWANIA. 1. Obsługa zdarzeń, odpytywanie i przerwania Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego.

Mikroprocesory i Mikrosterowniki Liczniki Timer Counter T/C0, T/C1, T/C2

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

PRZERWANIA. P1 - Procedura obslugi przerwania. Obsługa zdarzenia Z1 poprzez procedurę obsługi przerwania P1

Podstawy techniki cyfrowej Układy wejścia-wyjścia. mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

Organizacja typowego mikroprocesora

XMEGA. Warsztaty CHIP Rok akademicki 2014/2015

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

Podstawy Informatyki Układ przerwań

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

LABORATORIUM. TIMERY w mikrokontrolerach Atmega16-32

LABORATORIUM. TIMERY w mikrokontrolerach Atmega16-32

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

Układy czasowo-licznikowe w systemach mikroprocesorowych

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Uproszczony schemat blokowy zespołu 8-bitowego timera przedstawiono na rys.1

Architektura systemów komputerowych. dr Artur Bartoszewski

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

Programowanie mikrokontrolerów. 5 grudnia 2007

Instytut Teleinformatyki

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania. Sterowniki Urządzeń Mechatronicznych laboratorium. Ćw. 3: Timer v1.0

Przerwania w systemie mikroprocesorowym

Część I - Sterownik przerwań 8259A i zegar/licznik 8253

ad a) Konfiguracja licznika T1 Niech nasz program składa się z dwóch fragmentów kodu: inicjacja licznika T1 pętla główna

Technika mikroprocesorowa I Wykład 2

MIKROKONTROLERY I MIKROPROCESORY

Wykład IV. Układy we/wy. Studia Podyplomowe INFORMATYKA Architektura komputerów

Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)

Wbudowane układy peryferyjne cz. 2 Wykład 8

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt

Szkolenia specjalistyczne

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Wydział Elektryczny. Katedra Telekomunikacji i Aparatury Elektronicznej. Konstrukcje i Technologie w Aparaturze Elektronicznej.

Działanie systemu operacyjnego

Timery w mikrokontrolerach STM32F3

PROGRAMOWALNE SYSTEMY MECHATRONIKI

SYSTEM PRZERWAŃ ATmega 32

MIKROPROCESORY architektura i programowanie

Wyłącznik czasowy GAO EMT757

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

Układy czasowo-licznikowe w systemach mikroprocesorowych

MIKROPROCESORY architektura i programowanie

Hardware mikrokontrolera X51

Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop Spis treści

Architektura komputerów

Linux: Procesy. Systemy Operacyjne. Mateusz Hołenko. 26 marca 2013

Układy czasowo-licznikowe w systemach 80x86

równoległe (w wersji 4-, 8- i 16-bitowej). Same wyświetlacze ze względu na budowę i możliwości możemy podzielić na dwie grupy:

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Architektura Systemów Komputerowych. Bezpośredni dostęp do pamięci Realizacja zależności czasowych

Wstęp Architektura... 13

Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika

Układy kombinacyjne - przypomnienie

Kurs Zaawansowany S7. Spis treści. Dzień 1

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

2. Architektura mikrokontrolerów PIC16F8x... 13

Dokumentacja sterownika mikroprocesorowego "MIKSTER MCC 026"

Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów

PC 3 PC^ TIMER IN RESET PC5 TIMER OUT. c 3. L 5 c.* Cl* 10/H CE RO WR ALE ADO AD1 AD2 AD3 AD4 A05 A06 LTJ CO H 17 AD7 U C-"

3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8

4. Procesy pojęcia podstawowe

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1

ĆWICZENIE 7. Wprowadzenie do funkcji specjalnych sterownika LOGO!

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

Działanie systemu operacyjnego

Podstawy techniki cyfrowej i mikroprocesorowej II. Urządzenia wejścia-wyjścia

Instytut Teleinformatyki

(Rysunek z książki T.Starecki. Mikokontrolery jednoukładowe rodziny 51. NOZOMI W-wa 1996)

Instytut Teleinformatyki

SYSTEM PRZERWA Ń MCS 51

Uproszczony schemat blokowy konwertera analogowo-cyfrowego przedstawiony został na rys.1.

PROGRAM TESTOWY LCWIN.EXE OPIS DZIAŁANIA I INSTRUKCJA UŻYTKOWNIKA

Mikrokontroler AVR ATmega32 - wykład 9

Programowanie mikrokontrolerów. 3 stycznia 2008

Architektura Systemów Komputerowych

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Przetwornik ADC procesora sygnałowego F/C240 i DAC C240 EVM

Architektura i administracja systemów operacyjnych

LEKCJA TEMAT: Zasada działania komputera.

Opis ultradźwiękowego generatora mocy UG-500

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Omega Plus. Wersja

Technika Mikroprocesorowa II Wykład 1

Wybrane zagadnienia elektroniki współczesnej

Kurs Elektroniki. Część 5 - Mikrokontrolery. 1/26

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

Techniki mikroprocesorowe i systemy wbudowane

Prezentacja systemu RTLinux

WPROWADZENIE Mikrosterownik mikrokontrolery

Programowanie mikrokontrolerów. 8 listopada 2007

2.1 Porównanie procesorów

Działanie systemu operacyjnego

Budowa systemów komputerowych

Instrukcja Obsługi. Przeczytaj uważnie przed użyciem

Transkrypt:

SWB - Przerwania, polling, timery - wykład 10 asz 1 Metody obsługi zdarzeń Przerwanie (ang. Interrupt) - zmiana sterowania, niezależnie od aktualnie wykonywanego programu, spowodowana pojawieniem się sygnału przerwania. Pojawienie się przerwania powoduje wstrzymanie aktualnie wykonywanego programu i wykonanie przez kontroler procedury obsługi przerwania. Zapytywanie (ang. Polling) - aktywne, okresowe, próbkowanie (sprawdzanie) statusu urządzeń zewnętrznych przez kontroler.

SWB - Przerwania, polling, timery - wykład 10 asz 2 Zapytywanie (ang. Polling) Technika polling jest najczęściej używana w kontekście obsługi urządzeń wejścia/ wyjścia, W polling-u komputer centralny cyklicznie sprawdza stan urządzenia zewnętrznego w oczekiwaniu na gotowość tego urządzenia - czeka na gotowość, Polling znajduje zastosowanie w sytuacjach, gdy komputer łączy się z zewnętrznymi urządzeniami w celu zebrania (odświeżenia) danych, przy czym współpraca ta odbywa się w trybie off-line, Polling może być wykorzystany do wymiany informacji z urządzeniami zewnętrznymi, w sytuacji gdy z jakiś względów urządzenia te nie mogą rozpocząć komunikacji, W systemach obsługujących jedno zadanie polling może również mieć zastosowanie. Większość czasu procesora byłaby wówczas tracona na sprawdzanie gotowości urządzenia, W systemach, które wymagają wykonania wielu zadań polling jest mało efektywny w stosunku do przerwań.

SWB - Przerwania, polling, timery - wykład 10 asz 3 Rodzaje przerwań 1. Sprzętowe: Zewnętrzne sygnał przerwania pochodzi z zewnętrznego źródła. Przerwania te służą do komunikacji z urządzeniami zewnętrznymi. Wewnętrzne - pochodzące od timera Wewnętrzne wyjatki - (ang. exceptions) zgłaszane przez procesor dla sygnalizowania sytuacji wyjątkowych (np. dzielenie przez zero) 2. Programowe: z kodu programu wywoływana jest procedura obsługi przerwania (do komunikacji z systemem operacyjnym).

SWB - Przerwania, polling, timery - wykład 10 asz 4 Wektory przerwań Wektor przerwań jest adresem początku obsługi przerwania, Wektor przerwań, w momencie wystąpienia przerwania, wpisywany jest do licznika rozkazów - rejestr PC, a zawartość rejestru PC jest kładziona na stos, Adresy procedur obsługi przerwań zapisane są w tablicy wektorów przerwań, Przechowuje ona adresy poszczególnych procedur obsługi przerwań,

SWB - Przerwania, polling, timery - wykład 10 asz 5 Tablica wektorów przerwań dlaµc Atmel ATMega32 Dokładniejsze informacje w dokumentacji.

SWB - Przerwania, polling, timery - wykład 10 asz 6 Przerwania programowe Z kodu programu wywoływana jest procedura obsługi przerwania, Najczęściej wykorzystywane do komunikacji z systemem operacyjnym, który w procedurze obsługi przerwania (np. w DOS 21h)

SWB - Przerwania, polling, timery - wykład 10 asz 7 Przerwania maskowalne i niemaskowalne Przerwania maskowalne które można blokować i odblokować programowo, Przerwania niemaskowalne - przerwania, których nie można zablokowć programowo. Są to przerwania, których wystąpienie każdorazowo powoduje bezwarunkowy skok do funkcji obsługi tego przerwania, np. reset

SWB - Przerwania, polling, timery - wykład 10 asz 8 Obsługa przerwania Procedura obsługi przerwania - ciąg rozkazów realizujących pożądaną reakcję na przerwanie, Program główny - sekwencja działań (rozkazów) mikroprocesora realizowanych gdy nie ma przerwań, Obsługa przerwania nie może wprowadzać żadnych zmian w programie głównym.

SWB - Przerwania, polling, timery - wykład 10 asz 9 Procedura obsługi przerwania 1. Rozpoznanie przyczyny przerwania (realizacja może być sprzętowa), 2. Skasowanie przyczyny przerwania (realizacja może być sprzętowa), 3. Zablokowanie przerwania, 4. Składowanie na stosie rejestrów roboczych, 5. Właściwa obsługa przerwania, 6. Odtworzenie rejestrów roboczych ze stosu, 7. Odblokowanie przerwania, 8. Powrót do zawieszonego programu.

SWB - Przerwania, polling, timery - wykład 10 asz 10 Stos W momencie wywołania przerwania adres odkładany jest na stos, Wskaźnik stosu powinien być ustawiony na miejsce gdzie znajduje się stos.

SWB - Przerwania, polling, timery - wykład 10 asz 11 Priorytet przerwań Priorytet przerwań - zróżnicowanie co do ważności (pilności) zadań realizowanych przez system mikroprocesorowy, W szczególności zadaniami tymi mogą być procedury obsługi przerwań różnicując ich pilność dokonuje się określenia priorytetów poszczególnych przerwań, W przypadku AVR system obsługi przerwań jest płaski (brak hierarchii). Wszystkie przerwania są jednakowo ważne.

SWB - Przerwania, polling, timery - wykład 10 asz 12 Sprzętowa realizacja hierarchii przerwań sprzętowo - o wyborze przerwania decyduje kontroler przerwań.

SWB - Przerwania, polling, timery - wykład 10 asz 13 Programowa realizacja hierarchii przerwań programowo - poprzez wspólną procedurę obsługi przerwań. Jest on arbitrem systemu przerwań (rozpoznaje źródła aktualnych przerwań i decyduje o kolejności ich obsługi)

SWB - Przerwania, polling, timery - wykład 10 asz 14 Asynchroniczność przerwań Przerwania z różnych źródeł pojawiają się w dowolnych, niezależnych od siebie, chwilach czasu, z punktu widzenie procesora przerwania1i3wystąpiły jednocześnie.

SWB - Przerwania, polling, timery - wykład 10 asz 15 System przerwań bez priorytetów Opóźnienia{ t 2, t 3 } w reakcji na obsługę przerwań, Możliwość zgubienia przerwania podczas tych opóźnień, Maksymalny czas oczekiwania na obsługę przerwania może być równy sumie czasów obsługi pozostałych przerwań w systemie,

SWB - Przerwania, polling, timery - wykład 10 asz 16 System przerwań z priorytetami Istnieje hierarchia ważności przerwań, Opóźnienia{ t 1, t 2 } w reakcji na obsługę przerwań, Przerwania o niższych priorytetach mogą dłużej czekać na obsługę (w skrajnych przypadkach mogą być nie obsłużone),

SWB - Przerwania, polling, timery - wykład 10 asz 17 Rodzaje przerwań Przerwania zegarowe - odmierzanie czasu, Przerwania od urządzeń zewnętrznych - nieregularne, Przerwania od układów kontrolujących pracę systemu - o najwyższym priorytecie. Sygnalizują stan pracy jak zanik zasilania, błąd/wyjątek procesora, inne

SWB - Przerwania, polling, timery - wykład 10 asz 18 Liczniki i timery Timery są to liczniki służące do odmierzania okresów czasu, Częstotliwość pracy licznika jest określana poprzez podział częstotliwości zegara, Timery (liczniki) mogą mieć różną długość - zazwyczaj8albo16 bitów, Przerwanie od timera generowane jest w momencie przepełnienia licznika.

SWB - Przerwania, polling, timery - wykład 10 asz 19 Timer0 wµc Atmel ATMega32 Licznik pojedynczy, Automatyczne zerowanie (Auto Reload), Generator Pulse Width Modulator (PWM), generator częstotliwości, Licznik zdarzeń zewnętrznych, 10-bitowy prescaler, Przepełnienie (TOV0 and OCF0).

SWB - Przerwania, polling, timery - wykład 10 asz 20 Timer0 wµc Atmel ATMega32 - schemat blokowy

SWB - Przerwania, polling, timery - wykład 10 asz 21 Uruchomienie timera0 i timera1 1. Ustawienie trybów pracy timera. Normalny tryb pracy jest domyślny. Pozostałe tryby omówione będą na następnych wykładach. 2. Ustawienie prescalera określenie częstotliwości pracy zegra licznika w oparciu o zegar systemowy. Dostępne dzielniki to N ={1, 8, 64, 256, 1024} - tyle razy można zmiejszyć częstotliwość zegara systemowego, 3. Ustawienie etykiety wektora przerwań danego przerwania, 4. Uruchomienie wszystkich przerwań oraz przerwań timera (rejestr Timer/Counter Interrupt Mask Register), 5. Wystartowanie timera 6. Obsługa przerwań.

SWB - Przerwania, polling, timery - wykład 10 asz 22 Struktura programu obsługi przerwań (Bascom-AVR)

SWB - Przerwania, polling, timery - wykład 10 asz 23 Zadania na ćwiczenia Wszystkie zadania należy wykonać w środowisku BASCOM-AVR 1. Wykorzystując przerwanie int0 zrealizuj system, który zlicza wciśnięcia przycisku i wyświetla wynik. 2. Posługując się timerem pracującym w normalnym trybie zrealizuj generator o częstotliwościf=... i współczynniku wypełnienia ω=... podanych przez prowadzącego. Po naciśnięciu przycisku generowana częstotliwość powinna zwiększać się o10%, 3. O ile to możliwe, zrealizuj zadanie z punktu 2 na rzeczywistym układzie.