Článek ve formátu PDF je možné stáhnout
zde.
Po celé roky používají návrháři vestavných systémů programovatelná hradlová pole (FPGA) společně s mikroprocesory MPU, MCU. Přestože je toto běžná praxe ve vestavných systémech ve všech technických odvětvích, nejlépe se architektura kombinující mikroprocesor s FPGA osvědčila týmům, které navrhují pokročilé řídicí a monitorovací systémy.
Kromě mikroprocesorů a FPGA je třeba pokročilé řídicí a monitorovací systémy vybavit specializovanými vstupy a výstupy (I/O) pro připojení senzorů a akčních členů a také rozhraním pro komunikační sběrnice a sítě, které je třeba volit podle případu použití. Jestliže se každý specializovaný vstupně-výstupní podsystém připojí přímo k FPGA, dosáhne se největší pružnosti a značné výkonnosti systému. Kombinací mikroprocesoru, FPGA a specializovaných I/O lze vytvořit architekturu rekonfigurovatelných vstupů a výstupů (RIO), která je pro pokročilé řídicí a monitorovací systémy optimální.
Architekturu RIO (obr. 1) je možné použít při navrhování vestavných systémů pro široké spektrum odvětví a úloh. Tato architektura umožňuje vyvíjet inovativní systémy s jedinečnými vlastnostmi a mimořádně velkou výkonností. Například Dr. Kohji Ohbayashi a jeho tým na Kitasato University navrhli unikátní systém prostorové (3D) optické koherenční tomografie (OCT), což je medicínský zobrazovací systém, který musí každou sekundu provést 700 tisíc 512bodových rychlých Fourierových transformací.
Výhody architektury RIO
Použije-li se v architektuře RIO pole FPGA, lze získat několik výhod. Zaprvé, použitím FPGA je možné rozšířit procesor o funkci digitálního signálového procesoru (DSP), pokročilé řídicí algoritmy, časování a spínání, což s sebou nese lepší flexibilitu a udržovatelnost než při použití obvodů ASIC nebo diskrétních digitálních systémů. Jsou-li všechny specializované vstupy a výstupy vedeny přes FPGA, je možné uskutečňovat operace DSP v jednom nebo i ve všech kanálech. Návrháři vestavných systémů optimalizují IP jádra tak, aby zpracovávala signály v běžném režimu, jako je filtrování, průměrování, zmenšování počtu vzorků, spektrální analýza a převzorkování signálu, popř. lze ve struktuře FPGA vyvinout a realizovat vlastní algoritmus zpracování signálu. Stejné schopnosti mají i algoritmy digitálního řízení, protože je k dispozici řídicí IP jádro a je možné vyvinout vlastní řídicí algoritmus, který poběží v FPGA. Využití architektury RIO umožňuje, aby celá řídicí smyčka – vstup, řídicí algoritmus a výstup – běžela v FPGA, což ji velmi urychlí, navíc se dosáhne determinismu a velmi malého zpoždění.
Zadruhé, pole FPGA jsou ve své podstatě paralelní, tzn. že je v FPGA možné snadno replikovat procesní a řídicí algoritmy, a tím zvětšit počet aktivních kanálů v systému. Veškeré logické funkce běží paralelně, každá ve vlastní struktuře FPGA, tudíž se vzájemně neovlivňují. Díky paralelnímu charakteru polí FPGA je možné rozšiřovat systémy pro velký počet kanálů bez zhoršení výkonnosti.
Zatřetí, komunikace mezi FPGA a procesorem probíhá typicky prostřednictvím rychlého rozhraní, jako je PCI nebo PCI Express. Procesor v architektuře RIO obvykle pracuje s operačním systémem reálného času a zabezpečuje primární řízení vestavného systému. Vedle toho také spravuje standardní výpočetní úlohy včetně ethernetové a bezdrátové komunikace, interakce s uživatelskými rozhraními, obsluhy vstupů a výstupů, DSP a řídicích algoritmů. Jaké operace budou vykonávány v procesoru a jaké v FPGA, je často určeno požadavky na výkonnost systému a schopnostmi architektury RIO implementované ve vestavném systému.
V minulosti byla většina těchto systémů realizována použitím diskrétních polí FPGA a procesoru. Velké firmy zabývající se návrhem vestavných systémů uvedly nedávno na trh systémy SoC (System on Chip), které v jediném čipu kombinují procesor a FPGA. Například konfigurovatelný procesor Intel Atom E600C a platforma Xilinx Zynq-7000 EPP jsou dva výjimečně pružné systémy pro navrhování vestavných systémů. Intel E600C obsahuje procesorové jádro Atom E600 a hradlové pole Altera FPGA s rozhraním PCI Express, které propojuje procesorovou část s FPGA. Xilinx Zynq obsahuje dvoujádrový procesor ARM Cortex-A9 propojený s FPGA Xilinx 7 Series prostřednictvím rozhraní AXI (Advanced eXtensible Interface). Tyto prvky zajišťují větší pružnost a výkonnou součinnost procesoru s FPGA. Navíc představují slibný technický směr vedoucí k využití architektury RIO, v důsledku toho i k lepší výkonnosti systému, který má menší rozměry i nižší cenu.
Překonávání problémů s architekturou RIO
Ačkoliv architektura RIO přináší výkonnost a pružnost, může způsobovat i problémy. Procesor, FPGA a specializované I/O, které tvoří architekturu RIO, jsou tradičně programovány pomocí nesourodé sady nástrojů, a proto na návrhu pracuje tým odborníků z různých oborů. Sestavit tým s takovým rozsahem znalostí může být obtížné a nákladné.
Tuto nesnáz může odstranit grafický přístup k návrhu systémů. Grafickou platformu NI pro návrh systémů tvoří vývojové prostředí NI LabView a komerčně dodávaný (COTS) hardware. LabView je integrované vývojové prostředí, které umožňuje jedním jazykem programovat procesor i FPGA. Použitím jediného návrhového nástroje jsou eliminovány požadavky na specializovaný software i na znalost jazyků HDL, a méně početné týmy tak mohou zvládnout více práce na systému.
Za použití komerčně dostupné elektroniky lze do systému snadno integrovat většinu senzorů a akčních členů, aniž je třeba vyvíjet vlastní analogové nebo digitální obvody. Komerčně dostupné elektronické platformy optimalizované pro řídicí a monitorovací systémy mají mnoho funkcí, jako je konektivita, přizpůsobení signálů a modulární A/D a D/A převodníky, které se uplatní v množství úloh.
Sada nástrojů pro navrhování v prostředí LabView poskytuje velkou míru abstrakce a značnou produktivitu, tudíž se na návrhu systému mohou podílet i lidé nevyškolení pro práci s tradičním softwarem nebo nástroji vývojového prostředí, např. odborníci z oblasti obchodu, vědy apod. S ostatními členy týmu mohou vytvářet prototypy a navrhovat různé funkce při menším počtu iteračních cyklů potřebných k dokončení návrhu. Týmy nemusí mít tak široké spektrum znalostí, mohou lépe spolupracovat a efektivněji vytvářet funkce na zakázku. Jediný odborník v návrhářském týmu tak může zavést aplikační software, DSP, měřicí program a současně ovládat software na MPU a FPGA. Tím se stírá hranice mezi projektováním hardwaru a softwaru a vytváří se nová role návrháře systému.
Návrhářské týmy složené z oborových specialistů a návrhářů systému se velmi liší od velkých návrhářských týmů používajících tradiční nástroje. Velké návrhářské týmy mohou být neefektivní a může pro ně být složité současně plnit všechny požadavky na návrh, aniž by si vytvářely stále se měnící seznam požadavků. Náročné může být už jen specifikování požadavků na systém. Velké týmy také často obtížně převádějí požadavky trhu na funkce systému. Než se dospěje ke správnému návrhu a vhodné sadě funkcí, je třeba realizovat několik iteračních cyklů a verzí systému. Naproti tomu oboroví specialisté a návrháři systému využívající společné vývojové prostředí spolupracují těsněji, rychleji se blíží ke konečné verzi a efektivněji převádějí požadavky trhu do reálných funkcí. Grafické vývojové prostředí oborovým specialistům a návrhářům systému umožňuje používat architekturu RIO, spolupracovat pomocí společného návrhářského nástroje, efektivněji vytvářet lepší systémy a při nízkých nákladech je rychleji uvádět na trh.
Maximální efektivnost týmové práce a rychlé uvedení na trh
Výhody architektury RIO a grafického vývojového prostředí využívá již mnoho týmů navrhujících systémy řízení a monitorování a bude jich stále víc. Při zahájení nového návrhu je třeba porovnat používanou architekturu a přístup k návrhu s architekturou RIO a grafickým vývojovým prostředím. Na rychle se vyvíjejícím trhu je velmi důležité používat při vypracovávání návrhu systémů takovou architekturu, nástroje a procesy, aby byl návrhářský tým co nejefektivnější a doba uvedení na trh co nejkratší.
Jamie Smith, National Instruments
Jamie Smith pracuje pro National Instruments od roku 1996 a momentálně zastává pozici ředitele produktového marketingu vestavných systémů. Na Kalifornské univerzitě v Santa Barbaře získal bakalářský titul v oblasti fyziky a inženýrského titulu dosáhl na Stanfordské univerzitě v oboru aplikované fyziky.
Obr 1. Blokový diagram architektury RIO pro pokročilé systémy řízení a monitorování
Obr. 2. Mnohooborový návrhářský tým používající tradiční nástroje se přeměnil na tým používající integrovaný návrhářský nástroj s větší mírou abstrakce a komerčně dostupný hardware