Úvod
V časopise DPS A–Z jsme již několikrát popisovali novou generaci vestavných počítačů a navazujících systémů vyvinutou v Rystonu. Počáteční investice do hardwaru si sice vynutila další investici do programového vybavení založeného na operačním systému Linux, ale výsledek stojí za pozornost. Systém si našel cestu k nejméně deseti aplikacím a odvozeným konstrukcím, které využívají výhod vzájemně provázaného softwaru a zděděných funkcí, ale bez nevýhod způsobených pohybujícími se díly, jako jsou větrák či hard disk.
Embedded (vestavný) mikropočítačový systém založený na modulu Combi systém totiž vyplňuje mezeru mezi jednočipovými, jednoúlohovými, příliš jednoduchými, jednoúčelovými mikrořadiči, … a příliš složitými, příliš velkými a příliš choulostivými systémy na bázi PC s příliš univerzálním operačním systémem. Původní modul Combi si vydobyl přezdívku „supersoučástka“.
Ryston se po mnoho let systematicky věnuje vývoji mikropočítačových systémů pro náročné aplikace – tam, kde se něco řídí, monitoruje nebo se sbírají data v reálném čase, zároveň se velký objem dat zpracovává, ukládá, komunikuje se v rozlehlém prostředí a současně je žádáno pracovat s daty na úrovni souboru, připojit se k internetu v zabezpečené relaci, často v (auto)mobilním systému, tedy bezdrátově a s několika pásmy pro vykrytí nekvalitního rádiového signálu.
Dalším požadavkem bývá „mnohovrstevnost“ chování, paralelní procesy umožňující dálkový dohled, diagnostiku rozlehlého systému, robustní chování bez záseků, ošetření výpadku napájení nebo částečných poruch a zpravidla propojení do „kancelářského“ počítače v síti pro export 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 a nemají s výjimkou UPS vyřešeno zálohování napájení. Bez speciálního hardwaru (I/O desky) nejsou schopné sběru dat na úrovni např. analogových vf signálů, ale pak se již jedná o velmi drahé laboratorní systémy vyžadující klimatizaci ve stojanu, 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 výzvy“ s vysoký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ž „military“ 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 funkčnost.
Jako odpověď na tuto výzvu jsme vyvinuli a do sériové výroby dovedli desítku projektů, které používají koncept původního modulu – supersoučástky. Ale díky superpříjemnosti na použití a s nadsázkou i superjednoduchosti se nám podařilo i znovuvyužít (ReUse) tento modul metodou „cut-and-paste“ motivu rovnou do plošného spoje dalších systémů. Jedná se sice o již ne supermoderní design, ale součástky jsou stále dostupné a podporované a systém má řadu příjemných vlastností.
Jaké jsou to vlastnosti? (obr. 1, 2)
- Středně moderní vyzrálá platforma MPU, stále podporovaná firmou Atmel/ Microchip − řada SAM9G s architekturou ARM926EJ. Data i program jsou po bootu v RAM.
- Operační paměť (dva čipy) SDRAM kapacity řádu set MBytů s rychlou, 32 b širokou sběrnicí, mechanismem DMA a cache vyrovnávací pamětí, což bohatě stačí pro typickou datovou náročnost.
- CMOS SRAM a periferie (RTC) na čipu se zálohováním baterií či Super-kapacitorem.
- Paměti Flash pro uložení dvou kopií programového vybavení a souborového systému (NAND) a Dataflash pro boot, sériová EEPROM pro kalibraci vstupů, individuální výrobní číslo / MAC adresu, popř. zabezpečení. To stačí pro bezpečnou aktualizaci softwaru na dálku.
- Programovatelný logický obvod FPGA Spartan namapovaný do adresního prostoru MPU, pro velmi rychlý přenos dat 32bitovou sběrnicí, systémem mailboxů s podporou přerušení.
- Propracovný napájecí systém, jištěný, 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 obvodem „watch-dog“, pro zotavení a opětovný restart po přechodné chybě systému (zatuhlý software) bez ztráty dat. Sekvencování náběhů hladin napájecích napětí.
- Integrované řadiče několika oblíbených sériových sběrnic a vyvedení jejich signálů (I²C, SPI, UART) na konektor pro snadné připojení periferních obvodů, jako A/D a D/A, vstupů a výstupů.
- Integrované časovače a čítače pro vytvoření PWM výstupů (vícefázové můstky apod.) a časové přerušení.
- Pouzdra BGA s roztečí kolem 0,8 mm, pájitelné ve většině kooperací. 6vrstvý DPS se strukturou 0,15 mm.
- Konektivita: několik portů sériové linky, porty USB (2*host + function), port LAN, kodek aj. s integrovanými řadiči.
- Práce jak s rychlými signály v reálném čase, tak s daty na úrovni souborů − „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 stabilní verze 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 − obvod FPGA s bootování firmwaru z CPU a rychlým datovým propojením se 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 nebo řadič CAN, dává embedded systému opravdu supermožnosti.
- Aplikační programové vybavení: až na výjimky vytvořené v jazyku ANSI C logika ve VHDL. Výjimkou jsou fyzické vrstvy pro bootování, konfiguraci periferií na čipu nebo velmi rychlé propojení CPU-FPGA. Využívání služeb RTOS, knihoven nebo prověřených modulů 3rdParty pro zachování kompatibility.
- 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).
Modul Combi byl spolu s dalšími moduly na DPS umístěn na nosné desce s rastrem rozvrtaných montážních děr do vodotěsné plastové krabice. To umožnilo další flexibilitu vybavení:
- Zařízení pro indikaci/výstup signalizace pro obsluhu: industriální „semafor“.
- Zálohování dat na vyjímatelné Flash kartě nebo USB jednotce v držáku, přístupné kvalifikované obsluze v příslušně zakrytých (vodotěsně), avšak otevíratelných „výrůstcích“ pouzdra.
- Displej: maticový (grafický) LCD s rozlišením 128*64 nebo LED (monochrome nebo RGB) maticový systém se škálovatelným rozlišením od 4 × 4 po 256 × 256 LED v rastru 1 cm.
- Bezpečnostní funkce jako šifrování, reset, odpojení, centrál-Stop, tamper-spínač.
- Human-Interface (HMI, rozhraní člověk- stroj), tedy ovládací jednotka s displejem a tlačítky připojená přes sériovou linku.
- Připojení wireless dat přes GSM modul (nebo jiné radiové rozhraní) k internetu, GPS zjišťování polohy.
- Využití ethernet switche k propojení modulu Combi a vnějších IoT zařízení včetně napájení přes PoE.
- Možnost propojení s jinými systémy (např. CAN na nákladním autě nebo RS-485 v drážních aplikacích).
- I/O moduly: Podle počtu a typu vstupů a výstupů lze volit jejich umístění v centrálním pouzdře nebo umístění I/O modulu 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áží.
- Další jednotky čidel mimo centrální jednotku, ale z ní napájené a jí podřízené: např. tenzometrické snímače (váhová čidla), senzory tlaku v hydraulice 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 po kabelu. U každého kabelu však může dojít k poškození, 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ý výlisek (IP56) či nerezové tlakové těleso s krytím IP67.
- Problémy bý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 znečištěné vodě.
Popsaný automotivní systém byl testován v provozu v darwinistickém prostředí – na popelářském autě pro sběr komunálního a bioodpadu. Po dvouletém zkušebním provozu se použitá plastová krabice a kryté kabely zdají adekvátní pro běžný provoz, s výjimkou setkání vozu s čnějícími větvemi a neotevřenými vraty. Můžeme vyvodit následující poučení:
- Modernizace a zkompaktnění systému: v případě, že dojde k úspěchu a je třeba vyrobit větší množství (odhaduji 500+) kusů, začne být žádoucí opustit stavebnicový koncept a zvýšit spolehlivost odstraněním kabelových spojů uvnitř jednotek a integrovat vše potřebné na jediné desce plošného spoje. Pomocí funkce ReUse návrhového systému je možno celý motiv modulu přenést (ve schématu i na DPS) do aplikační desky a jen vyřešit jeho napojení. Vzhledem ke komplexitě modulu Combi bylo nutno pro celou jednotku NAG (obr. 3, 4) použít 6vrstvý spoj s vyšší cenou, což je kompenzováno vyšším počtem vyrobených kusů.
- Volba součástek: Když zvážíme všechny požadavky na vestavný řídicí systém včetně mechanických, pohyblivých a krycích dílů, napojení na řízený objekt, požadavků bezpečnosti, obsluhy, servisovatelnosti, ..., je samotná volba procesoru (a dalších součástek) téměř zanedbatelná z pohledu ceny za materiál. Největší nákladovou položkou je investovaná lidská práce, dále pak odladění návrhu schématu, plošného spoje, mechaniky a hlavně systémového a aplikačního 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 a jejich cena jakožto oldies-goldies neúnosně vzrostla. Ze všech těchto důvodů je radno být konzervativní a spojit své úsilí s dlouhodobou podporou výrobce a taky si vytvořit 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, NE na cloudu, 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ů a jejich údržbu 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 připojených destičkách plošného spoje (modulech) byla vytvořená izolovaná výkonová rozhraní pro ovládání spotřebičů (často 3fázových) a krokových či BLDC motorů, tato „silová“ část má často jiné požadavky na mezery a tloušťky spojů než centrální procesor.
- Reuseability: znovupoužitelnost, recyklovatelnost jak schématu, tak i motivu na desce plošného spoje: Pro rychlé signály a sběrnice byly „naladěné“ spoje s impedancí a zakončením (např. CPU-DRAM), a proto je dobře využít funkce Reuse návrhového systému Mentor-Pads.
- U většiny programového vybavení (RTOS kernel, protocol-stacky, ovladače), které již bylo odladěno, je lze použít tak, jak je, a pozornost vývojářů může být soustředěna na nové, aplikačně specifické části projektu (obr. 5, 6, 7).
Na závěr
Atribut „super“, kterým se tento článek hemží, si prosím vyložte ne jako dryjáčnický reklamní výraz, ale jako míru poznaných předností, možností úprav a postupného růstu, které zmíněná generace systému nabízí. Díky těmto přednostem se vývojářům v Rystonu podařilo zpracovat řadu úspěšných aplikací v monitorování technologických procesů, v telekomunikacích a dopravě a přijmout nové výzvy z potravinářství, zdravotnictví, a ekologie. Začít práci s novým systémem je velmi snadné: například vezmete modul Combi, připojíte přes USB ke svému PC s nainstalovaným vývojovým prostředím a začnete programovat a on- -line testovat svoje dílo. Je to opravdu download – plug – and play. Vyvíjený systém pak poroste s vámi, obohacený třeba o vámi vyvinutou desku připojení vstupů/výstupů a čidel, výkonových prvků, řízení motorů a zděděný software podle potřeby. Pokud uspějete, můžete zůstat u stavebnice nebo přes ReUse integrovat vše na jednu desku.