Vestavěný tester sériových spojů založený na FPGA
Sériové spoje jsou nyní moderním komunikačním prostředkem. V porovnání s paralelními spoji mají výhodu v menší potřebě speciálních elektrických, mechanických a dalších částí určených za přenosový článek nebo pro převod signálu z formy, v níž se vyskytují ve vnitřních obvodech číslicových systémů, do formy vhodné pro přenos a naopak. V paralelním uspořádání jsou tyto prvky potřebné v počtu odpovídajícím šířce datového toku, zatímco u sériového uspořádání stačí jedno jejich provedení pro každý směr komunikace. Sériový spoj je proto výhodný zejména tam, kde je žádoucí použít pro přenos diferenční typ signálů nebo jejich optickou formu. Operace spojené s převodem paralelního formátu na sériový a naopak a s rekonstrukcí taktovacího signálu na přijímací straně jsou prováděny v běžných číslicových obvodech s výhodou realizovatelných s velkým stupněm integrace, které jsou snadno dostupné, spolehlivé a levné.
Sériový přenos s kontrolou chybovosti
Je přirozené, že při přenosu dat sériovým kanálem musí být při daném požadavku na množství dat přenesených za jednotku času bitová rychlost přenášeného signálu větší než při paralelním přenosu. Běžné monolitické mikropočítače mohou v tomto případě zajišťovat potřebné operace jen do jisté meze. Při větších požadavcích na rychlost přenosu se zde jako velmi dobré řešení ukazuje použití programovatelných logických obvodů, zejména programovatelných hradlových polí (Field Programmable Gate Array – FPGA). Tyto obvody v současné době prodělávají změny posouvající je do oblasti, která byla dříve doménou speciálních, jednoúčelových integrovaných obvodů (ASIC), přičemž si zachovávají svoje původní výhodné vlastnosti, jako je kratší doba potřebná na vývoj a přípravu výroby, menší náklady na tyto předvýrobní etapy, možnost snadné změny (doladění) funkce i po zavedení do výroby a s tím spojené menší riziko, že bude nutné definitivní verzi ASIC vyvíjet v několika krocích. K verzi ASIC lze přistoupit až po tomto doladění, odpovídá-li tomu rozsah výroby, přičemž zde často mohou být využity podklady z verze založené na FPGA.
Velmi důležitým parametrem sériového spoje je jeho chybovost, tj. četnost výskytu chybně přenesených bitů (Bit Error Rate – BER). Při návrhu i provozu spoje je nezbytné kontrolovat, zda chybovost nepřekračuje hodnoty stanovené příslušnými standardy. V moderních přenosových systémech se používají speciální prostředky pro potlačení tohoto druhu chyb, které jsou pak pro uživatele spoje „neviditelné“, neboť jsou použitými opatřeními potlačeny, ovšem zpravidla za cenu poklesu přenosové rychlosti spoje. Proto je nezbytné chybovost kontrolovat na nejnižší úrovni, tedy na úrovni přenášeného pulsního signálu.
Tester sériového spoje na bázi FPGA
Stejně jako pro zpracování přenášených dat, jsou i pro testování spoje velmi vhodné obvody založené na FPGA. V daném případě je jejich výhodnost zvýrazněna skutečností, že testovací prostředky se zpravidla vyrábějí v mnohem menších počtech než spojovací systémy, které mají být testovány.
Obr. 1. Generátor testovacího signálu ve vysílači – čítač LFSR
Na pracovišti autora byl pro vnitřní potřebu vytvořen testovací modul určený k testování optických bezdrátových spojů, v principu však použitelný pro testování sériových spojů využívajících libovolné přenosové prostředí. Modul je vestavěn do optických hlavic zajišťujících duplexní provoz spoje. Obsahuje jak generátor vysílaného testovacího signálu, tak i blok pro vyhodnocování přijatého signálu přicházejícího z protější hlavice. Vyhodnocovací blok se využívá k detekci chyb, které se vyskytnou při přenosu, a k předběžnému vyhodnocení testu.
Princip činnosti
Testovací modul pracuje tak, že generátor testovacího signálu, založený na principu čítače LFSR (Linear Feedback Shift Register – viz např. [1]), vytváří pseudonáhodný signál ve formátu NRZ. V něm se nepravidelně střídají různě dlouhé úseky nul a jedniček, což odpovídá typickému průběhu skutečného přenášeného signálu. Podstatou čítače LFSR je posuvný registr, na jehož vstup se přivádí signál vytvořený jako funkce EX-OR z vybraných odboček tohoto registru. Lze dokázat, že pro získání potřebného průběhu generovaného signálu stačí, aby tato funkce byla vytvořena ze dvou nebo ze čtyř odboček, podle počtu bitů čítače (jedním z těchto signálů je signál z posledního klopného obvodu posuvného registru – obr. 1). Vygenerovaný signál se přenáší (resp. prochází přenosovým médiem) do přijímací hlavice, v níž se shodným čítačem LFSR současně také vytváří porovnávací pseudonáhodný signál. Přijatý signál je po průchodu synchronizačním blokem zaváděn společně s porovnávacím signálem do komparátoru (logický člen EX-OR), na jehož výstupu je signál informující o výskytu chyby. Ten se dále zpracovává statistickými metodami (obr. 2).
Obr. 2. Vyhodnocovací obvod v přijímači
Nezbytné je, aby ve výchozím stavu měly oba čítače LFSR stejný obsah, neboť jen pak jsou při bezchybném přenosu oba signály na vstupu komparátoru shodné. Proto je v počátečním stavu vstup posuvného registru, který je základem čítače v přijímači, připojen ke vstupnímu signálu; tím se naplní obsahem shodným s obsahem registru čítače ve vysílací hlavici (spínač na obr. 2 v poloze 1). Po naplnění čítače se spínač v přijímači přepne do polohy 2, takže oba čítače od této chvíle vytvářejí shodný signál a komparátor porovnáváním přijatého a porovnávacího signálu zjišťuje, zda při přenosu nevznikla chyba.
Obvodová realizace
Základem číslicové části testeru je FPGA typu Spartan-3 od firmy Xilinx. Z prvků, které tento obvod obsahuje, je pro funkci testeru klíčový především blok kmitočtové syntézy. Taktovací signál ve vysílači i v přijímači je vytvářen ze základního signálu generovaného příslušným místním oscilátorem s velkou stabilitou kmitočtu. Syntézou z něj lze pouhým překonfigurováním FPGA vytvořit mnoho kmitočtů, s nimiž se testy provádějí, a to bez výměny oscilátoru.
Dalším důležitým prvkem je také blok DCM (Digital Clock Manager), použitý v synchronizačním bloku. Taktovací signály vysílače a přijímače spolu nejsou synchronizovány, takže je nutné tuto synchronizaci zajistit obvodově. V testeru je použito zapojení podle [2], v němž se přijatý signál čtyřikrát za periodu vzorkuje fázově posunutým taktovacím signálem přijímače a ze získaných vzorků se rekonstruují přijatá data. Fázově posunutý signál se vytváří v bloku DCM.
Počítá se s testováním spojů s přenosovou rychlostí větší než 150 Mb/s. Ve stykových obvodech optické soustavy jsou proto použity číslicové obvody řady ECL a pro přenos signálu z FPGA do optické soustavy ve vysílací hlavici a z optické soustavy do FPGA v přijímací hlavici obvody řady MECL (obvody typu ECL vyráběné firmou On Semiconductor Motorola), které jsou na FPGA navázány diferenčním signálem. Úrovním signálu v obvodech MECL nejlépe odpovídají standardy LVPECL a LVDS, do nichž jsou nakonfigurovány příslušné vstupní a výstupní bloky FPGA. Nejsou přitom zapotřebí žádné speciální převodníky, pouze k jemnému dostavení logických úrovní jsou použity odporové děliče.
V FPGA jsou také implementovány další bloky, potřebné jednak jako řídicí část pro již zmíněné obvody, jednak k předběžnému zpracování chybového signálu z komparátoru a k následnému přenosu získaných mezivýsledků do počítače, připojeného k testeru prostřednictvím počítačové sítě (Ethernet). Zde se statisticky vyhodnocují výsledky testu. S výjimkou obvodů MECL, určených k navázání na optické hlavice, pak lze celou číslicovou část testeru implementovat do FPGA.
Závěr
Realizovaný tester optických spojů s přenosovou rychlostí 150 Mb/s i větší, vytvořený na základě FPGA typu Spartan-3, funguje bez potřeby obsluhy a může vykonávat dlouhodobá měření chybovosti sledovaného spoje. Předpokládá se, že na základě výsledků testů bude třeba postupně upravovat některá obvodová řešení testeru. Změny v číslicové části, jako je změna kmitočtu, úprava počtu bitů čítače LFSR a mnohé jiné, lze díky rekonfigurovatelnosti FPGA provádět přímo v terénu s použitím notebooku.
Použité FPGA typu Spartan-3 je pro danou úlohu velmi vhodné jednak proto, že obsahuje potřebné bloky a další strukturní prvky schopné pracovat s požadovanou rychlostí, jednak pro svou velmi přijatelnou cenu. Je možné uvažovat i o dalších typech FPGA, např. z produkce firmy Altera; to je jeden z námětů do budoucna.
Poděkování
Článek byl napsán s podporou grantu GAČR číslo 102/05/0732, grantu FRVŠ číslo 1498 a výzkumného záměru MSM 0021630513.
Literatura:
[1] KOLOUCH, J.: Čítač LFSR – výhodný prvek nejen pro programovatelnou logiku. Elektrorevue – internetový časopis (http://www.elektrorevue.cz), roč. 2004, č. 4.
[2] SAWYER, N.: Data Recovery. Aplikační zpráva firmy Xilinx, XAPP 224.
Jaromír Kolouch,
ústav radioelektroniky Fakulty elektrotechniky a komunikačních technologií FEKT VUT v Brně
(kolouch@feec.vutbr.cz)
|