Projekt i implementacja systemu obsługi kart chipowych

Podobne dokumenty

ń Ż Ę Ę ń

Ę Ź Ż Ż ć ć ć ć ć


Ą Ę Ń Ś Ą

Ź ź Ź ń ń ń ń

Ć

ść ś ść Ę ś ś ść ś ź ś Ę


ć ć Ń Ę

ń Ń Ś ń ź ź ć ź ć ć Ę ć ń ń ń Ę Ą ŚÓ

ż

ć ż Ą ż ż ż ż ż ż ż Ę Ę

Ź Ź ź Ś Ą Ź ć Ś

Ż Ź Ż ż Ś Ś Ź Ż Ż Ż Ż Ż ć ć Ż


Ś Ń ć Ę Ą Ę Ś Ń Ó

Ą Ę Ń Ą ń Ń ń ń Ą ń

Ś ć ź ź Ę ź ź Ę Ę Ą Ś Ę Ś Ę ź Ę Ś Ś Ę Ś Ś Ł Ś

Ć ź Ś Ż ź Ę Ś


Ą Ś Ń Ś Ą Ś Ń


Ł ź Ń

ń ń ń ń ń Ż ć Ż Ł Ż Ł Ś ć ń Ś Ę Ż ć ń Ż Ż Ż Ą Ż Ż Ł Ż Ś


ż ń Ł ń ń ż ż ż ż ż

ć Ę ć ć ć Ł ć ń ć ć ć ń ć

ć

Ę Ż Ż Ż ś ż Ż

Ż ź Ś Ż

ż ń ń ń ż ń ń Ę ń ć ń ż ń Ę

ś ś ś Ł ś

Ń ź ź Ą Ń Ą ć ć ć ć ć Ń Ą

Ń ć Ł Ł Ł ź

ź Ś Ż Ę Ś

Ś Ę ŚĆ Ę ź ź ź Ś Ś Ś ć ź Ś ź Ę Ś Ą ź ź ź Ś Ś Ę ź ź

Ś Ę ź Ń

Ę Ę ć ć Ę Ą Ę Ą Ę Ę Ę Ę Ę Ę ź Ę Ż Ę Ę Ę Ę ć Ę Ę ć Ę ć

Ż Ę Ż Ł Ą ź ć ć ć


ż ć ć ż Ś ż ż ć ć ć ż ż

ż ć ć ć ć ć ż Ę ż Ę ż Ł Ą ż ń Ą Ł

Ż ń ć ć ń Ż ć Ż Ł ń Ż ń ń ń ń

Ó Ź ż ć Ą ż ż ć Ę ź Ą ż ż ż ż ż


Ś

ś Ę ś ś ń ś ś ś Ś ż ś ś ż ś ń ń ś ń ć ź ś

Ż ś

Ś Ę Ą Ł Ś Ł Ł Ł Ł Ł Ś Ś Ł Ł Ł Ą Ł Ł Ł Ł Ł Ą Ą Ł

Ż Ż Ę Ą ź Ż Ż Ż Ń ź

Ó Ń Ś Ą Ś Ń Ś Ś

ć ź Ż Ń

ć Ą Ą Ł Ą

ć ż ż ż ź

Ą ń ź ż ż Ś ż ć Ś Ó ń ń

Ó Ż ć ć ć ć ć ć ć Ę ć ć ć


ó ó ó ó ó ó ń ó ó ó ó ń ó ó ń ń ó ó ó Ś ń ó ń ó ó ó

Ę ń Ó ć ć Ó Ó

ć ć ć ć ć ć ć ć ć ć ź

Ś Ś

Ą Ę

Ę ń Ź Ę ń Ę

Ę Ć Ź Ć Ę Ń Ć ć

Ć ź ż ć ć ć ż ż


Ę ź ź ź

Ę ś

Ę ć ń ń Ń Ę ń ź ć ć ć ć

ź Ź ź Ń Ą Ś Ą

ć Ż Ń ź Ź ć Ą Ś


Ę

Ę ć ć Ę Ą Ę

ć ż ż Ś ż

Szkolenia specjalistyczne


ś ś ś Ź Ę Ć ś ś ś ć ś ś ś ś ś ś ś ś ś ś Ą

ć ć ć Ś ć Ż

ź ś Ś Ę Ż ść ś ś Ż Ż ś Ż Ż

Ę ś ś ń ź ź Ę ć Ę Ł ń ś ń ś Ż ń Ę ś ń Ę ś Ę ń ś ń ś ś Ż ś Ę ń ś ś ś Ę Ę ś ś ś Ę ś ść ś ść

ż ż Ż Ł Ż Ś ć ż ć ż Ś

Ą Ó Ź Ą Ź Ź

Ś ć ż ż ż ż Ą Ę Ę Ę

Ć ć ń Ć ń ć ć Ć

Ą ń Ę Ę ź Ę Ę Ę ź Ż ź Ę ń ń ć Ę ź Ż

Ż Ż Ł

Ą Ą Ą Ź ś ń ć Ź Ą ś Ą śń ć ć Ń Ą ś ć Ź Ą Ą Ą ś Ą ś Ą Ą Ą Ą

ń ę ńń ń

ż ć Ę ż ż ż Ń Ł ż ż ż ż ż ż ż ż

Ę ź Ż Ę ź ć ź ć Ą ć ć ć ć ć ż ź

Ł Ż ś ć ż ż ś ś ż ś Ę ś Ę ż ź Ż ść Ż

Ę ż Ó Ł Ść ą ą ą Ą ć ż ą ż ń ą ć ż ć Ę ą ż ą ą ż ą ź ą ń ą ń ą ą ż ć

ć ć

ż ń ń ź ź ź

Ń Ń ć ć Ł Ć Ń ć Ę

ć Ś

ń ż ś


Transkrypt:

Seminarium dyplomowe. Autor: Adam Grześko morel@pifpaf.pl Projekt i implementacja systemu obsługi kart chipowych Promotor: prof. dr hab in ż. T. Morzy 1

Plan prezentacji: Cel pracy, wykorzystane narzędzia, sprzęt i środowisko pracy, omówienie dotychczasowego rozwiązania, omówienie proponowanego rozwi ą zania mikroj ą dro, krótka wzmianka na temat drugiej części pracy. 2

Cel pracy Celem pracy jest ulepszenie oraz rozbudowa istniejącego oprogramowania czasu rzeczywistego do obsługi kart chipowych, pracującego na terminalu wyposażonym w mikroprocesor NECV25. Obecny system działa w opraciu o model odpytywania (polling-scheme). Modyfikacja polega na adaptacji, reimplementacji i rozbudowie dostarczonego mikrojądra systemu czasu rzeczywistego dla mikroprocesora INTEL 8085 na mikroporcesor NECV25. Adaptowane mikrojądro jest sterowane przerwaniami, co zapewni lepsz ą wydajność całego systemu. 3

Wykorzystane narzędzia MS Visual Studio (tylko edytor :> ), Borland Turbo C wersja 2.0 (kompatybilny z Intel 80186), Turbo link wersja 2.0, Turbo assembler wersja 1.01, Make 1.0, inne narz ę dzia ładuj ą ce kod wykonywalny do terminala. 4

Sprzęt i środowisko pracy 5

Omówienie dotychczasowego rozwiązania Model systemu oparty o odpytywanie, jedna wielka pętla while(1), w pętli każde urządzenie (klawiatura, porty szeregowe, czytnik kart... ) jest odpytywane czy s ą dane gotowe do przetworzenia, bądz sprawdzane jest czy bufor jest ju ż przetworzony (bufor drukarki, bufor LCD), rezultat: jedno wielkie spaghetti, globalna pętla musi być wywoływana co najmniej co 30ms nieefektywne przetwarzanie danych z urządze ń zewnętrznych, spowolnienie całości do najwolniejszego urządzenia I/O, problem z pisaniem oprogramowania: żadna funkcja nie może być blokująca (np. odczyt z klawiatury), trzeba wprowadzać dodatkowe argumenty, pamiętające w którym miejscu zostało przerwane przetwarzanie :\ - praktyczny skutek milion selectów, ifów sprawdzających stan wykonania funkcji... 6

Proponowane rozwiązanie - mikrojądro Struktura blokowa mikrojądra: Application interface Functional Modules interface interface interface interface Communication and synchronization primitives Time management Memory management Input/Output (BIOS) MINOR interface MINOR microkernel NEC V25 7

Zadania warstw MINOR mikrojądro udostępniające dwa typy zada ń zwykłe (przełączanie kontekstu bez wywłaszczania), uprzywilejowane, obsługujące przerwania (przełączanie z wywłaszczaniem oraz nadanie priorytetów przerwaniom), Podstawowy mechanizm komunikacji mię dzy zadaniami pamięć współdzielona zrealizowana na ogólnie dostępnym buforze (zmiennej), Zarzą dzanie czasem mechanizm zarządzania wbudowanymi w procesor timerami, Zarządzanie pamięcią mechanizm pozwalający dynamicznie alokować, dealokować obszary pamięci. Funkcje wejścia/wyjś cia (BIOS) Funkcje obsługujące sprzęt wbudowany w terminal. 8

Dwa rodzaje zada ń wyróżnianych w mikrojądrze Port przerwania 1 Port przerwania 2 Zadania obsługujące przerwania, mogą wywłaszczyć zwykłe zadania, bądź zostać wywłaszczone przez zadania obsługujące przerwania o wyższym priorytecie Port przerwania N Zadanie obsługujące przerwanie 2 Zadanie obsługujące przerwanie 1 Zwykłe zadania, mogące dobrowolnie oddać sterowanie - brak wywłaszczania Aktywne zadanie 9

Przerwanie o wyższym priorytecie Możliwe stany procesów IWAIT() INTERRUPTED RUNNING WAITING IWAIT() bądź IEXIT() Nadejście przerwania IEXIT() DETACH() IENTER() Utorzenie zadania, Setrdy=1 READY DETACH() lub IENTER() RUNNING IWAIT() lub IEXIT() INTERRUPTED Setrdy=1 lub START() Setrdy=0 START() STOP() Nadejście przerwania Utorzenie zadania, Setrdy=0 SUSPENDED TERMINATED 10

Podsumowanie: Projektowany system zapewni lepsz ą wydajność ze względu na sterowanie przerwaniami a także: wprowadzi modularność, wyeliminuje kod spaghetti i dodatkowe argumenty funkcji, pamiętające aktualny stan przetwarzania, ułatwi programowanie przez wyodrębnione interfejsy mikrojądra, we/wy, zarządzania pamięci ą i czasem, ułatwi dalsz ą rozbudow ę RTOS, zapewni mo ż liwo ś ć bezproblemowego przeniesienia całego systemu na inny sprzęt (terminal). 11

Materiały źródłowe: System opreracyjny czasu rzeczywistego TICS REALTIME http://www.concentric.net/~tics/ A. Silberschatz, J. L. Peterson, P. B. Galvin Podstawy systemów operacyjnych, WNT wydanie 2, W-wa 1993 V25/V 35 Family V-Series 16-bit Microcomputers Users's Manual (NEC) i inne manuale firmy NEC. Dokumentacja mikrojądra MINOR dla Intel 8085 i jego kod źródłowy w asemblerze 8085 Obecny kod źródłowy obsługujący urządzenia I/O. 12

Dziękuj ę za uwag ę. Pytania? 13