SHINe: Simulator for Satellite on-Board High-Speed Networks Featuring SpaceFibre and SpaceWire Protocols
Abstract
:1. Introduction
2. Related Works
3. SHINe Core Building Blocks
3.1. SHINe Software Architecture
3.2. SpaceFibre Endpoint
- Fault Detection Isolation and Recovery (FDIR) mechanism, with retransmission in case of (injected) errors;
- Flow Control Mechanism (FCT);
- IDLE words, IDLE Frames and SKIP words insertion (See [4] for details on SpFi control words);
- Multilane layer support;
- Upper lane layer support, excluding 8b/10b encoding and serialisation. The OMNeT++ messages exchanged between SpaceFibre Endpoints represent an abstraction of the 40-bits SpaceFibre words. The choice to simulate at “word level” instead of at “bit level” has been taken because, from a networking standpoint, the simulation of the physical layer does not add any additional value to the results but it greatly affects the simulation time;
3.3. SpaceWire Endpoint
- keeping trace of the value of the next TimeCode to send;
- storing the value of the latest TimeCode received, in order to be able to validate (or discard) the next one. As specified in the standard, a TimeCode is valid when its value is equal to the value of the previous one plus one. Only if this condition is satisfied the application is notified about the reception of a new TimeCode.
- Simulation of the Initialisation phase, according to the initialisation state machine described in the standard;
- Flow Control Mechanism (FCTs);
- Error detection, in case a character is received when not expected or it contains an invalid field;
- ESC (see [6] for details) character insertion when no data is available to be sent;
3.4. Routing Switch
- how to bridge Broadcast messages with the TimeCodes;
- how to forward packets between the two domains, where in SpaceFibre a packet is always associated to its Virtual Channel while in SpaceWire it is not;
- Path and Logical Addressing. When using Path Addressing, the output port of the Routing Switch is directly written in the packet header. When using Logical Addressing, however, a Routing Table is necessary to associate the logical addresses to the output ports. The table can be provided by the user as a comma-separated file or can be built automatically by SHINe using Dijkstra algorithm in order to speed up the setup of the network;
- Virtual Network Mapping. For each Virtual Channel of each port, the user can specify the Virtual Network it belongs to. According to the SpaceFibre standard, packets can flow only through Virtual Channels belonging to the same Virtual Network. Note that, thanks to the Routing Switch implementation in SHINe, the single Virtual Channel of a SpaceWire Adapter Ports can be mapped into any Virtual Network.
- Multicast Support. In case the user decides to specify a custom Routing Table, he can define, for a specific logical address, a Multicast set of output ports. When Multicast is used, an NChar is transferred from the input to all the output ports of the set at the same time, provided that they can all accept it.
- Group Adaptive Routing Support. Similarly to Multicast, a custom Routing Table can include a set of output ports to be used for Group Adaptive Routing. When an input port requires a new wormhole to be open, only the first output port in the set that is found free is chosen, improving network performances.
4. SHINe Additional Building Blocks
4.1. Test Applications
- Data generation rate and packet size. The test application will try to send packets of the predefined length in order to achieve the average transmission rate (Bits/sec) defined by the user;
- Data consumption rate. The test application will read the data coming from its Endpoint at a rate limited to the one specified by the user. This can be used to simulate slow destination devices that are not able to consume data at maximum speed;
- Destination nodes. A test application will try to send packets only to the nodes specified in this list. In case the path addressing is used, the chain of output ports along the path from the source to the destination is automatically derived by SHINe.
4.2. RMAP Modules
- All the three RMAP commands: Write, Read and Read-Modify-Write;
- Both Acknowledged and non-Acknowledged commands. In the first case, an Ack is automatically sent back by the RMAP Target to the Initiator with the status of the transaction (containing an error code in case something went wrong). In the second case, the Initiator is not notified about the result of the transaction;
- Both Verified and non-Verified commands. The data field of Verified commands is covered by a Cyclic redundancy Check (CRC) code, which is checked before executing the Read or Write request;
- Multiple ongoing requests support for the RMAP Initiator. The Initiator can send multiple requests before receiving the associated replies. The pending requests are identified, associating a Transaction Identifier ID to them;
4.3. Hardware-in-the-Loop
- Test of an RMAP Initiator or Target UUT in a networking scenario, without the need of deploying several hardware components;
- Test of a new user-defined protocol running on top of SpaceFibre or SpaceWire. Using SHINe, it is extremely easy to analyse packets or inject errors to deeply test the UUT under different conditions.
5. Network Setup and Results: A Case Example
5.1. Network Setup
5.2. Nodes Configuration
- a simulated SpaceFibre data sink (spfiEndpointSink + spfiSink) with four Virtual Channels. The application does not produce any data but consumes all incoming packets as soon as they are received;
- a simulated SpaceFibre data source (spfiEndpointSource + spfiSource) with four Virtual Channels. The application tries to send data on every Virtual Channel at maximum rate to the sink;
- a simulated SpaceWire data source (spwEndpointSource + spwSource). The application tries to send data on the link at maximum rate to the sink;
- an external hardware node (spwEndpointHIL + HILSpw), realising the bridge to the SpaceWire PXI analyser. The PXI analyser tries to send data at maximum rate to the sink;
- a Routing Switch, comprising two SpaceFibre ports and two SpaceWire ports.
5.3. Simulation Run
5.4. Simulation Results
- Virtual Channels utilization. This parameter is analysed to prove the correct implementation of the SpaceFibre protocol, especially for what concerns the Quality of Service mechanism.
- End-to-end packet latency. From this value, the impact of the wormhole routing can be studied, taking into account the interaction between the SpaceWire and SpaceFibre protocols.
6. Conclusions
Author Contributions
Funding
Conflicts of Interest
Abbreviations
BC | Broadcast |
CDH | Command and Data handling |
CRC | Cyclic Redundancy Check |
ECSS | European Cooperation for Space Standardization |
EGSE | Electrical Ground Segment Equipments |
ESA | European Space Agency |
FCT | Flow Control Token |
FDIR | Fault Detection Isolation and Recovery |
FPGA | Field Programmable Gate Array |
In BCB | In Broadcast Channel Buffer |
LUT | Look-Up-Tables |
MAC | Medium Access Controller |
Out BCB | Out Broadcast Channel Buffer |
QoS | Quality of Service |
Reg | Register |
SAR | Synthetic Aperture Radars |
VCB | Virtual Channel Buffers |
SHINE | Simulator for HIgh-speed Networks |
RMAP | Remote memory access protocol |
MOST | Modelling of SpaceWire Traffic |
SPW | SpaceWire |
SPFI | SpaceFibre |
FIFO | First In First Out |
UUT | Unit Under Test |
SUAI | Saint-Petersburg University of Areospace Instrumentation |
References
- Lorenzini, S.; Bardazzi, R.; Di Giampietro, M.; Feresin, F.; Taccola, M.; Perez Cuevas, L. Optical design of the Lightning Imager for MTG. In Proceedings of the International Conference on Space Optics, Ajaccio, France, 9–12 October 2012. [Google Scholar]
- Della Corte, V.; Schmitzb, N.; Zusic, M.; Castro, J.M.; Leese, M.; Debei, S.; Magrin, D.; Michalik, H.; Palumbo, P.; Jaumann, R.; et al. The JANUS camera onboard JUICE mission for Jupiter system optical imaging. In Proceedings of the Space Telescopes and Instrumentation Conference, Montreal, QC, Canada, 22 June 2014. [Google Scholar]
- Laubier, D.; Bodin, P.; Pasquier, H.; Fredon, S.; Levacher, P.; Vola, P.; Buey, T.; Bernardi, P. The PLATO camera. In Proceedings of the International Conference on Space Optics, Ajaccio, France, 9–12 October 2012. [Google Scholar]
- SpaceFibre Standard ECSS-E-ST-50-11C-DIR1. Available online: https://ecss.nl/standard/ecss-e-st-50-11c-dir1/ (accessed on 21 January 2019).
- Siegle, F.; Habinc, S.; Both, J. SpaceFibre Port IP Core (GRSPFI): SpaceFibre, poster paper. In Proceedings of the 7th International SpaceWire Conference, Yokohama, Japan, 24–28 October 2016; pp. 1–5. [Google Scholar]
- SpaceWire Standard ECSS-E-ST-50-12C. Available online: https://ecss.nl/standard/ecss-e-st-50-12c-spacewire-links-nodes-routers-and-networks/ (accessed on 21 January 2019).
- Saponara, S.; Fanucci, L.; Tonarelli, M.; Petri, E. Radiation Tolerant SpaceWire Router for Satellite On-Board Networking. IEEE Aeros. Electron. Syst. Mag. 2017, 22, 3–12. [Google Scholar] [CrossRef]
- Leoni, A.; Fanucci, L.; Jameaux, D. Simulator for HIgh-speed Networks (SHINe): An OMNeT++ simulator for SpaceFibre and SpaceWire Networks. In Proceedings of the SpaceWire Conference, Los Angeles, CA, USA, 14–18 May 2018. [Google Scholar]
- OMNET++. Available online: https://omnetpp.org/ (accessed on 21 January 2019).
- Dellandrea, B.; Gouin, B.; Parkes, S.; Jameux, D. MOST: Modelling of SpaceWire and SpaceFibre Traffic—Applications and Operations: On-Board Segment. In Proceedings of the DAta Systems in Aerospace conference, Warsaw, Poland, 3–5 June 2014. [Google Scholar]
- Jaume, J.A. Modelling of SpaceFibre Networks. Master’s Thesis, Universitat Politècnica de Catalunya Barcelonatech, Barcelona, Spain, 30 October 2018. [Google Scholar]
- Sheynin, Y.; Olenev, V.; Lavrovskaya, I.; Korobkov, I. Computer-Aided Design System for On-board SpaceWire Networks Simulation and Design. In Proceedings of the 20th Conference of Open Innovations Association, Saint-Petersburg, Russia, 3–7 April 2017. [Google Scholar]
- Sheynin, Y.; Olenev, V.; Lavrovskaya, I.; Korobkov, I.; Kochura, S.; Openko, S.; Dymov, D. Second revision of the STP-ISS transport protocol for on-board spacewire networks. In Proceedings of the 2015 17th Conference of Open Innovations Association (FRUCT), Yaroslavl, Russia, 20–24 April 2015; pp. 192–200. [Google Scholar]
- RMAP Standard ECSS-E-ST-50-52C. Available online: https://ecss.nl/standard/ecss-e-st-50-52c-spacewire-remote-memory-access-protocol-5-february-2010/ (accessed on 21 January 2019).
- Davalle, D.; Leoni, A.; Dello Sterpaio, L.; Fanucci, L. Design and implementation of test equipment for SpaceFibre links: SpaceFibre, short paper. In Proceedings of the 7th International SpaceWire Conference, Yokohama, Japan, 24–28 October 2016; pp. 1–5. [Google Scholar]
- SpaceART Webpage. Available online: https://www.ingeniars.com/english/products/space/spaceart-en.html (accessed on 21 January 2019).
- PXI Webpage. Available online: https://www.ingeniars.com/english/products/space/sp-wr-pxi-en.html (accessed on 21 January 2019).
- OMNET Manual. Available online: https://doc.omnetpp.org/omnetpp/UserGuide.pdf (accessed on 21 January 2019).
Simulator | Toolkit/Language | SpaceWire/SpaceFibre Support |
---|---|---|
SHINe | OMNeT++ (C++) | SpW/SpFi |
MOST (NS-3) | NS-3 (C++) | SpW/SpFi |
MOST (OPNET) | OPNET (C) | SpW/SpFi |
SANDS | Own/SystemC | SpW |
Port | Expected Bandwidth (per VC) | Packet Length (Bytes) |
---|---|---|
SpFi Data Source | [10%, 20%, 30%, 35%] | 100,000 (all VCs) |
SpW Data Source | - | 100,000 |
HIL Data Source | [10%, 20%, 30%, 35%] | 100,000 (all VCs) |
Routing Switch (SpFi output port to Sink) | [10%, 20%, 30%, 35%] | - |
Port | Virtual Channels to Virtual Networks mapping |
---|---|
SpFi Data Source Port | [0, 1, 2, 3] |
SpW Data Source Port | [1] |
HIL Data Source Port | [1] |
SpFi Data Sink Port | [0, 1, 2, 3] |
Source Node/VC | Minimum | Average | Maximum |
---|---|---|---|
SpFi, VC0 | |||
SpFi, VC1 | |||
SpFi, VC2 | |||
SpFi, VC3 | |||
SpW Sim | |||
SpW HIL |
© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Leoni, A.; Nannipieri, P.; Davalle, D.; Fanucci, L.; Jameux, D. SHINe: Simulator for Satellite on-Board High-Speed Networks Featuring SpaceFibre and SpaceWire Protocols. Aerospace 2019, 6, 43. https://doi.org/10.3390/aerospace6040043
Leoni A, Nannipieri P, Davalle D, Fanucci L, Jameux D. SHINe: Simulator for Satellite on-Board High-Speed Networks Featuring SpaceFibre and SpaceWire Protocols. Aerospace. 2019; 6(4):43. https://doi.org/10.3390/aerospace6040043
Chicago/Turabian StyleLeoni, Alessandro, Pietro Nannipieri, Daniele Davalle, Luca Fanucci, and David Jameux. 2019. "SHINe: Simulator for Satellite on-Board High-Speed Networks Featuring SpaceFibre and SpaceWire Protocols" Aerospace 6, no. 4: 43. https://doi.org/10.3390/aerospace6040043
APA StyleLeoni, A., Nannipieri, P., Davalle, D., Fanucci, L., & Jameux, D. (2019). SHINe: Simulator for Satellite on-Board High-Speed Networks Featuring SpaceFibre and SpaceWire Protocols. Aerospace, 6(4), 43. https://doi.org/10.3390/aerospace6040043