Nová generace vestavných řídicích systémů perfektně vyplňuje mezeru mezi jedno-čipovými, jedno-úlohovými, jednoduchými, jedno-účelovými mikrořadiči a příliš-složitými, příliš-velkými a příliš-volatilními systémy na bázi PC s příliš-univerzálním operačním systémem. Nová generace je super.
Společnost Ryston Electronics se po mnoho let systematicky věnuje vývoji a výrobě vestavných mikropočítačových systémů pro náročné aplikace – tam, kde se něco řídí nebo se sbírají data v reálném čase, zároveň se velký objem dat zpracovává, ukládá, komunikuje v distribuovaném systému a současně se musí pracovat s daty na úrovni souboru, připojit se k internetu v zabezpečené relaci a v případě mobilního systému nejlépe bezdrátově a několika pásmy pro vykrytí nekvalitního rádiového pokrytí.
Dalším požadavkem bývá „mnohovrstevnost“ chování, software umožňující dálkový dohled, diagnostiku rozlehlého systému, robustní chování při výpadku napájení nebo částečných poruchách a zpravidla propojení do „kancelářského“ počítače pro export statistických výstupů či databáze nebo do podnikového informačního systému.
Takové aplikace nutí spíše sahat po počítačích třídy PC, ale ty jsou zpravidla příliš velké, mají pohyblivé součásti, generují teplo, jsou citlivé na otřesy a extrémní pracovní podmínky. Bez speciálního hardwaru (I/O desky) nejsou schopné sběru dat na úrovni např. analogových vysokofrekvenčních signálů, a pokud ano, pak se již jedná o velmi drahé laboratorní systémy vyžadující klimatizaci, zálohované napájení a speciální software, nemluvě o týmu IT pro údržbu, ochranu před virovými útoky, aktualizaci softwaru atd.
Vznikla tak zóna s extrémními nároky na stabilitu, spolehlivost a bezpečnou funkci systému v extrémních pracovních podmínkách (elektrické krytí IP55 a vyšší, industriální až vojenský rozsah teplot, vibrace, znečištění, tlaky), do níž si netroufnou počítače komerční třídy, zatímco jednoduché mikrořadiče již neskýtají požadovanou funkcionalitu.
Pro tuto mezeru jsme v posledních letech vyvinuli a do reálné funkčnosti a do sériové výroby dovedli desítku projektů založených na několika platformách pro co nejlepší přizpůsobení požadavkům zákazníků. Tyto projekty tvoří celou generaci a navzájem se obohacují o dodatečné vyspělé funkce. Oproti starším platformám (Zx80, E86, 8x51, …) se nám zdají super-výkonné, super-příjemné na použití. Vzhledem k malému počtu součástek je možno je umístit na modul, jakousi super-součástku, z níž vedou jen užitečné portové signály, a to je důvod onoho super-názvu.
Obr. 1 Modul Combi-G20 s platformou ARM9-FPGA Spartan (super-součástka)
I když jsme vybrali několik výrobců, tyto systémy mají řadu společných rysů a z toho plyne poučení. Pokusím se je shrnout bez zabíhání do složitosti:
––Moderní platformy centrálních procesorů s integrovanými periferiemi od několika světových výrobců, kteří poskytují dostatečnou podporu, například STM s řadou STM32 s architekturou Cortex-M/A, Atmel s řadou SAM9G s ARM926EJ anebo Microchip s řadou PIC32MX s jádrem MIPS. Rychlost je několik stovek MHz (též výpočetní výkon v MIPSech). Tyto řady mají zpravidla řadu škálovatelných typů s různou výkonností, variantními jádry DSP, pamětí a velikostí pouzdra, avšak společnou architekturu a vývojové prostředky. Jejich propojením může být vytvořen vícejádrový systém. (Výrobců je podstatně víc, např. TI, ale my jsme si vybrali tyto tři.)
––Operační paměť kapacity řádu desítek až set MBytů technologie xDRAM s rychlou širokou sběrnicí, mechanismem DMA a cache vyrovnávací pamětí anebo CMOS SRAM se zálohováním, baterii může nahradit Super-kapacitor.
––Paměť Flash pro uložení programového vybavení, popř. souborového systému (NAND, Dataflash) a EEPROM pro kalibraci vstupů, individuální výrobní číslo, MAC adresu, popř. security. Zálohování dat na vyjímatelné Flash kartě nebo USB jednotce v držáku. Přístupnost zálohových pamětí kvalifikované obsluze v příslušně zakrytých (např. vodotěsně), avšak otevíratelných „výrůstcích“.
––Propracovný napájecí systém, jištěný a s ochranou proti přepětí a přechodovým dějům, se zálohováním a časnou detekcí poklesu/vybití baterie, propojený s dohledovým resetovacím obvodem „watchdog“ pro zotavení a opětný restart po přechodné chybě systému (zatuhlý software) bez ztráty dat. Moderní součástky vyžadují sekvencování náběhů a výpadků několika hladin napájecích napětí. Z důvodu vysoké účinnosti napáječe se používají téměř výhradně spínané regulátory.
––Integrované řadiče několika oblíbených sériových sběrnic a vyvedení jejich signálů (I2C, SPI, UART) pro snadné připojení periferních obvodů, jako A/D a D/A, dostatek vstupů a výstupů s možností jejich rozšíření a volby typu,
––na připojené desce plošného spoje vytvořená izolovaná výkonová rozhraní pro ovládání spotřebičů (často 3fázových). Tato „silová“ část však má jiné požadavky na mezery a tloušťky spojů než centrální procesor.
––Integrované časovače a čítače pro vytvoření PWM (vícefázové pro můstky apod.) a časové přerušení.
––Konektivitu: několik portů sériové linky, porty USB (host + function), port LAN, rozhraní CAN aj. s integrovanými řadiči, možnost připojení wireless dat přes GSM, GPS zjišťování polohy.
––Práce jak s rychlými signály v reálném čase, tak s daty na úrovni souborů je silný požadavek, který velice ovlivňuje koncepci softwaru. Proto jsou v super- -systémech typické dva následující rysy:
––„Embedded“ operační systém reálného času s podporou paralelních procesů, práce se soubory a síťovými relacemi, s dynamickou správou paměti a dalších prostředků. Operační systém musí být stabilní verze a podporovaný silnou komunitou. My jsme zvolili RT Linux a jeho deriváty, k němuž jsou dostupné i ovladače součástek od řady výrobců a databázové systémy.
––Integrovaný blok programovatelné logiky či obvod FPGA s bootováním firmwaru z CPU a rychlým datovým propojením s CPU dává možnost vytváření složitých logických obvodů, řadičů až procesorů (anebo příslušné integrované řadiče) pro kombinovanou paralelní činnost a obsluhu vnějších dějů adekvátním prostředkem dle jejich charakteru a rychlosti. Možnost napsat si do FPGA svůj vlastní komunikační či signálový procesor nebo rychlý logický podsystém, například obousměrné čítače polohy s komparací a detekcí dorazu pro x/y pojezdy, dává embedded systému opravdu super-možnosti.
Obr. 2 Deska NAG s integrovaným motivem Combi na desce a s rozhraními LAN a E1
––Aplikační programové vybavení: až na výjimky vytvořené obecně, nezávisle na typu CPU, FPGA (ANSI C, VHDL). Výjimkou jsou fyzické vrstvy pro bootování, konfiguraci periferií na čipu nebo velmi rychlé propojení CPU-FPGA, tedy svázané s konkrétním hardwarem. Využívání služeb OS, knihoven nebo softwaru od třetích stran musí být provedeno doporučeným standardním způsobem pro budoucí kompatibilitu.
––Dohled na systém za provozu – dálkové sledování důležitých systémových proměnných a statusů.
––Automatické aktualizace softwaru, a to buď přes vyjímatelnou paměť Flash, anebo přes připojení k internetu či bezdrátový modemový kanál.
––Testovatelnost při výrobě i servisu, JTAG interface a měřicí body na DPS, dostatek indikátorů interních funkcí/ stavů (LED). U každého systému nastane fáze „ladění po telefonu“ ve spolupráci se zákazníkem.
––Zařízení pro indikaci/výstup pro obsluhu: industriální „semafor“ a též maticový (grafický) LED anebo LCD displej. To, co je na displeji, systém prodává zákazníkovi, proto je někdy žádoucí použít i barevné grafické jednotky, např. Raspberry Pi s LCD displejem, jako uživatelského terminálu.
––Grafické výstupy, náročné na data i paměť, jsme se koncepčně nesnažili zabudovat do vestavného řídicího systému. Pro indikaci na této úrovni již je přiměřený počítač třídy PC s plochým monitorem připojený k embedded systému přes USB či spíše jejich síť (pro velín) s Embedded Windows. Další možností, spíše však pro technologická PC, jsou kvalitní, ale velmi drahé systémy QNX či Phar Lap. Nakonec, jako vedlejší produkt vývoje, jsme získali maticový monochromatický LCD displej s rozlišením 128 × 64 a LED (monochrom nebo RGB) maticový systém se škálovatelným rozlišením od 4 × 4 po 256 × 256 LED v rastru 1 cm.
––Blokové uspořádání: kromě centrální jednotky ještě dohledová (zabezpečovací) jednotka (spolupracující s napáječem, provádí i bezpečnostní funkce jako šifrování, reset, odpojení, centrál- -Stop, tamper-spínač) a Human-Interface (HMI, rozhraní člověk-stroj), tedy ovládací jednotka s displejem a tlačítky, a možnost propojení s jinými systémy (např. CAN bus na vozidle).
––Podle počtu a typu vstupů a výstupů lze volit např. zabudování jedné desky plošného spoje do držáku na DIN liště do blízkosti výkonových prvků na téže liště anebo umístit centrální jednotku do samostatné krabice s množstvím průchodek a jednotky propojit kabeláží.
––Reuseability: znovupoužitelnost jak schématu nebo jeho částí, tak i motivu na desce plošného spoje (naladěné spoje CPU-DRAM) a většiny programového vybavení (RTOS kernel, protocol- stacky), která již byla odladěna, a pozornost vývojářů může být soustředěna na nové, aplikačně specifické části projektu.
––Další jednotky čidel mimo centrální jednotku, ale z ní napájené a jí podřízené, např. tenzometrické snímače (váhová čidla) nebo čtečky RFID. Tyto jednotky mohou být vzdáleny od centrální jednotky až stovky metrů, pro komunikaci jsme zvolili buď LAN s PoE, anebo RS-485 a samostatné napájení 24 V. U každého kabelu však může dojít k poruše, a proto jsou všechna kabelová rozhraní ochráněna proti poruše či zkratu.
––Krytí: podle charakteru aplikace může jít o řadu možností, od plechové krabice či skříně (IP4x) až po odolný vodotěsný plastový obrobek či nerezové tlakové těleso s krytím IP67. Problémy nastávají s chlazením, vibracemi, znečištěním prostředí (prach, kondenzace) a odrušením. Spojovací kabely jsou voleny podle různých požadavků: na trvalé ohýbání, odolnost proti UV a olejům, potravinářskou čistotu a kompatibilitu či odolnost proti tlaku a slané vodě.
––Volba součástek: Když zvážíme všechny požadavky na vestavný řídicí systém včetně mechanických, pohyblivých a krycí dílů, napojení na řízený objekt, požadavků bezpečnosti, obsluhy, servisovatelnosti, je samotná volba procesoru a jeho výrobce (a dalších součástek) téměř zanedbatelná z pohledu ceny. Největší nákladovou položkou je investovaná práce včetně odladění návrhu schématu, plošného spoje, mechaniky a softwaru. Ale tato volba má také další dlouhodobé důsledky, musíme vzít v úvahu podporu výrobce, údržbu programu, dostupnost náhradních dílů a součástek pro následující možnou výrobu atd. Nezřídka se nám stalo, že pro výrobu systému (s embedded počítačem) v horizontu 5–10 let si zákazník nezajistil přiměřenou zásobu klíčových součástek a po několika letech jsme museli znovu vyvinout stejný systém jen proto, že původní součástky již nebyly dostupné od originální distribuce anebo jejich cena jakožto oldies-goldies několikanásobně vzrostla. Ze všech těchto důvodů je radno být konzervativní a spojit své úsilí s dlouhodobou podporou výrobce a vytvořit si přiměřené zásoby.
––Dokumentace: Od katalogových listů polovodičových součástek po finální dokumentaci, vše je nutno zaarchivovat na vlastním médiu či serveru, protože mnohé stránky výrobců se časem stávají nedostupnými.
––Otevřenost: Pro budoucí podobné projekty anebo pro postupný růst a vylepšování současných produktů je nutno mít všude rezervu výkonu, počtu připojení a programových prostředků a rovněž je dobré mít možnost náhrady jednotlivých modulů za vylepšené v budoucnu.
Na závěr: Doufám, že atribut „super“, kterým se tento článek hemží, si čtenář vyloží ne jako reklamní výraz, ale jako míru předností a možností úprav a postupného růstu, které zmíněná generace systémů nabízí. Díky těmto přednostem se vývojářům v Rystonu podařilo zpracovat řadu úspěšných aplikací v řízení a monitorování technologických procesů, v telekomunikacích a přijmout nové výzvy z potravinářství, zdravotnictví, ekologie, automobilové a kolejové dopravy.
Začít práci s novým super-systémem je velmi snadné: například vezmete modul Combi, připojíte přes USB ke svému počítači s nainstalovaným vývojovým prostředím a začnete programovat a on-line testovat svoje dílo. Vyvíjený systém pak poroste s Vámi, obohacený o desku připojení vstupů/výstupů, výkonových spínačů, řízení motorů a čidel, jak bude potřeba. Je to opravdu download – plug and play.