Aplikacje FPGA: precyzyjne taktowanie w lotnictwie i żegludze. Nowe podejście do projektowania wysokowydajnych oscylatorów

W artykule przedstawiamy zaawansowane aplikacje układów FPGA. Ciężko jest wyobrazić sobie bardziej wymagające zastosowanie sprzętu na częstotliwości radiowe niż przestrzeń powietrzna i podwodne głębiny. Projektanci systemów muszą z wielką uwagą przygotowywać specyfikacje komponentów, które przetrwają warunki tych ekstremalnych środowisk. Jednocześnie utrzymując zużycie mocy na poziomie niezbędnego minimum w celu przedłużenia czasu działania przy ograniczonych zasobach.

Zazwyczaj w takich aplikacjach projektanci używają układów FPGA, ze względu na ich wysoką szybkość przy równoległym przetwarzaniu danych. Także po przejściu przez kanał cyfryzacji sygnału radiowego dobrze jest zastosować wspólne źródło częstotliwości odniesienia. Zarówno dla układów odpowiedzialnych za próbkowanie cyfrowe (za pomocą przetworników analogowo-cyfrowych) jak i przetwarzających surowe dane w FPGA.

To powoduje dwa istotne pytania o projekt systemu radiowego w przestrzeni podwodnej lub powietrznej:

  • Czy technologia FPGA jest w stanie zaoferować wystarczającą wydajność i niezawodność w tak trudnych warunkach?
  • Jak powinno zostać dobrane źródło odniesienia dla częstotliwości oscylatora, wziąwszy pod uwagę konieczność połączenia stabilności, niezmienności źródła w czasie i niskiego poboru mocy?
Technologie FPGA do zastosowań w lotnictwie

Wybór komponentów elektronicznych używanych w lotnictwie musi brać pod uwagę jedno szczególne zjawisko: w czasie lotu komponenty podlegają o wiele większej liczbie zderzeń z obcymi cząstkami. Każde takie zderzenie może spowodować spontaniczne zaburzenie (od ang. Single Event Upset) w układzie FPGA podczas przechodzenia cząsteczki przez obudowę i obwody komponentu, modyfikując tym samym stan submikronowego tranzystora konfigurującego. Takie zaburzenie może powodować błędy konfiguracji oprogramowania w czasie lotu, mając potencjalnie katastroficzne skutki dla bezpieczeństwa i obsługi samolotu oraz jego załogi.

Jednak różne układy FPGA mają różny poziom wrażliwości na zderzenia z cząsteczkami. Większość takich układów znajdujących się we współczesnych systemach elektronicznych przechowuje konfigurację w komórkach ulotnej pamięci SRAM. Takie rozwiązanie jest wrażliwe na spontaniczne zaburzenia i stanowi zagrożenie dla sprzętu lotniczego.

Z drugiej strony, układy FPGA firmy Microsemi, dziś należącej do Microchip, przez wiele lat bazowały na technologii pamięci nieulotnej, o której wiadomo, że jest wysoce odporna na zaburzenia spontaniczne nawet podczas długiej pracy w różnych zastosowaniach w lotnictwie. Na stronie Microsemi dostępne są raporty promieniowania i niezawodności.

Flash jako pamięć konfiguracji FPGA

Microsemi rozwijała swoją rodzinę produktów FPGA bazujących na technologii Flash, migrując w stronę coraz lepszych procesów. Niedawno wprowadzono piątą generację rodziny PolarFire FPGA, wykorzystującą przy tranzystorach konfigurujących proces produkcyjny 28 nm, tak jak pokazano na rysunku 1, a także nową, technologię pamięci nieulotnej SONOS (ang. Silicon-Oxide-Nitride-Oxide-Silicon). Dostępne dziś produkty z ostatnich trzech generacji FPGA spełnią wymagania prawie każdego urządzenia, także z branży lotniczej, w której ochrona przed zakłóceniami i bezpieczeństwo są bardzo ważne. Najnowsze układy FPGA z serii PolarFire idealnie nadają się do zoptymalizowanych kosztowo, niskomocowych rozwiązań o średnim stopniu gęstości upakowania układów.

Oprócz niezrównanej wydajności w równoległym przetwarzaniu danych, istotną zaletą układów FPGA jest szybka i przewidywalna natura ich działania, co wspomaga proces certyfikacji urządzeń wbudowanych. Ze względu na swoją architekturę i konstrukcję, układy FPGA nie mają zdefiniowanych zestawów instrukcji ani wielkości danych.

Tab. 1. Trzy najnowsze generacje układów FPGA firmy Microsemi

Cecha SmartFusion, ProASIC3, IGLOO (3. gen. 130 nm) SmartFusion2, IGLOO (2. gen. 65 nm) PolarFire (5. gen. 28 nm)
Elementy logiczne 100 – 30 tys. 5 tys. – 150 tys. 100 tys. – 480 tys.
Szybkość układu nadawczo-odbiorczego 1 Gbps – 5 Gbps 250 Mbps – 12,7 Gbps
Szybkość we/wy 400 Mbps LVDS 667 Mbps DDR3

750 Mbps LVDS

1600 Mbps DDR4

1,6 Gbps LVDS

Bloki DSP

(mnożniki 18×18)

240 1480
Maks. RAM 144 Kb 5 Mb 33 Mb

Układy FPGA są więc najlepszym rozwiązaniem do przetwarzania równoległego pojedynczych i wielokrotnych strumieni danych, jak to pokazano na rysunku 2.

Rys. 2. Przetwarzanie równoległe w układach FPGA (po prawej) pozwala na szybsze wykonanie wielu zestawów instrukcji, które w procesorze muszą być wykonywane sekwencyjnie (po lewej)

Nowa architektura procesorów dla FPGA

Niedawno firma Microsemi stworzyła bardziej zintegrowane rozwiązanie dla projektów bazujących na FPGA, dodając możliwość implementacji nowej architektury procesora RISC-V. Implementacja daje projektantom elastyczność i optymalizuje koszty poprzez zwiększenie poziomu integracji spowodowanej obecnością podsystemu mikroprocesora oraz FPGA w jednym układzie. Pozwala to na uproszczenie projektu układu, zmniejsza liczbę komponentów i oszczędza miejsce.

Programowy rdzeń procesora, rozwinięty przez Microsemi dla swoich układów FPGA bazuje na otwartej architekturze zestawu instrukcji RISC-V. Projektant ma dostęp do kodu źródłowego RTL (ang. Register Transfer Level) całego rdzenia. Jest to duża zaleta przy projektowaniu sprzętu, który będzie podlegał certyfikacji bezpieczeństwa.

Rdzeń RISC-V firmy Microsemi jest też dostępny jako blok IP (ang. Intellectual Property), który można uruchomić na urządzeniach IGLOO2 oraz PolarFire. Jego wydajność jest podobna do rdzenia ARM Cortex-M7.

Future Electronics ma w swojej ofercie także płytkę „kreatywną” własnego pomysłu, stanowiącą wysokiej jakości zestaw rozwojowy wyposażony w układ PolarFire 300T. Dostępny jest dla niej pełen zestaw narzędzi programistycznych zarówno do rozwoju kodu RTL, jak i pisania w języku C.

Stabilność oscylatora w zależności od temperatury: kluczowy parametr w zastosowaniach lotniczych

Ustaliliśmy już, że urządzenia na częstotliwości radiowe w zastosowaniach lotniczych mogą czerpać korzyści z możliwości przetwarzania równoległego w układach FPGA. Uważny dobór układu zapewnia jego odporność na zdarzenia z cząsteczkami w przestrzeni powietrznej oraz w wyższych warstwach atmosfery.

Wyposażenie radiowe w samolotach musi zapewniać wysoką efektywność ze względu na duże odległości, które muszą przebywać sygnały w drodze do odbiornika oraz liczne źródła zakłóceń. System radiowy wymaga więc precyzyjnej, stabilnej i dokładnej kontroli, zarówno po stronie nadajnika jak i odbiornika.

Oznacza to, że projektanci muszą uważnie wyspecyfikować wymagania oscylatora pod względem stabilności i dokładności częstotliwości. Jednocześnie źródła zasilania w urządzeniach takich jak satelita są mocno ograniczone, więc zużycie energii również jest krytycznym parametrem.

Wybór technologii oscylatora

Postawieni przed takim wyzwaniem, projektanci systemów mają do wyboru technologie oscylatorów różniące się efektywnością, zużyciem mocy i ceną, tak jak to przedstawiono na rysunku 3.

Rys. 3. Konwencjonalne technologie oscylatorów wymuszają kompromis między zużyciem energii a stabilnością

Większość produktów elektroniki użytkowej wykorzystuje podstawowe oscylatory, w cenie od kilku centów do kilku euro. Do wyboru w tym zakresie cenowym są oscylatory kwarcowe (XO) w technologii MEMS lub niektóre oscylatory kwarcowe z kompensacją temperaturową (TCXO). W systemach, które wymagają dobrej stabilizacji częstotliwości oraz niskiej wrażliwości na temperaturę, oscylatory stabilizowane termicznie (ang. Oven-Controller Crystal Oscillator – OCXO) oferują najwyższą stabilność częstotliwości spośród wszystkich technologii oscylatorów kwarcowych. Są one zazwyczaj o trzy lub cztery rzędy wielkości bardziej stabilne niż najprostsze oscylatory kwarcowe.

Oscylatory OCXO są skomplikowanymi elementami hybrydowymi. Stabilność częstotliwości takich oscylatorów wynika z precyzyjnej kontroli temperatury rezonatora kwarcowego, niezależnie od temperatury otoczenia. Częstotliwość każdego rezonatora kwarcowego zmienia się znacząco wraz ze wzrostem i spadkiem temperatury. Dla rezonatora na częstotliwość 10 MHz wahania częstotliwości w zakresie od -40oC do 85oC mieszczą się między ±250 Hz a ±500 Hz.

Poprzez utrzymywanie kwarcu w precyzyjnie dobranej temperaturze, oscylator OCXO zmniejszy te wahania do zakresu od ±0,05 Hz do ±2,5 Hz.

Rys. 4. Seria EWOS oscylatorów OCXO firmy Syrlinks łączy dobrą stabilizację częstotliwości z niskim zużyciem mocy

Oscylatory OCXO do zastosowań z zasilaniem bateryjnym

Zużycie mocy jest najsłabszą stroną oscylatorów OCXO w porównaniu do TCXO, ze względu na pobory energii elementu grzejnego. Francuska firma Syrlinks opracowała oscylatory OCXO, łączące w sobie mały rozmiar, niską wagę i niskie zużycie energii. Jednocześnie utrzymując wysoką stabilność częstotliwości, tak jak to pokazano na rysunku 4. Sprawia to, że oscylatory OCXO firmy Syrlinks są świetnie przystosowane do zastosowania w układach radiowych, które Syrlinks przygotowuje dla małych satelitów o mocno ograniczonych zasobach energii.

Na przykład seria oscylatorów OCXO o nazwie EWOS oferuje generację sygnału zegarowego o częstotliwości od 10 MHz do 40 MHz, przy wrażliwości termicznej między ±5 ppb a ±250 ppb, zużyciu mocy między 65 mW a 400 mW dla temperatury 25oC. To zużycie mocy jest około dziesięciokrotnie niższe niż porównywalnych oscylatorów OCXO dostępnych na rynku.

Oscylatory OCXO z serii EWOS są używane we wszystkich układach radiowych do zastosowań lotniczych produkowanych przez Syrlinks, a także w innych zastosowaniach zawierających układy FPGA, takich jak kosmiczne odbiorniki GNSS (satelitarny system pozycjonowania). Na przykład układ EWOS0525, będący oscylatorem OCXO na częstotliwość 10 MHz, został użyty w odbiorniku GNSS G-Sphere-S. Służy on jako źródło sygnału zegarowego zarówno na etapie cyfryzacji sygnału, jak i dla układu FPGA. Odbiornik uzyskuje dokładność pomiaru pozycji poniżej 10 m nawet przy wysokiej prędkości 7,7 km/s.

Tę wyjątkową sprawność uzyskano dzięki bardzo niskiemu szumowi fazowemu oscylatora OCXO, w szczególności w pobliżu częstotliwości nośnej. Na efektywność pozycjonowania lub pomiarów odległości bezpośrednio wpływa właśnie krótkoterminowa stabilność oscylatora. Z tego powodu oscylatory OCXO są szeroko używane, gdyż w odróżnieniu od TCXO oferują lepsze wyniki sprzętu, w którym pozycja lub odległość obliczana jest z opóźnieniem poniżej 1 μs.

Rezonatory kompensowane

Seria precyzyjnych oscylatorów firmy Syrlinks to również rodzina EWOS83x, która zawiera rezonator kwarcowy z kompensacją naprężeń.

Rys. 5. Rodzina oscylatorów OCXO Syrlinks oferuje projektantom systemów wrażliwych na dokładność pomiaru czasu szeroki wybór charakterystyk

Wysokiej jakości rezonator oferuje niższe szumy fazowe i mniejsze wahania częstotliwości w czasie. Parametr ten jest krytyczny w przypadku zastosowań wymagających precyzyjnego utrzymywania informacji o czasie. Zwłaszcza kiedy źródło czasu w systemie GNSS nie jest dostępne. Ma to miejsce w przypadku środowisk, w których występują zakłócenia sygnałów GNSS, także pod wodą. Możliwość synchronizacji zależy tutaj wyłącznie od jakości oscylatora.

Seria EWOS083x ma współczynnik upływu dokładności na poziomie 0,3 ppb dziennie. Energooszczędny układ EWOS0835 jest przewidziany do zastosowań pod wodą: pobiera 80 mW mocy w temperaturze 25oC. W niektórych przypadkach może być rozpatrywany jako niskobudżetowa wersja scalonego zegara atomowego.

Do zastosowań wymagających najwyższej możliwej dokładności pomiaru czasu firma Syrlinks przygotowała rodzinę modułów MMAC. Bazuje ona na miniaturowych zegarach atomowych w technologii MEMS, oferujące wysoką długoterminową stabilność. Jest ona stukrotnie wyższa niż oferują oscylatory OCXO, jednocześnie pobór mocy jest niewielki: poniżej 200 mW przy temperaturze -40°C.

Rys. 6. Moduł synchronizacyjny SGTM firmy Syrlinks

Syrlinks ma także w ofercie serię modułów synchronizacji SGTM, z których jeden przedstawiono na rysunku 6. W czasie normalnego działania, moduły SGTM generują sygnały czasowe na bazie danych z satelity GNSS lub zewnętrznego zegara. Jeśli sygnał GNSS lub zewnętrzne źródło referencyjne są niedostępne, moduł dalej wytwarza precyzyjne informacje czasowe. Rozrzut między wejściem i wyjściem wynosi wtedy około 12 ns. Stabilność utrzymania zgodności w domenie czasowej systemu to około ±35 μs na 24 godziny.

O autorze