„S použitím NI FlexRIO jsme vytvořili náš vlastní vysoce výkonný hardware. S Lab- VIEW FPGA modulem jsme dokázali rychle vyvinout kód pro obvod FPGA, a to díky vysoké míře abstrakce. Zároveň bylo možné integrovat IP ve VHDL, kde bylo třeba.“ – Christian Sames
Zadání: Vyvinout vlastní časový digitizér pro studium kvantových vlastností interakcí mezi hmotou a světlem.
Řešení: Použít NI FlexRIO a NI Lab- VIEW FPGA Module pro sestavení výkonného a univerzálního přístroje, který nám umožní implementovat provádění časově kritických úseků programu v reálném čase v hardwaru. To umožní implementovat zpětnovazební řízení pro systémy o rozměru jediného atomu interagujícího s jednotlivými fotony.
Obr. 1 Část laserového systému používaného ke studiu fundamentálních interakcí mezi světlem a hmotou. Systém zahrnuje různé čočky, zrcadla a optické modulátory.
Obr. 2 Optický rezonátor (červený) používaný pro experimenty s jednotlivými atomy a fotony
Zpětná vazba je jednou z nejefektivnějších technik pro řízení dynamického systému. Systém zkoumaný v naší laboratoři sestává z jediného neutrálního izolovaného atomu, který interaguje s jednotlivými fotony (fundamentální excitace kvantovaného elektromagnetického pole), obklopeného vysoce odrazivým optickým rezonátorem (viz obr. 1 a 2). S tímto systémem můžeme studovat základní kvantové vlastnosti interakce světla a hmoty. Měření vyžaduje umístění atomu doprostřed rezonátoru. Inherentní proces ohřevu má však tendenci posouvat atom mimo střed do okrajových pozicí. Naším cílem je potlačit tento pohyb pomocí technik rychlé elektronické zpětné vazby a aplikací síly, která působí proti nežádoucímu pohybu. Princip tohoto procesu je znázorněn na obr. 3. Nepředvídatelnost tohoto pohybu vyžaduje rychlé reakce, ale kvantová povaha systému omezuje množství informací, které lze získat. Proto musíme aplikovat proces rychlého rozhodování v časovém měřítku řádu stovek nanosekund v závislosti na detekci jednotlivých fotonů. Můžeme demonstrovat, že v tomto ohledu funguje náš zpětnovazební systém [1, 2] velice dobře.
Obr. 3 a) Fotonový detektor sleduje pozici atomu. FPGA NI FlexRIO zpracovává signál a řídí optický potenciál. b) Když se atom pohybuje směrem do centra, je potenciál snížen a naopak, což má za následek zmenšení kinetické energie atomu.
Klíčovým elektronickým prvkem pro řešení tohoto náročného úkolu je NI FlexRIO FPGA modul NI PXI-7954R ve spojení s vysokorychlostním adaptérovým modulem digitálních vstupů a výstupů NI 6581. Hlavním účelem adaptérového modulu je předejít škodám pomocí ukládání digitálních vstupů a výstupů připojených k vývodům FPGA do vyrovnávací paměti. Modul FlexRIO je umístěn ve skříni NI PXIe-1075 s integrovaným kontrolérem NI PXIe-8130. FPGA jsou speciálním druhem rekonfigurovatelných integrovaných obvodů; mohou dosahovat vysokého výkonu hardwarové implementace, ale zároveň umožňují vysokou míru přizpůsobení v procesu návrhu. Tato skutečnost, spolu s paralelismem, který je těmto obvodům vlastní, umožňuje deterministické provádění kódu a dělá z nich univerzální a mocný nástroj pro vědu i průmysl. Modul NI FlexRIO v sobě spojuje dvě hlavní výhody. Dovoluje snadné programování FPGA prostřednictvím LabVIEW FPGA Module, grafického návrhového jazyka, který můžeme použít pro návrh zapojení FPGA na vyšší úrovni, ale také pro nízkoúrovňový kód VHDL tam, kde je třeba. Modul NI FlexRIO také přímo zprostředkovává uživateli vývody FPGA, což umožňuje velkou míru přizpůsobitelnosti vstupů a výstupů. Díky tomu je možné vytvářet vlastní hardware s vysokým výkonem. V naší aplikaci jsme vyvinuli vlastní digitizér, který snímá několik digitálních kanálů s rozlišením jedné nanosekundy, zpracovává data v reálném čase, aplikuje algoritmus zpětnovazebního řízení a předává uživateli důležité informace.
Práce se světlem s extrémně nízkou intenzitou vyžaduje použití zařízení, které je schopno detekovat jednotlivé fotony. Tato zařízení, která se nazývají Single Photon Counting Modules (SPCM), jsou založena na lavinových fotodiodách a emitují digitální elektronický pulz (viz obr. 4) vždy, když je detekován jeden foton. Používáme zařízení, které vyrobila společnost PerkinElmer® (AQR-14). Vzestupná hrana pulzu odráží čas detekce fotonu s přesností na 350 pikosekund. Pro naši aplikaci je žádoucí rozlišení 1 ns, proto musí FPGA vzorkovat každý digitální kanál připojený k SPCM s frekvencí 1 GHz.
Obr. 4 Impulzy emitované SPCM při detekci jednotlivých fotonů. Šířka pulzů se pohybuje okolo 17 ns. Výstup je měřen na zátěži 50 .
Vysoké vzorkovací rychlosti je dosaženo s použitím vestavěných funkcí pro deserializaci v obvodech Xilinx Virtex-5, které používáme pro konverzi datového toku 1 Gbit/s do osmi synchronních datových toků po 125 Mbit/s. Každý z nich reprezentuje část původního toku s vzájemným časovým posunem 1 ns (viz obr. 5). Tato funkce je implementována v LabVIEW prostřednictvím vlastního modulu CLIP (Component-Level Intellectual Property), což umožňuje integraci VHDL kódu pro přístup ke vstupům a výstupům FPGA.
Obr. 5 a) Deserializační zařízení je připojeno na vstupní pin FPGA a přijímá data rychlostí 1 Gbit/s. Výstupem je osm paralelních datových toků s rychlostí 125 Mbit/s. b) Datový tok D je rozdělen na osm toků obsahujících data z posledních osmi po sobě jdoucích časových intervalů.
Každá vzestupná hrana odpovídá průchodu jednoho fotonu a musí být označena časovou známkou s dynamickým rozsahem alespoň 36 bitů; to je nezbytné pro záznam datových sad o délce až jedné minuty, aniž by došlo k přetečení interního čítače. Toho je dosaženo pomocí jednotky pro detekci hran, která skenuje každý z osmi bitů širokých „deserializovaných“ datových proudů, jež jsou produkovány deserializačním zařízením „ISERDES“. Kdykoliv je detekována vzestupná hrana, zaznamená se jako událost. Dále je generována sekvence o délce 3 bitů, která oznamuje, kde přesně, v rámci 8ns intervalu, k události došlo. Tato hodnota je sloučena s 61 bitů širokou hodnotou čítače, který běží synchronně s taktem 125 MHz. Celkově tak získáme 64bitovou časovou známku, která je následně, společně s indikací události, předána do LabVIEW FPGA. Od tohoto okamžiku je za další zpracování odpovědný program VI v LabVIEW.
Časové známky průchodů fotonů na každém ze čtyř detektorů jsou ukládány do pamětí typu FIFO. Následně jsou seřazeny a sloučeny do jednoho datového toku, který obsahuje také řídicí informace. Než je tento datový proud přenesen do paměti hostitelského PC prostřednictvím DMA kanálu, je uložen do paměti DRAM modulu NI FlexRIO. Celkově tato architektura umožňuje výborně zaznamenávat až 125 miliónů událostí za sekundu pro každý kanál při méně než 2 000 událostech. Dále dosahuje průměrného počtu 100 miliónů událostí za sekundu. Tuto rychlost lze udržet až pro 16 miliónů událostí, což je limit daný velikostí a rychlostí paměti DDR2. V neposlední řadě dosahuje systém trvale udržitelné frekvence 25 MHz, což je dáno omezením šířky pásma sběrnice PXI. Přechod na modul NI FlexRIO NI PXIe-796x by významně vylepšil průměrnou rychlost díky vyšší rychlosti sběrnice PXI Express a rychlejší a větší paměti DDR2.
Rádi bychom poznamenali, že i přes použití portu DDCA adaptérového modulu NI 6581, který podle specifikace zvládá datový tok až 200 Mbit/s, je stále možné detekovat vzestupné hrany s rozlišením 1 ns, pokud frekvence čítače nepřekročí 100 MHz. Správné fungování bylo ověřeno intenzivním testováním s použitím pulzního funkčního generátoru Agilent 81150A.
Hlavním úkolem FPGA je provádět vlastní řízení trajektorie atomu v reálném čase. Použili jsme FPGA modul NI FlexRIO pro řízení pohybu jediného atomu umístěného v optické dipólové pasti uvnitř optického rezonátoru. Už detekcí několika málo fotonů získáme dostatek informací o skutečné pozici atomu v pasti k tomu, abychom mohli usměrnit jeho pohyb. FPGA modul je v tomto případě použit k záznamu času příchodu fotonů, k odhadu trajektorie atomu a ke změně sil působících na atom v závislosti na těchto informacích. Při detekci jednoho fotonu je jedním z fotodetektorů emitován elektrický impulz a čas příchodu je registrován v FPGA s rozlišením 1 ns na několik kanálů. V závislosti na změnách frekvence, s jakou jsou detekovány fotony, odhaduje FPGA, zda se atom pohybuje směrem do centra pasti nebo naopak od něj a rozhoduje o zvýšení či snížení působící síly.
Obr. 6 Přenos dat z vlastního CLIP modulu do LabVIEW. Horní a dolní část časové známky je sloučena do 64bitového datového typu unsigned integer, který je uložen do paměti FIFO vždy, když je indikována nová časová známka.
Modul NI FlexRIO řadí časy příchodu fotonů rozptýlených naším atomem po jednom do intervalů. Typický interval má šířku několika mikrosekund, označovanou jako doba expozice, a je aktualizován každých pár nanosekund. Variace frekvence fotonů je vyhodnocována porovnáním aktuálního intervalu s předešlým, který je opožděn o časový ekvivalent doby expozice; zpoždění je způsobeno použitím pamětí FIFO. V našem případě indikuje slábnoucí tok fotonů pohyb atomu směrem ke středu pasti, a naopak zesílení indikuje, že se atom pohybuje směrem ven. Jelikož je zachycený atom citlivý na působení různých sil, představuje jeho pohyb pravidelnou oscilaci aplikovanou na chaotický pohyb. Tento mechanismus činí trajektorii atomu nepředvídatelnou v časovém měřítku větším, než je oscilační frekvence atomu, která se typicky pohybuje okolo 5 kHz. Jakmile kinetická energie naakumulovaná atomem překročí hloubku potenciálové jámy, ve které se atom nachází, je atom ztracen. Čas, který atom strávil uvnitř pasti, se označuje jako doba uchování. Kromě toho tok rozptýlených fotonů působících na zachycený atom se obvykle pohybuje v řádu jednoho fotonu každých 10 m, což velice znesnadňuje efektivní zpětnovazební řízení kvůli nedostatku dostupných informací. Jeden z možných scénářů zahrnuje digitální přepínání hloubky potenciálové jámy mezi vysokou a nízkou hodnotou v závislosti na tom, zda počet zaregistrovaných fotonů v aktuálním intervalu převyšuje o určitou hodnotu počet v předchozím. Ačkoliv se tento přístup jeví jako velice jednoduchý, stále má za výsledek 30násobné prodloužení doby uchování atomu ve srovnání s případem, kdy není použita žádná zpětná vazba. Bylo dosaženo doby uchování přes 7 sekund s průměrnou hodnotou jedné sekundy, což činí tuto techniku srovnatelnou s metodou chlazení laserem, která vyžaduje mnohem komplikovanější optickou konfiguraci. Momentálně zkoumáme sofistikovanější metody zpětnovazebního řízení.
Kromě ukládání informací o přenášených fotonových tocích a poskytování této informace zpět systému je také zásadní zobrazovat aktuální informace osobě provádějící experiment. To je obzvláště důležité při prvotním nastavování experimentu. Pro dosažení tohoto cíle jsme k FPGA integrovali rychlý digitálněanalogový převodník a dva konektory VGA.
Převodník je model TxDAC (AD9744) společnosti Analog Devices a dosahuje vzorkovací rychlosti 210 Ms/s při rozlišení 14 bitů. V našem aktuálním návrhu funguje na frekvenci 125 MHz a na výstupu má napětí úměrné počtu detekovaných fotonů. Datové i hodinové vývody převodníku jsou připojeny k NI 6581. V sérii jsou zapojeny rezistory 22 , které redukují odrazy od vstupů převodníku. Zbývající vývody tohoto modulu jsou použity jako rozhraní ke dvěma VGA displejům. Každý konektor VGA má v principu tři signálové vodiče a dva datové vodiče. Signálové vodiče přenášejí informaci o červené, zelené a modré barvě. Specifikace VGA vyžaduje, aby byly terminovány odporem 75 , a předpokládá napěťové úrovně mezi 0 V (úroveň černé) až 0,7 V (plná intenzita barvy). Synchronizace je zajišťována dvěma datovými linkami TTL s vysokou impedancí, které specifikují horizontální a vertikální obnovovací frekvenci. Pokud je potřeba pouze 8 barev (barevná hloubka 3 bity), stačí připojit signálové vývody VGA konektoru k adaptérovému modulu NI 6581 (v konfiguračním režimu 3,3 V) přes rezistory 270 . Datové vodiče jsou zapojeny v sérii s rezistory 22 . Rozhodli jsme se rozdělit displej na dvě části; jedna slouží pro zobrazování textových informací a druhá představuje grafickou část. Pro textovou část je do jednoho z interních paměťových bloků RAM obvodu FPGA nahrán černobílý font 8×16 pixelů. Pro adresaci se používá jiný blok RAM, který obsahuje kódování znaků. Grafická část zobrazuje diagramy trendů pro přenos detektorů či vyhodnocování zpětnovazebního algoritmu; tyto diagramy jsou také uloženy v interní blokové paměti RAM. Snadno lze dosáhnout režimu zobrazení 1280×1024 pixelů s frekvencí 108 MHz.
S použitím NI FlexRIO jsme dokázali vytvořit náš vlastní hardware s vysokým výkonem. Časový digitizér je velice výkonný a univerzální nástroj, používaný v mnoha různých oblastech vědy a průmyslu, a nabízí mnoho výhod ve srovnání s mnoha komerčně dostupnými produkty. Výpočetní výkon FPGA nám dále pomáhá implementovat provádění časově kritických úkolů v reálném čase v hardwaru, což umožňuje implementovat zpětnovazební řízení pro systémy o rozměrech jediného atomu, který interaguje s jednotlivými fotony.
S LabVIEW FPGA jsme dokázali rychle vyvinout kód pro obvod FPGA, a to díky vysoké míře abstrakce, ale zároveň jsme mohli integrovat IP ve VHDL, kde to bylo třeba. Kromě toho nám použití platformy PXI umožnilo využít výhody spouštění a synchronizace s dalšími PXI přístroji v našem systému, což nám dalo možnost integrovat náš vlastní přístroj do většího systému, aniž bychom museli provádět kompletně vlastní návrh.
Kolektiv autorů – Max Planck Institute of Quantum Optics:
Christian Sames
Markus Koch
Haytham Chibani
Maximilian Balbach
Tatjana Wilk
Gerhard Rempe
[1] A. Kubanek, M. Koch, C. Sames, A. Ourjoumtsev, P. W. H. Pinkse, K. Murr and G. Rempe, Photon-by-photon feedback control of a single-atom trajectory, Nature 462, p. 898–901 (2009)
[2] M. Koch, C. Sames, A. Kubanek, M. Apel, M. Balbach, A. Ourjoumtsev, P. W. H. Pinkse and G. Rempe, Feedback Cooling of a Single Neutral Atom, Phys. Rev. Lett. 105, 173003 (2010)
[3] P. W. H. Pinkse, T. Fischer, P. Maunz, G. Rempe, Trapping an Atom with Single Photons, Nature 404, p. 365–368 (2000)
[4] P. Maunz, T. Puppe, I. Schuster, N. Syassen, P. W. H. Pinkse and G. Rempe, Normal-Mode Spectroscopy of a Single-Bound-Atom–Cavity System, Phys. Rev. Lett. 94, 033002 (2005).