Systémy pracující v reálném čase a vestavěné systémy
Pojmy Real-time systems - systémy reagující v reálném čase Real-time OS - operační systém reagující v reálném čase
K čemu slouží systémy v reálném čase ? úlohy a procesy v počítači jsou často reakcí na podněty v okolí systému nebo mají takové události vyvolat u běžných PC systémů komunikujících s uživatelem na rychlosti reakce příliš nezáleží 1. příklad: psaní na klávesnici - je li systém vytížen, nestačí zpracovávat požadavky z klávesnice - důsledek: znaky se ukládají do buffru a zpracují se později - nic vážného se neděje 2. příklad: nestačí li systém zásobovat řádkovou tiskárnu daty, tak se tiskárna zastaví a počká na nová data Co když je ale systém zaneprázdněn jinou činností a nestihne např. včas zareagovat na snímač koncového spínače výtahu? Nebo co když systém pozdě zastaví pásový dopravník? Dovedete si představit, že by normální MS Windows řídily například jadernou reakci v Temelíně?
Funkce systému v reálném čase úlohy a procesy v počítači mohou být reakcí na události v okolí systému nebo mají takové události vyvolat události v okolí systému probíhají v ”reálném čase” počítač nemá na tok času vliv
a procesy proto s nimi musí ”držet krok” např. musí dokázat regulovat chemickou reakci tak, aby nedošlo k jejímu nechtěnému zastavení nebo naopak k explozi
správná funkce systému nezávisí jen na formální správnosti výpočtů, ale také na tom, kdy jsou výsledky k dispozici ! výsledky, které jsou k dispozici pozdě, pro nás ztrácejí význam ... ... nebo nás opoždění výsledku může ohrozit !
RT systémy RT (Real-Time) Systems pojem obvykle používáme pro oblast technických kybernetických systémů výstupy mohou být závislé na aktuálních hodnotách vstupů (kombinační automat) typicky pouze jednodušší systémy
aktuálních hodnotách a historii vstupů (sekvenční automat, systém s pamětí) oba typy lze realizovat bez počítače, ale druhý typ se dnes obvykle realizuje pomocí počítače
systémy s pamětí mohou být samoučící mohou měnit pravidla chování na základě získaných zkušeností
RT systémy příklady: řízení laboratorních experimentů řízení výrobních procesů robotika řízení letového provozu telekomunikační systémy ... Potřebujeme vždy počítač?
Systémový přístup při analýze nebo návrhu systému se snažíme rozdělit systém na jednodušší podsystémy
vstupy
?
výstupy
Signálové řetězce vstupy a výstupy jsou propojeny typickými strukturami - signálovými řetězci: čidlo
úprava signálu
zpracování informace
akční člen / indikátor
čidlo (senzor) převádí hodnotu fyzikální veličiny na signál
obvykle elektrický, ale také hydraulický, pneumatický …
Signálové řetězce úprava signálu – obvykle hw galvanické oddělení, konverze signálu, analogová filtrace, linearizace, úprava měřítka …
zpracování informace – obvykle sw číslicová filtrace, kontrola překročení zadaných mezí, vyhodnocení hodnověrnosti porovnáním údajů z různých zdrojů, výpočet odvozených veličin, ukládání historie …
akční člen / indikátor převádí signál na výstupní fyzikální veličinu sílu, pohyb, polohu, obraz, zvuk ...
Vrstvový model mezi signálovými řetězci mohou existovat příčné vazby: AČ AČ = akční člen I = indikátor ÚS = úprava signálu Č = čidlo
AČ
I
I
zpracování informace
AČ
AČ
zpracování informace
ÚS
ÚS
ÚS
ÚS
ÚS
Č
Č
Č
Č
Č
Vrstvový model proč vrstvy? jestliže mezi signálovými řetězci neexistují příčné vazby, je členění na vrstvy zbytečné příčné vazby umožňují dosáhnout požadované spolehlivosti i s méně spolehlivými prvky paralelní spolehlivostní model
způsob propojení vrstev může výrazně ovlivnit výslednou spolehlivost systému nezávislé propojení typu každý s každým je nejspolehlivější, ale také nejdražší obvykle jedna nebo více sběrnic jako kompromis mezi spolehlivostí a cenou
Dělení systému na podsystémy z hlediska návrhu a realizace sytému je vhodným podsystémem signálový řetězec nebo vrstva hlavní zásady dělení: co nejkratší signálové řetězce ( = co nejméně vrstev) zpracování informace v uzlu a komunikace mezi uzly představuje vždy časové zpoždění
co nejméně vazeb napříč mezi řetězci ( = co nejjednodušší vrstvy) problémy při návrhu a realizaci stoupají progresivně s množstvím a složitostí vazeb
co nejméně zpětnovazebních smyček smyčky představují paměť a proto komplikují návrh a monitorování funkce systému (velký počet vnitřních stavů) výhodnější je vestavět paměť do vnitřní funkce uzlu
Primitivní systémy jednoduché analogové systémy obtížný přenos signálů na velké vzdálenosti nejednotnost způsobu propojení čidla s přístrojem při větším počtu přístrojů malá přehlednost obtížná realizace vzájemných (příčných) vazeb
čidlo
přístroj čidlo
čidlo
regulátor
regulátor čidlo
čidlo
přístroj
přístroj čidlo
regulátor
Centralizovaný model systémy s centrálním počítačem obtížný přenos signálu na velké vzdálenosti centrální prvek snižuje spolehlivost problémy s rušením a vyzařováním
čidlo
indikátor
čidlo
akční člen
čidlo počítač
čidlo čidlo čidlo čidlo
akční člen
Distribuovaný model signály se digitalizují a formátují u čidel údaje se na místo použití přenášejí digitálně odpadají problémy s přenosem analogového signálu zůstávají problémy s vyzařováním lze dosáhnout vysoké spolehlivosti systému
akční člen
akční člen
indikátor
čidlo
čidlo
čidlo
čidlo
čidlo
Specifické požadavky minimalizace rizika selhání systému v oblastech, kde selhání ohrožuje lidské životy, musí systém vyhovovat zvláštním předpisům (homologace)
doručitelnost dat ve stanoveném čase systém pracuje v reálném čase zpoždění přenosu může způsobit nestabilitu nebo nefunkčnost systému
konstrukční a signálová unifikace umožňuje kombinovat výrobky různých firem snižuje vývojové, výrobní i provozní náklady
Specifické požadavky minimalizace rizika selhání systému technická spolehlivost a odolnost velký rozsah provozních teplot a napájecího napětí, odolnost proti mechanickému namáhání, vibracím, korozi, odolnost proti rušení, galvanické oddělení ...
decentralizované řízení bez centrálního řídícího prvku
redundance prvků a subsystémů záložní řídící prvek redundantní komunikační cesty redundantní signálové řetězce
Systémy odolné proti poruchám FT = Fault Tolerant obor zabývající se návrhem a konstrukcí vysoce spolehlivých systémů
Příklad: systém řízení letadla “Fly-by-Wire“
zůstává ještě 50% účinku
senzory
počítač
výkon. člen
aerodynam. prvek
senzory
počítač
výkon. člen
aerodynam. prvek
senzory
počítač
výkon. člen
aerodynam. prvek
senzory
počítač
výkon. člen
aerodynam. prvek
legenda:
poškozeno
50% vyřazeno z provozu
Potřeba OS Časy, kdy v počítači běžel jediný program, obsluhující zařízení, který v podstatě nepotřeboval OS jsou pryč. Dnes obsluhuje jeden řídící počítač více zařízení, běží na něm více úloh současně Komunikuje po sítí s nadřazenými systémy Komunikuje s obsluhou Musí umožňovat pohodlné programování pomocí jazyků vyšší úrovně Potřebuje souborový systém ...
Je potřeba Operační Systém U jednoduchých OS je jednoduché vytvořit RTOS, se složitostí vlastního OS stoupá i složitost RT jádra
RTOS Real Time Operating System operační systém pro počítače, pracující v reálném čase
RTOS je charakterizován deterministickým chováním krátkou dobou odezvy vysokou spolehlivostí
Charakteristiky RTOS Deterministické chování operace se provádějí v pevných, předem určených časech nebo v předem určených časových intervalech u každé operace je předem známo, kdy nejpozději skončí
Charakteristiky RTOS Doba odezvy (response time) čas, ve kterém systém přiměřeně reaguje na událost časové měřítko je relativní závisí na aplikační oblasti
požadovaná doba odezvy může být stovky mikrosekund ... řízení jaderného reaktoru
... až desítky sekund rezervace letenek
Charakteristiky RTOS exaktně: za jak dlouho operační systém reaguje na požadavek přerušení tento čas nesmí překročit pevně stanovenou hodnotu skládá se z doby latence (interrupt latence) doba mezi okamžikem příchodu požadavku na přerušení a okamžikem, kdy počítač reaguje na přerušení
a doby obsluhy přerušení (interrupt processing) doba potřebná k vlastnímu zpracování přerušení
Charakteristiky RTOS Spolehlivost mission critical system systém, jehož porucha může mít katastrofální důsledky
dependable system systém natolik spolehlivý a bezpečný, že na něm můžeme být zcela závislí
FT (fault tolerant) system systém odolný proti poruchám porucha může snížit výkonnost systému, ale nesmí ho vyřadit z funkce přednost mají úlohy kritické pro funkci systému, úlohy s nižší prioritou se provádějí jen když na ně zbývá čas
Typické vlastnosti RTOS multitasking v případě potřeby je nutné méně důležitou úlohu pozastavit a rychle provést kritickou úlohu
rychlé přepínání kontextu aby se při přechodu z jedné úlohy na druhou ztrácelo co nejméně času několik samostatných sad registrů, aby se obsahy registrů nemusely ukládat
preemptivní plánování založené na prioritách jestliže to je potřeba, lze běžící úlohu kdykoliv okamžitě přerušit
Prioritní plánování s preempcí
RQ0
ukončení
plánování Processor
RQ1
. . .
zahájení
priorita
RQn
preempce
blokované procesy událost nastala
čekání na událost
pokud je priorita požadavku vyšší než priorita právě prováděného procesu, je tento proces přerušen ... a je zařazen zpět do fronty připravených procesů s odpovídající prioritou
Typické vlastnosti RTOS Specifické požadavky na procesy některé procesy musí být trvale v operační paměti jejich odložení na disk by způsobilo nepřípustné prodloužení doby odezvy
práva a priority procesů závisí na úlohách, které plní procesy důležité pro správné chování a bezpečnost systému musí mít přednost
minimalizace intervalů, ve kterých je zakázáno přerušení např. pro řešení kritických oblastí se nepoužívá zablokování přerušení
Typické vlastnosti RTOS rychlý souborový systém musí umožňovat rychlé čtení a ukládání dat
nástroje pro rychlou komunikaci procesů semafory, signály, mailboxy ...
speciální systémové služby alarmy, timeouty ...
malé rozměry OS obsahuje jen nejnutnější prvky
Příklady RTOS Standardní Windows (200x, XP, XP-Emb, CE...) nejsou RTOS pro některé vlastnosti: nezaručují obsloužení IRQ v zaručitelné době příliš málo priorit vláken neprůhledná a nedeterministická rozhodnutí plánovače vznik inverze priorit, zvláště při použití IRQ
Pro vytvoření RT-Win je třeba doinstalovat doplněk: RTX (Real Time Extension) od společnosti VenturComm RTx přidává rozšíření plánovače úloh a zkracuje rozlišitelnou jednotku z přibližně 5ms na 20ms. Přidává rychlé hodiny a časovače Prediktivní mechanismy synchronizace vláken ...
Rozšíření RTX pro MS-Windows Windows nemají Real-Time jádro - je nutné hledat pomocné řešení: RTX přidává k jádru Windows subsystém realného času (RTSS), pro nějž je jádro Windows v podstatě pouze jedním z procesů RTSS obsahuje svůj nezávislý rychlý plánovač úloh RTSS je v podstatě samostatný „systém“ pod systémem Windows RTSS dokáže pokračovat i v případě obsluhy systémové vyjímky windows (Blue Screen)
Řešení UNIXového RTOS Nejrozšířenějším Unixovým RT jádrem je QNX Neutrino Jedná se stavebnicový systém s rychlým mikrojádrem, zajišťujícím pouze základní funkce správy paměti, procesů ... Ostatní funkce je třeba zavést formou modulů. Každý proces běží ve vlastní paměti Systém je schopen restartovat jádro za běhu !! Jádro je Real Time a umožňuje přepínání kontextu s rychlostí řádově 0,5ms !! Chcete li zkusit jednodisketovou demo verzi s funkčním grafickým prostředím a sítí, zkuste www.qnx.com
RTOS for Embedded Systems (obecné schéma)
BSP "Board Support Package" zahrnuje balíček s ovladači pro většinu periferií a utilitami pro podporu SATA harddisků, USB-WLAN modulů či nízkoprofilové PCI karty a další. POSIX ’’ Portable Operating System Interface’’ - přenositelné rozhraní pro různé operační systémy. POSIX zahrnuje různé aspekty operačních systémů, např. správu procesů, práci se soubory, meziprocesovou komunikaci, základní programy (ed, awk, Korn Shell apod.), síťové záležitosti atd.
Vestavěné systémy (Embedded Systems)
Vestavěné systémy Embedded Systems počítačové systémy, které jsou součástí jiných (obvykle technických) systémů obvykle představují jejich řídící složku ... ... nebo tvoří jejich podsystémy
schopnost práce v reálném čase OS transparentní pro uživatele jeho činnost se uživateli jeví jako funkce podsystému nebo aplikace nevyžaduje zvláštní údržbu nevyžaduje zvláštní znalosti
Podíl na trhu ročně se prodají asi 3 miliardy mikroprocesorů a mikropočítačů z toho jdou jen necelá 2% do sektoru klasické výpočetní techniky osobní počítače, servery ...
přes 98% jde do sektoru vestavěných systémů
Nosné aplikační oblasti Specializované počítače funkce podobná jako běžné počítače, ale ve specifickém provedení video-hry, přenosné počítače ...
Řídící systémy zpětnovazební regulace v reálném čase dopravní prostředky, technologické procesy, jaderné reaktory ...
Zpracování signálu zpracování souvislých proudů dat v reálném čase radar, sonar, video ...
Telekomunikace a sítě přepínání a směrování přenosu dat pevné a mobilní telefonní sítě, Internet ...
Standardní embedded systémy ve vozidlech
Komfortní embedded systémy ve vozidlech
Embedded systémy ve vozidlech
Embedded systémy ve vozidlech
Embedded systémy ve vozidlech
Přínos vestavěných systémů pro uživatele obvykle modernizace mechanického nebo elektromechanického systému snížená cena zlepšená funkce zvýšený výkon zvýšená spolehlivost pokud je systém správně navržen a dobře otestován
Typické funkce Řídící algoritmy PID regulace, fuzzy logika …
sekvenční logika automaty, přepínání režimů řízení ...
Zpracování signálů komprese multimediálních dat, digitální filtrace ...
aplikačně-specifická rozhraní tlačítka, akustická a světelná signalizace … rychlé vstupy a výstupy
reakce na chyby detekce a rekonfigurace, diagnostika ...
Systém z hlediska návrháře vestavěného počítačového systému
Systém z hlediska návrháře celého sytému
Typické požadavky reaktivita výpočty probíhají jako odezva na externí události periodické rotační stroje, zpětnovazební řídící smyčky ...
aperiodické tlačítka ...
ve většině případu typický systém musí kombinovat oba přístupy - využívá se systému přerušení
Typické požadavky funkce v reálném čase správnost je částečně funkcí času Hard real time existují absolutní časové limity, při jejichž překročení je odezva zcela bezcenná
Soft real time časové limity jsou pouze přibližné, jejich překročení pouze sníží použitelnost odezvy
obecně neplatí, že v reálném čase znamená velmi rychle
Typické požadavky malé rozměry a váha přenosná elektronika dopravní prostředky přebytek váhy znamená vyšší provozní náklady
malá spotřeba bateriové napájení omezená možnost chlazení
odolnost
horko, mráz, vibrace, nárazy kolísání napájení, rušení, blesky vlhkost a zkrápění vodou, koroze nesprávné zacházení
modularita systému základní systém lze přizpůsobit mnoha aplikacím (pračka auto)
snadná konfigurovatelnost systému usnadňuje vývojářům práci
Typické požadavky spolehlivost a bezpečnost musí fungovat správně ... ... ale hlavně nesmí fungovat nepřijatelně! správný, bezpečný správný, nebezpečný
nesprávný, bezpečný nesprávný, nebezpečný
extrémní cenová citlivost snížení ceny o 5 Kč může znamenat zvýšení prodeje o milióny kusů
Embedded operační systémy Systémů pro embedded systémy je celá řada: Palm OS - velmi často používán v PDA Symbian OS - používán v PDA a telefonech Embedded NT/XP - v podstatě okleštěné Windows s konfiguračními nástroji Windows CE, Pocket PC 2002, Windows mobile různé verze více či méně okleštěných Windows pro zařízení typu PDA, Android, chytré telefony ...
Existují i řešení založená na systému Linux Amirix Linux Coollogic Collinux Kyzo Pizza Box Linux RedHat Emb. Linux Pro svou malou podporu však nejsou příliž podporována výrobci HW
Formáty některých embedded zařízení Embedded systém si samozřejmě může vývojář navrhnout jaké chce Existují však hotová řešení v několika průmyslových standardech: zařízení formátu Little Board (5,75“x8“) zařízení ve formě „polovičních/plných“ ISA/PCI karet obsahují na jedné ISA kartě celé PC, zbytek systému již tvoří pouze expandér sběrnic
Formáty některých embedded zařízení Velmi oblíbeným formátem v průmysových systémech je formát PC-104 jedná se o stavebnicový formát ve velikosti kreditní karty na jedné kartě je základní systém ostatní periferie se připojují pomocí konektorů
Formáty některých embedded zařízení Poslední dobou se lze setkat s formátem Mini-ITX (www.mni-itx.com) na jedné kartě je celý počítač standardu PC s poměrně výkonným procesorem (> 1GHz), dostatečným množstvím paměti a možnosti připojení např. 2,5“ HD formát mini-itx umožňuje implementovat běžné PC prakticky do čehokoli
Formáty některých embedded zařízení
Základní deska řídící jednotky kotle pro vytápění rodinného domu
Další příklady zařízení Axis 2120 mCLinux 100Mbit/s Ethernet 100MHz Extrax CPU 16MB RAM
GPSmap 76C 115MB RAM CPU Samsung 203MHz Windows CE
Děkuji za pozornost