Przerwania, polling, timery - wykład 9

Podobne dokumenty
Metody obsługi zdarzeń

Mikroprocesor Operacje wejścia / wyjścia

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

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

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

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

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

Podstawy Informatyki Układ przerwań

XMEGA. Warsztaty CHIP Rok akademicki 2014/2015

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

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

Organizacja typowego mikroprocesora

Architektura systemów komputerowych. dr Artur Bartoszewski

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

Działanie systemu operacyjnego

MIKROPROCESORY architektura i programowanie

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Układy czasowo-licznikowe w systemach mikroprocesorowych

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

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

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

LABORATORIUM. TIMERY w mikrokontrolerach Atmega16-32

MIKROKONTROLERY I MIKROPROCESORY

Przerwania w systemie mikroprocesorowym

LABORATORIUM. TIMERY w mikrokontrolerach Atmega16-32

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

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

Działanie systemu operacyjnego

Architektura komputerów

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

Technika mikroprocesorowa I Wykład 2

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

Hardware mikrokontrolera X51

Działanie systemu operacyjnego

Układy sekwencyjne - wiadomości podstawowe - wykład 4

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

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

Działanie systemu operacyjnego

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

Instytut Teleinformatyki

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

Programowanie mikrokontrolerów. 5 grudnia 2007

Układy czasowo-licznikowe w systemach mikroprocesorowych

Architektura i administracja systemów operacyjnych

LEKCJA TEMAT: Zasada działania komputera.

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

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

PROGRAMOWALNE SYSTEMY MECHATRONIKI

Budowa systemów komputerowych

Architektura Systemów Komputerowych

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

MIKROPROCESORY architektura i programowanie

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wstęp Architektura... 13

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

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

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

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

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

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

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

SYSTEM PRZERWAŃ ATmega 32

Timery w mikrokontrolerach STM32F3

Mikrokontroler AVR ATmega32 - wykład 9

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:

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-"

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

4. Procesy pojęcia podstawowe

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

Prezentacja systemu RTLinux

ARCHITEKTURA PROCESORA,

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

Architektura komputerów. Układy wejścia-wyjścia komputera

Szkolenia specjalistyczne

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

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

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

Programowanie w językach asemblera i C

Architektura systemu komputerowego

Układy kombinacyjne - przypomnienie

2. Architektura mikrokontrolerów PIC16F8x... 13

Wybrane zagadnienia elektroniki współczesnej

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

WPROWADZENIE Mikrosterownik mikrokontrolery

Układy czasowo-licznikowe w systemach 80x86

dwójkę liczącą Licznikiem Podział liczników:

Struktura systemów komputerowych

Technika mikroprocesorowa. Linia rozwojowa procesorów firmy Intel w latach

Architektura komputera

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

Technika Mikroprocesorowa II Wykład 1

2. PORTY WEJŚCIA/WYJŚCIA (I/O)

Dokumentacja sterownika mikroprocesorowego "MIKSTER MCC 026"

Wykład 2. Przegląd mikrokontrolerów 8-bit: -AVR -PIC

Instytut Teleinformatyki

Sterownik nagrzewnic elektrycznych HE module

UTK Można stwierdzić, że wszystkie działania i operacje zachodzące w systemie są sterowane bądź inicjowane przez mikroprocesor.

Transkrypt:

SWB - Przerwania, polling, timery - wykład 9 asz 1 Przerwania, polling, timery - wykład 9 Adam Szmigielski aszmigie@pjwstk.edu.pl

SWB - Przerwania, polling, timery - wykład 9 asz 2 Metody obsługi zdarzeń Przerwanie (ang. Interrupt) - zmiana sterowania, niezależnie od aktualnie wykonywanego programu, spowodowana pojawieniem się sygnału przewania. 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 9 asz 3 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 9 asz 4 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 9 asz 5 Wektory przerwań Adres procedury obsługi przerwania jest zapisany w tablicy wektorów przerwań, Przechowuje ona adresy poszczególnych procedur obsługi przerwań,

SWB - Przerwania, polling, timery - wykład 9 asz 6 Wektory przerwań dlaµc Atmel ATMega32 Dokładniejsze informacje w dokumentacji.

SWB - Przerwania, polling, timery - wykład 9 asz 7 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) umieszcza kod wywołujący odpowiednie funkcje systemowe w zależności od zawartości rejestrów ustawionych przez program wywołujący.

SWB - Przerwania, polling, timery - wykład 9 asz 8 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 9 asz 9 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 9 asz 10 Procedura obsługi przerwania Składowanie na stosie rejestrów roboczych, Rozpoznanie przyczyny przerwania, Skasowanie przyczyny przerwania, Dodatkowa obróbka informacji, Odtworzenie rejestrów roboczych ze stosu, Odblokowanie przerwań, Powrót do zawieszonego programu.

SWB - Przerwania, polling, timery - wykład 9 asz 11 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 9 asz 12 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 9 asz 13 Sprzętowa realizacja hierarchii przerwań sprzętowo - przez wybór odpowiednie kontrolery

SWB - Przerwania, polling, timery - wykład 9 asz 14 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 9 asz 15 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 9 asz 16 Jednopoziomowy 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, Może być stosowany przy niewielkiej liczbie źródeł przerwań.

SWB - Przerwania, polling, timery - wykład 9 asz 17 Jednopoziomowy 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), System stosowany przy niewielkiej liczbie źródeł przerwań.

SWB - Przerwania, polling, timery - wykład 9 asz 18 Wielopoziomowy bez priorytetów Każde przerwanie jest natychmiast obsługiwane, Proces obsługi dowolnego przerwania może zostać zawieszony przez procedury obsługi pozostałych przerwań, System bardzo rzadko stosowany.

SWB - Przerwania, polling, timery - wykład 9 asz 19 Wielopoziomowy z priorytetami Przerwania o niskich priorytetach dłużej czekają na obsługę, Można przyśpieszyć obsługę ważniejszych przerwań. System zalecany przy większej liczbie źródeł przerwań.

SWB - Przerwania, polling, timery - wykład 9 asz 20 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 9 asz 21 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 9 asz 22 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 9 asz 23 Timer0 wµc Atmel ATMega32 - schemat blokowy

SWB - Przerwania, polling, timery - wykład 9 asz 24 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 wektora przerwań danego przerwania, 4. Uruchomienie wszystkich przerwań (rejestr ) oraz przerwań timera (rejestr Timer/Counter Interrupt Mask Register), 5. Wystartowanie timera 6. Obsługa przerwań.

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