začíná es

N

Niro

Guest
Můžete říct, jak tos naparádit mé cesty vestavěné systémy

knihy
software
hardware

 
zkuste hledat možnosti, a také viz předchozí témata ... u'll najít spoustu věcí
Zde jsou některé, které vám mohou pomoci:

http://www.edaboard.com/viewtopic.php?t=167440

ftopic173482.html

http://www.edaboard.com/viewtopic.php?t=152830

ftopic158568.html

ftopic148649.html

 
Vestavěného systému je speciální účely-systém, v němž je počítač zcela zapouzdřené který přístroj ovládá.Na rozdíl od obecného-účel počítači, jako je osobní počítač,
což je vestavěný systém provádí před-definované úkoly, obvykle s velmi specifickými požadavky.Vzhledem k tomu, že systém je zaměřen na konkrétní úkol, konstruktéři mohou optimalizovat ji, snižuje objem a cenu výrobku.Vestavěné systémy jsou často hmotnost-vyrábí, takže úspory nákladů může být multipled miliony položek.

Jádrem jakékoli vestavěný systém je tvořen jedním nebo více mikroprocesorů nebo mikrořadičů, naprogramované provést malý počet úkolů.Na rozdíl od univerzálních počítači, na kterém lze spustit jakoukoli aplikaci se uživatel rozhodne, software na vestavěný systém je semi-trvalé, takže se často říká "firmware".
Obsah
[skrýt]

* 1 Příklady embedded systémy
* 2 Historie
* 3 Charakteristika
* 4 Návrh vestavěných systémů
o 4,1 Uživatelské rozhraní
o 4,2 Platforma
o 4,3 Nástroje
o 4,4 Ladění
o 4,5 Operační systém
o 4,6 Start-Up
4.6.1 Zabudované-in self-test
o 4,7 Spolehlivost režimů
* 5 Druhy vestavěné software architektury
o 5,1 Kontrola smyčky
o 5,2 Nonpreemptive multitasking
o 5,3 preemptivních časovače
o 5,4 preemptivních úkoly
o 5,5 Microkernels a Exokernels
o 5,6 Virtuální stroje
o 5,7 Checkpointed výpočty
o 5,8 Office-styl (big-kernel) operačního systému
o 5,9 Exotiky vlastní operační systémy
* 6 Viz také
* 7 Externí odkazy

[editovat]

Příklady vestavěných systémů

* Bankomatů (ATM)
* Avionika, jako například inerční naváděcích systémů, řízení letu hardware / software a další integrované systémy letadel a raket
* Mobilní telefony a telefonní přepínače
* Počítačové sítě zařízení, včetně směrovačů, timeservers a firewally
* Počítačové tiskárny
* Kopírky
* Disky (disketové mechaniky a pevných disků)
* Motor regulátory a protiblokovací brzdový řadiče pro automobily
* Domácí automatizace výrobků, jako jsou termostaty, klimatizační zařízení, sprinklery, monitorovací a bezpečnostní systémy
* Kapesní kalkulačky
* Domácí spotřebiče včetně mikrovlnné trouby, pračky, televizory, DVD přehrávače / rekordéry
* Zdravotnických zařízení
* Měřicí zařízení, jako jsou digitální uchovávání osciloskopy, logické analyzátory, analyzátory spektra a
* Multifunkční náramkové hodinky
* Multimediální zařízení: Internet rozhlasové přijímače, TV set top boxy, digitální satelitní přijímače
* Multifunkční tiskárny (MFPs)
* Osobních digitálních asistentů (PDA),
což je malý kapesní počítač s PIMs a další aplikace
* Mobilní telefony s další možností, například mobilní digitální asistenti s mobil a PDA a Java (MIDP)
* Programovatelné automaty (PLC) pro průmyslovou automatizaci a monitorování
* Stacionární videohry konzole a kapesní herní konzole
* Nositelná počítače

[editovat]

Historie
Apollo orientačního Computer první zřetelně moderní vestavěné system.source: Počítač Historie muzea
Zvětšit
Apollo orientačního Computer první zřetelně moderní vestavěný systém.
Zdroj: Počítačové muzeum

První moderní zřetelně vestavěný systém byl Apollo orientačního Počítač, který byl vypracován v UK Stark Draper na MIT Přístrojové vybavení laboratoře.Každý let na Měsíc měl dva.Běží na inerciální systémy navádění jak řídící modul a LEM.

Na počátku projektu, Apollo pokynů počítače byl považován nejrizikovějšími položku v projektu Apollo.Použití je pak nový monolitických integrovaných obvodů pro snížení velikosti a váhy, zvýšení tohoto rizika.První masové-vyrobené vestavěný systém byl Autonetics D-17 návod počítače pro řízené střely Minuteman, propuštěn v roce 1961.Byl postaven z diskrétní tranzistorové logiky a má pevný disk hlavní paměť.Když Minuteman II šla do výroby v roce 1966, D-17 byla nahrazena novým počítačem, který byl prvním vysoce-hlasitost využití integrovaných obvodů.Tento program sám sníží ceny na Quad NAND brány IC z $ 1000/each na $ 3/each, umožňující jejich využití v komerčních produktů.

Zásadní konstrukční prvky z počítače Minuteman bylo, že její vedení algoritmus může být přeprogramovaná později v programu, aby se střela přesnější, a počítač by také mohly vyzkoušet raketu, úspory kabel a konektor hmotnost.

Od začátku roku tyto aplikace v 1960s, kde náklady nebyl objekt, vestavěné systémy mají přijít v ceně.Došlo také k enormní nárůst síly zpracování a funkčnost.Tento trend podporuje Moore zákon.
Intel 4004, první mikroprocesor
Zvětšit
Intel 4004, první mikroprocesor

První mikroprocesor byl Intel 4004, který našel svou cestu do kalkulačky a jiných malých systémů.Nicméně je stále požadováno externí paměťové čipy a jiné vnější podpory logiky.Výkonnější mikroprocesory, jako je Intel 8080 byly vyvinuty pro vojenské projekty, ale také prodávány pro jiné účely.

Do konce roku 1970 o 8-bitové mikroprocesory byly normou, ale obvykle zapotřebí externí paměťové čipy a logika pro dekódování a vstup / výstup.Nicméně, ceny prudce klesly a více žádostí přijatých malé embedded systémy v místě (v té době častěji) vlastní logikou vzorů.Některé z více viditelné žádosti byly v instrumentaci a drahé zařízení.
A PIC mikrokontrolér
Zvětšit
A PIC mikrokontrolér

Do poloviny-1980, většina z dříve externí komponenty systému byly začleněny do stejného čipu jako procesor.Výsledkem byl dramatický pokles velikosti nákladů a vestavěných systémů.Takové integrované obvody byly vyzvány mikrokontroléry, spíše než mikroprocesorů a velmi rozšířené používání vestavěných systémů stal proveditelné.

Vzhledem k tomu, že náklady na mikrokontrolér klesly pod hodinová mzda za inženýra,
došlo k explozi v počtu vestavěné systémy, a co do počtu dílů dodaných různých výrobců pro použití v oblasti vestavěných systémů.Například, mnoho zvláštních funkcí IC začalo jít s pořadovým programovací rozhraní, spíše než na tradiční paralelně těmi, pro propojení s mikrokontrolérem s omezenými propojení.I2C sběrnice se také objevil v této době.

Vzhledem k tomu, že náklady na mikrokontrolér klesly pod 1 dolar, se stalo možné nahradit drahé analogové komponenty, jako jsou potenciometry a proměnné kondenzátory s digitální elektroniky ovládán malým mikrokontrolérem.

Do konce 80., vestavěné systémy jsou pravidlem spíše než výjimkou pro téměř všechna zařízení, elektroniky,
což je trend, který pokračuje od roku.
[editovat]

Charakteristika

Vestavěné systémy jsou počítačové systémy v nejširším slova smyslu.Patří mezi ně všechny počítače jiné než speciálně určeny jako obecné-počítače.Příklady embedded systémy pohybují v rozmezí od přenosného hudebního přehrávače na real-time kontroly pro subsystémy v raketoplán.

Většina komerčních embedded systémy jsou navrženy tak, aby do některých úkolů při nízkých nákladech.Nejvíce, ale ne všichni mají real-time systém omezení, které musí být splněny.Ty mohou být v případě potřeby velmi rychle u některých funkcí, zatímco většina dalších funkcí bude pravděpodobně nemají přísné požadavky na časování.Tyto systémy splňují jejich real-time omezeními s kombinací speciální účel hardware a software na míru pro požadavky na systém.

Je obtížné charakterizovat vestavěných systémů rychlost nebo náklady, ale pro vysoký objem systémů, minimalizace nákladů je obvykle primární návrhu v úvahu.Často vestavěné systémy mají nízké požadavky na výkon.To umožňuje systém hardwaru, které mají být zjednodušeny, aby se snížily náklady.Inženýři typicky vybrat hardware, který je prostě dost dobrý pro provedení nezbytných funkcí.

Například, digitální set-top box pro satelitní televizí má zpracovat desítky megabitů průběžného-dat za sekundu, ale většina je zpracování prováděno zákaznické integrované obvody, které parse, přímé a dekódování multi-kanálové digitální video.Embedded CPU "nastaví" tohoto procesu, a zobrazí menu grafiku, atd. pro set-top-vzhled a dojem.Jak vestavěné procesory stala rychlejší a levnější, mohou mít více ze high-rychlost zpracování dat.

Pro nízký objem-vestavěné systémy, osobní počítače, často mohou být použity, omezováním programů nebo nahrazením operační systém s real-time operační systém.V tomto případě speciální účel hardwaru může být nahrazen jedním nebo více procesory s vysokým výkonem.Přesto některé vestavěné systémy mohou vyžadovat vysoký výkon procesoru, speciální hardware a velkých vzpomínek ke splnění požadovaného úkolu.

Při vysoké hlasitosti vestavěných systémů, jako jsou přenosné hudební přehrávače a mobilní telefony, snižování nákladů se stává velkým problémem.Tyto systémy mají často jen několik integrovaných obvodů, vysoce integrovaný procesor, který kontroluje všechny ostatní funkce a jediné paměťových čipů.V těchto vzorů každá složka je vybrána a navržena tak, aby minimalizovala celkové náklady systému.

Tento software napsaný pro mnohé embedded systémy, zvláště ty, bez disku se někdy nazývá firmware.Firmware je software, který je zakotven v hardwarových zařízení,
jako např. v jednom nebo více paměti Flash ROM nebo IC čipů.

Programy na vestavěný systém často spouštět s omezenými zdroji hardware: často není žádný disk, operační systém, klávesnice či obrazovky.Tento software nemusí mít nic vzdáleně, jako je souborový systém, nebo je-li přítomna, flash disk s journaling souborový systém může nahradit rotujících médií.Pokud je uživatelské rozhraní je přítomen, může být malá klávesnice a displeje z tekutých krystalů.

Vestavěné systémy pobyt v zařízení, které se očekává, že poběží nepřetržitě několik let bez chyb.Proto je software obvykle vyvíjeny a testovány pečlivěji než software pro osobní počítače.Mnoho vestavěných systémů vyhnout mechanické pohyblivé části, jako jsou diskové jednotky, vypínače a tlačítka, protože jsou nespolehlivé oproti pevné-stav dílů, jako je Flash paměť.

Kromě toho je vestavěný systém může být mimo dosah člověka (sestupnì ropného vrtu dobře, byly vypuštěny do vesmíru, atd.), takže je vestavěný systém musí být schopen sám restartovat, i když katastrofální poškození dat došlo.To se obvykle provádí za standardních elektronických součástí
tzv. WatchDog časovač, který resetuje počítač pokud software periodicky resetuje časovač.
[editovat]

Návrh vestavěných systémů

Elektronika obvykle používá buď mikroprocesoru nebo mikrokontroléru.Některé velké nebo staré systémy využívají všeobecné účely-sálové počítače nebo minipočítače.
[editovat]

Uživatelské rozhraní

Uživatelské rozhraní pro vestavěné systémy se velmi liší, a proto si zaslouží některé zvláštní komentář.

Interface návrháři na PARC, Apple Computer, Boeing a HP objevil princip, že člověk by měl minimalizovat počet typů uživatelských akcí.V oblasti vestavěných systémů, tato zásada je často v kombinaci s nižšími náklady na jednotku.

Jeden standardní rozhraní, běžně používané v oblasti vestavěných systémů, používá dvě tlačítka pro ovládání menu systému s jedním tlačítkem, které uživateli umožní procházet položky v menu a dalších vyberte položku.

Nabídky jsou vcelku populární, protože dokument sami, a může být vybrána s velmi jednoduché uživatelské akce.

Dalším základním trikem je minimalizovat a zjednodušit typ výstup.Vzory někdy použít stavu světla u každého rozhraní plug, či neúspěch podmínka, říct, co se nezdařilo.A levná varianta je mít dvě lehké pruty s tištěným matice chyby, které si zvolí-uživatel může lepidlo na etikety pro jazyk, který mluví.Například většina malých počítačových tiskáren použití světel oznaèeny Stick-on etikety, které mohou být vytištěny v jakémkoliv jazyce.Na některých trzích,
které jsou dodávány s několika sad značek, takže zákazníci si mohou vybrat nejpohodlnější jazyce.

Dalším společným trik je v tom, že módy jsou naprosto jasné, na uživatele zobrazit.Pokud má rozhraní módy, jsou téměř vždy vratné v explicitní formě, nebo obráceném samy automaticky.

Například Boeing standardní testovací rozhraní je tlačítko a některá světla.Když stisknete tlačítko, všechna světla zapnout.Po uvolnění tlačítka, světla s pobytem na selhání.Nálepky jsou v Základní angličtině.

Návrháři použití barev.Červená znamená "nebezpečí", nebo že došlo k nějaké chybě,
která je příčinou celého systému k nezdaru.Žlutá znamená, něco by mohlo být špatně.Zelená znamená, že stav je v pořádku a dobře.To je záměrně jako stop-světla, protože většina lidí pochopit.

Nejvíce vzorů zařídit displej pro změnu bezprostředně poté, co uživatel akce.Pokud je stroj dělat nic, je to obvykle začíná do 7 sekund nebo vydává zprávy o pokroku.

Pokud konstrukce potřebuje obrazovku, mnozí návrháři použití prostého textu.Je
to proto, že uživatelé Preferovaným byly čtení značek na roky.A GUI je dost a můžeme dělat cokoliv, ale zpravidla se přidává rok od návrhu, schvalování a překladatel zpožděním, a jeden nebo dva programátory do projektu náklady, bez přidání jakékoli hodnoty.Často příliš chytrý-GUI vlastně plete uživatele, protože se může použít neznámé symboly.

Pokud je třeba navrhnout tak, aby odkazoval na části stroje (jako v kopírky),
které jsou často označovány čísly o skutečném stroji, které jsou viditelné při zavřené dveře.

Síťové rozhraní je jen vzdálené obrazovce.Se chová stejně jako jakékoliv jiné uživatelské rozhraní.

Jeden z nejúspěšnějších malé obrazovce-založené rozhraní dvou tlačítek menu a řádek textu v uživatelských rodném jazyce.Je používán v pagery, středně-ceny tiskáren, síťové přepínače a další ceny středně-situace, které vyžadují složitější chování uživatelů.

Na větších obrazovek, dotykové obrazovky-nebo-okraj obrazovky tlačítka také minimalizovat typy uživatelských akcí, a jednoduše kontrola (y) menu.Výhodou tohoto systému je, že význam tlačítek lze změnit se na obrazovku, a výběr je velmi blízko k přirozené chování směřovaly na to, co
je žádoucí.

Pokud je
to text, konstruktér zvolí jeden nebo více jazyků.Výchozí jazyk je obvykle ten, nejčastěji chápán cílené skupiny uživatelů.Většina návrhářů zkuste použít nativní znakových sad z cílových skupin, aby lépe vyhovoval jejich potřebám.

Text je obvykle překládají profesionální překladatelé,
a to i když jsou rodilými mluvčími na zaměstnance.Marketing pracovníci musejí být schopni říci, zahraničních distributorů, že překlady jsou profesionální.A zahraniční výrobce může požádat nejvyšší objem-distributor na recenzi a správné překlady v jejich rodném jazyce, s cílem přispět k produktu přijetí nativní prodeje lidí.

Většina orgánů zvážit použitelnost test důležitější než jakýkoli počet stanovisek.Návrháři doporučí testování uživatelského rozhraní pro využití v nejbližším možném okamžiku.A commonly-used rychlý, špinavé test je požádat výkonného tajemníka, který bude používat lepenkové modely tažené s magií markery, a manipulovat inženýr.V nahraný výsledkem bude pravděpodobně jak humorné a velmi výchovné.V pásky, pokaždé inženýr rozhovory, rozhraní se nezdařilo, protože by to způsobilo službu volat.

V řadě organizací, jedna osoba schvaluje uživatelského rozhraní.Často se jedná o zákazníka, hlavní distributor nebo někdo přímo zodpovědný za prodej systému.
[editovat]

Platforma

Existuje mnoho různých architektur procesorů použitých v vestavěné vzory jako ARM, MIPS, Coldfire/68k, PowerPC, x86, PIC, 8051, Atmel AVR, Renesas H8, SH, V850, FR-V, M32R atd.

To na rozdíl od stolního počítače na trhu, které jsou z tohoto psaní (2003) je omezeno na několik málo konkurenční architektury, zejména Intel / AMD x86 a Apple / Motorola / IBM PowerPC,
které jsou používány při Apple Macintosh.Ve stolním počítači, jako přijetí Java roste, software je stále méně závislá na konkrétním provedení prostředí.

Standard PC/104 je typický pro malé základny, nízko-a objemu vložených ruggedized systému.Tyto často používají DOS, Linux, NetBSD, nebo vestavěný real-time operační systém, jako například QNX nebo Inferno.

A společnou konfiguraci pro velmi-vysoce-hlasitost vestavěných systémů je systém na čipu, aplikace-specifický integrovaný obvod, pro které byla zakoupena jako CPU duševního vlastnictví přidat do IC design.A související společného systému je použití pole-programovatelné hradlové pole, a program jí veškeré logice, včetně CPU.Většina moderních FPGA jsou určeny pro tento účel.
[editovat]

Nástroje

Jako typický počítačových programátorů, vestavěný systém návrhářů použití překladače, montéři, a debuggerů rozvíjet vestavěný systém software.Přesto se však také použít několik nástrojů, které jsou neznámé pro většinu programátorů.

Softwarové nástroje mohou pocházet z několika zdrojů:

* Software společnosti, které se specializují na embedded trhu
* Portován na GNU software, vývojové nástroje (viz kříž kompilátor)
* Někdy,
vývojové nástroje pro osobní počítač, může být použita v případě, že vestavěný procesor je blízký příbuzný ke společnému PC procesor

Vestavěný systém designéry také použít několik softwarových nástrojů, zřídka používané typických počítačových programátorů.

* Jeden společný nástroj je "in-obvod emulátor" (ICE), nebo ve více moderních vzorů, vloženého debugger.Toto ladění je základním nástrojem trik používá k rozvoji vložený kód.Nahrazuje či svíčky do mikroprocesoru a poskytuje zařízení rychle načíst a ladění experimentální kód v systému.A malá pod obvykle poskytuje speciální elektroniky na zástrčku do systému.Často osobní počítač se speciálním softwarem přikládá se pod poskytnout ladicími rozhraní.
*
The linker je obvykle poměrně exotické.Ve většině podniků-programování, linker je téměř nápad, a implicitně se nikdy měnit.Naopak, je to společný pro vestavěné linker mít kompletní, často složité, příkazový jazyk.Tam jsou často různé druhy paměti, zejména kód a data se nacházejí v každém z nich.Jednotlivé datové struktury může být umístěn na konkrétní adresy dát software pohodlný přístup do paměti-mapped kontrolu registrů.Vestavěné linkers mají často velmi exotických optimalizaci zařízení pro snížení kód velikosti a provedení krát.Například mohou pohybovat podprogramy tak, že hovory do nich můžete používat menší podprogram volat a skok pokyny.Často mají funkce pro správu dat překryvy a bankovních přepínání, technik se často používá k roztažení na levné procesory v vestavěný software.
* Dalším společným nástrojem je utilita program (často doma-pěstované) přidat kontrolní součet CRC nebo na nějaký program, takže můžete zkontrolovat, vestavěný systém jeho program data před vyřízením to.
* Vestavěného programátoru, který vyvíjí software pro digitální zpracování signálu, má často math ponk jako MathCad nebo Mathematica simulovat matematiky.
* Méně časté jsou utility programy na přelomu datové soubory do kódu, tak si může obsahovat jakýkoliv druh dat v programu.
* Několik projektů Synchronní použití programovacích jazyků pro extra spolehlivost nebo digitální zpracování signálu.

Některé programovací jazyky nabízejí zvláštní podporu pro embedded systémy, programování.

* Pro jazyk C, ISO / IEC TR 18037:2005 specifikuje
o Pojmenovaný adresu prostory
Pojmenované o skladování tříd
o Základní I / O hardware řešení

[editovat]

Ladění

Ladění se obvykle provádí s in-obvod emulátoru, nebo některé typy debugger, který může rozhodnout o přerušení mikrokontroléru vnitřní mikrokód.

Mikrokódu přerušení debugger umožňuje pracovat v hardware, ve kterém pracuje pouze CPU.CPU-založené debugger lze použít k testování a ladění elektronice počítač z pohledu procesoru.Tato vlastnost byla průkopníkem na PDP-11.

Vývojáři by měli trvat na tom, ladění, které ukazuje na vysoké úrovni-jazyk, s zlomu a single-stupňují, protože tyto vlastnosti jsou široce dostupné.Také by se vývojářům psát a používat jednoduché logování zařízení debug sekvencí real-time akce.

PC nebo mainframy Programátori první potýká tento druh programování se často stávají zmatená o návrhu priorit a přijatelných metod.Mentoring, code-recenze a egoless programování jsou doporučené.

Vzhledem k tomu, že složitost vestavěných systémů rostou, vyšší úroveň nástroje a operační systémy jsou přecházejí do strojovny, kde to dává smysl.Například, mobily, osobní digitální asistenty a dalších spotřebitelských počítačů často potřebují značné software, který je zakoupili, nebo poskytuje jiné osobě, než je výrobcem elektroniky.V těchto systémech, otevřené programovací prostředí, jako je Linux, OSGi nebo vestavěné Java je zapotřebí, aby se třetí-party software, poskytovatel může prodat na velký trh.

Většina těchto otevřených prostředích mají referenční design, který běží na osobním počítači.Velká část software pro tyto systémy mohou být vyvinuty na běžném PC.Nicméně, přenositelnost otevřené prostředí na specializované elektroniky a rozvoj ovladače pro elektroniku jsou většinou stále odpovídá klasické vestavěné inženýr.V některých případech je inženýr pracuje pro integrovaný obvod výrobce, ale stále existuje taková osoba někde.
[editovat]

Operační systém

Vestavěné systémy často nemají žádný operační systém, nebo specializované vložený operační systém (často jde o real-time operačního systému), nebo programátor je přiřazen jeden z těchto přístavů na nový systém.
[editovat]

Start-Up

Všechny vestavěné systémy start-až kód.Obvykle ji zakáže přerušení, nastaví elektronika, testy počítače (RAM, CPU a software), a pak se spustí aplikace kód.Mnoho vestavěných systémů zotavit z krátké-období moc neúspěchů restartováním bez posledních samostatně-testy.Restart krát za desetinu sekundy jsou společné.

Mnozí návrháři podařilo nalézt několik LED užitečné uvést chyby (pomáhají odstraňovat potíže).Společný systém má elektroniky zapnout všechny LED (y) na reset (prokazující, že moc a LED práci).Tedy změny softwaru LED jako Power-On Self Test popravováno.Za to, že software využívá LED (s), aby běžný provoz nebo chyby.To slouží k uklidnění většina techniků, inženýrů a někteří uživatelé.Zajímavou výjimkou je, že na elektrické metrů a další položky na ulici, blikající světla jsou známy přitáhnout pozornost a vandalismu.
[editovat]

Zabudované-in self-test

Většina embedded systémy mají určitou míru nebo množství postavena-in self-test.Existuje několik základních typů:

1.Testovací počítače: CPU, RAM, a programové paměti.Tyto často běžet jednou při napájení-nahoru.V bezpečnostní-kritické systémy, které jsou také spouštět periodicky (v rámci bezpečnosti intervalu), nebo v čase.
2.Testy periferií: Tyto simulovat vstupy a read-zpět nebo opatření výstupy.A překvapivé množství komunikace, analogových a řídicích systémů mohou mít tyto zkoušky,
a to často velmi levně.
3.Testy výkon: Obvykle každé opatření železnici z napájení a zkontrolovat vstup (baterie nebo ze sítě) stejně.Napájecí zdroje jsou často velmi zdůraznil, s nízkou marží, a testování je proto cenný.
4.Komunikace testy: Tyto ověřit doručení jednoduché zprávy z připojené jednotky.Internetu, například, má ICMP zprávu "ping".
5.Kabeláž zkoušky: Obvykle spustit drátu v hadcová uspořádání prostřednictvím zástupce vývody na kabely, které mají být připojeny.Synchronní komunikační systémy, jako jsou telefonní médií, často používají "synchronně" testů pro tento účel.Cable testy jsou levné, a nesmírně užitečné, když má jednotka svíčky.
6.Lanoví zkoušky: Často systém je třeba upravit, pokud je nainstalován.Lanoví testy poskytují ukazatele na osobu, která se instaluje systém.
7.Spotřební zkoušky: Tato opatření jaký systém používá, a varují, kdy množství jsou nízké.Nejběžnějším příkladem je palivo rozchod auto.Nejkomplexnějšího příkladů může být automatické analýzy zdravotnických systémů, které udržují zásoby chemických činidel.
8.Provozní zkoušky: Tato opatření věci, které uživatel bude starat o provoz systému.Zejména mají běžet, když je systém v provozu.To zahrnuje navigační přístroje v letadle, auto
je rychloměr a disk-disk světel.
9.Bezpečnostní testy: Tyto běží v 'bezpečnostní interval', a zajistí, že systém je stále spolehlivé.Bezpečnost interval je obvykle méně času, než je minimální doba, která může poškodit.

[editovat]

Spolehlivost režimů

Spolehlivost má různé definice v závislosti na to, proč lidé chtějí.Zajímavé je,
že existuje poměrně málo typů spolehlivost, a systémy s podobnými typy používají podobné typy postavena-in-vlastní testy a využití metod:

1.Tento systém je příliš bezpečná, nebo nepřístupné na opravu.(Kosmické systémy, podmořské kabely, navigační majáky, porodila-hole systémy a zvláštně, automobilový a hmotnost-vyráběných výrobků) Obecně platí, že vestavěný systém zkoušek subsystémy a přepínače nadbytečný náhradních dílů on-line, nebo obsahuje "kulhavost režimy", které poskytují částečné funkce .Často hmotnost-vyráběných zařízení pro spotřebitele (např. automobilů, počítačů nebo tiskáren) spadá do této kategorie, protože opravy jsou drahé a opraváři daleko, když ve srovnání s původními náklady na jednotku.
2.Systém nemůže být bezpečně vypnout.(Letadla navigace, reaktorové kontrolní systémy, bezpečnostní-kritické chemické továrny kontrol, vlak signály, motory na jediné-motor letadla), stejně jako výše, ale "kulhavost módy" jsou méně snesitelnější.Často zálohy vybírá provozovatele.
3.Systém se ztrácí velké množství peněz, když vypnou.(Telefonní spínače, výrobních kontrol, most a výtah kontroly převodu finančních prostředků a tvorby trhu, automatizovaný prodej a servis) Obvykle mají pár go / no-jet testů, s on-line šetří nebo kulhavost-způsobů využívání alternativních zařízení a ruční řízení .
4.Systém nemůže být provozována, pokud je to bezpečné.Podobně zřejmě systém nemůže být provozována, pokud by se ztrácí příliš mnoho peněz.(Zdravotnické zařízení, vybavení letadla s teplou náhradní díly, jako jsou motory,, chemické továrny kontrol, autoservis burz, herní systémy) Zkoušky mohou být poměrně exotická, ale pouze akce je vypnutí celé jednotky a uvést poruchy.

[editovat]

Typy vložený software architektury

Existují v podstatě několik různých typů softwarové architektury ve společném užívání.
[editovat]

Kontrolní smyčka

V tomto návrhu, software jednoduše má smyčku.Smyčky volá podprogramy.Každý podprogram spravuje část hardwaru nebo softwaru.Interrupts obecně soubor příznaků, nebo aktualizace čítače, které jsou přečíst zbytek softwaru.

Jednoduché API vypne a umožňuje přerušovaly.Udělal dobře, že zvládá vnořené volání v vnořené podprogramy, a obnovuje předchozí stav přerušení v nejvzdálenějších povolit.To je jeden z nejjednodušších způsobů vytváření exokernel.

Obvykle
je tam nějaký podprogram ve smyčce spravovat seznam software časovače pomocí pravidelných reálném čase přerušila.Když časovač vyprší, přidružené podprogram je řízen, nebo je nastaven příznak.

Očekávané hardware případě by měly být podpořeny-vytváří software časovač.Hardware akcích nedaří asi jednou za bilion krát.To
je asi jednou ročně s moderním hardwarem.S hmotností-milionu vyrobených přístrojů, bez softwaru měřič je obchodní katastrofou.

Někdy sadu softwaru-založené bezpečnosti časovače lze spustit pomocí testovací software, který pravidelně resetů softwaru dozorce implementován v hardware.Pokud software míjí událost bezpečnost-časovač software odlovech to.Je-li bezpečnostní časovač-software selže, dohlížející hardware resetů jednotky.

Státní stroje může být prováděna s funkcí-ukazatel na stav-stroj (v C , C nebo shromáždění, mimochodem).Změna stavu skladů různých funkcí do ukazovátko.Funkce ukazatel se provádí vždy, když se kruh spouští.

Mnozí návrháři doporučují čtení každého IO zařízení jednou za smyčku a ukládání výsledku tak logiku akty na jednotné hodnoty.

Mnozí návrháři raději navrhnout jejich stav stroje zkontrolovat pouze jednu nebo dvě věci, za stavu.Obvykle se jedná o událost hardware a software časovač.

Návrháři doporučí hierarchické stav stroje by měl běžet na nižší úrovni-stav stroje před tím vyšší, čím vyšší běžet tak přesné informace.

Komplexní funkce, jako spalovací kontroly jsou často manipulovat s multi-dimenzionální tabulky.Namísto složité výpočty, kód vyhledá hodnoty.Tento software může interpolovat mezi záznamy, uchovávat tabulek malé a levné.

V nejmenší mikrokontroléry (zejména v 8051, který má 128 byte zásobník) kontrolní smyčka umožňuje dobré linker použít staticky přidělené překryvných dat pro lokální proměnné.V tomto systému, proměnné bližšího o lístky na podprogram volat strom získat vyšší paměťové adresy.Když novou pobočku začíná, její proměnné mohou být přerozděleny do prostoru opuštěné v předchozím pobočky.

Jedním z hlavních slabost jednoduché regulační smyčky je, že nezaručuje čase reagovat na jakoukoli konkrétní hardware událost.

Pečlivá kódování lze snadno zajistit, že nic vypne přerušovaly dlouho.Tedy přerušíte kód lze spustit na velmi přesné načasování.

Další velkou slabost kontrolní smyčky, je to, že se může stát komplex pro přidání nových funkcí.Algoritmy, které trvalo dlouhou dobu běžet, musí být pečlivě rozepsané tak jen malý kousek se provádí vždy přes hlavní smyčkou.

Tento systém
je síla, je jeho jednoduchost, a na malé kousky software smyčky je obvykle tak rychle, že nikdo to zajímá, že není předvídatelné.

Další výhodou je, že tento systém zaručuje, že software bude běžet.Neexistuje žádná záhadná operační systém na sebe vinu za špatné chování.
[editovat]

Nonpreemptive multitasking

A nonpreemptive multitasking systém je velmi podobný jako výše, s výjimkou toho, že smyčka se skrývá v API.Jedna definuje řadu úkolů a každý úkol dostane svůj vlastní podprogram zásobníku.Poté, kdy úkolem je nečinný, je volání volnoběhu běžné (obvykle nazývané "pause", "čekat", "výnosy", nebo atd.).

Architektury s podobnými vlastnostmi je mít událost fronty a mají smyčky, která odstraňuje událostí a vyzývá podprogramy založen na poli ve frontě-vstupu.

Výhody a nevýhody jsou velmi podobné kontrolní smyčky, s výjimkou toho, že přidáním nového softwaru je jednodušší.Jednou prostě píše nový úkol, nebo přidává do fronty-tlumočníka.
[editovat]

Preemptivních časovače

Vezměte některý z výše uvedených systémů, ale přidat časovače, že systém běží podprogramy z časovače přerušení.To přidává zcela nové možnosti do systému.Poprvé, časovač rutiny mohou nastat při garantované doby.

Rovněž poprvé, kód můžete krok na své vlastní datové struktury na nečekané krát.Časovač rutiny musí zacházet se stejnou pozorností jako rutinní přerušení (s).
[editovat]

Preemptivních úkoly

Užívejte výše nonpreemptive úkol systém a spustit jej z preemptivních časovače nebo jiného přerušení.

Najednou systém je zcela odlišný.

Any piece of task code can damage the data of another task; they must be precisely separated. Access to shared data must be controlled by some synchronization strategy, such as message queues, semaphores or a non-blocking synchronization scheme.

Often, at this stage, the developing organization buys a real-time operating system. This can be a wise decision if the organization lacks people with the skills to write one, or if the port of the operating system to the hardware will be used in several products. It usually adds six to eight weeks to the schedule, and forever after programmers can blame delays on it.
[edit]

Microkernels and Exokernels

These try to organize the system in a way that's more configurable than a big kernel, while providing similar features.

A microkernel is a logical step up from a real-time OS. The usual arrangement is that the operating system kernel allocates memory and switches the CPU to different threads of execution. User mode processes implement major functions such as file systems, network interfaces, etc.

Microkernels were first tried back in the 1950s, and abandoned in favor of monolithic (MULTICS and UNIX style) kernels because the computers switched tasks and transmitted data between the tasks too slowly. In general, microkernels succeed when the task switching and intertask communication is fast, and fail when they are slow.

Exokernels communicate efficiently by normal subroutine calls. The hardware, and all the software in the system are available to, and extensible by application programmers. A resource kernel (which may be part of the library) allocates or multiplexes access to CPU time, memory and other resources. Big-kernel features such as multitasking, networking and file systems are provided by a library of code. The library may be dynamically linked, extensible, and shared. Different applications can even use different libraries, but all resources come from the resource kernel.
[edit]

Virtual machines

Some avionic systems use several merchant computers. Then, further, each of these computers simulate several copies of themselves. Critical programs run on several computers, and vote.

The advantage of a simulated environment is that if one computer fails, the different instances of the software can be migrated to software partitions in working computers without changing the number of votes.

Generally the virtualization software runs programs in the computer's user mode. It traps and simulates hardware access, and instructions that are not executable in the user mode.
[edit]

Checkpointed calculations

Another high-availability scheme has two computers that execute for a bit, then exchange notes about their calculations up to that point. If the one computer's calculations are nuts, it is shut down.
[edit]

Office-style (big-kernel) operating systems

These are popular for embedded projects that have no systems budget. In the opinion of at least one author of this article, they are usually a mistake. Here's the logic:

* Operating systems are specially-packaged libraries of reusable code. If the code does something useful, the designer saves time and money. If not, it's worthless.
* Operating systems for business systems lack interfaces to embedded hardware. For example, if one uses Linux to write a motor controller or telephone switch, most of the real control operations end up as numbered functions in an IOCTL-call. Meanwhile, the normal read, write, and fseek, interface is purposeless. So the operating system actually interferes with development.
* Most embedded systems perform no office work, so most code of office operating systems is wasted. For example, most embedded systems never use a file system or screen, so file system and GUI logic is wasted. Unused code is just a reliability liability.
* Office style operating systems protect the hardware from user programs. That is, they profoundly interfere with embedded systems development.
* Operating systems must invariably be ported to an embedded system. That is, the hardware driver code must always be written anyway. This is the most difficult part of the operating system, so little is saved by using one.
* The genuinely useful, portable features of operating systems are small pieces of code. For example, a basic TCP/IP interface is about 3,000 lines of C code. Another example is that a simple file system is about the same size. If a design needs these, they can be had for less than 10% of the typical embedded system's development budget, without royalty, just by writing them. And, if the needed code is sufficiently generic, the back of embedded systems magazines typically have vendors selling royalty-free C implementations.

Nevertheless many engineers disagree. Embedded Linux is increasing in popularity, especially on the more powerful embedded devices such as Wireless Routers and GPS Navigation Systems. Here are some of the reasons:

* Ports to common embedded chip sets are available.
* They permit re-use of publicly available code for Device Drivers, Web Servers, Firewalls, and other code.
* Development systems can start out with broad feature-sets, and then the distribution can be configured to exclude unneeded functionality, and save the expense of the memory that it would consume.
* Many engineers believe that running application code in user mode is more reliable, easier to debug and that therefore the development process is easier and the code more portable.
* Many embedded systems lack the tight real time requirements of a control system. A system such as Embedded Linux has fast enough response for many applications.
* Features requiring faster response than can be guaranteed can often be placed in hardware.
* Many RTOS systems have a per-unit cost. When used on a product that is or will be come a commodity, that cost is significant.

[edit]

Exotic custom operating systems

Some systems require safe, timely, reliable or efficient behavior unobtainable with the above architectures. There are well-known tricks to construct these systems:

* Hire a real system programmer. They cost a little more, but can save years of debugging, and the associated loss of revenue.
* RMA (rate monotonic analysis), can be used to find whether a set of tasks can run under a defined hardware system. In its simplest form, the designer assures that the quickest-finishing tasks have the highest priorities, and that on average, the CPU has at least 30% of its time free.
* Harmonic tasks optimize CPU efficiency. Basically, designers assure that everything runs from a heartbeat timer. It's hard to do this with a real-time operating system, because these usually switch tasks when they wait for an I/O device.
* Systems with exactly two levels of priority (usually running, and interrupts-disabled) cannot have Priority inversion problems in which a higher priority task waits for a lower priority task to release a semaphore or other resource.
* Systems with monitors can't have deadlocks. A monitor locks a region of code from interrupts or other preemption. If the monitor is only applied to small, fast pieces of code, this can work well. If the monitor API can be proven to run to completion in all cases, (say, if it merely disables interrupts) then no hangs are possible.

This means that systems that use dual priority and monitors are safe and reliable because they lack both deadlocks and priority inversion. If the monitors run to completion, they will never hang. If they use harmonic tasks, they can even be fairly efficient. However, RMA can't characterize these systems, and levels of priority had better not exist anywhere, including in the operating system and hardware.
[edit] Viz téžWikibooks
Wikibooks Wikiversity has more about this subject:
Embedded System Engineering
Wikibooks
Wikibooks has more about this subject:
Embedded Systems

* Real-time
* Real-time operating system
* Synchronous programming language
* Microprocessor
* Embedded System Design in an FPGA
* Software engineering
* List of software engineering topics
* Firmware
* Information appliance
* Programming languages for embedded system
o Ada
o C
o C with careful use of language features
o Embedded C
o Forth
o Java
* Operating Systems for embedded system
o eCos
o Embedded Linux
o Embedded Debian
o embOS (Segger)
o FreeRTOS
o JavaOS
o LynxOS
o Nucleus RTOS
o OSGi
o pSOS
o QNX
o Windows CE
o VxWorks
o T2 SDE
* Ubiquitous computing

[edit] Externí odkazy* How a real time operating system works
* Embedded Systems Portal
* Windows Embedded Developer Center
* Embedded systems and VLIW processors
* Embedded C Homepage
* QNX Homepage
* LynuxWorks embedded system home page
* Embedded Systems Discussion Groups, Books, Jobs, and More
* Embedded Software Design
* Universities that have Embedded Systems Research groups
* Embedded Systems Institute
* Embedded Systems Programming
* The EE Compendium - Electronic Engineering and Embedded Systems Programming
* DeviceTools - Tools and silicon for embedded device developers
* Embedian
* The Magazine of Record for the Embedded Computing Industry
* Embedded White Papers, Downloads, Companies, News, Articles
* Troubleshooting Embedded Systems - An overview of board bring-up, manufacturing and servicing issues.

Added after 30 seconds:An embedded system is a special-purpose system in which the computer is completely encapsulated by the device it controls. Unlike a general-purpose computer, such as a personal computer, an embedded system performs pre-defined tasks, usually with very specific requirements. Since the system is dedicated to a specific task, design engineers can optimize it, reducing the size and cost of the product. Embedded systems are often mass-produced, so the cost savings may be multipled by millions of items.

The core of any embedded system is formed by one or several microprocessors or microcontrollers, programmed to perform a small number of tasks. In contrast to a general purpose computer which can run any software application the user chooses, the software on an embedded system is semi-permanent; so it is often called "firmware". Obsah[hide]

* 1 Examples of embedded systems
* 2 History
* 3 Characteristics
* 4 Design of embedded systems
o 4.1 User interfaces
o 4.2 Platform
o 4.3 Tools
o 4.4 Debugging
o 4.5 Operating system
o 4.6 Start-up
4.6.1 Built-In Self-Test
o 4.7 Reliability regimes
* 5 Types of embedded software architectures
o 5.1 The control loop
o 5.2 Nonpreemptive multitasking
o 5.3 Preemptive timers
o 5.4 Preemptive tasks
o 5.5 Microkernels and Exokernels
o 5.6 Virtual machines
o 5.7 Checkpointed calculations
o 5.8 Office-style (big-kernel) operating systems
o 5.9 Exotic custom operating systems
* 6 See also
* 7 External links

[edit]

Examples of embedded systems

* automatic teller machines (ATMs)
* avionics, such as inertial guidance systems, flight control hardware/software and other integrated systems in aircraft and missiles
* cellular telephones and telephone switches
* computer network equipment, including routers, timeservers and firewalls
* computer printers
* copiers
* disk drives (floppy disk drives and hard disk drives)
* engine controllers and antilock brake controllers for automobiles
* home automation products, like thermostats, air conditioners, sprinklers, and security monitoring systems
* handheld calculators
* household appliances, including microwave ovens, washing machines, television sets, DVD players/recorders
* medical equipment
* measurement equipment such as digital storage oscilloscopes, logic analyzers, and spectrum analyzers
* multifunction wristwatches
* multimedia appliances: Internet radio receivers, TV set top boxes, digital satellite receivers
* Multifunctional printers (MFPs)
* personal digital assistants (PDAs), that is, small handheld computers with PIMs and other applications
* mobile phones with additional capabilities, for example, mobile digital assistants with cellphone and PDA and Java (MIDP)
* programmable logic controllers (PLCs) for industrial automation and monitoring
* stationary videogame consoles and handheld game consoles
* wearable computer

[edit] HistorieThe Apollo Guidance Computer, the first recognizably modern embedded system.source: The Computer History Museum ZvětšitThe Apollo Guidance Computer, the first recognizably modern embedded system.
source: The Computer History Museum

The first recognizably modern embedded system was the Apollo Guidance Computer, developed by Charles Stark Draper at the MIT Instrumentation Laboratory. Each flight to the moon had two. They ran the inertial guidance systems of both the command module and LEM.

At the project's inception, the Apollo guidance computer was considered the riskiest item in the Apollo project. The use of the then new monolithic integrated circuits, to reduce the size and weight, increased this risk. The first mass-produced embedded system was the Autonetics D-17 guidance computer for the Minuteman missile, released in 1961. It was built from discrete transistor logic and had a hard disk for main memory. When the Minuteman II went into production in 1966, the D-17 was replaced with a new computer that was the first high-volume use of integrated circuits. This program alone reduced prices on quad nand gate ICs from $1000/each to $3/each, permitting their use in commercial products.

The crucial design features of the Minuteman computer were that its guidance algorithm could be reprogrammed later in the program, to make the missile more accurate, and the computer could also test the missile, saving cable and connector weight.

Since these early applications in the 1960s, where cost was no object, embedded systems have come down in price. There has also been an enormous rise in processing power and functionality. This trend supports Moore's Law.
The Intel 4004, the first microprocessor ZvětšitThe Intel 4004, the first microprocessor

The first microprocessor was the Intel 4004, which found its way into calculators and other small systems. However, it still required external memory chips and other external support logic. More powerful microprocessors, such as the Intel 8080 were developed for military projects, but also sold for other uses.

By the end of the 1970s, 8-bit microprocessors were the norm, but usually needed external memory chips, and logic for decoding and input/output. However, prices rapidly fell and more applications adopted small embedded systems in place of (then more common) custom logic designs. Some of the more visible applications were in instrumentation and expensive devices.
A PIC microcontroller ZvětšitA PIC microcontroller

By the mid-1980s, most of the previously external system components had been integrated into the same chip as the processor. The result was a dramatic reduction in the size and cost of embedded systems. Such integrated circuits were called microcontrollers rather than microprocessors, and widespread use of embedded systems became feasible.

As the cost of a microcontroller fell below an hour's wage for an engineer, there was an explosion in both the number of embedded systems,
 

Welcome to EDABoard.com

Sponsor

Back
Top