ČVUT - Fakulta Elektrotechnická. Bakalářská práce Použití OS Linux pro měřicí aplikace. Jakub Kocourek

Rozměr: px
Začít zobrazení ze stránky:

Download "ČVUT - Fakulta Elektrotechnická. Bakalářská práce Použití OS Linux pro měřicí aplikace. Jakub Kocourek"

Transkript

1 ČVUT - Fakulta Elektrotechnická Bakalářská práce Použití OS Linux pro měřicí aplikace Jakub Kocourek 2009

2 Zde je prostor pro zadání. 1

3 Čestné prohlášení Prohlašuji, že jsem svou bakalářskou práci vypracoval samostatně a použil jsem pouze podklady (literaturu, projekty, SW atd.) uvedené v přiloženém seznamu. Nemám závažný důvod proti užití tohoto školního díla ve smyslu 60 Zákona č.121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon). Datum: Podpis: 2

4 Děkuji Doc. Roztočilovi za pomoc při tvorbě této práce a cenné připomínky. Special thanks to Ian Abbotti, the author of Amplicon driver, for comprehensive information about DIO card and its driver. 3

5 Použití OS Linux pro měřicí aplikace Tato práce sa zabývá generováním přesného času v operačním systému Linux, s použitím běžného počítače PC a univerzální DAQ měřicí karty. Popsána a vyzkoušena jsou rozšíření RT_PATCH a Xenomai, aplikovaná na standardní jádro GNU/Linux, včetně měření latence systému a přerušení. Building Measurement Applications under Linux This thesis is focused on generation of time in Linux operating system, using standard personal computer and DAQ card. There are theoretical information abou RT_PATCH and Xenomai extensions in the text. Both were tested for time generation and reviewed. System and interrupt latency were tested too. 4

6 Obsah 1 Real-Time Parametry RT Real-time v měřicích aplikacích Linux Rozšíření pro RT RT patch RTAI (Xenomai) Comedi Časovače v PC PIT RTC APIC TSC HPET Problémy časování Měřicí karty NI PCI Amplicon PCI Generování přesného času Latence systému Sekundový generátor s HPET časovačem a RT_PATCH Sekundový generátor s TSC časovačem a Xenomai Zpětnovazební sekundový generátor Latence přerušení Výsledky Postup měření Výpočty Zhodnocení 25 8 Použitá literatura 26 5

7 OBSAH A Zdrojový kód - test latence systému 27 B Zdrojový kód - sekundový generátor s HPET časovačem 29 C Zdrojový kód - sekundový generátor s TSC časovačem 31 D Zdrojový kód - latence přerušení 34 6

8 KAPITOLA 1 Real-Time V literatuře lze najít nejrůznější definice Real-time (dále jen RT) systémů, často ale ne příliš přesné. Obecně lze za RT označit libovolný systém, který splňuje námi zadané časové podmínky, ať už chceme asynchronně spouštět různé úlohy s určitou garantovanou prodlevou nebo žádáme spouštění periodické. 1.1 Parametry RT V obou případech definujeme tzv. Release time, neboli minimální prodlevu, se kterou se úloha spustí (čas na přípravu úlohy) a Deadline, neboli maximální dobu dokončení. U periodických úloh navíc žádáme dodržení periody běhu. Systémy se ještě často dělí na Soft a Hard Real-time. Platí, že pokud žádáme přesné dodržení mezí Release time a Deadline, jedná se o Hard Real-time. Když chceme jen udržení určitých kvalitativních vlastností (např. maximální počet nedodržení Deadline za časový úsek), pak užíváme označení Soft Realtime. Takové chování si ale můžeme dovolit jen v málo RT aplikacích. Mezi další charakteristické parametry Real-time systému (např. z pohledu odezvy přerušovacího systému) patří latence a jitter. Latence obecně značí dobu mezi zadáním požadavku a jeho provedením. V našem případě se může jednat např. o čas mezi příchodem přerušovacího signálu a jeho obsluhou. Rozkmit latence od střední hodnoty se nazývá jitter. Naprostá většina průmyslových aplikací vyžaduje Hard Real-time. Jako příklad uveďme embeded systémy pro automatické řízení vlaků [9]. RT systém musí na asynchronní události (změna semaforu) reagovat v garantovaném čase, aby mohl bezpečně provést odpovídající akci. Takovýto systém nepřipouští pozdní zpracování. Uvedeným příkladem se dostáváme k problému garance latence. Je relativně snadné garantovat odezvu jednoduchých specializovaných systémů, např. snímání a regulace otáček motoru jednoúčelovým up. V takovém případě známe počet běžících úloh a dobu potřebnou k jejich vykonání. Zde je tedy možné předem sestavit tabulku plánovače (statické plánování) a případné sporadické úlohy umisťovat do časových mezer. Ve chvíli, kdy je třeba reagovat na asynchronní události a dodržet jejich striktní Deadline, začínají problémy. Je nutné rozhodnout o prioritě úloh, zajistit preemptivitu a plánovat spouštění tak, aby byly dodrženy požadované parametry. Zde nastupují algoritmy dynamického rozvrhování. Např. algoritmus EDF (Earliest Deadline First) umožňuje přeskládávat úlohy podle jejich termínu Deadline. 7

9 KAPITOLA 1. REAL-TIME 1.2 Real-time v měřicích aplikacích K nasazení v měřicí a regulační technice je třeba vybrat správný systém. Pro safety critical aplikace, jako je řízení velkých strojů, nemocničních zařízení, atd., se obvykle preferuje nasazení embeded systémů, které jsou na RT připraveny a případně se spojují do většího celku, který řídí klasické PC s RT systémem. V těchto případech se ještě užívají speciální zařízení, jako např. Watchdog timer, pro ošetření případného selhání, redundantní čidla i celé systémy, atd. Pro běžné měření a regulaci pomocí DAQ karet postačují PC s RT operačním systémem. Je však třeba počítat s omezeními danými operačním systémem a hardwarem PC. Systémová volání a obsluhy přerušení mohou předbíhat jiné úlohy, maximální rozlišení času je dáno systémovým časovačem (obvykle HPET nebo TSC). Funkce jako SMI (viz dále) mohou poškodit časování. SMI, DMA a další hardwarové záležitosti mohou způsobit i nedodržení nejhorších stanovených hodnot Release time a Deadline. Je však pravdou, že i přes uváděné problémy s nasazením PC v safety critical aplikacích, již existuje např. systém PikeOS (výrobce Sysgo), postavený na takovémto hardwaru s využitím OS Linux, který má certifikace DO-178B, IEC a EN Jedná se v podstatě o upravený GNU/Linux, s mikro kernelem a výborným vrstvením systému. PikeOS také nabízí široké spektrum podporovaných vývojových API a platforem, vzdálené ladění a monitoring po síti LAN, update systému bez nutnosti výpadku, atd. Dále viz. [2]. 8

10 KAPITOLA 2 Linux GNU/Linux je primárně určen k serverovým a desktopovým aplikacím. Nicméně díky podpoře mhoha různých platforem vznikly i nejrůznější úpravy jádra pro speciální nasazení. Knihovny Comedi, které používám pro řízení DAQ karty, jsou kompatibilní s RT patchem Ingo Molnára a RTAI. 2.1 Rozšíření pro RT Ve standardním jádru se nachází mnoho kritických sekcí, jejichž souběhu (při přerušení nebo preempci) brání spin locky zámky paměti s aktivním čekáním. Také vykonání přerušení může úlohy blokovat na velmi dlouho. Patch mění povahu obslužných rutin přerušení na běžné úlohy, kterým je možné přiřadit příslušnou prioritu (nižší, než má RT úloha). Prodlevy při souběhu vláken jsou místo spin locku řešeny mutexy, které umožňují uzamknout jednotlivé nezávislé kritické sekce různým úlohám (CPU se nevyhradí pro jednu úlohu, která vyvolala spin lock pro libovolnou sekci). Patch mění část jádra, ale pro programátora uživatelských aplikací je transparentní. RTAI sází na jinou koncepci. Místo úpravy jádra pouze přidává nový modul 1, který funguje jako vrstva HAL mezi operačním systémem a skutečným hardwarem, která plánuje přerušení a programuje systémový časovač. RTAI nabízí dva módy činnosti. Primární mód garantuje zpoždění aplikace do 50 us (nejhorší případ) a k plánování využívá nepřerušitelný co-scheduler. Pokud se mají vykonávat standardní systémová volání, úloha přejde do sekundárního módu, ve kterém již nemá takovou prioritu. Tento mód zaručuje pozdržení přerušení, do doby než doběhnou RT úlohy, aby nevznikaly nežádoucí prodlevy. Vzniká zde tedy skutečně něco mezi vrstvou HAL a virtualizací OS. Při přípravě jádra Linux jsem zkoušel aplikovat oba dva patche. Úprava Ingo Molnára je dnes již ve stabilním stavu a nezaznamenal jsem žádný problém. Naopak RTAI nefunguje tak jak má, neobsahuje univerzální patche Adeos/I-Pipe, ale své modifikace, nekompatibilní s mnoha verzemi jádra. Instalační proces je pro systémy Unixového typu značně nestandardní a poskytované API není příliš programátorsky přívětivé. Z těchto důvodů jsem RTAI nahradil patchem Xenomai. Jedná se o mladší větev RTAI, oddělenou od původního vývoje. Další informace o RT modifikacích a jejich srovnání lze najít v [10]. 1 Dnešní implementace Xenomai jádro upravuje, viz [12], myšlenka HAL je využita nadále. 9

11 KAPITOLA 2. LINUX 2.2 RT patch Pro použití RT patche je běžně potřeba překompilovat jádro. Po několika testech latence jsem však zjistil, že RT jádro, které je součástí distribuce Ubuntu, vykazuje nejlepší parametry. I přes použití tohoto zde uvedu některá nastavení, nutná při kompilaci [6]: pro správnou funkci je zásadní hardwarová podpora přesných časovačů a její zapnutí v jádře (HPET či TSC) dále je nutné deaktivovat APM, nechat aktivní ACPI (pro funkci HPET), ale její části vypnout nadbytečné moduly správy napájení zvyšují latenci a vyvolávají nežádoucí přerušení aktivovat volby CONFIG_PREEMPT=y, CONFIG_PREEMPT_RT=y a také vysoce přesné časovače CONFIG_HIGH_RES_TIMERS=y jakékoliv ladicí volby (debug) prodlužují latenci jádra neaktivujte podporu swapu výpadky stránek (page fault) vedou k velké latenci podpora škálování CPU (změna napájení/frekvence za běhu) nesmí být povolena (může mít vliv nejen na výkon, ale i funkci některých časovačů) I při správném nastavení jádra je potřeba dát pozor na některé hardwarové problémy. Největším z nich je SMI mód procesoru. Ten může být kdykoliv vyvolán hardwarem a má větší prioritu než nemaskovatelná přerušení. Když procesor přejde do SMI, vykoná obslužný kód z pevně dané adresy (obvykle BIOS ROM) a systém nejen nemůže rutinu zdržet, ale ani není schopen přechod do SMI detekovat a reagovat na něj. Tento problém působí latenci až v řádu stovek mikro sekund a projevuje se na x86 platformě i ve specializovaných RT operačních systémech. Další systémově nezávislou latenci v řádu mikro sekund může působit přidělování DMA (s tímto problémem jsem se nesetkal). V lepších případech je možné latenci ovlivnit nastavením ovladače. VGA konzole působí velmi vysokou latenci. Zápis na ni může zcela znehodnotit běh RT aplikace. Je doporučeno využít sériovou konzoli, SSH, grafické prostředí nebo framebuffer. Při psaní RT programů je potřeba dodržovat některé zásady. Předně je nutné vyvarovat se výpadku stránek. Nelze v RT sekcích pracovat se soubory, které nejsou načtené v operační paměti a provádět další systémová volání, která mohou způsobit výpadek stránky. Vlákna s RT prioritou se vytváří na začátku programu ne dynamicky. Stejně tak je vhodné pro pozdější dynamickou alokaci paměti vyhradit místo již před spuštěním RT sekcí, pomocí funkce malloc(). Co nejdříve se v sekci Main() zapíše volání mlockall(), které zajistí uzamčení všech zdrojů (soubory mapované do paměti, použité knihovny...) v operační paměti. Pokud je potřeba přistupovat ke sdíleným zdrojům, nesmí se použít semafory, ale speciální mutex PTHREAD_PRIO_INHERIT. Ten umožňuje navýšení priority vlákna vlastnícího zdroj, pokud ve frontě čeká úloha s vysokou prioritou, čímž se dosáhne co nejrychlejšího dokončení práce s uzamčeným zdrojem a jeho předání RT úloze. Některé specializované systémy ve svém API umožňují zapnutí Priority Inheritance při vytváření semaforu. U složitějších aplikací je nejlepším řešením předávání dat použitím více vláken, která si předávají data pomocí soketů. Hlavní vlákno běží s vysokou prioritou a ostatní (pro zpracování souborů, výpisy výsledků, atd.) mají prioritu mnohem nižší. Více informací uvádí literatura [3]. 10

12 KAPITOLA 2. LINUX 2.3 RTAI (Xenomai) Veškeré informace uvedené v této části se budou týkat Xenomai a nemusí zcela platit pro původní RTAI. Xenomai vznikl jako nová větev, která si klade za cíl vylepšit původní implementaci a také později dosáhnout kompatibility s RT_PATCH. Sám mohu potvrdit, že instalace Xenomai je jednodušší, rozšíření stabilní a obsahuje dokonalejší API. Po stažení balíku Xenomai a patche Adeos/iPipe dojde nejprve ke spuštění úvodního nastavení, při kterém Xenomai aplikuje patch. Narozdíl od RTAI je zde stažen oficiální patch z projektu Adeos, což umožňuje instalovat téměř na libovolné jádro (RTAI poskytuje jen velmi omezenou podporu jader) a využít tak i bezpečnostní patche hlavní větve jádra. V další části již lze spustit standardní konfiguraci a kompilaci jádra GNU/Linux. V konfiguračním menu přibudou volby pro aktivaci Xenomai. Patch dokonce nepovolí aktivaci Xenomai pokud je např. aktivováno ACPI nebo jiná nekompatibilní součást. Obecně platí při konfiguraci podobné zásady jako u výše zmíněného RT_PATCH. Po restartu do nového jádra je nutno kompilovat samotné Xenomai. Pro podrobné nastavení doporučuji prostudovat [4]. Xenomai redukuje problémy s SMI. V krajním případě je možné se pokusit jej zcela vypnout - to ale nelze doporučit, protože tím zastavíte i některé bezpečnostní mechanismy, např. Thermal Throtling, který se stará o zastavení CPU při přehřátí. Pro psaní programů platí stejné zásady jako ty uvedené v části o RT_PATCH. Dále je nutno zmínit, že Xenomai ještě není zcela kompatibilní s knihovnami Comedi. Nicméně žádný problém jsem nezaznamenal a s Xenomai jsem nakonec dosáhl výborných výsledků i při nasazení na velmi vytíženém systému. Pro psaní programů je neocenitelná výborná dokumantace [1]. Rozšíření se snaží o snadný přechod z jiných RT systémů. Proto API definuje RT úlohy jako speciální objekty task a nabízí metody pro manipulaci s nimi. Dále počítá s periodickými úlohami a obsahuje speciální čekací metody. Jako příklad uvedu vytvoření jednoduché periodické RT úlohy. RT_TASK p e r i o d i c _ t a s k ; v oid task_body ( v o id a r g ) { / Arguments : &t a s k (NULL=s e l f ), s t a r t time, p e r i o d ( h e r e : 1 s ) / r t _ t a s k _ s e t _ p e r i o d i c (NULL, TM_NOW, ) ; w h i l e ( t r u e ) { // Do code..... rt_ task_ wait_ period (NULL) ; r e t u r n ; i n t main ( i n t argc, char a r g v [ ] ) { / A v o i d s memory swapping f o r t h i s program / m l o c k a l l (MCL_CURRENT MCL_FUTURE) ; / Arguments : &task, name, s t a c k s i z e (0= d e f a u l t ), p r i o r i t y, 11

13 KAPITOLA 2. LINUX mode (FPU, s t a r t suspended,... ) / r t _ t a s k _ c r e a t e (& p e r i o d i c _ t a s k, " t r i v i a l ", 0, 99, T_JOINABLE) ; / Arguments : &task, t a s k f u n c t i o n, f u n c t i o n argument / r t _ t a s k _ s t a r t (& p e r i o d i c _ t a s k, &task_body, NULL) ; / Wait f o r t a s k f i n i s h / r t _ t a s k _ j o i n (& p e r i o d i c _ t a s k ) ; r t _ t a s k _ d e l e t e (& p e r i o d i c _ t a s k ) ; e x i t ( 0 ) ; 2.4 Comedi Projekt Comedi vytváří a spravuje ovladače zařízení pro měřicí karty mnoha výrobců (National Instruments, Amplicon, Adlink, Advantech, Analog Devices, atd.). Jedná se o karty do PCI, ISA i USB a to hlavně univerzální DAQ a DIO zařízení. Comedi umožňuje i snadnou úpravu ovladačů a tvorbu nových. Stačí aby nový ovladač využíval předdefinované struktury Comedi a inicializační rutiny. Většina kódu je udržována komunitou, nicméně někteří výrobci již vyvýjí sami ovladače pro Comedi a nabízí je zákazníkům. Tento postup je pro ně výhodnější než vývoj čistě komerčních ovladačů a při tom zachovává možnost uchovat některé části kódu uzavřené, použitím proprietárního firmware procesoru na DAQ kartě. Pro zákazníka je výhoda otevřenosti ovladačů tímto dotčena jen minimálně. Při použití Comedi je možné aby si zákazník sám ovladač upravil, měl možnost zkontrolovat jeho kvalitu a pochopit, co karta s daty provádí. Obrázek 2.1: Získávání dat z DAQ karty Součásttí projektu je také Comedilib, což je sada knihoven, které lze využít pro kumunikaci s ovladačem. Nejjednodušší na použití, ale také nejméně konfigurovatelné jsou funkce comedi_data_read() a comedi_dio_read() (případně write verze). Pomocí nich lze snadno vyčítat analogové a digitální kanály a s využitím comedi_to_phys() i převádět data na správné fyzikální jednotky. Dále existují funkce pro konfiguraci kanálů atd. O málo složitější, ale velmi flexibilní jsou instrukce. Pro jejich provedení stačí vyplnit strukturu comedi_insn_struct, která obsahuje instrukci (získání dat, zápis dat, konfiguraci kanálu), údaje o kanálu 12

14 KAPITOLA 2. LINUX který se bude měřit a ukazatel na data. Takto lze nadefinovat celé pole (insnlist) připravených struktur, které představuje po sobě jdoucí instrukce a celé jej vykonat pomocí comedi_do_insnlist(). Nejsložitější je použití příkazů. Je nutné naplnit strukturu comedi_cmd(), která obsahuje údaje nejen o měřených kanálech a jejich konfiguraci, ale také o spouštění měření, odměru kanálu, A/D převodu, atd., jak je vidět z obrázku 2.1. Je nutno říct, že ne všechny zásuvné měřicí karty podporují všechny typy spouštění. K tomu je totiž potřeba skutečná hardwarová podpora příslušných spouštění. Např. karta NI 6221 podporuje hardwarové spouštění externím vstupem pouze na analogových linkách. V případě dražších karet lze ale periodicky vyčítat / nastavovat digitální i analogové vstupy při spouštění digitálním vstupem, určit spouštění všech událostí z 2.1, atd. Vývoj Comedilib je stále aktivní a do budoucna se testuje podpora analogové filtrace, analogového spouštění, spouštění celým bajtem (shoda v bitech), NI RTSI Trigger Bus a mnohé další. 13

15 KAPITOLA 3 Časovače v PC V počítači typu PC se můžeme setkat s mnoha programovatelnými časovači [5]. Některé na základních deskách zůstávají již jen z historických důvodů, jiné se teprve začínají využívat. V této kapitole najdete popis nějběžněji používaných časovačů. 3.1 PIT Jedná se o nejstarší typ časovače, který přes své nevýhody stále přežívá i v moderních počítačích. Dříve byl realizován samostatným obvodem Intel 8253 [11], dnes je často integrován do chipsetu (southbridge). Obvod obsahuje tři nezávislé šestnáctibitové programovatelné časovače, z nichž časovač číslo dva bývá použit pro refresh cyklus operační paměti a číslo tři ke generování tónů pro PC speaker. Každý z časovačů lze naprogramovat do jiného módu. Čítání od zadaného čísla do nuly, modulo N, generátor obdélníku,... Pokud je tento časovač použit jako systémový, je spuštěn v periodickém čítání od N do nuly. Jeho maximální frekvence je 1000 Hz. Nebývá ale příliš přesný a přístup pro čtení/zápis je zdlouhavý (dáno umístěním na southbridge). 3.2 RTC Obvod Real Time Clock je dnes již také běžnou součástí chipsetu. Jedná se o obvod s nízkým časovým rozlišením, který běží neustále (napájen z baterie a udržuje čas PC). Jeho programování je nejpomalejší ze všech časovačů používá se téměř výhradně v periodickém módu (OS GNU/Linux jen pro čtení data a času). Je schopen dosáhnout frekvencí 2 Hz až 8192 Hz. Určitou výhodou tohoto časovače je nezávislost na konkrétním CPU a chipsetu. 3.3 APIC Obvod APIC (Advanced Programmable Interrupt Controller) se stará o řazení přerušení a jejich doručení na příslušný procesor a zajišťuje meziprocesorová přerušení. Z tohoto obvodu lze použít časovač APIC Timer [7]. Jedná se o třicetidvoubitový programovatelný časovač, použitelný pro časování systémových úloh a přesné měření času v aplikacích. Jeho frekvence je odvozena od systémové sběrnice a vydělena registrem Divide. Používá se opět mód čítání od N do nuly. 14

16 KAPITOLA 3. ČASOVAČE V PC Pokud je aktivován periodický mód, čítač po vyvolání přerušení pokračuje opět od N. Hodnota čítače může být resetována při hlubokém spánku CPU (Intel SpeedStep). V OS GNU/Linux bývá výchozím časovačem (pokud není deaktivován APIC nebo není dostupný vhodný TSC časovač). 3.4 TSC TSC (Time Stamp Counter) je součástí CPU [7], a proto může být vyčítán ještě rychleji než APIC Timer. Jeho frekvence je odvozena od frekvence CPU a obsahuje 64 bitová data. Teoretické rozlišení tedy odpovídá frekvenci procesoru, což se může pohybovat pod 1 ns. Tento časovač však přináší některé nevýhody. Je bezpodmínečně nutné nepoužívat Intel SpeedStep, protože snížení frekvence CPU vede ke změně frekvence časovače (novější Intel P4 používají pro časovač konstantní násobič a změna frekvence tak nevadí). Procesor nesmí přejít do stavu hlubokého spánku (časovač se zastaví). Největší komplikací jsou výcejádrové procesory. Každé jádro používá vlastní TSC časovač a při plánování jedné úlohy na různá jádra může dojít k nečekaným časovým posunům OS GNU/Linux však již obsahuje některé patche pro odstranění tohoto problému. 3.5 HPET HPET (High Precision Event Timer) je nejmladší časovač ze všech zmiňovaným [8]. Microsoft jej implementoval až ve Windows Vista a GNU/Linux jej stále ještě příliš nevyužívá (podpora ale existuje déle). Tento časovač by měl podle Intelu časem nahradit starý obvod PIT, čemuž svědčí i zájem firmy AMD a implementace v jejích chipsetech. Časovač dosahuje podobného rozlišení jako TSC, má také 64 bitové registry, ale nezpůsobuje problémy s Intel SpeedStep a vícejádrovými procesory (i tak je ale Intel SpeedStep pro RT aplikace nevhodný), protože je součástí chipsetu a využívá externí krystalový oscilátor. Ne všichni výrobci základních desek však HPET ve firmwareu aktivují a na desku umisťují příslušný oscilátor. Registry časovače jsou mapovány do I/O prostoru PC a snadněji dostupné pro CPU než PIT. 3.6 Problémy časování Všechny časovače v PC mají nějaké nevýhody. Ty specifické pro určité typy jsou uvedeny výše. Dále však přesnost časování ovlivňují další vlastnosti architektury dnešních procesorů. Paradoxně větší výkon a efektivnost procesorů je pro RT úlohy na škodu a starší procesory by některé úlohy řešily s menším rozptylem časování (jitter), v době jejich používání ovšem neexistovaly přesné časovače. Dnešní CPU využívají např. tzv. Instruction Pool, který jim umožňuje měnit pořadí zpracování instrukcí. Při normálním nasazení toto nevadí vede to k možnosti paralelně načítat instrukce a data a zpracovávat instrukce, právě dle času doručení potřebných zdrojů. U RT aplikace však situace vede ke zvětšení jitteru. Stejně tak odhadování skoků může mít vážné následky někdy je odhadnut správný průchod cyklem, někdy ne, což vede opět na větší jitter. Přerušení, míříci na nožičky CPU prochází přes APIC, takže nelze zaručit jejich okamžité doručení v původním pořadí. 15

17 KAPITOLA 4 Měřicí karty Celkem byly použity dvě měřicí karty - DAQ NI PCI 6221 a DIO Amplicon PCI NI PCI 6221 Jedná se o DAQ zásuvnou měřicí kartu určenou pro slot PCI, obsahující 16 bit analogové vstupy/- výstupy, 10 DIO linek a 32 bit čítač. Použitý vzorek, který byl katedře věnován firmou National Instruments, nebyl zcela funkční, nicméně DIO linky jsou použitelné. Na této kartě byla provedena prvotní měření. Z důvodu složitějšího obvodového řešení a proprietárního procesoru jsem se obával zbytečné latence v obvodech měřicí karty. Zpracování přerušení zde také není triviální záležitostí. 4.2 Amplicon PCI 236 Tato karta byla použita jako druhá, hlavně pro měření latence přerušení. Její obvodové řešení je velmi jednoduché a zaručuje nízkou latenci. Karta obsahuje pouze obvod PPI (82C55) a připojení na sběrnici PCI pomocí PLX9052. Brána C, pin 3 je navíc připojen na pin přerušení PLX9052. Oba obvody jsou mapovány do IO prostoru PCI sběrnice a jejich konfigurační registry je možno libovolně nastavovat. PPI 82C55 je programovatelný obvod, obsahující tři 8 bit brány a konfigurační registr. Brány A, B a 2x 1/2 C lze individuálně konfigurovat na vstup/výstup. Verzi použitou na měřicí kartě vyrábí firma OKI a od původního 8255 se liší vyšší 16

18 KAPITOLA 4. MĚŘICÍ KARTY rychlostí a nižším proudovým odběrem. PLX9052 je velmi univerzální obvod, umožňující připojení množství různorodých periferií na sběrnici PCI, včetně obvodů určených původně pro ISA. Obvod vytváří sběrnici local bus, která může být 8 bit až 32 bit, je vybaven FIFO frontou a nezávislými hodinami, pro připojení obvodů s jinou rychlostí než PCI sběrnice. Výběr obvodu, který bude aktivní na local bus lze realizovat až čtyřmi signály chip select a v případě multiplexování sběrnice je přítomen signál ALE. Pro uchování konfiguračních dat (včetně ID výrobce a zařízení k identifikaci na PCI) lze připojit paměť EEPROM. Karta je primárně určena k výzkumu a testování, čemuž odpovídá umístění pájivého kontaktního pole v blízkosti DIO linek, které umožňuje přidání vlastních obvodů (dokumentace poskytuje i návod pro zapojení optických oddělovačů a dalších obvodů) a v neposlední řadě také použití patice pro PPI (snadná výměna při poškození). Ke kartě je dodávána plná technické dokumentace, včetně schéma zapojení, příkladů programů (C/C++,.NET, Delphi), ovladač pro Windows a NI LabView. 17

19 KAPITOLA 5 Generování přesného času Po studiu možností GNU/Linux a jeho RT rozšíření jsem začal psát real-time aplikace v jazyce C. Basic latency using RT_patch Jakub Kocourek March 14, 2009 Obrázek 5.1: START main set_rt_priority F i = 0 i = i + 1 i <= n print_delta_times STOP main T get_time wait (period) get_time calc_time_delta 5.1 Latence systému První aplikace, kterou jsem vytvořil byl jednoduchý test latence. Zajímalo mě, jak rychle systém připraví úlohu k běhu na procesoru, pokud se má probudit z pasivního čekání nanosleep(). Na vývojovém diagramu 5.1 můžete vidět funkci programu. Po startu aplikace se provede zvýšení priority a nastavení FIFO plánovače. Celá latence je měřena jako rozdíl času čekání ve funkci nanosleep() a skutečné sekundy (z HPET časovače). Důležitým výsledkem není sama průměrná latence (systematická chyba), ale rozdíl minima a maxima (náhodná chyba, kterou neovlivním). Ze stovky změřených hodnot vychází rozdíl minima a maxima pouhé tři mikrosekundy, při průměrné latenci šest mikrosekund. To je podstatný údaj, který znamená, že úloha je na tomto systému realizovatelná. Právě malý rozkmit latence (malá neurčitost) charakterizuje RT systémy. Zdrojový kód je v příloze A. 5.2 Sekundový generátor s HPET Page 1 of 1 časovačem a RT_PATCH Nyní již k samotné úloze generování sekundových tiků. RT_PATCH standardně nabízí dobrou spolupráci s časovačem HPET, proto byl vybrán 18

20 KAPITOLA 5. GENEROVÁNÍ PŘESNÉHO ČASU pro test této RT modifikace. Vývojový diagram je na obrázku 5.2. Jedná se o jednoduchou smyčku, ve které nastavuji jeden pin na připojené DAQ kartě. Průměrná latence systému (systematická chyba) je kompenzována staticky. Hodnota kompenzační konstanty nemá hlubší opodstatnění, protože není možné, Basic DIO using RT_patch Jakub Kocourek na rozdíl od jednoduchých up bez OS, snadno určit dobu běhu jednotlivých příkazů. Kalibrace tedy probíhá tak, že je program spuštěn s nulovou kompenzací, z naměřených chyb je vypočtena střední hodnota (jako aritmetický průměr) a ta je následně použita jako hledaná konstanta. Tímto způsobem je možno systematickou chybu redukovat na několik desítek nanosekund. V případě tohoto generátoru je změřená hodnota průměrné latence (ze sta odměrů) 236,6758 us/tik. S programem bylo dosaženo směrodatné odchylky pod jednu mikrosekundu, což je o řád lepší, než vyžaduje zadání. Zdrojový kód je v příloze B. START main set_rt_priority true T set_dio F March 14, 2009 wait (Tup) 5.3 Sekundový generátor s TSC časovačem a Xenomai clear_dio Při použití rozšíření Xenomai je naopak výchozí volbou časovač TSC (u HPET stále hrozí kolize s dalšími úlohami, zvláště na 64 bit systémech). Na vývojovém diagramu 5.3 a zvláště na zdrojovém kódu C je patrná odlišnost od předchozího programu - jak jsem již uvedl, Xenomai se snaží o maximální kompatibilitu se skutečnými RT systémy (např. VxWorks), a proto zde existují úlohy (task), kterým je možné nastavit periodicitu. Jádro programu je však stejné. Opět pomocí Obrázek 5.2: wait (Tdown) klihoven Comedi nastavuji DAQ kartu. Xenomai však již počítá s periodickými úlohami, lze tedy provést hlavní kód cyklu a následně nechat úlohu dospat zbylý čas do jedné sekundy. Ale ani s touto podporou knihoven Xenomai není časovač přesný a je nutné staticky kompenzovat systematickou chybu stejným způsobem jako v případě RT_PATCH. Zde je průměrná latence 75,9615 us/tik. Protože Xenomai se o tuto kompenzaci částečně pokouší sám, při nulové kompenzaci v programu obvykle dojde k předčasnému probouzení procesu, proto se v programu objevuje záporná kompenzace. Dosahl jsem směrodatné odchylky pod polovinu mikrosekundy. To je také nejlepší dosažený výsledek. STOP main Page 1 of Zpětnovazební sekundový generátor Můj další pokus vedl k myšlence eliminovat latency zpětnou vazbou. Pokud po každém průchodu cyklem generování tiku zjistím o kolik nanosekund jsem se odchýlil (regulační odchylka), mohu latency v dalším kroku korigovat (akční zásah). 19

21 KAPITOLA 5. GENEROVÁNÍ PŘESNÉHO ČASU Předpokladem takového řízení je však použití START gen_tik () velmi přesného referenčního signálu, což při praktickém pokusu ani jeden z časovačů nedokázal. Latence byla stabilnější, ale kvůli systematické chybě set_periodic(t) časovačů generátor nevyhověl žádaným parametrům. true T F V budoucnu bych rád zkusil použití přesného krystalového oscilátoru, připojeného do čítače na DAQ kartě. Časovače v PC by tak byly set_dio použity pro krátkodobé časování a v pravidelných wait (Tup) START main intervalech by docházelo k jejich korekci proti externímu časovači. clear_dio create task (gen_tik) 5.5 Latence přerušení start task (gen_tik) Předchozí změřené hodnoty neodpovídají skutečné wait_period latenci (systematická chyba), protože ta je z velké join_task(gen_tik) části kompenzována, ale jitteru, tedy měří se odchylky od průměru. Měření skutečné latence přeru- Obrázek 5.3: STOP gen_tik () STOP main šovacího systému je zajímavým parametrem, který odhalí část latence výceméně nezávislou na toku programu (nicméně nejedná se o latenci způsobenou pouze obvody karty). Rozšíření Xenomai umožňuje v části user space ošetřovat přerušení, což jsem také k tomuto měření využil. 20

22 KAPITOLA 6 Výsledky Generátory, využívající oba typy RT rozšíření, byly testovány za standardních podmínek - teplota nebyla regulována, PC skříň neobsahuje žádné vylepšené stínění ani speciální hardware. Při vysokém zatížení PC a následném zahřátí jsem pozoroval značné odchylky periody generovaného signálu (zvýšení teploty CPU o 15 C vyvolá nárůst systematické chyby téměř jedna mikrosekunda a směrodatnou odchylku zvýší o 140%). Teplotně závislá kompenzace je možná, má však nevýhodu - je nutno použít externí teplotní čidla, protože integrovaná čidla užívají SMI přerušení. Při praktickém nasazení by bylo nutné PC provozovat v klimatizovaném boxu a navíc vždy vyčkat zahřátí CPU a dalších součástí na provozní teplotu. Ani tak nelze vyloučit problémy, protože CPU může podléhat velmi rychlým teplotním změnám. V tomto případě skutečně platí pravidlo RT systém není pouze výkonný systém a lze jen doporučit úsporná mobilní CPU s nízkým příkonem (samozřejmě s deaktivovaným Intel SpeedStep) a kvalitní chlazení. 6.1 Postup měření Generátor byl na začátku měření vždy kalibrován (výše popsané nastavení statické kompenzace systematické chyby) a PC nebylo zatíženo žádnou jinou aktivní úlohou (pokud není uvedeno jinak) 1. V tabulce 6.1 jsou uvedeny naměřené hodnoty odchylky od generované periody. Při použití HPET časovače a RT_PATCH jsem dosáhl směrodatné odchylky pod jednu mikrosekundu. S TSC časovačem a Xenomai byl výsledek nejlepší - pouhých dvěstě osm nanosekund. Jak jsem zmínil výše, úlohy s nízkou prioritou nesmí chování systému příliš ovlivnit. Proto jsem provedl další měření, při kterém byl systém zatížen nejprve síťovým provozem (ping -i 0.02 localhost) a následně vysokou činností pevného disku (dd if=/dev/zero >/test.file 2 ). Test prokázal, že RT_PATCH trpí zvyšováním offsetu generované periody se zvyšující se zátěží. Při extrémním vytížení (kopírování souboru) již značně roste i směrodatná odchylka. Naopak Xenomai se vypořádal s vytíženým systémem výborně, směrodatná odchylka ani offset významněji nenarostly. Naměřené odchylky od generované periody jsou uvedeny v tabulce 6.2. V případě Xenomai narostl offset na hodnotu cca 1 us se směrodatnou odchylkou 1,3 us v případě síťového provozu a 3,3 us při plné zátěži. 1 Paralelně běžící úloha, běžící s normální prioritou by neměla ovlivnit RT úlohu, ale může zvyšovat zahřátí CPU a tím značně ovlivnit měření. 2 Příkaz kopíruje data z virtuálního znakového zařízení, v tomto případě přečte samé nuly a dále je zapisuje na disk. Dochází tedy k rozsáhlé komunikaci DMA kanálem a vysoké zátěži CPU. 21

23 KAPITOLA 6. VÝSLEDKY Nezatížený NI RT_PATCH Xenomai Nr. Latence (us) Latence (us) 1 0, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Nezatížený Amplicon Xenomai Nr. Latence (us) 1 0, , , , , , , , , , , , , , , , , , , Tabulka 6.1: Časovače HPET a TSC Poslední částí měření byla latence přerušení. Měření bylo provedeno na DIO kartě Amplicon PCI 236. Na přerušovací vstup (Port C, pin 3) byl z generátoru přiveden obdélníkový signál periody 1 Hz a výstup karty snímán opět čítačem. Přerušení bylo zpracováno v Xenomai. Z tabulky 6.3 je viditelná přímá souvislost latence přerušení s celkovou latencí, a to jak růst systematické složky, tak náhodné chyby. 3 Počítač na kterém provádím testy je jednojádrový. Nebylo proto bohužel možné otestovat jak kvalitně obě RT úpravy plánují úlohy na víceprocesorových systémech. 6.2 Výpočty Pro všechna měření byla určena střední hodnota odchylky od generované periody a směrodatná odchylka. Výsledky jsou uvedeny v tabulce 6.4. Pro srovnání je přidán i generátor sekundových pulzů na bázi GPS modulu, který využívá nejen vnitřní krystalový oscilátor, ale také se synchronizuje s UTC stupnicí vysílanou GPS satelity. K měření byl použit přesný číslicový čítač SR620, s nastavením: režim měření periody, sample size 1, mean; dle doporučení výrobce měření probíhalo po zahřátí přístroje (30 minut). 3 Při pohledu do tabulky nezapomeňte, že se jedná o latenci vstupní signál - zpracování - výstupní signál => pro porovnání se sekundovým generátorem je potřeba uvažovat latenci přibližně poloviční. 22

24 KAPITOLA 6. VÝSLEDKY Zatížený NI Ping -i 0.02 dd if=/dev/zero of=/test.file RT_PATCH Xenomai RT_PATCH Xenomai Nr. Latence (us) Latence (us) Latence (us) Latence (us) 1 4, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Zatížený Amplicon Ping -i 0.02 dd if=/dev/zero of=/test.file RT_PATCH Xenomai Nr. Latence (us) Latence (us) 1 0, , , , , , , , , , , , , , , , , , , , , , , , , , , , , Tabulka 6.2: Sekundový generátor na zatíženém systému 23

25 KAPITOLA 6. VÝSLEDKY Nezatížený Ping -i 0.02 dd if=/dev/zero of=/test.file Nr. Latence (us) Latence (us) Latence (us) 1 29, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Latence (us) 29, ± 0, , ± 1, , ± 5, Tabulka 6.3: Latence přerušení Časovač Latence (us) NI Latence (us) Amplicon RT_PATCH (HPET) +0, ± 0, Neměřeno Xenomai (TSC) +0, ± 0, , ± 0, RT_PATCH ping +3, ± 0, Neměřeno Xenomai ping -1,007909, ± 1, , ± 0, RT_PATCH dd Přes 10 us směrodat. odch. Neměřeno Xenomai dd -1, ± 3, , ± 3, GPS +0, ± 0, , ± 0, Tabulka 6.4: Výsledky 24

26 KAPITOLA 7 Zhodnocení Je patrné, že generátor přesných pulzů, založený na bázi běžného PC nemůže konkurovat jednoúčelovým zařízením. Primitivní integrované obvody jsou vždy schopné zajistit časování mnohem přesněji, než komplexní up, podporující běh mnoha úloh, které nejsou navrženy pro specifické potřeby RT aplikací. I přes to jsou dosažené výsledky lepší než očekávané, hlavně proto že v posledních několika letech se integrované časovače velmi zlepšily (což dokazuje i zájem firmy AMD o HPET časovač, který původně vyvinul Intel) a také GNU/Linux postupně vylepšuje práci s nimi a řeší nejrůznější problémy (např. TSC časovače na SMP systému). Nové časovače se ale prosazují velmi pomalu a ještě dlouho potrvá jejich plná podpora v operačních systémech, proto se stále setkáváme ve starými obvody PIT a APIC. Výrobci hardware i vývojáři RT rozšíření mají do budoucna rozhodně co vylepšovat. Ostatně z kapitoly 5 je patrné, že dnes neexistuje žádný ideální časovač a navíc každý OS preferuje jiný a jinak řeší různé problémy. Obě testovaná RT rozšíření se osvědčila. Pro skutečnou garanci latence a přenos kódu na RT systémy jako např. VxWorks bych doporučil spíše Xenomai se svým jednoduchým API, podobným právě VxWorks. Navíc RT_PATCH mne o svých kvalitách nepřesvědčil, kvůli špatným výsledkům na zatíženém systému. Mezi další výhody Xenomai patří snadný přístup k hardwaru - registrům, handleru přerušení, atd. Tato práce měla mapovat možnosti RT rozšíření v GNU/Linux a základní problémy při práci s měřicími kartami při generování času. S kartou NI PCI 6221 i Amplicon PCI 236 jsem dosáhl obdobných výsledků. Seměrodatná odchylka se pohybovala od 0,2 us u nezatíženého systému, až po 3,3 us na vytíženém systému (v obou případech měřeno s Xenomai). V dalším studiu bych rád v práci pokračoval měřením dlouhodobé časové stability a prozkoumáním možnosti synchronizace s externím přesným oscilátorem. 25

27 KAPITOLA 8 Použitá literatura [1] Xenomai API reference, Dostupné z: branches/v2.4.x/html/api/index.html. [2] AG, S. PikeOS datasheet, Dostupné z: datasheets/pikeos.pdf. [3] BOHMER, R. HOWTO: Build an RT-application, Dostupné z: org/index.php/howto:_build_an_rt-application. [4] BOUWMAN, W. Xenomai quick build guide, Dostupné z: index.php/xenomai_quick_build_quide. [5] BOVET, D. P. CESATI, M. Understanding the Linux Kernel, 3rd Edition. O Reilly, [6] FU, L. SCHWEBEL, R. RT Preempt Howto, Dostupné z: org/index.php/rt_preempt_howto. [7] INTEL. Intel(R) 64 and IA-32 Architectures Software Developer s Manuals, Ver Dostupné z: [8] INTEL. IA-PC HPET (High Precision Event Timers) Specification, Ver. 1.0a. Dostupné z: http: // [9] LIU, J. W. S. Real-time systems. Prentice Hall, [10] PELČÁK, V. Real-time modifikace Linuxu, Dostupné z: [11] WIKIPEDIA. Intel 8253, Dostupné z: [12] YAGHMOUR, K. Adeos design document, Dostupné z: adeos/dox/adeos/index.html. 26

28 PŘÍLOHA A Zdrojový kód - test latence systému #i n clude <s t d i o. h> #i n clude <s y s / time. h> #i n clude <time. h> #i n clude <p t h r e a d. h> #i n clude <sched. h> #define CNT 10 / S u b s t r a c t i o n i n t e r v a l=now b e g i n / i n t d e l t a _ t ( s t r u c t t i m e s p e c i n t e r v a l, s t r u c t t i m e s p e c begin, s t r u c t t i m e s p e c now ) { i n t e r v a l >tv_nsec = now >tv_nsec begin >tv_nsec ; / S u b t r a c t d e c i m a l f r a c t i o n f i r s t / i f ( i n t e r v a l >tv_nsec < 0 ) { i n t e r v a l >tv_nsec += ; / Borrow 1 s e c from tv_sec i f s u b t r a c t i o n ve / i n t e r v a l >tv_sec = now >tv_sec begin >tv_sec 1 ; / S u b t r a c t whole number o f s e c o n d s and r e t u r n 1 / return ( 1 ) ; e l s e { i n t e r v a l >tv_sec = now >tv_sec begin >tv_sec ; / S u b t r a c t whole number o f s e c o n d s and r e t u r n 0 / return ( 0 ) ; i n t main ( ) { s t r u c t t i m e s p e c ts, t s _ a f t e r, t s _ d e l t a ; s t r u c t t i m e s p e c t t s, t t s _ a f t e r, t t s _ d e l t a ; 27

29 PŘÍLOHA A. ZDROJOVÝ KÓD - TEST LATENCE SYSTÉMU const s t r u c t t i m e s p e c i n t e r v a l = { 1, 0 ; s t r u c t sched_param s c h e d u l i n g _ p a r a m e t e r s ; i n t count = 0 ; unsigned long td [CNT ] ; / Lock pages i n r e a l memmory / m l o c k a l l (MCL_CURRENT MCL_FUTURE) ; / Setup p r i o r i t y / s c h e d u l i n g _ p a r a m e t e r s. s c h e d _ p r i o r i t y = sched_get_priority_max ( SCHED_FIFO) 4 ; / Setup FIFO s c h e d u l e r / i f (0!= pthread_setschedparam ( p t h r e a d _ s e l f ( ), SCHED_FIFO, & s c h e d u l i n g _ p a r a m e t e r s ) ) { p e r r o r ( " pthread_setschedparam e r r o r " ) ; / Get time to measure r u n n i n g time / c l ock_gettime (CLOCK_REALTIME,& t t s ) ; f o r ( count = 0 ; count < CNT; count++) { // Time b e f o r e c l o c k _ g e t t i m e (CLOCK_REALTIME,& t s ) ; n a n o s l e e p (& i n t e r v a l, NULL) ; // Time a f t e r c l o c k _ g e t t i m e (CLOCK_REALTIME,& t s _ a f t e r ) ; d e l t a _ t (& ts_delta, &ts, &t s _ a f t e r ) ; // Write l a t e n c y td [ count ] = t s _ d e l t a. tv_nsec ; / Get time to measure r u n n i n g time / c l ock_gettime (CLOCK_REALTIME,& t t s _ a f t e r ) ; d e l t a _ t (& t t s _ d e l t a, &t t s, &t t s _ a f t e r ) ; p r i n t f ( " Total w a i t : %l u s e c %l u nsec \n", t t s _ d e l t a. tv_sec, t t s _ d e l t a. tv_nsec ) ; f o r ( count = 0 ; count < CNT; count++) { p r i n t f ( " Waited : %l u nsec \n", td [ count ] ) ; return 0 ; 28

30 PŘÍLOHA B Zdrojový kód - sekundový generátor s HPET časovačem #i n clude <s t d i o. h> #i n clude <s y s / time. h> #i n clude <time. h> #i n clude <p t h r e a d. h> #i n clude <sched. h> #i n clude <c o m e d i l i b. h> #define CNT 100 #define CORRECT_SYST // C o r r e c t i o n o f s y s t e m a t i c e r r o r / S u b s t r a c t i o n i n t e r v a l=now b e g i n / i n t d e l t a _ t ( s t r u c t t i m e s p e c i n t e r v a l, s t r u c t t i m e s p e c begin, s t r u c t t i m e s p e c now ) { i n t e r v a l >tv_nsec = now >tv_nsec begin >tv_nsec ; / S u b t r a c t d e c i m a l f r a c t i o n f i r s t / i f ( i n t e r v a l >tv_nsec < 0 ) { i n t e r v a l >tv_nsec += ; / Borrow 1 s e c from tv_sec i f s u b t r a c t i o n ve / i n t e r v a l >tv_sec = now >tv_sec begin >tv_sec 1 ; / S u b t r a c t whole number o f s e c o n d s and r e t u r n 1 / return ( 1 ) ; e l s e { i n t e r v a l >tv_sec = now >tv_sec begin >tv_sec ; / S u b t r a c t whole number o f s e c o n d s and r e t u r n 0 / return ( 0 ) ; 29

31 PŘÍLOHA B. ZDROJOVÝ KÓD - SEKUNDOVÝ GENERÁTOR S HPET ČASOVAČEM i n t main ( ) { s t r u c t t i m e s p e c t t s, t t s _ a f t e r, t t s _ d e l t a ; const s t r u c t t i m e s p e c i n t e r v a l _ u p = {0, ; s t r u c t t i m e s p e c interval_down = {0, CORRECT_SYST ; s t r u c t sched_param s c h e d u l i n g _ p a r a m e t e r s ; i n t count = 0 ; comedi_t i t ; i n t subdev = 2 ; i n t chan = 0 ; / Lock pages i n r e a l memmory / m l o c k a l l (MCL_CURRENT MCL_FUTURE) ; / Setup p r i o r i t y o f p r o c e s s / s c h e d u l i n g _ p a r a m e t e r s. s c h e d _ p r i o r i t y = sched_get_priority_max ( SCHED_FIFO) 4 ; / Setup s c h e d u l i n g s t r a t e g y / i f (0!= pthread_setschedparam ( p t h r e a d _ s e l f ( ), SCHED_FIFO, & s c h e d u l i n g _ p a r a m e t e r s ) ) { p e r r o r ( " pthread_setschedparam e r r o r " ) ; / Open Comedi d e v i c e / i t = comedi_open ( "/ dev / comedi0 " ) ; / C o n f i g u r e l i n e s to DO / comedi_dio_config ( i t, subdev, chan,comedi_output) ; / Get time to measure r u n n i n g time / c l ock_gettime (CLOCK_REALTIME,& t t s ) ; f o r ( count = 0 ; count < CNT; count++) { comedi_dio_write ( i t, subdev, chan, 1 ) ; n a n o s l e e p (& i n t e r v a l _ u p, NULL) ; comedi_dio_write ( i t, subdev, chan, 0 ) ; n a n o s l e e p (& interval_down, NULL) ; / Get time to measure r u n n i n g time / c l ock_gettime (CLOCK_REALTIME,& t t s _ a f t e r ) ; d e l t a _ t (& t t s _ d e l t a, &t t s, &t t s _ a f t e r ) ; p r i n t f ( " Total w a i t : %l u s e c %l u nsec \n", t t s _ d e l t a. tv_sec, t t s _ d e l t a. tv_nsec ) ; comedi_close ( i t ) ; return 0 ; 30

32 PŘÍLOHA C Zdrojový kód - sekundový generátor s TSC časovačem #i n clude <s t d i o. h> #i n clude <s i g n a l. h> #i n clude <u n i s t d. h> #i n clude <s y s /mman. h> #i n clude <n a t i v e / t a s k. h> #i n clude <n a t i v e / t i m e r. h> #i n clude <c o m e d i l i b. h> #i n clude <time. h> #i n clude <s y s / time. h> #define CNT 10 #define CORRECT_SYST 2640 // C o r r e c t i o n o f s y s t e m a t i c e r r o r RT_TASK comedi_task ; RTIME s t a r t, end ; / S u b s t r a c t i o n i n t e r v a l=now b e g i n / i n t d e l t a _ t ( s t r u c t t i m e s p e c i n t e r v a l, s t r u c t t i m e s p e c begin, s t r u c t t i m e s p e c now ) { i n t e r v a l >tv_nsec = now >tv_nsec begin >tv_nsec ; i f ( i n t e r v a l >tv_nsec < 0) { i n t e r v a l >tv_nsec += ; i n t e r v a l >tv_sec = now >tv_sec begin >tv_sec 1 ; return ( 1 ) ; e l s e { i n t e r v a l >tv_sec = now >tv_sec begin >tv_sec ; 31

33 PŘÍLOHA C. ZDROJOVÝ KÓD - SEKUNDOVÝ GENERÁTOR S TSC ČASOVAČEM return ( 0 ) ; void comedi ( void arg ) { i n t count ; comedi_t i t ; i n t subdev = 2 ; i n t chan = 0 ; const s t r u c t t i m e s p e c i n t e r v a l _ u p = {0, ; / Open Comedi d e v i c e / i t = comedi_open ( "/ dev / comedi0 " ) ; / C o n f i g u r e l i n e s to DO / comedi_dio_config ( i t, subdev, chan,comedi_output) ; / Set t h i s t a s k p e r i o d i c Arguments : &t a s k (NULL=s e l f ), s t a r t time, p e r i o d ( h e r e : 1 s ) / r t _ t a s k _ s e t _ p e r i o d i c (NULL, TM_NOW, CORRECT_SYST) ; f o r ( count =0; count<cnt; count++) { / Write 1 0 to DAQ card / comedi_dio_write ( i t, subdev, chan, 1 ) ; n a n o s l e e p (& i n t e r v a l _ u p, NULL) ; comedi_dio_write ( i t, subdev, chan, 0 ) ; / Wait f o r next p e r i o d / rt_task_wait_period (NULL) ; comedi_close ( i t ) ; return ; void c a t c h _ s i g n a l ( i n t s i g ) { / Sigterm caught, so e x i t / e x i t ( 0 ) ; i n t main ( i n t argc, char argv [ ] ) { s t r u c t t i m e s p e c t t s, t t s _ a f t e r, t t s _ d e l t a ; s i g n a l (SIGTERM, c a t c h _ s i g n a l ) ; / Lock pages i n r e a l memmory / m l o c k a l l (MCL_CURRENT MCL_FUTURE) ; 32

34 PŘÍLOHA C. ZDROJOVÝ KÓD - SEKUNDOVÝ GENERÁTOR S TSC ČASOVAČEM / C r e a t e new t a s k ( t h r e a d ) Arguments : &task, name, s t a c k s i z e (0= d e f a u l t ), p r i o r i t y, mode (FPU, s t a r t suspended,... ) / r t _ t a s k _ c r e a t e (&comedi_task, " t r i v i a l ", 0, 99, T_JOINABLE) ; c l ock_gettime (CLOCK_REALTIME,& t t s ) ; / S t a r t t a s k Arguments : &task, t a s k f u n c t i o n, f u n c t i o n argument / r t _ t a s k _ s t a r t (&comedi_task, &comedi, NULL) ; / Wait f o r t a s k t e r m i n a t i o n / r t _ t a s k _ j o i n (&comedi_task ) ; / D e l e t e t a s k / r t _ t a s k _ d e l e t e (&comedi_task ) ; c l ock_gettime (CLOCK_REALTIME,& t t s _ a f t e r ) ; d e l t a _ t (& t t s _ d e l t a, &t t s, &t t s _ a f t e r ) ; p r i n t f ( " Total w a i t : %l u s e c %l u nsec \n", t t s _ d e l t a. tv_sec, t t s _ d e l t a. tv_nsec ) ; e x i t ( 0 ) ; 33

35 PŘÍLOHA D Zdrojový kód - latence přerušení #i n clude <s t d i o. h> #i n clude <s y s / time. h> #i n clude <time. h> #i n clude <p t h r e a d. h> #i n clude <sched. h> #i n clude <c o m e d i l i b. h> #i n clude <u n i s t d. h> #i n clude < f c n t l. h> #i n clude <s y s / s i g n a l. h> #i n clude <s y s / t y p e s. h> #i n clude <n a t i v e / t a s k. h> #i n clude <n a t i v e / t i m e r. h> #i n clude <n a t i v e / i n t r. h> #i n clude <s y s /mman. h> #define _POSIX_SOURCE 1 #define FALSE 0 #define TRUE 1 #define IRQ 22 void comedi_setup_irq ( ) ; void polltaskrun ( ) ; void c a t c h _ s i g n a l ( i n t s i g ) ; void i n i t T a s k R u n ( ) ; RT_TASK p o l l T a s k ; RT_TASK i n i t T a s k ; RT_INTR d i o I n t r ; v o l a t i l e i n t STOP=FALSE ; const s t r u c t t i m e s p e c i n t e r v a l _ u p = {0, ; comedi_t i t ; 34

24 bitový AD USB modul AD24USB. Návod k použití

24 bitový AD USB modul AD24USB. Návod k použití 24 bitový AD USB modul AD24USB Návod k použití Obsah Obsah...2 1. Úvod...3 2. Technické parametry...3 A/D převodník:...3 Zdroj proudu:...4 Digitální vstupy/výstupy:...4 3. Instalace modulu...4 3.1. Zapojení

Více

1 Podrobná specifikace Yunifly Datasheet

1 Podrobná specifikace Yunifly Datasheet 1 Podrobná specifikace Yunifly Datasheet OBRAZEK fotky Yunifly obe desky zvlast + dohromady + top view - merge to one 1.1 Hmotnost a rozměry Elektronika Yunifly je složena ze dvou samostatných částí, které

Více

Základní deska (mainboard, motherboard)

Základní deska (mainboard, motherboard) Základní deska (mainboard, motherboard) Hlavním účelem základní desky je propojit jednotlivé součástky počítače do fungujícího celku a integrovaným součástem na základní desce poskytnout elektrické napájení.

Více

) informace o stavu řízené veličiny (předávaná řídícímu systému) - nahrazování člověka při řízení Příklad řízení CNC obráběcího stroje

) informace o stavu řízené veličiny (předávaná řídícímu systému) - nahrazování člověka při řízení Příklad řízení CNC obráběcího stroje zapis_rizeni_uvod - Strana 1 z 9 20. Úvod do řízení Řízení Zpětná vazba (angl. #1 je proces, kdy #2 část působí na základě vstupních informací a zpětné vazby na #3 část zařízení tak, aby se dosáhlo požadovaného

Více

FASTPort. Nová sběrnice pro připojení inteligentních karet* k osmibitovým počítačům. aneb. Jak připojit koprocesor

FASTPort. Nová sběrnice pro připojení inteligentních karet* k osmibitovým počítačům. aneb. Jak připojit koprocesor FASTPort Nová sběrnice pro připojení inteligentních karet* k osmibitovým počítačům aneb Jak připojit koprocesor *) inteligentní karta = karta vybavená vlastním procesorem J. Němeček 12. 10. 2013 úvodní

Více

VYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU "HOST PC - TARGET PC" PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ

VYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU HOST PC - TARGET PC PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ VYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU "HOST PC - TARGET PC" PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ Stanislav Flígl Katedra elektrických pohonů a trakce (K13114),

Více

Základní deska (1) Parametry procesoru (2) Parametry procesoru (1) Označována také jako mainboard, motherboard

Základní deska (1) Parametry procesoru (2) Parametry procesoru (1) Označována také jako mainboard, motherboard Základní deska (1) Označována také jako mainboard, motherboard Deska plošného spoje tvořící základ celého počítače Zpravidla obsahuje: procesor (mikroprocesor) patici pro numerický koprocesor (resp. osazený

Více

O autorovi 6 O odborném redaktorovi 7 Úvod 21 Laptop nebo notebook? 21 Co je cílem této knihy 22 Webové stránky autora 23 Osobní poznámka 23

O autorovi 6 O odborném redaktorovi 7 Úvod 21 Laptop nebo notebook? 21 Co je cílem této knihy 22 Webové stránky autora 23 Osobní poznámka 23 Obsah O autorovi 6 O odborném redaktorovi 7 Úvod 21 Laptop nebo notebook? 21 Co je cílem této knihy 22 Webové stránky autora 23 Osobní poznámka 23 KAPITOLA 1 Obecně o přenosných systémech 25 Definice přenosného

Více

zení Koncepce připojení V/V zařízení POT POT ... V/V zařízení jsou připojena na sběrnici pomocí řadičů. Řadiče Připojení periferních zařízení

zení Koncepce připojení V/V zařízení POT POT ... V/V zařízení jsou připojena na sběrnici pomocí řadičů. Řadiče Připojení periferních zařízení Připojení periferních zařízen zení 1 Koncepce připojení V/V zařízení V/V zařízení jsou připojena na sběrnici pomocí řadičů. Řadiče specializované (řadič disku) lze k nim připojit jen zařízení určitého

Více

PROGRAMOVÁNÍ ŘÍDÍCÍCH SYSTÉMŮ

PROGRAMOVÁNÍ ŘÍDÍCÍCH SYSTÉMŮ VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ PROGRAMOVÁNÍ ŘÍDÍCÍCH SYSTÉMŮ Procesy, paralelní procesy, souběžné zpracování Ing. Ivo Špička, Ph.D. Ostrava 2013 Ing. Ivo Špička, Ph.D.

Více

Hardware. Z čeho se skládá počítač

Hardware. Z čeho se skládá počítač Hardware Z čeho se skládá počítač Základní jednotka (někdy také stanice) obsahuje: výstupní zobrazovací zařízení CRT nebo LCD monitor počítačová myš vlastní počítač obsahující všechny základní i přídavné

Více

Inovace bakalářského studijního oboru Aplikovaná chemie. Reg. č.: CZ.1.07/2.2.00/15.0247

Inovace bakalářského studijního oboru Aplikovaná chemie. Reg. č.: CZ.1.07/2.2.00/15.0247 Inovace bakalářského studijního oboru Aplikovaná chemie Reg. č.: CZ.1.07/2.2.00/15.0247 APLIKACE POČÍTAČŮ V MĚŘÍCÍCH SYSTÉMECH PRO CHEMIKY s využitím LabView 2. Číslicové počítače a jejich využití pro

Více

Úvod do architektur personálních počítačů

Úvod do architektur personálních počítačů Úvod do architektur personálních počítačů 1 Cíl přednášky Popsat principy proudového zpracování informace. Popsat principy zřetězeného zpracování instrukcí. Zabývat se způsoby uplatnění tohoto principu

Více

VYUŽITÍ PYTHONU PRO REALTIMOVÉ ŘÍZENÍ PERIFERIÍ

VYUŽITÍ PYTHONU PRO REALTIMOVÉ ŘÍZENÍ PERIFERIÍ České vysoké učení technické v Praze Fakulta strojní Ústav přístrojové a řídicí techniky VYUŽITÍ PYTHONU PRO REALTIMOVÉ ŘÍZENÍ PERIFERIÍ v rámci předmětu Python pro vědecké výpočty Ladislav Sückr 16.12.2012

Více

HW počítače co se nalézá uvnitř počítačové skříně

HW počítače co se nalézá uvnitř počítačové skříně ZVT HW počítače co se nalézá uvnitř počítačové skříně HW vybavení PC Hardware Vnitřní (uvnitř počítačové skříně) Vnější ( ) Základní HW základní jednotka + zobrazovací zařízení + klávesnice + (myš) Vnější

Více

SÁM O SOBĚ DOKÁŽE POČÍTAČ DĚLAT JEN O MÁLO VÍC NEŽ TO, ŽE PO ZAPNUTÍ, PODOBNĚ JAKO KOJENEC PO PROBUZENÍ, CHCE JÍST.

SÁM O SOBĚ DOKÁŽE POČÍTAČ DĚLAT JEN O MÁLO VÍC NEŽ TO, ŽE PO ZAPNUTÍ, PODOBNĚ JAKO KOJENEC PO PROBUZENÍ, CHCE JÍST. OPERAČNÍ SYSTÉMY SÁM O SOBĚ DOKÁŽE POČÍTAČ DĚLAT JEN O MÁLO VÍC NEŽ TO, ŽE PO ZAPNUTÍ, PODOBNĚ JAKO KOJENEC PO PROBUZENÍ, CHCE JÍST. OPERAČNÍ SYSTÉMY PŮVODNĚ VYVINUTY K ŘÍZENÍ SLOŽITÝCH VSTUPNÍCH A VÝSTUPNÍCH

Více

Architektura počítače

Architektura počítače Architektura počítače Výpočetní systém HIERARCHICKÁ STRUKTURA Úroveň aplikačních programů Úroveň obecných funkčních programů Úroveň vyšších programovacích jazyků a prostředí Úroveň základních programovacích

Více

Obsah. Kapitola 1 Skříně počítačů 15. Kapitola 2 Základní deska (mainboard) 19. Kapitola 3 Napájecí zdroj 25. Úvod 11

Obsah. Kapitola 1 Skříně počítačů 15. Kapitola 2 Základní deska (mainboard) 19. Kapitola 3 Napájecí zdroj 25. Úvod 11 Obsah Úvod 11 Informace o použitém hardwaru 12 Několik poznámek k Windows 13 Windows XP 13 Windows Vista 13 Kapitola 1 Skříně počítačů 15 Typy skříní 15 Desktop 15 Tower (věžová provedení) 15 Rozměry skříní

Více

SOP: MIKROKLIMATICKÉ FAKTORY

SOP: MIKROKLIMATICKÉ FAKTORY Strana č.: 1 Jméno Podpis Vypracoval: B. Kotlík Výtisk č.: 1 Schválil: Ing. V. Vrbíková Platí od 15. 12. 2015 1. Úvod Tato metoda je určena pro řešení projektu MZSO monitoring vnitřního prostředí v mateřských

Více

Petr Holášek / 1 of 21

Petr Holášek / 1 of 21 "Klidně to přeruš!" aneb pojednání o zpracovávání HW přerušení na OS Linux Petr Holášek / pholasek@redhat.com 1 of 21 Koho by měly zajímat přerušení? Administrátory Systémové inženýry Uživatele, které

Více

FVZ K13138-TACR-V006-G-PTP_TESTER

FVZ K13138-TACR-V006-G-PTP_TESTER PTP Tester Základní vlastnosti a měřené parametry Implementace protokolu PTP do obecné paketové sítě není triviální a je nutné ověřit vlastnosti takové synchronizace. Existující způsoby vyhodnocují pouze

Více

UDAQ-1216A UDAQ-1416A. multifunkèní modul pro rozhraní USB

UDAQ-1216A UDAQ-1416A. multifunkèní modul pro rozhraní USB UDAQ-1216A UDAQ-1416A multifunkèní modul pro rozhraní USB Záruèní a pozáruèní servis, technická podpora: adresa: TEDIA spol. s r. o., Zábìlská 12, 31211 Plzeò telefon: +420 377 478 168 fax: +420 377 478

Více

PROCESOR. Typy procesorů

PROCESOR. Typy procesorů PROCESOR Procesor je ústřední výkonnou jednotkou počítače, která čte z paměti instrukce a na jejich základě vykonává program. Primárním úkolem procesoru je řídit činnost ostatních částí počítače včetně

Více

PC Software eddyassist

PC Software eddyassist PC Software eddyassist PC program pro vzdálenou kontrolu nad zkušebními přístroji a MAG- NATEST ECM Uživatelsky komfortní nastavení testovacích a instalačních parametrů Online zobrazení signálu Instalační

Více

M7410G VLASTNOSTI MALÝ POHON VENTILŮ S KOMUNIKACÍ LON TECHNICKÉ INFORMACE. Pohon LON je určen pro decentralizované řízení budov a

M7410G VLASTNOSTI MALÝ POHON VENTILŮ S KOMUNIKACÍ LON TECHNICKÉ INFORMACE. Pohon LON je určen pro decentralizované řízení budov a M7410G MALÝ POHON VENTILŮ S KOMUNIKACÍ LON TECHNICKÉ INFORMACE POUŽITÍ Pohon LON je určen pro decentralizované řízení budov a dává zákazníkům nové možnosti efektivního řízení toku energií a přizpůsobivost

Více

Displej DT20-6. Update firmware řadiče. Simulační systémy Řídicí systémy Zpracování a přenos dat TM 2012_10_10 10. 10. 2012

Displej DT20-6. Update firmware řadiče. Simulační systémy Řídicí systémy Zpracování a přenos dat TM 2012_10_10 10. 10. 2012 Simulační systémy Řídicí systémy Zpracování a přenos dat Displej DT20-6 Autor: Ing. Jan Tupý TM 2012_10_10 10. 10. 2012 OSC, a. s. tel: +420 (5) 416 43 111 Staňkova 557/18a fax: +420 (5) 416 43 109 602

Více

Druhá generace palivoměru LUN 5275 pro letoun EV-55

Druhá generace palivoměru LUN 5275 pro letoun EV-55 Druhá generace palivoměru LUN 5275 pro letoun EV-55 The second generation of the fuel gauge measuring system LUN 5275 for the EV-55 airplane Ing. Martin Moštěk, Ph.D. MESIT přístroje spol. s r. o., email:

Více

O aplikaci Parallels Desktop 7 for Mac

O aplikaci Parallels Desktop 7 for Mac O aplikaci Parallels Desktop 7 for Mac Parallels Desktop 7 for Mac představuje zásadní upgrade softwaru Parallels pro používání Windows na Macu. O této aktualizaci Parallels Desktop 7 for Mac (sestavení

Více

Kompaktní RTU...11. Modulární RTU...17. Signalizační a HMI panely...45. Příslušenství k RTU...49. Testovací přístroje...53

Kompaktní RTU...11. Modulární RTU...17. Signalizační a HMI panely...45. Příslušenství k RTU...49. Testovací přístroje...53 Obsah Jednotky RTU pro řízení, chránění, sběr dat a komunikaci...1 Kompaktní RTU...11...17 Signalizační a HMI panely...45 Příslušenství k RTU...49 Testovací přístroje...53 Redundantní napájecí zdroj RPS

Více

Real Time programování v LabView. Ing. Martin Bušek, Ph.D.

Real Time programování v LabView. Ing. Martin Bušek, Ph.D. Real Time programování v LabView Ing. Martin Bušek, Ph.D. Úvod - související komponenty LabVIEW development Konkrétní RT hardware - cíl Použití LabVIEW RT module - Pharlap ETS, RTX, VxWorks Možnost užití

Více

Rozhraní mikrořadiče, SPI, IIC bus,..

Rozhraní mikrořadiče, SPI, IIC bus,.. Rozhraní mikrořadiče, SPI, IIC bus,.. Přednáška A3B38MMP 2013 kat. měření, ČVUT - FEL, Praha J. Fischer A3B38MMP, 2013, J.Fischer, kat. měření, ČVUT - FEL, Praha 1 Rozhraní SPI Rozhraní SPI ( Serial Peripheral

Více

Regulátor MaxVU. Stručný návod k použití

Regulátor MaxVU. Stručný návod k použití WEST Control Solutions Regulátor MaxVU Stručný návod k použití Informace, obsažené v tomto návodu, podléhají změnám bez předchozího upozornění. Překlad z anglického originálu firmy West Control Solutions.

Více

Další aspekty architektur CISC a RISC Aktuálnost obsahu registru

Další aspekty architektur CISC a RISC Aktuálnost obsahu registru Cíl přednášky: Vysvětlit principy práce s registry v architekturách RISC a CISC, upozornit na rozdíly. Vysvětlit možnosti využívání sad registrů. Zabývat se principy využívanými v procesorech Intel. Zabývat

Více

PŘEVODNÍK SNÍMAČE SIL NA USB PRO ZOBRAZENÍ V PC DSCUSB. KRÁTKÁ PŘÍRUČKA PRO OBSLUHU A KONFIGURACI Revize červenec 2014

PŘEVODNÍK SNÍMAČE SIL NA USB PRO ZOBRAZENÍ V PC DSCUSB. KRÁTKÁ PŘÍRUČKA PRO OBSLUHU A KONFIGURACI Revize červenec 2014 PŘEVODNÍK SNÍMAČE SIL NA USB PRO ZOBRAZENÍ V PC DSCUSB KRÁTKÁ PŘÍRUČKA PRO OBSLUHU A KONFIGURACI Revize červenec spol. s.r.o. Ostrovačice OBSAH 1 ZÁKLADNÍ INFORMACE... 2 1.1 Parametry převodníku DSCUSB...

Více

MLE2 a MLE8. Datalogery událostí

MLE2 a MLE8. Datalogery událostí MLE2 a MLE8 Datalogery událostí Zapisovač počtu pulsů a událostí Návod k obsluze modelů MLE2 MLE8 Doporučujeme vytisknout tento soubor, abyste jej mohli používat, když se budete učit zacházet se zapisovačem.

Více

Stavba operačního systému

Stavba operačního systému Stavba operačního systému Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu www.rvp.cz, ISSN: 1802-4785. Provozuje Národní ústav pro vzdělávání,

Více

Elektronická kapacitní dekáda - BASIC

Elektronická kapacitní dekáda - BASIC Elektronická kapacitní dekáda - BASIC Stručná charakteristika: Plně elektronizovaná kapacitní dekáda s širokým rozsahem hodnot. Indikuje velké množství parametrů nastaveného kapacity včetně lokálních teplot.

Více

Shrnutí Obecné Operační systém Microsoft Windows 7 Ultimate Centrální procesor

Shrnutí Obecné Operační systém Microsoft Windows 7 Ultimate Centrální procesor Menu Operační systém Procesor a základní deska Paměťové zařízení Ovladače Zobrazení Síť Další zařízení Shrnutí Obecné Operační systém Microsoft Windows 7 Ultimate Centrální procesor Intel(R) Core(TM)2

Více

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/34.0448

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/34.0448 Střední odborná škola elektrotechnická, Centrum odborné přípravy Zvolenovská 537, Hluboká nad Vltavou Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/34.0448 CZ.1.07/1.5.00/34.0448 1 Hardware

Více

LED_007.c Strana: 1/5 C:\Michal\AVR\Výukové programy\archiv\ Poslední změna: 4.10.2011 8:01:48

LED_007.c Strana: 1/5 C:\Michal\AVR\Výukové programy\archiv\ Poslední změna: 4.10.2011 8:01:48 LED_007.c Strana: 1/5 Nyní již umíme používat příkazy k větvení programu (podmínky) "if" a "switch". Umíme také rozložit program na jednoduché funkce a používat cyklus "for". Co se týče cyklů, zbývá nám

Více

Procesor. Procesor FPU ALU. Řadič mikrokód

Procesor. Procesor FPU ALU. Řadič mikrokód Procesor Procesor Integrovaný obvod zajišťující funkce CPU Tvoří srdce a mozek celého počítače a do značné míry ovlivňuje výkon celého počítače (čím rychlejší procesor, tím rychlejší počítač) Provádí jednotlivé

Více

Měřič krevního tlaku. 1 Měření krevního tlaku. 1.1 Princip oscilometrické metody 2007/19 30.5.2007

Měřič krevního tlaku. 1 Měření krevního tlaku. 1.1 Princip oscilometrické metody 2007/19 30.5.2007 Měřič krevního tlaku Ing. Martin Švrček martin.svrcek@phd.feec.vutbr.cz Ústav biomedicínckého inženýrství Fakulta elektrotechniky a komunikačních technologií VUT v Brně Kolejní 4, 61200 Brno Tento článek

Více

Paměti EEPROM (1) Paměti EEPROM (2) Paměti Flash (1) Paměti EEPROM (3) Paměti Flash (2) Paměti Flash (3)

Paměti EEPROM (1) Paměti EEPROM (2) Paměti Flash (1) Paměti EEPROM (3) Paměti Flash (2) Paměti Flash (3) Paměti EEPROM (1) EEPROM Electrically EPROM Mají podobné chování jako paměti EPROM, tj. jedná se o statické, energeticky nezávislé paměti, které je možné naprogramovat a později z nich informace vymazat

Více

BIOS (BASIC INPUT-OUTPUT SYSTEM)

BIOS (BASIC INPUT-OUTPUT SYSTEM) Implemantace základních vstupně-výstupních funkcí, tzn firmware Využívá se pro inicializaci a konfiguraci připojených hardwarových zařízení a pro spuštění zavaděče operačního systému, Dříve používán i

Více

Operační systémy 2. Přednáška číslo 2. Přidělování paměti

Operační systémy 2. Přednáška číslo 2. Přidělování paměti Operační systémy 2 Přednáška číslo 2 Přidělování paměti Základní pojmy Paměť = operační paměť paměť, kterou přímo využívají procesory při zpracování instrukcí a dat Funkce modulu přidělování paměti: Sledování

Více

a co je operační systém?

a co je operační systém? a co je operační systém? Funkce vylepšení HW sjednocení různosti zařízení ulehčení programování (např. časové závislosti) přiblížení k potřebám aplikací o soubory namísto diskových bloků o více procesorů

Více

PROCESNÍ KALIBRÁTOR M505 (D)

PROCESNÍ KALIBRÁTOR M505 (D) M505_CZ_1214 PROCESNÍ KALIBRÁTOR M505 (D) Uživatelská příručka 2 Uživatelská příručka v5 Před zapnutím Einschalten Ujistěte se, že zásilka obsahuje neporušený přístroj model M505 včetně návodu k jeho použití.

Více

Technické prostředky počítačové techniky

Technické prostředky počítačové techniky Počítač - stroj, který podle předem připravených instrukcí zpracovává data Základní části: centrální procesorová jednotka (schopná řídit se posloupností instrukcí a ovládat další části počítače) zařízení

Více

Implementace numerických metod v jazyce C a Python

Implementace numerických metod v jazyce C a Python Fakulta elektrotechnická Katedra matematiky Dokumentace k semestrální práci Implementace numerických metod v jazyce C a Python 2013/14 Michal Horáček a Petr Zemek Vyučující: Mgr. Zbyněk Vastl Předmět:

Více

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Přednáška Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského

Více

Představení notebooku Uživatelská příručka

Představení notebooku Uživatelská příručka Představení notebooku Uživatelská příručka Copyright 2008 Hewlett-Packard Development Company, L.P. Microsoft a Windows jsou registrované ochranné známky společnosti Microsoft Corporation v USA. Bluetooth

Více

ADDAT HEAT Control - Návod k použití - verze 2.07 (firmware 1.44)

ADDAT HEAT Control - Návod k použití - verze 2.07 (firmware 1.44) - ADDAT HEAT Control - Návod k použití - verze 2.07 (firmware 1.44) ADDAT s.r.o. Májová 1126 463 11 Liberec 30 telefon: fax: http: e-mail: 485 102 271 485 114 761 www.addat.cz addat@addat.cz Obsah: 1.

Více

Servozesilovače. Digitální servozesilovače TGA, TGP

Servozesilovače. Digitální servozesilovače TGA, TGP Servozesilovače Digitální servozesilovače TGA, TGP Digitální servozesilovače TGA 300 Digitální servozesilovače TGA 300 jsou určené pro řízení synchronních rotačních a lineárních servomotorů. Servozesilovače

Více

Vestavné počítače PAC

Vestavné počítače PAC Vestavné počítače PAC Typické vlastnosti systémů PAC Současné provozování různých úloh Různé aplikační oblasti Otevřené standardy Víceúlohové systémy Modulární architektura Kompatibilita mezi výrobci Standarní

Více

MONITORING A ANALÝZA KVALITY ELEKTŘINY

MONITORING A ANALÝZA KVALITY ELEKTŘINY MONITORING A ANALÝZA KVALITY ELEKTŘINY Doc. Ing. Jan Žídek, CSc. Kvalitativní stránka elektřiny dnes hraje čím dál významnější roli. Souvisí to jednak s liberalizací trhu s elektrickou energii a jednak

Více

CHARAKTERISTIKY MODELŮ PC

CHARAKTERISTIKY MODELŮ PC CHARAKTERISTIKY MODELŮ PC Historie: červenec 1980 skupina 12 pracovníků firmy IBM byla pověřena vývojem osobního počítače 12. srpna 1981 byl počítač veřejně prezentován do konce r. 1983 400 000 prodaných

Více

SB8485. Převodník USB na 8x RS485/RS422. 8. září 2010 w w w. p a p o u c h. c o m 0197.01.01

SB8485. Převodník USB na 8x RS485/RS422. 8. září 2010 w w w. p a p o u c h. c o m 0197.01.01 Převodník USB na 8x RS485/RS422 8. září 2010 w w w. p a p o u c h. c o m 0197.01.01 SB8485 Katalogový list Vytvořen: 12.10.2007 Poslední aktualizace: 8.9 2010 15:03 Počet stran: 20 2010 Adresa: Strašnická

Více

Měření odporu spouště v1.0. návod k obsluze

Měření odporu spouště v1.0. návod k obsluze Měření odporu spouště v1.0 návod k obsluze OBSAH: 1. ÚVOD A HARDWAROVÉ POŽADAVKY...3 1.1 ÚČEL PROGRAMU...3 1.2 HARDWAROVÉ A SOFTWAROVÉ POŽADAVKY...3 1.3 INSTALACE PROGRAMU...3 1.4 ODINSTALOVÁNÍ PROGRAMU...3

Více

SNÍMAČOVÁ JEDNOTKA TB2.310-USB2.0/1.2-ASCII

SNÍMAČOVÁ JEDNOTKA TB2.310-USB2.0/1.2-ASCII SNÍMAČOVÁ JEDNOTKA TB2.310-USB2.0/1.2-ASCII VŠEOBECNĚ vyhodnocení 1-2 indukčnostních snímačů (half bridge nebo LVDT) sériový interface USB 2.0/1.2, komunikace typu ASCII rozlišení až 0.00001 mm rozsah

Více

MIDAM UC 301 modbus regulátor topeni, otočné tlačítko, RTC, 2xDO, 1x DI, externí odporové čidlo PT1000, RS485

MIDAM UC 301 modbus regulátor topeni, otočné tlačítko, RTC, 2xDO, 1x DI, externí odporové čidlo PT1000, RS485 List č.: 1/10 MIDAM UC 301 modbus regulátor topeni, otočné tlačítko, RTC, 2xDO, 1x DI, externí odporové čidlo PT1000, RS485 - najednou lze vyčíst nebo zapsat maximálně 60 registrů - u hodnot uložených

Více

Další vlastnosti. Úvod. Specifikace karty Sweex Wireless LAN PCI Card 140 Nitro XM (LW142) Obsah balení. Další vlastnosti

Další vlastnosti. Úvod. Specifikace karty Sweex Wireless LAN PCI Card 140 Nitro XM (LW142) Obsah balení. Další vlastnosti LW141 Sweex Wireless LAN PC Card 140 Nitro XM LW142 Sweex Wireless LAN PCI Card 140 Nitro XM LW143 Sweex Wireless LAN USB 2.0 Adaptor 140 Nitro XM Úvod Děkujeme vám za zakoupení tohoto produktu společnosti

Více

Metody připojování periferií BI-MPP Přednáška 2

Metody připojování periferií BI-MPP Přednáška 2 Metody připojování periferií BI-MPP Přednáška 2 Ing. Miroslav Skrbek, Ph.D. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze Miroslav Skrbek 2010,2011

Více

Operační systémy. Tomáš Vojnar IOS 2009/2010. Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, 612 66 Brno

Operační systémy. Tomáš Vojnar IOS 2009/2010. Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, 612 66 Brno Operační systémy IOS 2009/2010 Tomáš Vojnar Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, 612 66 Brno ÚÓ Ò Ö ØºÚÙØ ÖºÞ Úvod do UNIXu p.1/11 Unix úvod Úvod do UNIXu p.2/11

Více

TEPL2344 Technická dokumentace PŘEVODNÍK TEPLOTY. typ TEPL2344 s rozhraním RS232. www.aterm.cz

TEPL2344 Technická dokumentace PŘEVODNÍK TEPLOTY. typ TEPL2344 s rozhraním RS232. www.aterm.cz PŘEVODNÍK TEPLOTY typ TEPL2344 s rozhraním RS232 www.aterm.cz 1 1. Úvod Tento výrobek byl zkonstruován podle současného stavu techniky a odpovídá platným evropským a národním normám a směrnicím. U výrobku

Více

Topologická struktura měřicích systémů

Topologická struktura měřicích systémů Počítačové systémy Číslicové měricí a řídicí systémy Sestava přístrojů a zařízení umožňující komplexní řešení měřicí úlohy a její automatické provedení. laboratorní průmyslové lokální rozsáhlé Topologická

Více

Principy činnosti sběrnic

Principy činnosti sběrnic Cíl přednášky: Ukázat, jak se vyvíjely architektury počítačů v souvislosti s architekturami sběrnic. Zařadit konkrétní typy sběrnic do vývojových etap výpočetních systémů. Ukázat, jak jsou tyto principy

Více

KS vario Modulární regulační systém

KS vario Modulární regulační systém PMA a Company of WEST Control Solutions KS vario Modulární regulační systém Plně modulární systém pro 4 až 30 smyček: Komunikační modul, regulační modul a moduly vstupů a výstupů Zvolené moduly se k sobě

Více

INTELIGENTNÍ SNÍMAČE

INTELIGENTNÍ SNÍMAČE INTELIGENTNÍ SNÍMAČE Petr Beneš Vysoké učení technické v Brně, FEKT, Ústav automatizace a měřicí techniky Kolejní 4, 612 00 Brno, benesp@feec.vutbr.cz Abstrakt: Příspěvek se věnuje problematice inteligentních

Více

Digitální osciloskop S2X100 OSCILOSKOPY.COM

Digitální osciloskop S2X100 OSCILOSKOPY.COM Digitální osciloskop S2X100 OSCILOSKOPY.COM 2011 Výrobce Prodej a servis Ing. David Převorovský DYNON INSTRUMENTS Woodinville, WA 98072, USA www.dynoninstruments.com Na břevnovské pláni 67, 169 00, Praha

Více

Základní normalizované datové přenosy

Základní normalizované datové přenosy Základní normalizované datové přenosy Ing. Lenka Kretschmerová, Ph.D. TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií Tento materiál vznikl v rámci projektu ESF

Více

BPT55 BEZDRÁTOVÝ PROSTOROVÝ TERMOSTAT

BPT55 BEZDRÁTOVÝ PROSTOROVÝ TERMOSTAT bpt55_v1102:layout 1 1.12.2008 20:27 Page 1 BPT55 BEZDRÁTOVÝ PROSTOROVÝ TERMOSTAT pro kotle s komunikací OpenTherm Investovali jste do kotle s modulací výkonu a chcete co nejefektivněji využít možnosti

Více

Měření a vyhodnocování kvality elektrické energie zdroj úspor podniku. Ing. Jaroslav Smetana. Blue Panther s.r.o.

Měření a vyhodnocování kvality elektrické energie zdroj úspor podniku. Ing. Jaroslav Smetana. Blue Panther s.r.o. Měření a vyhodnocování kvality elektrické energie zdroj úspor podniku Ing. Jaroslav Smetana Blue Panther s.r.o. Co je kvalita energie? Vlastnosti elektrické energie - ideální stav: Stabilní frekvence (50

Více

Datalogger Teploty a Vlhkosti

Datalogger Teploty a Vlhkosti Datalogger Teploty a Vlhkosti Uživatelský Návod Úvod Teplotní a Vlhkostní Datalogger je vybaven senzorem o vysoké přesnosti měření teploty a vlhkosti. Tento datalogger má vlastnosti jako je vysoká přesnost,

Více

4. Zpracování signálu ze snímačů

4. Zpracování signálu ze snímačů 4. Zpracování signálu ze snímačů Snímače technologických veličin, pasivní i aktivní, zpravidla potřebují převodník, který transformuje jejich výstupní signál na vhodnější formu pro další zpracování. Tak

Více

Technologie počítačových sítí 1. cvičení

Technologie počítačových sítí 1. cvičení Technologie počítačových sítí 1. cvičení Obsah prvního cvičení Microsoft Windows 2003 server Operační systém Windows 2003 server - Vytvoření nového virtuálního stroje pro instalaci Windows 98 - Příprava

Více

Obsah. Kapitola 1 BIOS 9. Kapitola 2 Start počítače a POST testy 13. Kapitola 3 Setup 21. Úvod 7

Obsah. Kapitola 1 BIOS 9. Kapitola 2 Start počítače a POST testy 13. Kapitola 3 Setup 21. Úvod 7 Obsah Úvod 7 Kapitola 1 BIOS 9 Poslání BIOSu 9 Uspořádání BIOSu 10 Vrstvy BIOSu 10 Výrobci BIOSu 11 Baterie 11 Vymazání obsahu Setupu 11 Informace o použitém hardwaru 12 Kapitola 2 Start počítače a POST

Více

Obvody a architektura počítačů. Jednoprocesorové počítače

Obvody a architektura počítačů. Jednoprocesorové počítače Obvody a architektura počítačů Jednoprocesorové počítače Josef Voltr, 2013 Modulární sestava počítače s jedním procesorem Postup činnosti počítače 1. procesor vyšle adresu pamětové buňky 2. paměť vyšle

Více

Signálové a mezisystémové převodníky

Signálové a mezisystémové převodníky Signálové a mezisystémové převodníky Tyto převodníky slouží pro generování jednotného nebo unifikovaného signálu z přirozených signálů vznikajících v čidlech. Často jsou nazývány vysílači příslušné fyzikální

Více

Ovladače pro Windows. Ovladače Windows A4M38KRP. Str. 1

Ovladače pro Windows. Ovladače Windows A4M38KRP. Str. 1 Ovladače Windows A4M38KRP Str. 1 Struktura OS Windows Str. 2 Typy ovladačů Str. 3 Typy ovladačů Virtual Device Driver User mode ovladač Virtualizace HW pro DOS aplikace Legacy Driver Pro zařízení nepodporující

Více

AC Napětí/Proud Data Logger Uživatelský Manuál

AC Napětí/Proud Data Logger Uživatelský Manuál AC Napětí/Proud Data Logger Uživatelský Manuál Před použitím si přečtěte pečlivě tento uživatelský manuál, protože obsahuje důležité bezpečnostní informace Obsah Strana 1. Úvod...... 5 2. Vlastnosti...

Více

Principy operačních systémů. Lekce 6: Synchronizace procesů

Principy operačních systémů. Lekce 6: Synchronizace procesů Principy operačních systémů Lekce 6: Synchronizace procesů Kritická sekce Při multitaskingu (multithreadingu) různé procesy často pracují nad společnou datovou strukturou (např. zápis a čtení do/z fronty)

Více

Podstanice DESIGO PX Modulární řada s rozšiřujícím modulem

Podstanice DESIGO PX Modulární řada s rozšiřujícím modulem 9 221 PXC64-U DESIGO PX Podstanice DESIGO PX Modulární řada s rozšiřujícím modulem PXC-U PXA30-T Volně programovatelné automatizační podstanice pro řízení a regulaci VVK a technických zařízení budov Sběrnice

Více

INFORMAČNÍ A ŘÍDÍCÍ SYSTÉMY PRO TECHNOLOGICKÉ PROCESY (Soudobé vážicí systémy se zaměřením na zemědělskou výrobu)

INFORMAČNÍ A ŘÍDÍCÍ SYSTÉMY PRO TECHNOLOGICKÉ PROCESY (Soudobé vážicí systémy se zaměřením na zemědělskou výrobu) INFORMAČNÍ A ŘÍDÍCÍ SYSTÉMY PRO TECHNOLOGICKÉ PROCESY (Soudobé vážicí systémy se zaměřením na zemědělskou výrobu) Jan Havel Ing. Jan Havel, DrSc., TONAVA, a.s. Úpice Anotace: Problematika informačních

Více

ExperimentalCar. Kurz vyhodnocení komfortu jízdy na sedadle experimentálního vozidla, rozšíření rozsahu WiFi sítě

ExperimentalCar. Kurz vyhodnocení komfortu jízdy na sedadle experimentálního vozidla, rozšíření rozsahu WiFi sítě ExperimentalCar Kurz vyhodnocení komfortu jízdy na sedadle experimentálního vozidla, rozšíření rozsahu WiFi sítě 2012 1 Obsah 1. Teoretický rozbor... 2 Požadavky na snímač... 3 Úprava snímače... 3 Umístění

Více

Cílem kapitoly je seznámit studenta s pamětmi. Jejich minulostí, současností a hlavnímu parametry.

Cílem kapitoly je seznámit studenta s pamětmi. Jejich minulostí, současností a hlavnímu parametry. Paměti Cílem kapitoly je seznámit studenta s pamětmi. Jejich minulostí, současností a hlavnímu parametry. Klíčové pojmy: paměť, RAM, rozdělení pamětí, ROM, vnitřní paměť, vnější paměť. Úvod Operační paměť

Více

Obslužný software. vizualizaci zařízení

Obslužný software. vizualizaci zařízení 5 645 Obslužný software pro vizualizaci zařízení ACS715 Obslužný, alarmový a software pro zpracování úloh v systému s centrálami OCI600, OCI611, OZW10 a OZW111 Servisní software pro regulátory s komunikací

Více

AWGD 46 MWGD 46. Dveřní moduly APS mini / APS mini Plus s rozhraním WIEGAND s podporou zámků APERIO. Uživatelská příručka

AWGD 46 MWGD 46. Dveřní moduly APS mini / APS mini Plus s rozhraním WIEGAND s podporou zámků APERIO. Uživatelská příručka AWGD 46 MWGD 46 Dveřní moduly APS mini / APS mini Plus s rozhraním WIEGAND s podporou zámků APERIO Uživatelská příručka 2004 2012, TECHFASS s.r.o., Věštínská 1611/19, 153 00 Praha 5, www.techfass.cz, techfass@techfass.cz

Více

Snímač barometrického tlaku T2314, T2414

Snímač barometrického tlaku T2314, T2414 Snímač barometrického tlaku T2314, T2414 se sériovým výstupem RS232, RS485 Návod k použití Návod k použití Typ snímače Tlak Výstup Galvanické oddělení výstupu T2314 RS232 - T2414 RS485 Snímač je určen

Více

Operační systémy Linux, Mac OS X a jejich srovnání

Operační systémy Linux, Mac OS X a jejich srovnání 5 5.1 Operační systémy Linux, Mac OS X a jejich srovnání Popište výhody programů OpenSource, čím se vyznačují OpenSource programy se vyznačují tím, že se dodávají i se zdrojovým kódem. S tímto kódem může

Více

InControl Driver for Advantech I/O Cards

InControl Driver for Advantech I/O Cards Pantek Productivity Pack InControl Driver for Advantech I/O Cards Verze 1.1 10. října 2001 Obsah ÚVOD... 3 Charakteristika produktu... 3 Systémové požadavky... 3 Instalace... 3 Licencování... 4 KONFIGURACE...

Více

VAR-NET INTEGRAL Manuál správce VNI 5.1 VAR-NET INTEGRAL. verze 0.2. Manuál správce VNI 5.1

VAR-NET INTEGRAL Manuál správce VNI 5.1 VAR-NET INTEGRAL. verze 0.2. Manuál správce VNI 5.1 Manuál správce VNI 5.1 verze 0.2 Manuál správce VNI 5.1 VARIANT plus, spol. s.r.o., U Obůrky 5, 674 01 TŘEBÍČ, tel.: 565 659 600 technická linka 565 659 655 (pracovní doba 7:30 15:00) www.variant.cz isb@variant.cz

Více

Firemní aplikace pro nástěnný ovladač AMR-OP60. Aplikace disponuje automatickým přepínáním zobrazení vnitřní / venkovní teploty.

Firemní aplikace pro nástěnný ovladač AMR-OP60. Aplikace disponuje automatickým přepínáním zobrazení vnitřní / venkovní teploty. Firemní aplikace pro nástěnný ovladač AMR-OP60. Aplikace disponuje automatickým přepínáním zobrazení vnitřní / venkovní teploty. Historie revizí Verze Datum Změny 100 18. 7. 2014 Nový dokument 101 1. 6.

Více

FTC08 instalační manuál k dotykovému panelu systému Foxys

FTC08 instalační manuál k dotykovému panelu systému Foxys FTC08 instalační manuál k dotykovému panelu systému Foxys Foxtron spol. s r.o. Jeseniova 1522/53 130 00 Praha 3 tel/fax: +420 274 772 527 E-mail: info@foxtron.cz www: http://www.foxtron.cz Verze dokumentu

Více

Úloha č. 2: Měření voltampérových charakteristik elektrických prvků pomocí multifunkční karty

Úloha č. 2: Měření voltampérových charakteristik elektrických prvků pomocí multifunkční karty Úloha č. 2: Měření voltampérových charakteristik elektrických prvků pomocí multifunkční karty Úvod Laboratorní úloha se zabývá měřením voltampérových charakteristik vybraných elektrických prvků pomocí

Více

Rozhraní USB. Rozhraní USB. Specifikace USB. Doplnění (upřesnění) 1.0. Rychlosti Low Speed (1.5 Mb/sec) a Full Speed (12 Mb/sec).

Rozhraní USB. Rozhraní USB. Specifikace USB. Doplnění (upřesnění) 1.0. Rychlosti Low Speed (1.5 Mb/sec) a Full Speed (12 Mb/sec). 1 Specifikace USB USB 1.0 Původní specifikace. USB 1.1 Doplnění (upřesnění) 1.0. Rychlosti Low Speed (1.5 Mb/sec) a Full Speed (12 Mb/sec). USB 2.0 Doplněno o High Speed (480 Mb/sec.) a další rozšíření

Více

českém Úvod Obsah balení Technické údaje PU101 Sweex 2 Port Serial ATA RAID PCI Card

českém Úvod Obsah balení Technické údaje PU101 Sweex 2 Port Serial ATA RAID PCI Card PU101 Sweex 2 Port Serial ATA RAID PCI Card Úvod Především bychom vám chtěli poděkovat za zakoupení výrobku Sweex 2 Port Serial ATA RAID PCI Card. Tento výrobek vám umožní jednoduše přidat k vašemu počítači

Více

Konfigurace řídicího systému technikou Hardware In The Loop

Konfigurace řídicího systému technikou Hardware In The Loop 1 Portál pre odborné publikovanie ISSN 1338-0087 Konfigurace řídicího systému technikou Hardware In The Loop Szymeczek Michal Elektrotechnika, Študentské práce 20.10.2010 Bakalářská práce se zabývá konfigurací

Více

Řídicí systémy řady 400 str.2 z 16 MICROPEL

Řídicí systémy řady 400 str.2 z 16 MICROPEL Řídicí systémy řady 400 2. verze dokumentu, MICROPEL s.r.o. 01.2014 - opravena chyba v číslování svorek I/O na str.7 - aktualizovány všechny ilustrace na změněné umístění portu Řídicí systémy řady 400

Více

Převodník USB na RS232. Milan Horkel

Převodník USB na RS232. Milan Horkel USBR0A Převodník USB na RS Milan Horkel Modul slouží jako univerzální převodník z USB na RS s výstupy na straně RS v úrovních TTL. Převodník používá obvod FTR od firmy FTDI. Tyto obvody jsou podporované

Více

Voděodolný tloušťkoměr MG-401 Obsah:

Voděodolný tloušťkoměr MG-401 Obsah: Voděodolný tloušťkoměr MG-401 Obsah: Návod k obsluze 1. Charakteristika tloušťkoměru MG-401... 1 2. Použitelnost přístroje... 2 3. Vnější vzhled... 2 4. Technické parametry... 4 5. Zapnutí a vypnutí přístroje...

Více