Henk Medenblik is RF- en DSP-engineer bij TNO. 

26 April 2011

In de eerste Bits&Chips van dit jaar introduceerde TNO zijn Affordable Multiple Beam Radar (Amber). Het systeem dankt zijn flexibiliteit aan de inzet van een FPGA als hardwarehart. Deze herprogrammeerbare chip zorgt niet alleen voor de verwerking van de grote hoeveelheden radardata maar ook voor de opslag hiervan op de acht SSD‘s aan boord.

Bij TNO in Den Haag ontwikkelen we een breed scala aan radars, van complexe tot goedkope commerciële systemen. De data die zij produceren, zijn essentieel voor het radaronderzoek dat we doen en noodzakelijk voor de realisatie van volgende generaties. Daarnaast kunnen we zo complexe algoritmes testen en verfijnen. Laatste ontwikkeling is de Affordable Multiple Beam Radar (Amber), een goedkope digitale radar die meerdere bundels kan vormen (Bits&Chips 1, 2011). Het systeem gebruikt momenteel 24 gedigitaliseerde ontvangstkanalen. Deze geven een continue stroom van 960 Mbyte per seconde. Het aantal kanalen is echter eenvoudig op te schalen, waarmee de hoeveelheid geproduceerde data snel toeneemt.

De radaralgoritmes voor de gegevensverwerking vergen flink wat processingkracht, niet alleen de detectiealgoritmes maar bijvoorbeeld ook de bundelvorming, filtering en multidimensionale FFT‘s. Om dit realtime te kunnen doen, is parallelle processing nodig. De ruwe datastromen moeten ook beschikbaar zijn voor offline verwerking. Daarom willen we ze kunnen bewaren op een robuust medium. In het bijzonder willen we een half uur tot een uur onafgebroken kunnen opslaan, zodat we radaropnames kunnen maken vanuit een klein vliegtuig of een lichtgewicht onbemand toestel (unmanned aerial vehicle, UAV). Het systeem zal daarvoor dus klein, lichtgewicht en robuust moeten zijn. En voordat er enige vorm van dataverwerking mogelijk is, moet het mogelijk zijn om alle datastromen fysiek aan te sluiten op de radarprocessor.

Haperingen

In het verleden waren de benodigde data-acquisitiesystemen duur en niet erg licht in gewicht en stroomverbruik. Bovendien was de hoeveelheid gegevens die we ermee konden vergaren relatief beperkt. Moderne FPGA‘s kunnen echter een enorme hoeveelheid DSP-functionaliteit leveren en dat combineren met een grote variëteit aan hogesnelheidsinterfaces. Zij maken niet alleen parallelle processing mogelijk, maar bieden ook de paden om alle data naar de chip toe te brengen en er eventueel ook weer vanaf te halen. De afgelopen jaren hebben grote FPGA-fabrikanten als Altera en Xilinx hun producten uitgebreid met high-speed seriële verbindingen voor verschillende applicaties, waaronder LVDS, PCI Express en Sata. Zo kunnen we een complex systeem realiseren zonder dat we veel externe interfacechips hoeven te gebruiken, wat het bordontwerp sterk vereenvoudigt.

Voor ons is met name belangrijk dat de zendontvanger-I/O-blokken in de FPGA‘s van tegenwoordig direct kunnen communiceren met harde schijven via high-speed verbindingen als Sata, Sata2 of zelfs Sata3. Met moderne solid-state drives (SSD‘s) kunnen we zo een robuust lichtgewicht dataopslagsysteem realiseren op een en hetzelfde signaalverwerkingsplatform. De SSD-markt is volop in beweging en er komen steeds snellere en goedkopere drives beschikbaar met een steeds grotere opslagcapaciteit. De eerste Sata3-SSD‘s, met snelheden tot 6 Gbit/s, zijn bijvoorbeeld al verkrijgbaar. Hier bewijst de herconfigureerbaarheid van FPGA‘s weer haar nut: een simpele aanpassing van de firmware voldoet om ook deze nieuwe drives aan te kunnen sturen.

In Amber passen we de Stratix IV GX-technologie toe van Altera. Een enkel FPGA-bord geeft ons de mogelijkheid om alle analoog-digitaalconverterkanalen die in de verschillende ontvangerfront-ends zitten, aan te sluiten op één grote Stratix IV. Deze ADC-interfaces laten we lopen over snelle LVDS-verbindingen, wat de koppeling vereenvoudigt tussen onze radarmicrogolffront-ends en het FPGA-signaalverwerkingsbord. Daarnaast gebruiken we de high-speed zendontvangerlinks in de Stratix IV GX om te interfacen met acht SSD‘s. Deze verbindingen configureren we om volgens het Sata2-protocol te communiceren, dus met 3Gbit/s.Dat de I/O-interfaces op de FPGA het Sata-protocol ondersteunen, betekent nog niet dat ze zonder meer kunnen praten met de drives. Hiervoor moeten we eerst de Sata-controllers in de herconfigureerbare chip implementeren. Deze realiseren de transport-, link- en fysieke laag van Sata. Een Nios II-softcore met extern DDR3-buffergeheugen regelt de uiteindelijke dataflow vanuit de ADC-acquisitiemodules naar de SSD‘s. De uitdaging hier is om de gegevens met een constante snelheid aan te bieden aan de drives, zodat die ze zonder haperingen kunnen opslaan. Snellere schijven kunnen voor een deel uitkomst bieden, maar ook de moderne SSD‘s laten grote verschillen zien in constante doorvoer- en pieksnelheid door de combinatie van het gebruikte type flash en de controllers die het geheugen wissen en (her)schrijven. In de praktijk kunnen drives dus kortstondig haperen voordat ze het volgende blok wegschrijven.

In Amber zetten wij daarom het externe DDR3-geheugen in als tijdelijke buffer, met een multimasteringtoegangsmechanisme. De Stratix IV kan dit geheugen aansturen op 800 MHz en met de externe aansluitbreedte van 64 bits levert dat een bandbreedte op van ruim 51 Gbit/s. Hiermee is het mogelijk om alle data van de ADC‘s eerst naar circulaire buffers in het DDR3-geheugen te verplaatsen. Vervolgens schuiven we de gegevens in bursts door naar de verschillende schijven, gebruikmakend van de verschillende geheugenmastermodules. Zo creëren we een constante datastroom, waarmee we de haperingen in het wegschrijven naar disk kunnen opvangen.

Verbindingsloos

Een mogelijke toepassing van Amber is als synthetische-apertuurradar op basis van het FMCW-principe (frequency-modulated continuous wave). Hangend onder een vliegtuig scant het systeem hierbij met een smalle antennebundel het aardoppervlak. De nodige processing resulteert uiteindelijk in een totaalplaatje. Om hierbij te kunnen compenseren voor de bewegingen en de gevolgde weg van een vliegtuig heeft Amber ook een inertial measurement unit (IMU) en een GPS-ontvanger aan boord. Beide worden aangestuurd door de FPGA, die de meetwaarden als zogeheten metadata toevoegt aan de radargegevens.

Ten slotte beschikt Amber over een voorziening om de radar extern te kunnen bedienen en de opgeslagen data eruit te kunnen halen. Tot nu toe rustten we onze eenvoudigere systemen hiervoor meestal uit met USB-interfaces. Vanwege de beperkte snelheid van USB 2.0 hebben we bij Amber echter gekozen voor Gigabit Ethernet, dat effectief een stuk sneller is. Fysisch is hiermee maximaal 125 Mbyte/s over de lijn te sturen.

Door protocoloverhead is het alleen niet triviaal om deze topsnelheid te halen. Met een TCP-implementatie zijn we te veel bandbreedte kwijt aan administratie. Zeker als de stack softwarematig wordt afgehandeld in bijvoorbeeld de Nios II blijft er weinig doorvoersnelheid over. In plaats daarvan hebben we in Amber het ’lichtere‘ UDP gebruikt. Daarbij hebben we een aanzienlijke performanceverbetering weten te bereiken door de protocolengine in FPGA-hardware te implementeren. Nadeel van UDP is dat het verbindingsloos is en daardoor geen garantie biedt op correcte dataoverdracht. Door er een simpel foutafhandelingsprotocol bovenop te implementeren, is het ons toch gelukt om de maximale lijnsnelheid te benaderen.