česky english Vítejte, dnes je čtvrtek 21. listopad 2024

Vývoj vlastní karty pro sběrnici PCI Express

DPS 2/2016 | Články
Autor: TEDIA

Vývoj zásuvné karty do počítače (v současnosti již volba směřuje prakticky jen na sběrnici PCI Express, dále v textu označovaná jen PCIe) je atraktivní zejména pro aplikace, u kterých je preferováno kompaktní řešení (nikoliv tedy distribuované např. prostřednictvím LAN nebo USB) nebo velmi krátká reakční doba softwarové obsluhy.

Následující odstavce jsou věnovány vývoji vlastní karty a zmíněny jsou rovněž možné nástrahy a komplikace.

Nezbytné kroky vývoje

  • zvolit koncepci PCIe řadiče; buď lze použít některý z řadičů převádějících PCIe sběrnici na běžnou lokální sběrnici (např. Avago Technologies, resp. dříve PLX Technology), nebo jít cestou FPGA integrujícího obsluhu PCIe sběrnice spolu s funkčními bloky karty; není-li vývoj řešen jako redesign PCI karty na PCIe se záměrem 100% softwarové kompatibility, bude zřejmě efektivnějším řešením varianta s FPGA
  • z hlediska návrhu desky je potřeba se smířit s BGA pouzdry a spoji s řízenou impedancí, žádné další zvýšené nároky na desku však PCIe sběrnice neklade
  • při výrobě desek je potřeba splnit zejména dva nestandardní požadavky; jednak PCIe specifikace vyžaduje přísnější toleranci tloušťky desky, než obvykle výrobci desek garantují, ale rovněž klade značné nároky na přesnost frézování v oblasti přímého konektoru (nejde jen o přesnost rozměru konektoru, ale zejména toleranci frézování obrysu vůči oběma vnějším vrstvám, tzn. padům konektoru)
  • nedílnou součástí vývoje karty je přidělení identifikačních údajů (PCI Vendor ID, PCI Device ID, atd.); profesionální řešení vyžaduje unikátní sadu čísel pro každý typ karty, a tedy i členství v PCI Special Interest Group (PCI-SIG, organizace zajišťující standardizaci a vývoj sběrnic PCI a PCI Express)
  • nezbytným navazujícím krokem je rovněž vývoj a následná údržba ovladačů pro uvažované operační systémy, v případě Windows je navíc nutné řešit jejich certifikované podepisování

Jak je z uvedených bodů patrné, úspěšná realizace vlastní PCIe karty klade některé specifické požadavky na jednotlivé kroky vývoje a profesionální řešení pak navyšuje náklady o roční poplatky související se členstvím v PCI-SIG a o náklady na aktualizaci certifikátů (aktuálně více než 80 tisíc korun ročně). Za zvážení tedy stojí, zda podstupovat celý vývoj samostatně, nebo zda při vývoji nespolupracovat se zkušeným partnerem.

Vývoj vlastní karty pro sběrnici PCI Express

Možnosti spolupráce při vývoji

TEDIA v současné době nabízí celou řadu PCIe karet vystavěných na unifikovaném jádře s FPGA, dvojicí flash pamětí pro uložení firmware (provozní a záložní pro případ selhání provozní paměti např. při neúspěšné aktualizaci firmware) a samostatnou EEPROM pro uložení konfiguračních a kalibračních konstant. Všechny paměti jsou přístupné servisními programy umožňujícími pohodlně aktualizovat jejich obsah.

Při vývoji vlastní karty lze v prvním kroku zvážit, zda nevyhovuje hardware některé ze standardních karet a zda nelze celý vývoj omezit na vytvoření nového firmware FPGA. Vývoj nového firmware, resp. zpravidla jen modifikaci stávajícího, může provést vývojové oddělení TEDIA nebo jej lze vyvinout i vlastními silami za předpokladu zkušeností s FPGA Altera. Výhody této varianty jsou zřejmé – odpadá vývoj a výroba specifického hardware (nová karta vzniká jen přeprogramováním standardně dodávaného typu) a rovněž dostupnost ovladačů (za předpokladu, že specifický firmware splní podmínky slučitelnosti se standardními kartami).

Druhou možností je volba modulární karty (viz obrázek) využívané mj. jako základ řady multifunkčních karet TEDIA. V tomto případě je specifická hardwarová část řešena násuvným modulem (může obsahovat například mikropočítač, jehož firmware je plně v režii autora specifické karty) a FPGA na kartě je upraveno do funkce inteligentního rozhraní pro specifický modul. I v tomto případě platí, že pokud firmware FPGA splní podmínky slučitelnosti se standardními kartami, jsou automaticky k dispozici i ovladače. Vývoj a výrobu násuvného modulu, resp. FPGA karty, může řešit každý zájemce samostatně nebo ve spolupráci s TEDIA.

A poslední možností je vývoj zcela nového hardware. I v případě této varianty však může být zajímavé využít zkušeností vývojového oddělení TEDIA, neboť ve většině případů nebude nutné začínat „od čistého stolu“ a logickým důsledkem pak bude zkrácení doby vývoje a nižší náklady.

Nezanedbatelnou předností spolupráce při vývoji, resp. výrobě, zajišťovanými TEDIA je přidělení unikátní sady identifikačních údajů.

Závěr

Společnost TEDIA se vývojem PCI a PCI Express karet zabývá systematicky jako jednou z klíčových činností, je dlouholetým členem PCI-SIG a vývojové oddělení úspěšně realizovalo téměř stovku typů PCI a PCIe karet. Aktuálně jsou na trh dodávány dvě desítky standardních DAQ typů karet a další desítka typů komunikačních.