Skutečný význam označení vývojová deska − „development board“ se poslední dobou začal ztrácet díky spoustě názvů, které se používají k popisu hardwarových desek navržených pro účely vývoje, jako jsou „demonstration (demo) board“, „evaluation kit“ a také „reference design“. V článku si proto ukážeme, co označení „development board“ znamená, viz také ilustrace, a jak se liší od nejbližších příbuzných jednodeskových počítačů SBC (single board computer). Budeme rovněž sledovat jejich vývoj až do současnosti a prozkoumáme i některé trendy, pokud jde o další podobu v budoucnosti.
Co je to vývojová deska?
Na začátku si musíme říct, co přesně myslíme pod označením vývojová deska a jak se také liší od SBC. Vývojová deska je zpravidla vytvořená výrobcem mikrokontroléru tak, aby zdůraznila jeho vlastnosti (i když stejné označení se nyní často používá rovněž u jiných typů součástek). Mikrokontrolér je integrovaným obvodem, který obsahuje procesor, nějakou RAM, paměť Flash a také I/O funkce pro zajištění rozhraní s vnějším světem – v podstatě zde pracuje jako miniaturní počítač umístěný v jediném pouzdru, kde také vývojářům nabízí vhodný způsob, jak vše zapojit a ovládat přitom vnější prvky, jako jsou světla, malé motory atd. SBC je na tom podobně. Hlavní odlišností však bude, že CPU, RAM a další úložiště máme na desce řešené formou samostatných integrovaných obvodů, zatímco rozhraní zde umožňují připojit klávesnici nebo např. displej.
Mikroprocesor si na SBC žádá operační systém, zatímco mikrokontrolér je řízen prostřednictvím IDE (integrated development environment) zajišťovaného výrobcem. Výrobci nyní často vytváří vývojové desky zahrnující mikrokontrolér, kde však hlavní smysl nespočívá v demonstraci funkcí samotného mikrokontroléru, ale spíše senzorů a dalších integrovaných obvodů, ke kterým se připojí. Hovoříme pak o „demo board“, „evaluation kit“ nebo „reference design“ − to když má skupina součástek sloužit konkrétnímu účelu. Smyslem některých desek není v prvé řadě vývoj hardwaru, ale zajištění přístupu k reálným údajům, které pak vývojáři softwaru potřebují k vytvoření a dalšímu zlepšování algoritmů vyžadovaných pro umělou inteligenci nebo aplikace strojového učení. Pravda, původní definici a také účelu vývojové desky to sice nemusí odpovídat, nicméně nyní takovými deskami společně rozumíme jakýkoli kus hardwaru, který lze při HW/SW vývoji nových elektronických produktů využít.
Pohled do minulosti
První vývojová deska s mikrokontrolérem, která se mezi vývojáři těšila zvýšené pozornosti, přišla v roce 2006. Tato platforma pro vývoj prototypů, která začala být později známá jako Arduino (obr. 2), byla novou skupinou vývojářů elektronických systémů zahrnujících nadšence, bastlíře nebo techniky, kteří si musí vše vyřešit sami, rychle přijata. Arduino položilo základy komerčního úspěchu pozdějších SBC a dalších platforem založených na mikrokontrolérech a v roce 2008 bylo hned následováno ze strany Beagleboard, levné open source vývojové platformy s podporou celé komunity. Rok 2012 byl poté ve znamení Raspberry PI – prvního jednodeskového počítače. Podobně jako Beagleboard byl považován za výukovou platformu znamenající levný způsob, jak se mohou studenti naučit programovat. Díky své „přitažlivosti“ se však systém Raspberry PI rychle rozšířil nejen mezi studenty, ale také v prostředí amatérů, stejně jako profesionálních techniků.
Současnost
Aktuálně zde máme dvě hlavní kategorie SBC, proprietární a open source. V prvním případě půjde o SBC navržené obvykle pro použití v koncové aplikaci, zatímco se jich dotýkají stejné druhy testů, včetně zajištění kvality, jako v případě dalších koncových produktů. Integrovány jsou buď do elektronického zařízení, nebo je lze instalovat v konfiguraci vhodné k osazení do stojanu. SBC na způsob open source nabízí uživatelům přístup ke svému hardwarovému návrhu, layoutu a také veškerému zdrojovému kódu, který používají. Uživatel se tak může snadno a rychle naučit, jak software s hardwarem pracují, a následně převzít návrh tak, aby vyhověl jeho požadavkům.
Obr. 1 Technik pracující na desce pro elektroniku
Obr. 2 Vývojová deska Arduino s mikrokontrolérem
Vývojové desky a SBC dnes přichází s řadou různých typů procesorů zasahujících od verzí x86 s tradičním PC řešením (AMD a Intel) až po procesory ARM využívané v průmyslových a mobilních aplikacích. Mezi nejpoužívanější operační systémy patří u SBC Linux a jeho deriváty (Ubuntu, Fedora, Debian atd.), Android a Windows CE. Vývojové desky pro mikrokontroléry operační systém nevyžadují a programovány budou prostřednictvím IDE poskytovaného výrobcem. Takové desky se pak, stejně jako SBC, rozvinuly natolik, že zahrnují bezdrátovou propojitelnost (Wi-Fi, Bluetooth) i nejnovější audio a video rozhraní. To znamená, že některé SBC mají nyní funkce srovnatelné s těmi, které nabízí mnohé PC a tablety.
Příští generace: vývojové desky se stávají finálním produktem
Výrobci své vývojové nástroje obvykle vytvářeli s vidinou marketingové pomůcky, která by mohla zvýšit pravděpodobnost prodeje jejich mikrokontrolérů potenciálním zákazníkům (v oboru se často označuje jako „Design-in“). Také přitom doufali, že díky minimalizaci objemu práce, kterou by vývojáři museli vykonat při obstarání součástky, včetně jejího zprovoznění, a také z důvodu jednoduchého přístupu i následného prozkoumání jejich vlastností si vývojáři daný mikrokontrolér i s jeho příslušenstvím s vyšší pravděpodobností vyberou do svého výchozího prototypu, příp. to bude rovněž znamenat větší objednávky, pokud se návrh s danou součástkou nakonec dostane až do sériové výroby. U produktů, kde bude rozdíl v technických parametrech mezi součástkami od různých dodavatelů zanedbatelný, se určitě jedná o rozumné řešení. Pro výrobce však takový přístup v některých ohledech znamenal, že se stali obětí vlastního úspěchu. Pochopili, že musí vývojářům v souvislosti se svými produkty práci stále zjednodušovat a vývojové desky to mezi sebou jasně odhalovaly. U produktů, které se od konkurence víceméně neliší, to platí dvojnásob.
Očekávání vývojářů se pak zvýšila natolik, že u součástek, které mají zřetelnou konkurenční výhodu (např. v oblasti spotřeby či rychlosti) předpokládali, že související vývojové desky budou stále nabízet stejně jednoduché řešení.
Výrobci proto svou hodnotu dále zvyšovali tím, že nabízeli referenční návrhy zahrnující mikrokontrolér a další integrované obvody (nejčastěji senzory). Nejprve tím zamýšleli vytvořit návod, jak součástky mezi sebou správně zapojit ve snaze napodobit elektrické funkce koncového produktu, aniž by přitom kladli zvýšený důraz na výsledné fyzické provedení a jeho rozměry nebo jednoduchost výroby. Někteří výrobci však referenční návrhy povznesli na ještě vyšší úroveň, když vytvořili plnohodnotné prototypy, a dokonce i zcela funkční produkty.
Při mapování takového vývoje nám jako ilustrace poslouží referenční návrhy HSP (health sensor platform) od firmy Maxim Integrated (nyní jako součást Analog Devices). V prvotní verzi těchto referenčních návrhů stála malá vývojová deska zahrnující řadu snímačů (teplota, tlak, akcelerometr, biopotenciály atd.), které se hodily pro zdravotnické a fitness aplikace a bylo možné je i konfigurovat s využitím mikrokontroléru. Jejich nástupci, HSP2.0 a také HSP3.0, již ale měli provedení, které umožňovalo nošení okolo zápěstí, kde zároveň vypadali jako další nositelná elektronika, která je na trhu k dispozici – viz obr. 3.
Obr. 3 HSP3.0 od společnosti Maxim Integrated
Vývojáři proto mohli funkce takových senzorů posoudit za skutečných podmínek. A co je důležité, zmíněné návrhy softwarovým vývojářům rovněž umožnily svobodný přístup k výstupům čidel (tedy k informacím, jež u další zdravotnické elektroniky a nositelných fitness zařízení nebývají snadno dostupné). Smyslem takového řešení pak bylo podpořit vývoj algoritmů strojového učení a také umělé inteligence, které mají potenciál dále zvyšovat hodnotu dané aplikace.
Maxim tedy demonstroval, jak jejich hardware usnadňuje přístup k datům, a doufal, že si vývojáři pro své produkty v takto vzniklém návrhu se snímači nakonec vyberou některý z integrovaných obvodů (nebo snad i všechny). Zašel dokonce tak daleko, že připravil řešení s názvem MAX HEALTH BAND (pro zápěstí) a MAX ECG MONITOR (k připevnění na hruď), která jsou v obou případech plnohodnotná a vyrobená tak, aby mohla vzniknout zcela funkční nositelná, zdravotnická i fitness elektronika. K přímému prodeji zákazníkům sice určená nebyla, nicméně obchodníci mohli s Maximem uzavřít smlouvu, takové produkty získat a za předpokladu placení poplatků je pod svou značkou i nabízet.
Nabídka plně funkčních produktů řešených touto cestou, kde již byla veškerá práce spojená s vývojem dokončena, bude mít zkrátka potenciál zaujmout novou a ještě širší skupinu „netechnických“ obchodních partnerů. Dalším příkladem vývojové platformy, ve které se při snaze zajistit vývojářům přístup k datům, která potřebují pro vývoj softwaru a souvisejících algoritmů, takže se může vlastní hodnota hardwaru nakonec i uplatnit, a stejný hardware se také stává prakticky podružnou záležitostí (nicméně, abychom vše vyřešili pohodlně, znamená to u návrhů nových produktů s takovými algoritmy jasnou volbu), bude Thingy:91 od Nordic Semiconductor. Takový přístup bude ještě zřejmě přijat rostoucím počtem výrobců.
Větší nasazení vývojových desek u průmyslových produktů
Adaptace vývojových desek a jednodeskových počítačů SBC pro nasazení v komerčních produktech překvapuje stále méně, ovšem dalším a nově vznikajícím trendem se pro ně stává použití v rámci aplikací s menším objemem, ale zato vyšší hodnotou – průmyslových koncových produktech, jako jsou programovatelné logické automaty, které musí vyhovět mnohem přísnějším standardům než jejich komerčně řešené „protějšky“.
Obr. 4 Programovatelný logický automat
Testování desek pro průmyslové aplikace
Spousta dnešních SBC se ve své podstatě stala plně verifikovanými návrhy, protože součástky, které také obsahují, byly původně navržené pro použití v koncových produktech a z tohoto důvodu jsou rovněž testovány a mají zaručenou kvalitu. Důvodem se stává i skutečnost, že návrhy řešené ve stylu open source jsou nepřetržitě posuzovány armádou zdatných vývojářů a programátorů, kteří příslušné desky, včetně softwaru, který zde používají, aktualizují a dále vyhodnocují.
Testování desek SBC nyní provádí firmy nabízející špičkový návrh a také výrobu, zatímco zde musíme počítat se stejně přísnými úrovněmi řízení kvality, jako je tomu v případě jakýchkoli dalších koncových produktů, takže není problém dosáhnout ani na certifikace CE či FCC. Testování pak lze snadno rozšířit a vyhovět přitom požadavkům průmyslové sféry.
Vývojové desky pro mikrokontroléry dodávané jejich výrobci nebo také třetí stranou však na druhé straně zpravidla nevyhovují z pohledu stejně přísných úrovní testování, jaké jsou požadovány u průmyslových produktů, ačkoli se pro komerční nasazení jinak hodí. To znamená, že je výrobci k okamžitému využití (a v jejich současné podobě) pro takové aplikace aktuálně nedoporučí.
Pravda, některé desky mohou zahrnovat součástky průmyslové třídy, ovšem častěji se potkáme pouze s jejich komerčním provedením a deskami navrženými tak, aby pracovaly jen za pokojové teploty. Prototypy vývojových desek podstupují testování zpravidla při pokojové teplotě po dobu několika dnů či týdnů, ale to se mění, protože zde výrobci nemají stanoveny žádné standardy. Pro výrobce je především důležité, aby jejich desky pracovaly spolehlivě za pokojové teploty a zákazník by si proto měl uvědomit, že je nepravděpodobné, aby k takovým testům docházelo při extrémních teplotách či vlhkosti. Běžně však desky nejsou testovány ani na výdrž spojenou se silnými vibracemi nebo nárazy.
Ve výsledku se tak při posuzování, kterou vývojovou desku v průmyslové aplikaci použít, stává hlavním cílem omezení rizik. Při výběru desky do průmyslových podmínek musí její součástky patřit do příslušné teplotní skupiny. Rovněž zde dává smysl, pokud budeme souběžně při testech namáhat několik desek zvýšenými teplotami po dobu několika dní. Pokud navíc plánujete použít vývojovou desku v produktu, který bude vystaven působení vysoké vlhkosti, musíte podobně vše posoudit za srovnatelných podmínek. Jestli se zase pro desku očekávají vysoké vibrace, měla by být uchycena v testovacím rámu a patřičně vyzkoušena.
Závěr
Jednodeskové počítače SBC a také vývojové desky pro mikrokontroléry nabízí malým firmám pohodlný způsob, jak rychle dostat své řešení na trh, aniž by je přitom čekal nákladný vývoj nového hardwaru. Mohou se tak zaměřit spíše na softwarové inovace, včetně vývoje stále populárnějších algoritmů strojového učení a umělé inteligence. SBC a vývojové desky tak rozšířily své pole působnosti daleko za hranice využití, které jsme si pro ně původně představovali, a na nedávnou historii elektronického průmyslu mají proto skutečný dopad. Jejich vývoj se nezastavil. Stávají se tak ještě výkonnějšími, chytřejšími a také „vnímavějšími“, zatímco zůstávají snadno dostupnými jako pro profesionální vývojáře, tak i nadšence z řad široké veřejnosti.