Vývoj moderních elektronických systémů kombinuje širokou škálu komponentů z oblasti digitální a analogové techniky, senzorů, komunikačních rozhraní a softwarových aplikací. Složitost a rozsah použitých technologií kladou vysoké nároky na znalosti vývojového týmu, který by se primárně měl soustředit na vývoj vlastního systému nebo aplikace. Formou optimalizace může být nasazení předpřipravených modulů jak ve vývojové fázi, tak ve fázi produkční.
Příkladem mohou být projekty zaměřené na rychlé navrhování a konstruování prototypů, kdy je čas nutný pro návrh a ověření systému zkrácen o více než 50 %. Typickými zástupci jsou moduly řady TE07xx a Leona osazené hradlovými poli Xilinx a Altera. Moduly jsou ideální pro aplikace, kde je nutné zpracovávat velké objemy dat, izochronně vzorkovat, komunikovat s rozhraními Ethernet 1G až 10G nebo jinými průmyslovými standardy (EtherCAT, JESD204).
Škála modulů, které jsou k dispozici, je široká a zahrnuje hradlové pole Spartan 6, Artix, Kintex, Zynq SoC a SoC Altera s Cyclone V rozsahu od stovek tisíc ekvivalentních hradel až do milionů. Řady s označením SoC jsou doplněny o jedno nebo dvoujádrový procesor ARM Cortex A9. Moduly jsou v kompaktním provedení, obsahují napájecí zdroje potřebné pro svoji činnost, inicializační paměti, SD kartu, Ethernet, paměť DDR3, programovatelný hodinový generátor, rozhraní USB a konfigurovatelné vstupy a výstupy. Převážná většina modulů je vyráběna v rozměrech 40 × 50 mm.
V dnešním článku se budeme věnovat modulům řady TE07xx, které jsou podporovány volně dostupnými vývojovými nástroji Vivado WebPACK, uvedeme jejich vlastnosti a příklady využití v zákaznických aplikacích.
Obr. 1 Modul TE0715 s FPGA řady Zynq
Prvním modulem je průmyslový modul TE0715 navržený na platformě typu SoC (System on Chip) Xilinx Zynq-7000. Modul pracuje jako nezávislý systém vybavený 1 GB paměti SDRAM typu DDR3 s 32bitovou šířkou sběrnice, 32 MB paměti Flash určené pro konfiguraci a uživatelské aplikace, 4 transceivery s rychlostí 5 Gbit+ s podporou sběrnice PCI Express 2.0, USB ULPI transceiverem, DC/DC konvertory zajišťujícími napájení pro obvody modulu. Modul má vyvedené velké množství periferních zařízení a obecných vstupů a výstupů konfigurovatelných v různých standardech (LVDS, LVCMOS).
Obr. 2 Testovací prototyp vysokorychlostní kamery
Přehled parametrů:
Prvním příkladem je vývoj Smart kamery s vysokou snímkovou frekvencí. Cílem projektu je návrh vysokorychlostní kamery, která bude automaticky zpracovávat a vyhodnocovat třídu definovaných úloh. Kamera je vybavena CMOS čipem o aktivní oblasti 2 048 (H) × 1 088 (V) obrazových bodů s pracovní frekvencí 340 snímků za sekundu v 10bitové hloubce. Výstupem z kamery jsou číselné charakteristiky vyhodnocených snímku (max. 1 kB na snímek). Data jsou přenášena rozhraním Ethernet, a celý systém má být konfigurovatelný a parametrizovaný přes webový prohlížeč. Pro vývoj a návrh prototypu byl zvolen modul TE0715 z důvodu dostatečné paměťové kapacity DDR3 a rozhraní rychlých trasnceiverů umožňující komunikaci přes rozhraní 10Gbit Ethernetu pro real-time přenos dat, který slouží pouze pro vývojovou fázi projektu k ověření charakteristik čipu, algoritmů a synchronizace dat. Výsledný prototyp je doplněn dvěma 1Gbitovými Ethernet rozhraními s PoE, sériovým portem, SD kartou pro OS Linux a řídicí aplikací.
Druhým nasazeným modulem byl modul TE0720, který nedisponuje rychlými transceivery, ale je doplněn o 4GB eMMC kartu, která je určená pro konfiguraci systémy, operační systém Linux a uživatelské aplikace. V tomto případě se jedná o kompaktní design, který k činnosti nevyžaduje SD kartu, byť možnost připojení je zachována.
Modul byl využit v aplikaci obsluhující 128 nezávisle pracujících SIM karet, kde zajišťuje rozhraní karty, synchronizaci a mapovaní datových toků do standardních TCP/IP protokolů ve formě serveru. Hardwarový návrh zařízení byl vytvořen během jednoho týdne na plošném spoji se 4 vrstvami.
Třetím modulem je modul TE0712 postavený na bází FPGA Artix 7 T, který na rozdíl od předchozích typů neobsahuje procesorovou část (ARM Cortex A9). Modul byl využit pro stavbu prototypu průmyslové katry s rozhraním PCI Express určené pro operační systémy reálného času RTX64. Díky rychlé implementaci bylo možno zahájit vývojové práce na firmwaru a SW modulech do jednoho měsíce od zadání projektu. Konečný návrh byl modifikován na platformu Kintex 7 a rozšířen o další rozhraní pracující se standardem JESD204.
Obr. 3 Modul TE0712 s FPGA Xilinx – Artix
Software pro programování a konfiguraci modulů je ve většině případů k dispozici zdarma a bez omezení. To platí jak pro FPGA, tak i pro procesorovou stranu, kdy je využíváno standardních nástrojů pro kompilaci jádra OS Linux a zavaděče u-boot. Konfigurace modulu je vysoce flexibilní, kdy FPGA umožňuje do systému integrovat takřka libovolné rozhraní nebo funkce (PCI Express, 10Gb Ethernet, DSP, komprese, CAN, EtherCAT a další).
Výhodou výše zmíněných řešení je vysoká flexibilita, dostupnost modulu, urychlení vývoje, významné snížení rizika chyby při vývoji, kdy je třeba navrhovat a vyrábět plošné spoje s 12 a více vrstvami a řešit signálovou integritu a EMC.
Nevýhodou může být vyšší cena, která je obvykle ale vyvážena snížením nákladů na realizaci desky základního modulu. Pro větší série je možné moduly uživatelsky upravovat, neosazovat nevyužívané součástky nebo změnit konfiguraci dle potřeby.
Více informací získáte na stránkách firmy DFC Design – www.dfcdesign.cz.