Systemy czasu rzeczywistego wstęp

Podobne dokumenty
Systemy czasu rzeczywistego wstęp

System czasu rzeczywistego

Podstawowe zagadnienia

Systemy wbudowane - wykład 9. Systemy czasu rzeczywistego Notes. Systemy czasu rzeczywistego Notes. Systemy czasu rzeczywistego Notes.

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1

1. Szeregowanie w systemach czasu rzeczywistego

Systemy Czasu Rzeczywistego (SCR)

5. Model komunikujących się procesów, komunikaty

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

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

Systemy wbudowane. Systemy operacyjne czasu rzeczywistego

Tworzenie aplikacji wbudowanych. 1. Tworzenie oprogramowania systemów wbudowanych

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym

Czujniki obiektowe Sterowniki przemysłowe

PRZEWODNIK PO PRZEDMIOCIE

Systemy Czasu Rzeczywistego (SCR)

Systemy wbudowane. Paweł Pełczyński

Elementy składowe systemu komputerowego

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

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

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

Sieciowe Systemy Operacyjne

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Urządzenia wejścia-wyjścia

Technika mikroprocesorowa. Systemy operacyjne czasu rzeczywistego

1. Etapy rozwoju systemów komputerowych

WPROWADZENIE Mikrosterownik mikrokontrolery

KARTA PRZEDMIOTU. Systemy czasu rzeczywistego: D1_9

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Systemy na Chipie. Robert Czerwiński

Wprowadzenie do systemów operacyjnych

Systemy czasu rzeczywistego Real Time Systems. Automatyka i Robotyka I stopień ogólnoakademicki

ICD Wprowadzenie. Wprowadzenie. Czym jest In-Circuit Debugger? 2. O poradniku 3. Gdzie szukać dodatkowych informacji? 4

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

System operacyjny System operacyjny

Systemy czasu rzeczywistego. Systemy czasu rzeczywistego. Systemy czasu rzeczywistego. Systemy czasu rzeczywistego - przykłady

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

Wstęp do Informatyki. Klasyfikacja oprogramowania

PROGRAMOWALNE STEROWNIKI LOGICZNE

Systemy Czasu Rzeczywistego (SCR)

System komputerowy. System komputerowy

Szkolenia specjalistyczne

4. Procesy pojęcia podstawowe

Wbudowane systemy operacyjne

1.Wstęp. 2.Generowanie systemu w EDK

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

4. Procesy pojęcia podstawowe

Łagodne wprowadzenie do systemów wbudowanych. Bartłomiej Sięka

Opis efektów kształcenia dla modułu zajęć

11.Mikrokomputeryjednoukładowe

Spis treści. Wykaz ważniejszych skrótów Wprowadzenie Rdzeń Cortex-M Rodzina mikrokontrolerów XMC

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Technologia informacyjna. Urządzenia techniki komputerowej

Interfejs urządzeń peryferyjnych

USB interface in 8-bit microcontrollers PIC18F family manufactured by Microchip.

Działanie systemu operacyjnego

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

Wykład 3: Implementacja programów wbudowanych

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Szybkie prototypowanie w projektowaniu mechatronicznym

Program jest więc strukturą statyczną zapisaną na jakimś nośniku. Natomiast proces jest wykonującym się programem.

Embedded Solutions Automaticon Efektywne pomiary i sterowanie przy użyciu systemu wbudowanego MicroDAQ

4. Procesy pojęcia podstawowe

EMBEDDED LINUX ON ARM9 CORE EMBEDDED LINUX NA PROCESORACH Z RODZINY ARM9

Komputery przemysłowe i systemy wbudowane

Systemy zdalnego zarządzania i monitoringu: Carel platforma PRO. Tomasz Andracki, Bydgoszcz

Systemy czasu rzeczywistego. Systemy czasu rzeczywistego. Systemy czasu rzeczywistego. Systemy czasu rzeczywistego - przykłady

Architektury systemów czasu rzeczywistego RTOS. Wykonał: Bartłomiej Bugański

Metody optymalizacji soft-procesorów NIOS

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

Układy czasowo-licznikowe w systemach mikroprocesorowych

Katedra Systemów Automatyki Automatyka i Robotyka. Obszary kształcenia. Nauki techniczne

POSIX ang. Portable Operating System Interface for Unix

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

Działanie systemu operacyjnego

Budowa Komputera część teoretyczna

ASEM UBIQUITY PRZEGLĄD FUNKCJONALNOŚCI

Materiały dodatkowe. Simulink Real-Time

POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych. Instytut Telekomunikacji Zakład Podstaw Telekomunikacji

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Organizacja oprogramowania

SYLABUS/KARTA PRZEDMIOTU

Systemy operacyjne. Paweł Pełczyński

Budowa karty sieciowej; Sterowniki kart sieciowych; Specyfikacja interfejsu sterownika sieciowego; Open data link interface (ODI); Packet driver

Opracował: Jan Front

1.1. Wymogi bezpieczeństwa Pomoc techniczna TIA Portal V13 instalacja i konfiguracja pakietu...18

2 Tworzenie oprogramowania dla systemu wbudowanego

Laboratorium Komputerowe Systemy Pomiarowe

Jedrzej Ułasiewicz Komputerowe systemy sterowania 1

Architektura komputerów

NOWY OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

Mechanizmy pracy równoległej. Jarosław Kuchta

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Działanie systemu operacyjnego

Uniwersalny Konwerter Protokołów

Sprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r.

Systemy Operacyjne. wykład 1. Adam Kolany. Październik, Instytut Techniczny Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu

NARZĘDZIE KONFIGURACYJNE VNX SETUP TOOL MODUŁÓW RODZINY VNX ADVANCED

Systemy wbudowane. Wykład 4: Systemy operacyjne dla systemów wbudowanych. Obsługa przez przerwania. Z wywłaszczaniem zadań:

Podstawy programowania sterowników SIMATIC S w języku LAD / Tomasz Gilewski. Legionowo, cop Spis treści

Transkrypt:

J. Ułasiewicz Komputerowe systemy sterowania 1 1 Systemy wbudowane Często system sterujący stanowi integralną część urządzenia. Jest to system wbudowany. Nie posiada on żadnych elementów pozwalających na jego modyfikowanie (kompilator, edytor, konsola,...) System komputerowy oddziaływanie reakcja otoczenie Rys. 1 Współdziałanie systemu komputerowego z otoczeniem System wbudowany (ang. embedded system) System wbudowany jest to system komputerowy będący częścią większego systemu i wykonujący istotną część jego funkcji. Przykładem może być komputer pokładowy samolotu lub system sterujący szybką koleją miejską. System wbudowany to taki system który: 1. Jest częścią jakiegoś większego systemu, 2. Ma funkcjonować bez interwencji ze strony człowieka. 1.1 W systemach wbudowanych oprogramowanie tworzone jest na tak zwanym komputerze macierzystym (ang. host) a wykonywane na komputerze docelowym (ang. target).

J. Ułasiewicz Komputerowe systemy sterowania 2 Tworzenie oprogramowania dla systemów wbudowanych Na komputerze macierzystym pracującym pod kontrolą systemu operacyjnego 1 zainstalowany jest system tworzenia oprogramowania (ang. development system). edytor, kompilator, linker, biblioteki, debugger, symulatory, narzędzia do tworzenia dokumentacji Utworzona w nim aplikacja wykonywana jest w komputerze docelowym (może być inny system operacyjny). Utworzona aplikacja wpisywana jest do pamięci komputera docelowego za pomocą interfejsu: JTAG, ISP, RS232 wpisywana do pamięci nieulotnej (ROM, EPROM, Flash) Komputer macierzysty system tworzenia oprogramowania System operacyjny 1 pamięć nieulotna Łącze komunikacyjne System wbudowany Komputer docelowy aplikacja System operacyjny 2 urządzenie Rys. 2 System skrośnego rozwoju oprogramowania

J. Ułasiewicz Komputerowe systemy sterowania 3 Komputery przeznaczone do zastosowań wbudowanych pewne wspólne własności. posiadają 1. Wymagana jest odporność na pracę w trudnych warunkach otoczenia (wibracje, zapylenie, wilgoć), dopuszczalny jest szeroki zakres temperatur otoczenia. 2. Przeznaczone są do pracy ciągłej - brak jest elementów ruchomych (dyski obrotowe, wentylatory, napędy dyskietek), wymagana jest trwałość, łatwość serwisowania. 3. Oprogramowanie umieszczone jest w pamięci nieulotnej ROM, flash, EPROM lub podobnej. 4. Stosowane jest wsparcie sprzętowe dla osiągania niezawodnej pracy budzik (ang. watchdog), pamięci ECC, magistrala z kontrolą parzystości, poszerzona diagnostyka. Standardy dotyczące komputerów przeznaczonych dla systemów sterujących i wbudowanych. VME, Compact PCI PC104 Rys. 3 Przykład komputera typu PC104 dla zastosowań wbudowanych MSM800SEV

J. Ułasiewicz Komputerowe systemy sterowania 4 2 Systemy czasu rzeczywistego System czasu rzeczywistego (ang. Real Time System RTS) jest systemem który współpracuje z zewnętrznym procesem. Musi on zapewniać wymagany czas reakcji na zewnętrzne zdarzenia. System czasu rzeczywistego (ang. Real-Time System) jest to system komputerowy, w którym obliczenia prowadzone równolegle z przebiegiem zewnętrznego procesu maja na celu nadzorowanie, sterowanie lub terminowe reagowanie na zachodzące w tym procesie zdarzenia. System czasu rzeczywistego jest takim systemem którego poprawność działania zależy od spełnienia warunków tak logicznych jak i czasowych. 1. Warunki logiczne odpowiedź na zdarzenie przy uwzględnieniu stanu systemu musi być prawidłowa. 2. Warunki czasowe odpowiedź musi nadejść we właściwym czasie. Własności czasowe systemu RTS System czasu rzeczywistego współdziała z otoczeniem. Jego zachowanie zależy od stanu otoczenie czasu zdarzeń generowanych przez otoczenie ZEGAR czas System sterujący Zdarzenia stan systemu Sterowanie Obiekt Rys. 4 Interakcje systemu z otoczeniem

J. Ułasiewicz Komputerowe systemy sterowania 5 System sterujący (ang. Control system) System sterujący jest systemem komputerowym który ma utrzymywać nadzorowany obiekt w pożądanym stanie. Wymagana jest terminowa reakcja na zdarzenia generowane w nadzorowanym systemie. Znaczenie ma nie tylko prawidłowość odpowiedzi na zdarzenie ale także czas tej odpowiedzi. Zdarzenie Odpowiedź Ograniczenie czasowe (deadline) Opracowanie odpowiedzi t Tmax Czas Rysunek 2-1 Definicja ograniczenia czasowego System czasu rzeczywistego musi gwarantować że czas odpowiedzi t na zdarzenie musi być mniejszy od ograniczenia czasowego Tmax. (ang. Deadline) Wartość wymaganego czasu odpowiedzi Tmax zależy od specyfikacji nadzorowanego systemu.

J. Ułasiewicz Komputerowe systemy sterowania 6 3 Rygorystyczne i łagodne systemy czasu rzeczywistego Systemy RTS mogą znacznie różnić się od siebie pod względem konsekwencji niespełnienia ograniczeń czasowych. Przykład: Odtwarzacz multimedialny Sterowanie silnikiem samolotowym W związku z tym wyróżnia się kilka rodzajów systemów RTS. Rygorystyczne ograniczenie czasowe (ang. Hard Deadline) to takie ograniczenie które zawsze pozostaje spełnione. Jeśli choć raz zostało przekroczone uważa się że nie zostało spełnione. Wymaga się aby istniała procedura walidacyjna pozwalająca na sprawdzenie czy warunek ten został spełniony. Rygorystyczny system czasu rzeczywistego (ang. Hard Real Time System) to system w którym wymaga się spełnienia rygorystycznych ograniczeń czasowych. Przykłady rygorystycznych systemów czasu rzeczywistego: System sterowania elektrownią atomową System sterowania samolotem System sterowania zapłonem samochodowym Łagodne ograniczenie czasowe (ang. Soft Deadline) to takie ograniczenie czasowe które czasami może być przekroczone. Jak zdefiniować pojęcie czasami: 1. Kategoria prawdopodobieństwa np. ograniczenie spełnione jest w 99% przypadków. 2. Funkcja użyteczności podaje ocenę korzyści w zależności od czasu uzyskania odpowiedzi.

J. Ułasiewicz Komputerowe systemy sterowania 7 Użyteczność 1 Ograniczenie czasowe (deadline) 0 Tmax Czas Rysunek 3-1 Funkcja użyteczności odpowiedzi Łagodny system czasu rzeczywistego (ang. Soft Real Time System) to system w którym wymaga się spełnienia łagodnych ograniczeń czasowych. Przykłady łagodnych systemów czasu rzeczywistego: Multimedia Sterowanie telefonem komórkowym Centrala telefoniczna wyświetlacz wielkość referencyjna Przetwornik A/D Przetworniki A/D Komputer sterujący czas Przetwornik D/A ZEGAR wyjścia. dwustanowe Obiekt Rys. 5 Przykład systemu czasu rzeczywistego

J. Ułasiewicz Komputerowe systemy sterowania 8 1.2 Charakterystyka zadań W systemach czasu rzeczywistego wyróżniamy następujące typy zadań: 1. Zadania asynchroniczne (ang. asynchronous) aktywowane przerwaniami. 2. Zadania synchroniczne (ang. synchronous) aktywowane układami odmierzania czasu. 3. Zadania drugoplanowe (ang. background ) wykonywane w miarę wolnego czasu procesora. Zadania asynchroniczne Zadanie (asynchroniczne i synchroniczne) Z i charakteryzuje się następującymi ograniczeniami czasowymi: C i a i Z i s i f i d i czas Rys. 6 Charakterystyki czasowe zadania Czas napłynięcia zadania (ang. arrival time) a i czas w którym pojawi się zadanie Z i Czas wykonania zadania (ang. computation time) - c i maksymalny czas potrzebny do wykonania zadania w sytuacji gdy wykonuje się na procesorze jako jedyne i ma ono wszystkie potrzebne zasoby. Ostateczny termin zakończenia (ang. deadline time) - d i

J. Ułasiewicz Komputerowe systemy sterowania 9 4 Wymagania dla systemów RTS 1. Ciągłość działania System RTS powinien pracować bez przerwy lub wtedy gdy się tego od niego wymaga 2. Zależność od otoczenia System musi reagować na zdarzenia i dane powstające e zewnętrznym systemie. 3. Przewidywalność Zdarzenia generowane przez otoczenie pojawiają się w przypadkowych momentach czasu. Może dojść do ich spiętrzenia. Mimo to system musi reagować zgodnie z wymaganiami (deterministycznie). 4.Terminowość Reakcja na zdarzenia winna następować zgodnie z wymaganiami czasowymi tzn. nie może nastąpić zbyt późno. Przewidywalność systemu ma miejsce wtedy gdy realizowane w systemie procedury niezależnie od okoliczności zajmują mniej więcej tyle samo czasu. Gdyby czasy wykonania tej samej procedury różniły się znacznie w zależności od obciążenia to przeszkadzałoby to w posługiwaniu się takim systemem i nie byłby to system przewidywalny. Terminowość to zdolność do realizacji zadań których termin jest ściśle określony. Może to dotyczyć wykonania procedur które mają być reakcją na pojawiające się zdarzenia, wykonywania procedur cyklicznie z zadanym z góry interwałem, lub procedur dla których określony jest czas absolutny ich wykonania W związku ze specyficznymi wymaganiami implementacja systemów RTS stanowi oddzielną klasę problemów.

J. Ułasiewicz Komputerowe systemy sterowania 10 5 Dwa podejścia do projektowania systemów sterowania Wiele obiektów, każdy sterowany oddzielnym mikrosterownikiem brak systemu operacyjnego Wiele obiektów, wszystkie sterowane jednym mikrosterownikiem konieczny system operacyjny 5.1 Każdy obiekt sterowany oddzielnym mikrosterownikiem System pracuje bez systemu operacyjnego Interfejs użytkownika inne systemy sieć komunikacyjna sterownik 1 sterownik 2 sterownik N Obiekt 1 Obiekt 2 Obiekt N Rys. 5-1 Każdy obiekt sterowany oddzielnym mikrosterownikiem Stosowane są w mniejszych aplikacjach, np. mikrokontrolerach Dobrze realizują pojedynczą funkcję, trudności gdy funkcji jest więcej.

J. Ułasiewicz Komputerowe systemy sterowania 11 Przykład programu na Arduino dano poniżej. // Odczyt przetwornika AD int analogpin = 3; // potentiometer wiper (middle terminal) connected to analog // pin 3 int val = 0; // variable to store the value read void setup(){ Serial.begin(9600); // setup serial } void loop(){ val = analogread(analogpin); Serial.println(val); delay(500); } // read the input pin // debug value Kod 5-1 Odczyt wskazań przetwornika AD i wysłanie wartości na port szeregowy (Arduino) Budowa: Sterownik wykonuje czynności sekwencyjne Komunikacja między procesami poprzez interfejsy komunikacyjne Zalety: Awaria jednego sterownika nie unieruchamia całego systemu Obiekty sterowane przez procesy sekwencyjne prostota i determinizm Wady: Trudności w obsłudze interfejsów komunikacyjnych (Ethernet, USB, TCP/IP) i komunikacji międzyprocesowej Brak dzielenia zasobów Silne uzależnienie od sprzętu

J. Ułasiewicz Komputerowe systemy sterowania 12 5.2 Każdy obiekt sterowany oddzielnym procesem w ramach jednego mikrosterownika Konieczny jest system operacyjny implementujący procesy Stosowane w bardziej złożonych systemach Łatwość spełnienia wielu funkcji realizują je procesy, wirtualne procesory ale należy rozwiązać problemy ich komunikacji i synchronizacji Oprogramowanie przenośne Łatwość obsługi złożonych interfejsów komunikacyjnych (Ethernet, USB) i protokołów np. TCP/IP Wsparcie dla systemów prezentacji, np. Qt Interfejs użytkownika inne systemy sieć komunikacyjna sterownik z systemem operacyjnym proces 1 proces 2 proces i proces N Obiekt 1 Obiekt 2 Obiekt N Rys. 5-2 Każdy obiekt sterowany oddzielnym procesem w ramach jednego sterownika Budowa: Na sterowniku wykonywany wielozadaniowy system czasu rzeczywistego RTOS Każdy obiekt sterowany oddzielnym procesem Komunikacja między procesami poprzez mechanizmy komunikacji międzyprocesowej Przykład: Sterownik Vortex + system operacyjny QNX6

J. Ułasiewicz Komputerowe systemy sterowania 13 Zalety: Mniejsze uzależnienie od sprzętu. Sprzęt oddzielony warstwą abstrakcji standardowego systemu RTOS (np. POSIX) Wsparcie dla interfejsów komunikacyjnych i systemów prezentacji Dzielenie zasobów Wady: Awaria sterownika unieruchamia cały system Konieczność synchronizacji procesów Gorsze własności czasowe

J. Ułasiewicz Komputerowe systemy sterowania 14 6 Systemy operacyjne czasu rzeczywistego Do sterowania wymagany jest specjalny rodzaj systemu operacyjnego, tak zwany systemem operacyjnym czasu rzeczywistego (ang. Real Time Operating System - RTOS). Wymagania na system operacyjny czasu rzeczywistego: 1. Musi umożliwiać wykonywanie wielu procesów wielowątkowych. 2. Wątki i procesy muszą posiadać priorytety. 3. Musi być stosowana wywłaszczająca strategia szeregowania. 4. Musi wspierać mechanizm przewidywalnej synchronizacji procesów wątków. 5. Musi istnieć dziedziczenie priorytetów. 6. System musi być deterministyczny. 7. Opóźnienie obsługi przerwań powinno być znane i zależeć wyłącznie od ilości oczekujących przerwań; 8. Czas maskowania przerwań przez sterowniki i system operacyjny powinien być znany lub możliwy do przewidzenia. 9. Musi być pozbawiony błędów 10. Musi być dobrze udokumentowany. 11. Dobre wsparcie od dostawcy i stabilna pozycja na rynku

J. Ułasiewicz Komputerowe systemy sterowania 15 Przykłady systemów czasu rzeczywistego: Nr Nazwa Producent Platformy 1 Solaris Sun Microsystems Sparc 2 LynxOS LynuxWorks 68K, MIPS, MPC8xx, PowerPC, x86, Sparc 3 VxWorks Wind River Systems 68K, i869, ARM,MIPS, PowerPC, x86, SH, SPARC 4 QNX Neutrino QNX Software Systems MIPS, MPC8xx, PowerPC, SH, ARM, Strong RM 5 RT Linux Open Source ARM, PowerPC, x86, SH3, MIPS 6 Windows CE Microsoft ARM,MIPS,PowerPC, SH,x86, Strong ARM, NEC, VR4111 7 ecos Open Source ARM,MIPS, MPC8xx, PowerPC, Sparc