DAQ PCI Express karty - zakázkový vývoj
Společnost TEDIA® se zabývá vývojem a výrobou zásuvných PC karet již od svého založení v roce 1994, v posledních deseti letech vzhledem k vývoji počítačů prakticky jen pro sběrnici PCI Express.
Úvodní informace
Sběrnice PCI Express, nástupce konvenční PCI sběrnice, je moderní sběrnice poskytující vysokou datovou propustnost (i v základním provedení x1 Gen1 lze reálně počítat se streamovaným datovým tokem nad 100 MB/s oběma směry současně) a nabízí škálovatelnost podle nároků zařízení (např. sběrnice PCI Express ve verzích x1 až x16, resp. již reálně existující varianty Gen2 až Gen5 pracující na vyšších frekvencích).
Zásadní výhodou oproti předešlým sběrnicím je vyhrazený datový kanál pro každé zařízení; zatímco u předešlých sběrnic datovou propustnost sdílela všechna zařízení na sběrnici a vzájemně se tak omezovala, v případě PCI Express využívá každé zařízení vlastní datový kanál a současně probíhající datové přenosy různých zařízení se navzájem (na úrovni sběrnice) neovlivňují.
Je však vhodné poznamenat, že v aplikacích řízení, kdy program čte z karty několik vstupních hodnot a vypočítané regulační zásahy zapisuje zpět do karty na vybrané výstupy, nepřináší PCI Express proti PCI žádné zrychlení. PCI Express dosahuje vysoké propustnosti výhradně při blokových přenosech, v režimu jednorázových přístupů k registrům pracuje dokonce o trochu pomaleji než konvenční PCI sběrnice. Jinak řečeno - v aplikaci řízení technologie, kdy karta zpracovává I/O signály a celý algoritmus probíhá v PC, nebude vysoká datová propustnost sběrnice PCI Express využita.
Struktura existujících DAQ PCI Express karet
Současné karty jsou založeny na unifikovaném řídicím jádře s hradlovým polem FPGA zajišťujícím obsluhu sběrnice PCI Express a periferních obvodů, tzn. řešení, které dává maximum kontroly nad funkcionalitou karty. Pro tuto obvodovou strukturu byl vybudován společný ekosystém tvořený Windows ovladačem, konfiguračními programy, atd.
Ačkoliv jsme schopni vyvinout kartu i na jiné součástkové základně, vývojové náklady by byly velmi vysoké; ekonomický smysl proto dává pouze vývoj na současné obvodové struktuře, vyhoví-li následující parametry:
- konfigurace sběrnice x1 Gen1 implementovaná v hradlovém poli FPGA Intel
- standardně pouze softwarově řízené datové přenosy (až 64bitové), doplnění streamovaných přenosů vyžaduje hradlové pole FPGA větší kapacity a rozšíření systémového ovladače o DMA přenosy (je realizovatelné)
- instalace do slotu standardní výšky, ale i do počítačů v tzv. low-profile provedení
- duální řešení flash paměti pro uložení firmware FPGA; první flash paměť provozní firmware a druhá pro záložní firmware (pro případ selhání aktualizace provozního firmware; aktualizaci může provést uživatel sám dodávanou servisní utilitou)
- CardID - dvojitý DIP spínač umožňující vzájemné odlišení až 4 karet v počítači (výhodné zejména při instalaci více karet stejného typu)
Varianty vývoje nové karty
Při vývoji zakázkového provedení karty lze uvažovat následující alternativy:
Existující karta s modifikovaným firmware
Vyhoví-li aplikaci počtem I/O linek a jejich vlastnostmi některá ze standardních karet, lze realizovat zakázkovou kartu pouze modifikací firmware. Doplnit celou řadu specifických funkcí, například PWM modulátory k digitálním výstupům, kaskádně zapojené čítače nebo vzorkování analogových vstupů změnou stavu čítače (tzn. změnou polohy IRC).
Zásadní výhodou jsou jednorázové vývojové náklady, následně už jsou dodávány standardní karty za běžné ceny a často i skladovou dostupností; dodané karty si uživatel během minuty přeprogramuje sám dodávanou servisní utilitou.
Rozšíření existující karty pomocnou I/O deskou
Vyhoví-li aplikaci alespoň částečně některá z existujících karet a zůstane-li nevyužita alespoň část digitálních vstupů/výstupů, lze zvážit nejjednodušší způsob rozšíření I/O linek - rozšiřující desku umístěnou v prostoru sousedního slotu, případně rozšiřující modul využívající konektor D-Sub 9 umístěný na PC panelu karty, viz obrázek vpravo (vyžaduje kartu ve standardním, nikoliv low-profile provedení).
Doplněná I/O deska nebo rozšiřující modul mohou vyžadovat rozšíření firmware karty, s ohledem na řešení řídicího jádra se však lze vyhnout úpravám systémového ovladače.
Rozšíření existující karty násuvným modulem
Druhou možností doplnění chybějících I/O linek je využití existující karty s pozicí pro násuvný modul (aktuálně je takové řešení využíváno pro řadu multifunkčních karet, resp. karty analogových výstupů).
Jak je patrné z obrázku vpravo, karta - nosič násuvného modulu - je vybavena jedním rozšiřujícím konektorem se signály FPGA (alternativně zapojených přímo nebo izolovaně) a druhým konektorem propojeným se signály konektoru D-Sub 25. Násuvný modul pak řeší potřebnou zakázkovou funkcionalitu, zatímco hardware karty/nosiče lze použít víceméně beze změn (nový modul samozřejmě vyžaduje rozšíření firmware karty).
Jak je patrné z předešlých odstavců a obrázků, omezujícím kritériem této alternativy je pevně daný konektor D-Sub 25 a limitovaná výška použitých součástek.
Návrh nové karty
Poslední možností je návrh nové karty, kdy odpadají omezení dané existujícími typy a při návrhu máme "volné ruce". I v tomto případě však vycházíme z osvědčeného řídicího jádra a zakázkový typ karty pak využívá cca 20% unifikované plochy současné karty.
Při návrhu nové karty již nejsme vázáni na dva D-Sub konektory a rovněž není nutné dodržet stísněný prostor, který poskytuje low-profile provedení karty.
Složitost a náklady této alternativy jsou však výrazně větší než u popsaných v předešlých odstavcích; jen výjimečně může být ekonomicky atraktivní při uvažovaném nasazení desítek kusů, pro 100 kusů však již může být výhodnější než varianta s násuvným modulem.