izpis_h1_title_alt

Načrtovanje pametnega usmerjevalnika za komunikacijski protokol SpaceWire
ID SKVARČ BOŽIČ, GAŠPER (Author), ID Žemva, Andrej (Mentor) More about this mentor... This link opens in a new window, ID Plattner, Markus (Comentor)

.pdfPDF - Presentation file, Download (11,64 MB)
MD5: 5B1C3511BBDD9AE306EE60C2C135E9AA

Abstract
SpaceWire je komunikacijski standard, ki se uporablja za prenos informacij med merilnimi in drugimi enotami vesoljskega plovila kot so na primer senzorji z visoko hitrostjo podatkov, procesne enote, spominske enote in telemetrične podenote. Cilj standarda je zagotoviti visoko zmogljiv sistem za ravnanje s podatki, pomagati zmanjšati ceno sistemske integracije, zagotoviti skladnost med pod-sistemi za ravnanje s podatki in spodbuditi ponovno uporabo opreme za ravnanje s podatki v več različnih misijah. SpaceWire standard dovoljuje povezave od točke do točke in omrežne povezave. Za namen povezovanja več omrežnih vozlišč znotraj omrežja so potrebni usmerjevalniki. Usmerjevalniki, ki so trenutno na voljo po večini omogočajo le dvo-nivojsko (visoka in nizka prioriteta) prioritetno razvrščanje paketkov v primeru dostopanja do istih izhodnih vrat in sploh ne omogočajo oddajanja več prejemnikom (angleško "multicast"). Zaradi omejene funkcionalnosti in odsotnosti omenjene lastnosti pri obstoječih usmerjevalnikih, je bil v sklopu magistrske naloge zasnovan in izdelan pametni usmerjevalnik za komunikacijski protokol SpaceWire. Izdelan usmerjevalnik omogoča več-nivojsko dinamično prioritetno razvrščanje in oddajanje več prejemnikom. Izdelan je kot VHDL komponenta z namenom, da je implementacija prilagodljiva in s tem omogoča enostavno dodajanje novih funkcij ter, da je usmerjevalnik mogoče vključiti v druge projekte. Za namen testiranja je usmerjevalnik prilagojen za ciljno napravo RTG4 FPGA. Pred začetkom načrtovanja usmerjevalnika so bile postavljene sledeče zahteve. Usmerjevalnik mora biti izdelan kot prilagodljiva IP komponenta. Usmerjevalnik mora zagotoviti povezavo vseh vhodnih vrat z vsemi izhodnimi vrati. Sočasen dostop do istih izhodnih vrat se mora razrešit s pomočjo več-nivojskega prioritetnega razsodnika ( angleško "arbiter"). Vrata usmerjevalnika moraj biti sposobna komunicirati z omrežnimi vozlišči na podlagi SpaceWire standarda in identificirati različne dele paketkov. Usmerjevalnik mora podpirati oba načina naslavljanja paketkov tako v obliki poti skozi omrežje kot logično naslavljanje. Usmerjevalnik mora podpirati oddajanje več prejemnikom. Kot zadnje, mora biti usmerjevalnik nastavljiv z oddaljenim dostopom. Usmerjevalnik predstavljen v tej magistrski nalogi je zasnovan na podlagi predstavljenih zahtev, arhitekture generičnega usmerjevalnik, arhitektur obstoječih usmerjevalnikov za komunikacijski protokol SpaceWire in arhitektur usmerjevalnikov s področja omrežij v integriranih vezjih. Kot osnova usmerjevalnika je izbrana "wormhole" tehnika komutacije (angleško "switching technique"). Na pram bolj poznani paketnih komutaciji iz sveta lokalnih omrežij, kjer se v usmerjevalniku shrani celoten paketek, se v primeru "wormhole" komutacije shrani le del paketka. S tem se obdelava paketka občutno pohitri in komunikacija med omrežnimi vozlišči lahko poteka hitreje. Slabost te tehnike je, da se paketki lahko raztezajo preko več različnih usmerjevalnikov. V kolikor omrežje ni pravilno zasnovano lahko pride do zaklenitve omrežja. Omenjeno je bilo, da mora biti usmerjevalnik nastavljiv z oddaljenim dostopom. V ta namen ima usmerjevalnik dodana nastavitvena vrata, ki omogočijo dekodiranje SpaceWire paketkov v ukaze notranjega vodila. Namreč vse nastavljive komponente usmerjevalnika so med seboj povezane preko notranjega vodila, kjer nastavitven vrata igrajo vlogo nadrejene naprave vodila. Za notranje vodilo je izbrano APB vodilo z enostavnimi operacijami, ki se uporablja predvsem kot periferno vodilo. Vsaka nastavljiva komponenta v usmerjevalniku z izjemo usmerjevalne table ima le nekaj registrov, zato ni potrebe po visoko zmogljivem vodilu. Registri so zasnovani tako, da imajo enako podatkovno širino kot vodilo. Za branje ali pisanje v register je tako zadosti že ena sama operacija. To vodilo je zadostno tudi za dostopanje do usmerjevalne tabele, saj se le-ta med samim delovanjem usmerjevalnika bistveno ne spreminja. Če že, se spremeni le del vnosa v usmerjevalni tabli, ki ima ravno tako podatkovno širino enako širini vodila. Za dostopanje do internih spominskih enot v omrežnih vozliščih se v SpaceWire omrežjih uporablja poseben protokol imenovan RMAP. Gre za standardiziran SpaceWire protokol, ki določa obliko paketkov glede na željeno operacijo nad spominsko enoto. Definirane so tri različne operacije: branje, pisanje in modifikacija, pri čemer je pri modifikaciji dolžina podatkov omejena saj se morajo le-ti pred modifikacijo lokalno shranit. Nastavitvena vrata so zasnovana tako, da so skladna z RMAP standardom. Omenjena usmerjevalna tabela hrani podatke o tem kam mora usmerjevalnik usmeriti prihajajoč paketek glede na njegov naslov. Dostop do usmerjevalne table se izvede le v primeru logičnega naslova. V primeru naslavljanja v obliki poti skozi omrežje, glava paketka že sama po sebi določa izhodna vrata paketka, tako dostop do usmerjevalne tabele ni potreben. Usmerjevalna tabela poleg informacije o ciljnih izhodnih vratih za pripadajoč naslov ob enem hrani podatke o prioriteti paketkov, seznam izhodnih vrat v primeru oddajanja več prejemnikom in še nekaj dodatnih parametrov. Usmerjevalna tabel je skupna vsem vhodnim vratom, ker pa v danem trenutku do tabel lahko dostopajo samo ena vhodna vrata, je za name razreševanja sočasnega dostopa do tabel potreben razsodnik. Razsodnik deluje po principu »round-robin«, torej vsa vhodna vrata imajo enako prioriteto in si krožno izmenjujejo dostop do usmerjevalne tabele. Vrata usmerjevalnika komunicirajo z omrežnimi vozlišči na podlagi SpaceWire standarda in so sposobna identificirati posamezne dele paketka. Vrata so tako sestavljena iz SpaceWire kodirnika/dekodirnika in na sprejemni strani iz enote za obdelovanje paketkov. SpaceWire kodirnik/dekodirnik omogoča kodiranje in dekodiranje znakov definiranih v SpaceWire standardu, ki so potrebni za prenos informacij med omrežnimi vozlišči in za vzpostavitve povezave. Enota za obdelavo paketkov iz paketka izlušči njegov naslov, jedro in konec paketka. Polege tega kontrolira pretok paketkov, dostopa do usmerjevalne tabele in komunicira s kontrolno logiko. Vsa vhodna vrata so povezana z vsemi izhodnimi vrati preko koordinatnega stikala (angleško "crossbar switch"). Kontrolna logika usmerjevalnika izda dovoljenje za dostop vhodnih vrat do izhodnih vrat in kontrolira pozicijo koordinatnega stikala. Zahteva po sočasnem dostopu do istih izhodnih vrat s strani več vhodnih vrat se rešuje z več-nivojskim prioritetnim razsodnikom. Prioritetni razsodnik je zasnovan kot tri stopenjski cevovod. V prvi stopnji se shranijo prioritete in vse zahteve vhodnih vrat. V drugi stopnji se poišče vhodna vrata s paketkom z najvišjo prioriteto ali skupina vhodnih vrat s paketki z najvišjo prioriteto. V tretji stopnji se izda dovoljenje za dostop do izhodnih vrat. V primeru, ko ima več vhodnih vrat paketke z najvišjo prioriteto, se dovoljenje določi po principu "round-robin". V primeru paketka z oddajanjem več prejemnikom se dostop do izhodnih vrat dovoli le v primeru, ko so vsa izhodna vrata iz seznama pripravljena na sprejem novega paketka. Za preizkus delovanja in karakterizacijo izdelanega usmerjevalnika je bilo pripravljeno testno okolje. Testno okolje sestoji iz simulacijskega okolja in laboratorijskega okolja z izbrano strojno opremo. Simulacijsko okolje je bilo uporabljeno za validacijo delovanja usmerjevalnika pred sintezo in strojno implementacijo usmerjevalnika. Laboratorijsko okolje z izbrano strojno operemo; NI PXI sistem kot vir in ponor SpaceWire paketkov, RTG4 Development Kit z FMC razširitveno ploščico za SpaceWire kot strojna implementacija usmerjevalnika ter osciloskop, je bilo uporabljeno za validacijo delovanja strojne implementacije SpaceWire usmerjevalnika. S pomočjo testnega okolja sta bila določena dva ključna parametra usmerjevalnika, usmerjevalna zakasnitev in prehodni čas paketka skozi usmerjevalnik. Usmerjevalna zakasnitev določa koliko časa potrebuje usmerjevalnik, da določi izhodna vrata paketka od časa, ko pakete pride skozi vhodna vrata. Prehodni čas paketka skozi usmerjevalnik določa koliko časa potrebuje celoten paketek od vhodnih do izhodnih vrat. Oziroma, z drugimi besedami določa zakasnitev paketka zaradi prehoda skozi usmerjevalnik. Simuliran je bil pretok paketkov iz več različnih virov z enakimi in različnimi prioritetami z namenom, da se preveri delovanje kontrolne logike. Na podlagi izvedenih testov usmerjevalnik dosega zadovoljivo zmogljivost z možnostjo hitrosti prenosa do 200 Mbps. Še več, izdelani usmerjevalnik poveča zmogljivost dosedanjih satelitskih sistemov, olajša načrtovanje kompleksnejših omrežij in omogoča nove načine izdelovanja redundantnih sistemov z opcijo oddajanja več prejemnikom.

Language:Slovenian
Keywords:SpaceWire, usmerjevalnik, omrežje, spojni vod, paketek, RMAP, nastavitvena vrata, prioritetni razsodnik, oddajane več prejemnikom
Work type:Master's thesis/paper
Organization:FE - Faculty of Electrical Engineering
Year:2019
PID:20.500.12556/RUL-111414 This link opens in a new window
Publication date in RUL:30.09.2019
Views:1059
Downloads:292
Metadata:XML DC-XML DC-RDF
:
Copy citation
Share:Bookmark and Share

Secondary language

Language:English
Title:Intelligent SpaceWire Router Design
Abstract:
SpaceWire (SpW) is a communication standard used to connect high-speed data rate sensor, processing units, memory units, and telemetry subsystem onboard a spacecraft. It supports point-to-point and network connections. In order to interconnect several network nodes within a network, SpW routers are needed. Currently available devices support only two-level priority arbitration and do not support multicast packet transmission at all. To overcome this, an intelligent SpW router was designed in the course of this thesis. This router supports dynamic multilevel priority arbitration based on a maximum finder circuit and multicast packet transmission. The SpW router was implemented as a VHDL component to have a flexible design and a possibility to include it in other projects. The implemented SpW router has an RMAP supported configuration port for remotely configuring the router. A test setup was designed to characterize and test the SpW router functionality. A routing delay and a packet router latency were determined. Simultaneous packet traffic from different sources with the same and different priority levels was emulated to demonstrate the arbitration functionality. Based on performed tests, the implemented router achieved a satisfying performance with capability of handling transmission rates up to 200 Mbps. Moreover, the designed router increases payload system functionality, eases the design of more complicated networks, and enables a new way to design redundant systems with its multicast transmission support.

Keywords:SpaceWire, router, network, links, packet, RMAP, configuration port, priority arbiter, multicast

Similar documents

Similar works from RUL:
Similar works from other Slovenian collections:

Back