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



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

Mikroprocesor Operacje wejścia / wyjścia

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

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

Metody obsługi zdarzeń

Hardware mikrokontrolera X51

Przerwania, polling, timery - wykład 9

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

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

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

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

Architektura komputerów

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

2. Architektura mikrokontrolerów PIC16F8x... 13

Sygnały DRQ i DACK jednego kanału zostały użyte do połączenia kaskadowego obydwu sterownikó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-"

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

Organizacja typowego mikroprocesora

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

Programowanie w językach asemblera i C

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

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

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

J. Ułasiewicz Komputerowe systemy sterowania 1. 1 Architektura PC Ogólna struktura systemu jednoprocesorowego

Technika mikroprocesorowa I Wykład 2

Układy czasowo-licznikowe w systemach mikroprocesorowych

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

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

Podstawy Informatyki Układ przerwań

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

Budowa systemów komputerowych

MIKROPROCESORY architektura i programowanie

LEKCJA TEMAT: Zasada działania komputera.

Architektura komputera

Mikroprocesor Intel 8088 (8086)

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

XMEGA. Warsztaty CHIP Rok akademicki 2014/2015

MIKROPROCESORY architektura i programowanie

Konfigurator Modbus. Instrukcja obsługi programu Konfigurator Modbus. wyprodukowano dla

Komunikacja w mikrokontrolerach Laboratorium

Logiczny model komputera i działanie procesora. Część 1.

Działanie i charakterystyka sterownika GE FANUC VersaMaxNano

Prezentacja systemu RTLinux

Układy czasowo-licznikowe w systemach 80x86

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Wstęp Architektura... 13

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

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

CompactPCI. PCI Industrial Computers Manufacturers Group (PICMG)

Programowanie mikrokontrolerów. 3 stycznia 2008

ĆWICZENIE 7. Wprowadzenie do funkcji specjalnych sterownika LOGO!

Architektura komputerów

Architektura systemów komputerowych. dr Artur Bartoszewski

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

Technika Mikroprocesorowa II Wykład 1

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

Programowanie mikrokontrolerów. 8 listopada 2007

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

(57) Tester dynamiczny współpracujący z jednej strony (13) B1 (12) OPIS PATENTOWY (19) PL (11) PL B1. (54) Tester dynamiczny

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

INSTRUKCJA OBSŁUGI. Przekaźnik czasowy ETM ELEKTROTECH Dzierżoniów. 1. Zastosowanie

1. Cel ćwiczenia. Celem ćwiczenia jest zestawienie połączenia pomiędzy dwoma sterownikami PLC za pomocą protokołu Modbus RTU.

Działanie systemu operacyjnego

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

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

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Dotyczy jednostek operacyjnych i ich połączeń stanowiących realizację specyfikacji typu architektury

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka

1. Cel ćwiczenia. 2. Podłączenia urządzeń zewnętrznych w sterowniku VersaMax Micro

Licznik rewersyjny MD100 rev. 2.48

ARCHITEKTURA PROCESORA,

Modułowy programowalny przekaźnik czasowy firmy Aniro.

Układy wejścia/wyjścia

Obługa czujników do robota śledzącego linie. Michał Wendland czerwca 2011

Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe

Sterowniki programowalne

PROGRAMOWALNE SYSTEMY MECHATRONIKI

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

Państwowa Wyższa Szkoła Zawodowa

LICZNIKI PODZIAŁ I PARAMETRY

PRZERZUTNIKI: 1. Należą do grupy bloków sekwencyjnych, 2. podstawowe układy pamiętające

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

Działanie systemu operacyjnego

WEJŚCIE W TRYB PROGRAMOWANIA

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

Programowany układ czasowy

Sterowniki programowalne. System GE Fanuc serii Zasady działania systemu (część I)

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

Mikroinformatyka. Wielozadaniowość

Pomoc dla użytkowników systemu asix 6. Strategia buforowa

dr inż. Jarosław Forenc

Odczyt zegara ze sterownika do panelu serii TIU z możliwością korekty ustawień zegara w sterowniku

Wstęp: Interfejs portu równoległego 6821 i portu szeregowego 6850 firmy Motorola

Układy czasowo-licznikowe w systemach mikroprocesorowych

Instrukcja do ćwiczenia : Matryca komutacyjna

asix5 Podręcznik użytkownika Strategia buforowa

Podstawy Informatyki Układ sterujący

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

Wbudowane układy komunikacyjne cz. 1 Wykład 10

Transkrypt:

Programowanie na poziome sprzętu opracowanie pytań Część I - Sterownik przerwań 8259A i zegar/licznik 8253 Autor opracowania: Marcin Skiba cines91@gmail.com

1. Jakie są dwie podstawowe metody obsługi urządzeń zewnętrznych i na czym one polegają? Metoda przeglądania (ciągłe odpytywanie urządzeń w celu sprawdzenia czy nie potrzebują one obsługi) i metoda przerwań (procesor nie odpytuje urządzeń tylko sam zostaje powiadamiany o potrzebie obsługi jakiegoś urządzenia). Metoda przerwań jest wydajniejsza od metody przeglądania. 2. Jakimi wejściami przerywającymi dysponują procesory z rodziny IA i czym się one różnią? INTR (maskowalna) i NMI (niemaskowalne). Różnica polega na tym, że przerwania zgłaszane na wejście INTR mogą być ingnorowane (jeżeli flaga IF jest ustawiona na 0). Przerwania zgłaszane na wejście NMI nie mogą być ignorowane, żadna flaga nie ma na to wpływu. 3. Do czego służy programowalny sterownik przerwań i jakie są korzyści płynące z jego zastosowania? Przyjmuje zgłoszenia przerwań od podłączonych do niego urządzeń i w razie potrzeby zgłasza do procesora konieczność obsługi przerwania zgłoszonego przez dane urządzenie. Zastosowanie sterownika pozwala obsługiwać większą ilość urządzeń, ustawiać priorytety i ogólnie odciąża procesor; niezależne blokowanie wejść od poszczególnych urządzeń, a nie tylko całego systemu przerwań jednocześnie. 4. Jak zbudowany jest układ kaskadowy sterowników i na czym polegają jego zalety? Standardowo jest to połączenie dwóch sterowników przerwań. Wyróżniamy sterownik nadrzędny (Master) i podrzędny (Slave), który jest podłączony do wejścia IR2 sterownika nadrzędnego. Konfiguracja ta i ilość sterowników podrzędnych może być inna. Przerwania zgłaszane na wejścia sterownika podrzędnego są zgłaszane przez ten sterownik do sterownika nadrzędnego, a ten w razie potrzeby zgłasza potrzebę obsługi przerwania do procesora. Zastosowanie układu kaskadowego pozwala na obsłużenie większej ilości urządzeń (maksymalnie 64). 5. Czym są kanały IRQ i jak są numerowane? Linia sygnałowa za pomocą której urządzenie połączone jest ze sterownikiem przerwań (a konkretnie z wejściem przerywającym). Przerwania zgłaszane są właśnie poprzez kanały IRQ. Numeracja: najpierw po kolei numery dostaje sterownik nadrzędny (numery pokrywają się z numerami wejść przerywających), a potem kolejne numery wg tej samej zasady zostają przyporządkowane kolejnym sterownikom podrzędnym). 6. Jakie zadania w systemie komputerowym realizowane są przez sterownik przerwań 8259A? Przyjmuje i rejestruje zgłoszenia przerwań z urządzeń zewnętrznych systemu, ustala kolejność ich obsługi a następnie inicjuje obsługę realizowaną przez procesor. 7. Jaką rolę pełnią rejestry IRR, ISR i IMR oraz układ priorytetu w sterowniku przerwań 8259A? IRR przyjmuje i zapisuje napływające zgłoszenia, IMR rejestr maski, odpowiada za maskowanie odpowiednich wejść IRi (1 maskowanie), ISR rejestr obsługiwanych przerwań. Mówi o tym czy dane przerwanie jest aktualnie obsługiwanie, Układ Priorytetu odpowiada za wybór zgłoszenia o największym priorytecie i przekazanie go do obsługi. 8. Na czym polega maskowanie wejść przyjmowania zgłoszeń i jak jest ono dokonywane? Przerwania zgłaszane na danym, zamaskowanym, wejściu nie są zgłaszane do obsługi. Przerwania zgłoszone przed zamaskowaniem zostaną normalnie obsłużone. Maskowanie jest możliwe poprzez wysłanie do sterownika słowa maski, które ustawi interesujące nas bity rejestru ISR na 1, jeżeli chcemy zamaskować dane wejśćie IRi, lub 0 w przeciwnym przypadku. 9. Z jakiego powodu stosowane są priorytety przerwań i jaki mogą mieć one charakter? Potrzeba obsługi przerwań zgłaszanych przez niektóre urządzenia jest dużo większa niż innych (np. obsługa przerwania generowanego przez zegar systemowy jest ważniejsza niż obsługa przerwania klawiatury). Stąd też wynika potrzeba zastosowania priorytetów przerwań. Charakter: stały i zmienny. 10. Jak inicjalizowane są wartości priorytetów poszczególnych wejść przerywających sterownika 8259A? Wejście IR0 dostaje priorytet najwyższy (0), IR1 dostaje 1, itd...

11. Na czym polega cykliczna rotacja priorytetów, kiedy istnieją szczególne przesłanki do jej stosowania i czym różnią się jej dwie odmiany? Wybrane wejście dostaje priorytet najniższy, a reszta priorytetów jest relatywnie taka sama jak w przypadku inicjalizacji. Mamy rotację określoną (wejście o najniższym priorytecie jest jawnie wskazywane) oraz automatyczną (najniższy priorytet dostaje wejście o dotychczas najwyższym priorytecie). Należy stosować gdy chcemy mniej więcej wyrównać średnie wartości priorytetów w czasie. 12. Jak przebiega inicjowanie obsługi zgłoszonego przerwania? Sterownik przerwań generuje sygnał zgłoszenia przerwania INT=1. Procesor wykrywa ten sygnał i po zakończeniu wykonywanego rozkazu wysyła do sterownika impuls potwierdzenia przerwania ~INTA. W odpowiedzi sterownik 8259A ustawia odpowiedni bit rejestru obsługiwanych przerwań ISR, zeruje odpowiedni bit rejestru zgłoszeń przerwań IRR i nie wysterowuje w tym cyklu magistrali danych. Procesor generuje drugi impuls ~INTA, w trakcie trwania którego sterownik wysyła na magistralę danych 8-bitowy numer identyfikujący procedurę obsługi zgłoszenia, pobierany następnie przez procesor; tym samym inicjowana jest obsługa nowego zgłoszenia. 13. Jakie istnieją sposoby poinformowania sterownika o zakończeniu obsługi przerwania oraz jakie konsekwencje niesie brak takiej informacji? Automatyczne, gdy w systemie jest tylko jeden sterownik i nie ma zagnieżdżenia przerwań. Jawne poprzez wysłanie zlecenia EOI (Specyficznego, gdy chcemy w rejestrze ISR wyzerować konkretny bit oraz niespecyficznego, gdy w rejestrze ISR ma być wyzerowany bit odpowiadający przerwaniu o najwyższym priorytecie). Jeżeli nie zrobimy tego to sterownik nie będzie kwalifikował do obsługi nowych zgłoszeń o priorytetach nie większych niż przerwanie, którego bit zapomnieliśmy wyzerować. 14. Jakie są tryby pracy sterownika przerwań 8259A i czym się one charakteryzują? Tryb pełnego zagnieżdżania przerwań. Specjalny tryb pełnego zagnieżdżania przerwań to co wyżej z dwoma różnicami: możliwe jest zakwalifikowanie do obsługi więcej niż jednego zgłoszenia podanego na sterownik podrzędny (zależnie od priorytetów). Po drugie trzeba sprawdzać ile zgłoszeń zostało przyjętych na sterownik podrzędny. Jeżeli dokładnie jedno sprawa ma się jak wyżej. Jeżeli więcej to zerujemy tylko jeden bit ISR sterownika podrzędnego. Maskowanie specjalne obsługiwanego zgłoszenia przy obsłudze przerwania inne zgłoszenia pochodzące z tego samego wejścia IR nie są obsługiwane (maskowanie). Dodatkowo przy zgłoszeniu przerwania na dowolne, inne, wejście sterownika, jest ono automatycznie przekazywane do obsługi (niezależnie od priorytetu). Przeglądanie - procesor sam odpytuje sterownik przerwań, czy pojawiły się nowe zgłoszenia. 15. Która struktura umożliwia ustalenie kolejności zgłoszeń przerwań już przyjętych do obsługi? Układ priorytetu. 16. Jaki jest ogólny podział słów rozkazowych programujących sterownik przerwań 8259A i kiedy są one stosowane? Inicjalizujące używane przed podjęciem przez sterownik jakichkolwiek działań. Operacyjne używane w dowolnej chwili po zakończeniu inicjalizacji sterownika. 17. Na jakie kategorie dzielone są przerwania? Sprzętowe maskowalne (INTR) i niemaskowalne (NMI) standardowe przerwania. Programowe generowane za pomocą instrukcji INT. Wyjątki generowane przez procesor w momencie wykrycia określone sytuacji, najczęściej krytycznej.

18. W jaki sposób procesor otrzymuje informacje o numerze wywoływanego przerwania? Niemaskowalne zawsze 02h Maskowalne podawane przez sterownik poprzez magistralę danych prosto do procesora. Programowe podawane jako argument instrukcji INT. Wyjątki mają z góry przyporządkowane numery. 19. Jaki czynności zostają wykonane przez procesor podczas wywoływania procedury obsługi zgłoszonego przerwania? Odłożenie na stos rejestru znaczników; Wyzerowanie flagi zezwolenia na przerwania IF tym samym zablokowanie przyjmowania kolejnych zgłoszeń przerwań podawanych na wejście INTR; Wyzerowanie flagi pułapki TF w konsekwencji uniemożliwienie realizacji pracy krokowej ewentualnie uruchomionym debuggerom na czas wykonywania procedury obsługi zgłoszonego przerwania; odłożenie na stos bieżącej zawartości dwóch rejestrów: najpierw CS, potem IP czyli odłożenie adresu następnej instrukcji do wykonania w ramach aktualnie realizowanego programu; załadowanie do rejestrów CS:IP adresu procedury obsługi zgłoszonego przerwania tym samym rozpoczęcie jej wykonywania. 20. Co to jest tablica wektorów przerwań, jak wygląda, gdzie się znajduje i do czego służy? Tablica umieszczona w pierwszym kilobajcie pamięci operacyjnej. Zawiera 256 czterobajtowych wpisów, każdy zawiera adres procedury obsługi danego przerwania (o numerach od 0 do 255). Z tablicy tej procesor pobiera daleki adres procedury obsługi przerwania, które musi aktualnie obsłużyć. 21. Co oznacza przejęcie przerwania? Podmiana procedury obsługi jakiegoś przerwania. Polega na nadpisaniu wektora przerwania, które nas interesuje. 22. Jakie zasady muszą zostać spełnione przez programy przejmujące jedno lub więcej przerwań? Programy te muszą zapamiętywać oryginalne wektory przerwań i po zakończeniu pracy przywracać je. 23. Jakie zasady muszą zostać spełnione przez procedury obsługi przerwań? Zachowanie wartości wszystkich rejestrów (poza znacznikami to jest zapewnione). Ustawienie IF na 1 (przyjmowanie kolejnych zgłoszeń przerwań). Wywoływanie oryginalnej procedury obsługi przerwania. Gdy oryginalna procedura nie jest wywoływana wysłanie zlecenia EOI do procesora. Nie można korzystać z instrukcji systemowych! (INT 21h) 24. Do czego służą programowalne zegary przyrostowe i jakie są korzyści płynące z ich zastosowania? Zwalniają procesor z działań związanych z pomiarem czasu przez co znacznie go odciążają. Służą do odmierzania czasu w celu umożliwienia podejmowania czynności trwających określoną ilość czasu w dokładnie określonym momencie (generują przerwanie zegarowe). 25. Jakie zadania realizowane są przez zegar/licznik 8253? Odmierzanie czasu. Zliczanie impulsów zewnętrznych. Generowanie impulsów o określonym czasie trwania lub przebiegów o określonej częstotliwości. 26. Jaką rolę pełnią wejścia i wyjścia liczników rewersyjnych? Wejście CLK wejście taktujące na które podawany jest sygnał zmniejszający wartość licznika. Maksymalna częstotliwość 2.6MHz. Wejście GATE bramujące pozwalające na uruchomienie, zatrzymanie lub zresetowanie zegara. Wyjście OUT pojawia się sygnał powiadamiający o osiągnięciu przez licznik określonej wartości.

27. Jakie są tryby pracy liczników układu 8253? Tryb 0 zliczanie impulsów. Tryb 1 programowalny uniwibrator. Tryb 2 programowalny dzielnik częstotliwości. Tryb 3 - generator fali prostokątnej. Tryb 4 generator pojedynczego impulsu wyzwalany programowo. Tryb 5 generator pojedynczego impulsu wyzwalany zewnętrznie. 28. Na czym polega programowanie układu 8253? Programujemy tylko te liczniki, które chcemy wykorzystać niezależnie od siebie. Podczas pracy liczniki możemy dowolnie przeprogramować. Po pierwsze zapisujemy odpowiednie słowo sterujące do rejestru słowa sterowania, a następnie zapisujemy wartość początkową do wybranego licznika. Jeżeli nie chcemy zmieniać trybu pracy to w trakcie pracy licznika możemy tylko zmienić jego wartość początkową. Z liczników możemy czytać tak samo jak je programujemy. 29. Jakie zasady muszą zostać spełnione podczas programowania układu 8253? Układ ten ma szynę danych 8-bitową, więc w momencie pracy trzeba najpierw wysłać młodszy bajt, a potem starszy. Wartość licznika odczytywana jest z zewnętrznego bufora danych który zawsze przechowuje aktualny stan licznika. Aby cokolwiek odczytać trzeba najpierw zatrzymać licznik. Innym sposobem jest wysłanie odpowiedniego słowa sterującego, które 'zamraża' stan licznika aż do następnej operacji odczytu. Należy zadbać o to, aby w trakcie programowania licznika nie została wywołana żadna, poboczna procedura (chodzi tutaj głównie o procedury obsługi przerwań). 30. Do czego służą poszczególne liczniki układu 8253 w komputerach osobistych? Licznik 0 odmierzanie czasu systemowego. Licznik 1 sterowanie odświeżaniem pamięci RAM. Licznik 2 generowanie tonów za pomocą głośnika komputerowego.