Home
MASTER`S THESIS
Contents
1. Send PUS 5 X Event X Send PUS 6 6 Memory Match PUS 9 129 Time Match PUS 21 1 Science Rate 1 Match PUS 21 1 Science Rate 2 End of Schedule nd of Schedule Match PUS 21 2 Science off Match PUS 21 2 Science off Science Rate 2 Match Match PUS 21 1 PUS 21 1 Science Rate 2 Science Rate 1 Science Rate 1 Figure 5 1 State diagram of a EGSE simulated PUS enabled instrument EoS depicts a transition at the end of a packet transmission schedule Furthermore it was predetermined that all telecommands would have only the Telecom mand Acceptance Acknowledgement and the Telecommand Execution Finished set this made it possible to reduce the number of needed packets and matchers No checksum calculations were done on received telecommand packets instead the checksum fields were set to match on any byte Checking that the packets had the correct lengths were made by matching on the EOP marker at the end of packets Packets with EEP markers were not matched directly Tracking of the sequence number of the telecommands to uniquely identify the packet the response was triggered by were made by adding an additional incremental counter This led to the issue that if a telecommand was lost during transmission over the SpaceWire network the response packets would be out of sync with the telecommands Since the mentioned simplifications were considered to have major
2. ss La Real Time Simulations of SpaceWire On board Data Handling Networks David Steenari 2013 Master of Science in Engineering Technology Space Engineering Lule University of Technology Department of Computer Science Electrical and Space Engineering LULE UNIVERSITY OF TECHNOLOGY Real Time Simulations of SpaceWire On board Data Handling Networks David Steenari Lulea University of Technology Dept of Computer Science Electrical and Space Engineering Div of Space Technology September 2013 ABSTRACT Space Wire is a widely used on board data handling network technology for spacecraft This project aimed to investigate the way in which SpaceWire is being used in on board data handling networks on scientific spacecraft A real time SpaceWire network simulation was made modeled on the data handling networks of the future ESA missions BepiColombo MPO and Solar Orbiter The CCSDS space packet protocol and the ECSS Packet Utilization Standard PUS were employed for the structuring of packets in the simulation The SpaceWire EGSE device from STAR Dundee Ltd was used to perform simulations of scientific instruments using SpaceWire Multiple scripts for the EGSE device were created to simulate the packet generation behavior of the different configuration of the instruments Software for control and monitoring of multiple EGSE was implemented A prototype for a generic PUS network node software was also deve
3. g general name Solar Orbiter OBC Simulato dataLogFile logs 0BC_testing_dataLogFile dat PUS SpaceWireProtocolIDPresent 1 SpaceWireProtocolID z SpaceWirePaddingBytes 0 WOON AU BWN TCHeaderSourceIDLength 1 TMHeaderPacketSubcounterPresent 0 TMHeaderDestinationIDLength 1 TMHeaderTimeLength 0 TMPacketErrorControlPresent 0 port 0 name OBC devicelD 0 channelID 1 logicalAddresses 128 targetAddresses 64 65 66 67 68 69 70 pidList 50 52 54 56 58 6 pusServices 1 3 5 9 21 destinationIDList 10 27 0 1 Figure 4 3 PUS Node example configuration a time limit a warning is issued In the software implementation the SpaceWire device and PUS packet handling are separate from the GUI functions This allows for a headless mode i e running the software without the Qt GUI The GUI of the PUS Node software was written using the Qt4 framework and used QML for the styling The user interface consists of three different view tabs overview a SpaceWire breakdown view and a PID breakdown view A screen shot of the overview 4 3 PUS NODE 35 b 4 A Science Data Service Handler N Housekeeping Data Service Handler f Memory Mangement Service Handler A Event Reporting Service Handler TC Verification Service Handler j Ko User Interface AAA Packet Scheduling LOC NL PUS Packet Encoder j f Packet amp Status Lo
4. Field Header contains five mandatory fields The fields are similar to that of a telecommand packet but without the CCSDS Secondary Header Flag and the Acknowledgement Flags These two fields are for a TM packet instead fixed string zero value Spares The PUS Version Number Service Type and Service Subtype fields for a TM are the same as for a TC The Data Field Header for a telemetry packet may also include up to four additional optional fields e Packet Sub counter an addition to the sequence counter field in the Packet Pri mary Header containing the value of an incremental counter for each combination of application process service type and subtype This may be used to gain more information in the case of lost packets 14 CHAPTER 2 BACKGROUND PUS Packet Version Spare Service Service Sub Destination ID Time Number 0 Type Subtype counter Optional Optional Optional 24 bits n bits pra ae e ASE ES Figure 2 6 PUS Data Field Header for a telemetry source packet from ECSS E 70 41A e Destination ID a mission specific enumeration identifying the destination of the ID This is the equivalent field of the Source ID field for telecommands e Time on board reference time of when the packet was generated The format of the time field is mission specific Like for a telecommand the data header for a telemetry packet also includes a Spare field which ensure that the total header length in words e g octets i
5. USB Interface Channel 2 FIFO Port 1 SpaceWire FIFO Port 2 Configuration Port SpaceWire Port 1 SpaceWire Port 2 SpaceWire Port 3 SpaceWire Port 4 Router SpaceWire Port 5 SpaceWire Port 6 SpaceWire Port 7 SpaceWire Port 8 Figure 2 10 Block diagram of Space Wire Router Mk2s ports Source Space Wire Router Mk2s datasheet automatically from and to the data channel of the USB interface This is useful when the device is to be used only as a SpaceWire interface and no routing is needed 23 Channel 1 Channel 2 SpaceWire Port 1 SpaceWire Port 2 Multi Channel USB Interface SpaceWire Router Configuration Port Figure 2 11 Block diagram of Space Wire USB Brick ports Source Space Wire USB Brick datasheet 2 3 SPACEWIRE HARDWARE EQUIPMENT 21 2 3 4 SpaceWire Link Analyser Mk2 The STAR Dundee Ltd SpaceWire Link Analyser Mk2 is a device used for testing and development of SpaceWire systems The device provides a USB interface to a host PC and two SpaceWire ports for input of the data to analyze During analysis the device is connected in series on the SpaceWire link in question The analysis is performed with the provided software running on the host PC The device shares its mechanical design with the SpaceWire EGSE although the in ternal configuration differs The front of the device is shown in Figure 2 7 The analysis software provides the possibility to save data pa
6. and PUS packets Although some of the used protocol standards might be replaced in the future the general principle has been to focus the suggestions on generic functionalities which will improve the usability and support for any protocol The developed prototype software packages were tested along side the developed EGSE simulation scripts Several suggestions were made for future improvements and alterna tive implementations of the discussed software REFERENCES 10 S M Parkes Space Wire User s Guide STAR Dundee Limited 2012 http www star dundee com knowledge base spacewire users guide ECSS SpaceWire Links nodes routers and networks ECSS E ST 50 12C 31 July 2008 IEEE Computer Society IEEE Standard for Heterogenous Interconnect HIC Low Cost Low Latency Scalable Serial Interconnect for Parallel System Constr cution IEEE Standard 1355 1995 June 1996 S M Parkes et al SpaceWire The Standard in DASIA 99 Data Systems in Aerospace 17 21 May 1999 D Roberts and S M Parkes Spacewire missions and applications in 3th In ternational Space Wire Conference Proceedings St Petersburg Russia 22 24 June 2010 ECSS SpaceWire protocol identification ECSS E ST 50 51C 5 February 2010 ECSS SpaceWire Remote memory access protocol ECSS E ST 50 52C 5 February 2010 ECSS SpaceWire CCSDS packet transfer protocol ECSS E ST 50 58C 5 Fe
7. counters could be shared between the two state machines 5 3 INSTRUMENT WITH REDUNDANT LINKS 41 Send PUS 6 6 Memory Send PUS 1 2 TC Error EoS Match PUS 6 5 Match PUS 9 129 Time Match PUS 21 Match Match Match PUS 21 2 PUS 21 1 PUS 21 1 Science off Science Rate 1 Science Rate 2 Send PUS 3 25 HK repeat Science Rate 2 Science Rate 1 Figure 5 2 State diagram of instrument simulation with TC fail detection The diagram only shows the stepwise transitional states the main states have been omitted EoS depicts a transition at the end of a packet transmission schedule E P refers to either a EOP or a EEP character When the script was loaded to the device one of the state machine starts in the way described in the previous section the nominal state machine The other state machine is put in a wait state with an empty schedule and no packet matching event transitions the redundant state machine 42 CHAPTER 5 EGSE INSTRUMENT SIMULATION The nominal state and the redundant state machines works essentially the same with the main difference being the starting trigger The nominal state machine includes a state transition that was triggered by a hardware link error event on the nominal link In the case of such an event the nominal state machine was put in a wait state and the redundant state machine was started When
8. defined matcher in the state is always matched first e Mixing conditional and unconditional state transitions currently mixing of uncon ditional and conditional matchers always results in the unconditional i e transi tion at end of schedule matcher being triggered Functionality could be added to allow for conditional matching events to be triggered before the end of the schedule transitions the state machine to another state e Response schedule execution when a main mode is executing a longer sched ule a telecommand demanding a direct response could upset the timing of the main schedule Direct quick execution of shorter schedules could be added i e on TC_received_checkAlive send IAmAlivePacket would execute the IAmAlivePacket once e Real time hardware control of SpaceWire links hardware control of the links are available in the EGSE C API this could be added to the scripting language as well Le on eventl set spw_link 1 disable would disable the first SpaceWire interface when eventl is triggered e Mask matching in guards mask matching similar to the wild cards in packet matchers could be added to time code guards e g Ob 1000 do schedule1 would be executed for each time code that ends with 0b1000 corresponds to values 8 24 40 and 56 e Variable parameters in packets reuse of similar packets could be made by adding a parameter field to packets The values of th
9. differential signalling Most significant bit National Aeronautics and Space Administration On board computer On board data handling Printed circuit board Process identification Packet Utilization Standard Remote Memory Access Protocol SpaceWire Solid State Mass Memory Telecommand Telemetry Telemetry and Telecommand University of Dundee Exclusive or logical operator xi CHAPTER 1 Introduction SpaceWire is a widely used standard for spacecraft on board data handling networks Since its initial release in 2003 by the ECSS European Cooperation for Space Standard ization it has been adopted for space missions by all of the major space agencies Spacecraft on board data handling networks often consists of equipment designed and built by different contractors On board networks consist of flight critical equipment data handling equipment such as network controllers and on board data storage and scientific instruments The former two categories are often designed and built by contractor from the space industry while the scientific instruments tend to be products of space research institutes This leads to interfacing equipment not being available during the development phases of larger space missions and interoperability testing is left to later In this thesis tests and evaluation of the possibility to use SpaceWire real time hard ware equipment to build a typical on board data handling network and emulate the
10. in contemporary use After review the available current missions ESA s BepiColombo and Solar Orbiter were selected as the main missions to model the network simulation after Solar Orbiter is part of ESA s Cosmic Vision programme Cosmic Vision is a ESA future mission programme consisting of four space missions with scientific goals taking place between 2015 and 2025 The missions are categorized using the ESA mission classification Large size missions L class medium size missions M class and small size missions S class The programme consists of a S class mission CHEOPS two M class mission Euclid and Solar Orbiter and one L class mission JUICE 25 23 24 CHAPTER 3 MISSIONS ANALYSIS Due to the planned orbits of Solar Orbiter and BepiColombo MPO the missions share a lot of heritage design This includes the use of a heat shield constantly pointing towards the sun and covering the spacecraft with holes for the remote sensing instruments It also includes the on board data handling network and roughly the number of scientific instruments As the design of the OBDH network of Solar Orbiter partly being a result of the heritage from BepiColombo the BepiColombo on board data handling network was also considered Initially the most common use for SpaceWire in space missions was that of a point to point high speed serial interface for equipment requiring higher data rates Today mul tiple current and planned space mi
11. link errors etc Each SpaceWire EGSE unit comes equipped with two SpaceWire ports which are each controlled by a separate state machine in the hardware and configured in the scripting language This enables the possibility to emulate two SpaceWire units in one EGSE unit The two state machines may share common resources such as defined packets matchers and schedules They also share the same internal memory for saved data The EGSE also has two trigger ports which can be connected to external equipment These ports makes it possible for the EGSE to react to external events The USB port is used to both upload new programs to the EGSE as well as sending and receiving event and state information while the EGSE is running Figure 2 8 shows the EGSE hardware architecture for one of the two state machines Resources such as packets matchers events and schedules are shared between the two state machines Events can trigger a state transition in the finite state machine FSM The FSM can also generate events which can trigger state transitions in any of the two state machines Each state is associated with a schedule A schedule is a table of packets to be sent at specified times The timing may be specified in the scripting language relative to the schedules initial execution or as time deltas from the previously sent packet When a packet is triggered to be sent the packet ID is relayed to the data generator which adds the packet on the que
12. save space Some features which were discussed and have already been included in the EGSE software and API These include e Removal of the maximum number of 16 constant variables per script 49 50 CHAPTER 7 RESULTS e Possible to refer to constant variables in packet matchers This reduces the use of hard coded values in packet matchers e Color highlighting in the SpaceWire EGSE script editor a color profile for the egse format for the popular editor Vim was also created 7 1 1 CCSDS support The EGSE currently has 8 bit and 16 bit incremental counters To emulate the needed behavior of the Seguence Counter field in CCSDS Packet Primary Header a 14 bit incremental counter is needed The workaround employed in the simulations described in this thesis includes using a padding byte with the two most significant bits set to the Seguence Flags and 8 bit incremental counter This however only allows seguence count to have values up to 255 and will generate errors in any connect eguipment under test The severity of this error is considered to be high The solution is to add either an incremental counter specifically for the CCSDS proto col i e inc_cesds 0b11 3 would set the two sequence flags to 1 s and start the 14 bit incremental counter with the value set to 3 Alternatively adding maximum and minimum value to the already existing 16 bit coun ters i e incl6be 0 0xC000 OxFFFF would set the starting va
13. scientific data transfer data rates from the instruments were set to emulate expected data rates for a deep space mission like the ones described in Chapter 3 The housekeeping data was set to always be on from as soon as the EGSE were started The scientific data generation was set to two different rates per instruments or completely off Telecommands from the OBC simulator determined what data rates were to be used at what times The housekeeping data as well as event reports was routed directly to the OBC and all scientific data directly to the SSMM simulator Telecommand could be routed from the OBC to any of the instruments The router configuration used in the simulation can be seen in Table 6 1 The SSMM was addressed using one logical address per node it would be receiving from using the logical address values 32 39 This was done to emulate the behavior of the SSMM device described in Chapter 3 The address range was chosen as it starts on the lowest value allowed for SpaceWire logical address lower addresses are used for path addressing Each instrument was given a unique SpaceWire logical address with a value between 64 and 71 and the OBC was given 128 The simulation made use of the split of the APID field into a PID process ID and PCAT packet category Each instrument was given two PID one for control and monitoring and one for science data The control and monitoring PID was responsible for all housekeeping data event repo
14. these acknowledging packets are provided by the Telecommand Verification Service Each of the acknowledgement flags have a number of responses 2 3 SPACEWIRE HARDWARE EQUIPMENT 15 Table 2 1 PUS standard services as defined in ECSS E 70 41A 15 Service Type Service Name 1 Telecommand verification service 2 Device command distribution service 3 Housekeeping and diagnostic data reporting service 4 Parameter statistics reporting service 5 Event reporting service 6 Memory management service 8 9 Function management service Time management service 11 On board operations scheduling service 12 On board monitoring service 13 Large data transfer service 14 Packet forwarding control service 15 On board storage and retrieval service 17 Test service 18 On board operations procedure service 19 Event action service depending on if the respective verification or execution step was successful or failed Since PUS only defines the overall packet and service field structures and not the physical formats to be used for the fields some mission specific tailoring is needed The tailoring process takes place during the design phase of a mission During the tailoring process the physical formats for parameter fields can be defined per mission application process service instance request or report 15 Since there are optional parameters in the packets Data Field Headers if they should be i
15. used through the PUS library No functions for encod ing decoding any other CCSDS defined secondary headers were implemented Neither were any functions for directly encoding decoding generic CCSDS space packets included Since the CCSDS Packet Primary Header definition includes no optional or variable length fields no configuration of the library is needed Compile time macros are however included to enable change of the length and positions of the fields in the header as well as changing the values of constant fields such as the Packet Version Number field 4 2 2 PUS Packet Library The PUS packet library is based on the same form as the CCSDS packet library described in the previous section the main difference being that the PUS packet library consists of functions for encoding and decoding entire packets and not just headers For encoding and decoding of the Packet Primary Header part of PUS packets the developed CCSDS packet library is used Similar to the implemented CCSDS packet library the PUS library is implemented in standard C It is also dependent on the same libraries as the CCSDS packet library including the CCSDS packet library itself Additionally the C standard string library may be used for some functions if available on the compilation platform For the packets secondary header the Data Field Header as defined in the PUS stan dard structures and functions for encoding and decoding where implemented The structures
16. 2A The only change between the two issues is the document designation which was changed to comply with the new ECSS designation standard 2 SpaceWire was developed to encourage equipment inter compatibility between data handling equipment and subsystems as well as reuse for on board subsystems Common data handling units and instruments can be reused in multiple missions without large modification which leads to shorter development times faster integration lower project development costs and higher reliability SpaceWire is based on the earlier IEEE Standard 1355 1995 which had already been implemented and flown on board space missions There were however problems with the standard which needed to be resolved ESA contracted University of Dundee in 1998 to examine and resolve the issues The resulting work lead to the SpaceWire standard SpaceWire combines the IEEE 1355 1995 and LVDS standards and defines a standardized 3 4 CHAPTER 2 BACKGROUND network layer 3 4 The standard defines a high speed data link with data rates up to 200Mbit s the exchange over such links as well as the SpaceWire network and its components The standard is divided into six levels physical signal character exchange packet and network SpaceWire was developed with spacecraft especially in mind Features such as low energy thermal usage low mass footprint and following EMC restrictions have been taken into account The defined serial poin
17. F amp F FW WwW CHAPTER 6 SIMULATION 6 1 Systems demonstration simulation 6 2 Mission data handling simulation 2 4 os eh we da A CHAPTER 7 RESULTS 7 1 SpaceWire EGSE evaluation a eee eee Ash COOSIOS SUN pOli A RR RR he AA T2 PUS SUpport yr A a do a eG AR LEER bee 7 1 3 Additional suggested features 0000 0004 7 2 Developed prototype software 0 a a ee ee 7 2 1 EGSE MultiControl yace bt Lee oe hae CS er 7 2 2 Packet and service libraries 0 000000 EE OE MOGs e aah AE EE LE OE E N CHAPTER 8 DISCUSSION AND CONCLUSION Oe I MAA LS O ia EA o Ene a 32 Future Works AS a a8 8 RG ER RE de BE aes Des SE kn DAW SE oe adie Aa e AS viii 43 43 46 49 49 50 50 ol 92 92 93 93 LIST OF FIGURES 2 1 22 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 10 2 11 3 1 4 1 4 2 4 3 4 4 4 5 5 1 5 2 6 1 6 2 6 3 SpaceWire packet structure cres rra ye ee Mee A 6 SpaceWire packet structure with protocolID T Example routed SpaceWire data handling network 8 COSDS Packet Primary Header s crias scr 11 PUS Data Field Header for a telecommand packet 12 PUS Data Field Header for a telemetry source packet 14 Used Space Wite equipment ms RM aod do ae aoe GA da At WL 16 SpaceWire EGSE hardware archiceture 18 SpaceWire EGSE example configuration 19 Space W
18. SSIONS ANALYSIS ASICs Packets defined according to the PUS standard ECSS E 70 41A is used to interface with the scientific instruments over the SpaceWire network for both BepiColombo and Solar Orbiter 27 28 Except for data transfer to ground the Solar Orbiter mission also requires commu nication amongst the instruments themselves There are two types of inter instrument communication real time sharing of key measurement results between instruments and event specific communication which triggers specific high data rate modes in the instru ments An example of the shared key measurements is the magnetic field vector of the MAG instrument with the SWA which measures the velocities of incoming electrons An example of a high data rate trigger is the RPW instrument package which will indicate detected interplanetary shocks to the SWA and other instruments All inter instrument communication uses the OBC as a central hub for collating and disseminating the information This is made as an analog to the Mediator pattern in object oriented software design 28 To create a simulation of the data transfered on a SpaceWire network similar to that of the described mission networks some implementation decisions had to be made It was decided to use the SpaceWire EGSE devices to simulate the traffic to and from the scientific instruments To minimize the total needed devices the redundant functions would be disregarded initially for the
19. SoloHI Heliospheric Imager SPICE Spectral Imaging of the Coronal Environment and STIX X ray Spectrometer Telescope The on board data handling networks on BepiColombo and SolarOrbiter use routed SpaceWire networks There are three main sections of the network the OBC on board computer the SSMM Solid State Mass Memory unit and the scientific instruments The interfacing towards the scientific instruments is done with three main input routers The input routers are each individually connected to the on board mass memory respon sible for saving the scientific data while no connection to Earth is possible An additional two routers are used for communication with OBC functions and X and Ka band radios The SpaceWire routers and the mass memory is placed in one physical unit the SSMM The SSMM is designed and built by ThalesAlenia Space Milano Italy The on board 25 computer functions and X band and K band radios are placed in one physical device the OBC The OBC is designed and built by RUAG Space AB Gothenburg Sweden 27 The on board data handling network of BepiColombo can be viewed in Figure 3 1 SpaceWire is used through out the data handling network The main difference between the two networks is the number of scientific instruments An additional instrument is connected to free SpaceWire port the R2 input router The on board data handling SpaceWire network is accommodated in the SSMM unit It also includes three int
20. and The library implements encoding and decoding functions for the two acknowledge ments used in the simulations described in this thesis acknowledgement of telecommand acceptance and acknowledgement of telecommand execution completed 4 3 PUS Node The PUS Node software was developed as a prototype monitoring software for a general PUS enabled SpaceWire network node The focus of the implementation was to have a piece of software capable of decoding received PUS packets over a SpaceWire interface and display the results in a graphical user interface GUI The software also needed some rudimentary packet generation mechanisms The software does only deal with the packet layer of the communication and does not consider any of the reporting data in the packets Neither does the software simulate any of the application layer functions above the PUS packets and services The prototype was to be tested as part of the on board data handling network simula tion in conjunction with the scripts developed for the EGSE and its usability evaluated The software was developed using C 11 Boost libraries QT4 and the STAR System library for interfacing with STAR Dundee Ltd SpaceWire interface devices The soft ware also uses the CCSDS and PUS packet libraries developed as part of this thesis The software was developed and tested mainly with a GNU system running the Linux 3 2 kernel but the software was developed to be compiled on any platform supportin
21. and EGSE scripts used in the simulation section 7 1 SpaceWire EGSE evaluation As part of this thesis an evaluation of the Space Wire EGSE device was carried out The purpose was to evaluate the EGSE for implementing a realistic simulation of a typical modern scientific space instrument using SpaceWire Since the selected mission was using CCSDS space packet standards and PUS focus was put to find features needed to increase the support for these protocol standards During the development of the simulations other possibly useful improvements were also found these have also been included in this section It should be noted that the EGSE instrument simulation described in Chapter 5 intentionally tried to find the cur rent limitations of the SpaceWire EGSE device with generic implementations of control and reporting functions Other implementations could be made which uses the already existing functions of the device to circumvent some of the discussed limitations The evaluation work led to an internal report being issued to University of Dundee and STAR Dundee Ltd highlighting suggested changes and added features for improving the CCSDS and PUS support of the EGSE device These suggested features were graded by their respective impact if they were to be implemented 32 The following section includes the information from the report rewritten to suit the format of this thesis Some of the detailed information from the report has been omitted to
22. and functions were split for telemetry packets and telecommand packets This was done due to the different fields in TM and TC as outlined in Figures 2 6 and 2 5 in Chapter 2 2 2 For the packet generation the library uses a common packet structure for both telecom mands and telemetry The packet structure includes the Packet Primary Header struc ture defined in the CCSDS library the Data Field Header structure defined in the PUS library and a generic field for the Packet Data Field The fields in the structures defined in the library are not intended to be accessed directly but rather through included data access methods The library also includes the non standard division of the APID field in the CCSDS Header into a 7 bit process ID PID field and a 4 bit packet category PCAT field 26 The PUS packet library also includes optional support for the ECSS E ST 50 53C SpaceWire CCSDS packet transfer protocol for decoding of incoming packets which defines how CCSDS packets should be encapsulated in SpaceWire packets 8 This was included to allow quick decoding of incoming packets directly from a SpaceWire device when the application using the library does not implement support for any other 4 2 PACKET LIBRARIES 31 protocols The application may then skip the intermediate step of internal routing of packets depending on their protocol The application still needs to verify and handle the logical address field of the pac
23. ank Dr Johnny Ejemalm for coordinating the master s thesis course On a personal note I would like to thank my family for their continuous support and Adele McGeoch who supported me in pursuing a thesis project in the United Kingdom David Steenari CONTENTS CHAPTER 1 INTRODUCTION CHAPTER 2 BACKGROUND Del OPA DR E A A 4 2 1 1 Physi alk level ara HYDE RR fi 2 1 2 Signal level EL BA pe 2 1 3 Character level ida SE DEE SEE a 2 1 4 Exchange level so pri lo Ee 2 1 5 Packet A GR ead ape as ee 2 1 6 Network level 25 08 Gabe WED dees 2 1 7 Future Standards sus at bacco ck BR SE 2 2 Used Packet formats oa era Be ey 2 2 1 CCSDS packet transfer protocol 2 2 2 Packet Utilization Standard PUS 2 3 SpaceWire hardware equipment 2 3 1 pace Wite BESEER or as 2 3 2 SpaceWire Router Mk2S 2 3 3 SpaceWire USB Brick Mk2 2 3 4 SpaceWire Link Analyser Mk2 CHAPTER 3 MISSIONS ANALYSIS CHAPTER 4 DEVELOPED SOFTWARE 4 1 SpaceWire EGSE MultiControl 4 2 Packet libraries ok ee BR a 4 2 1 CCSDS Primary Header Library 4 2 2 PUS Packet Library anger m a io 4 2 3 PUS Standard Services Library da BUS Node paes ia AS ad N Ba ee Gi Bo CHAPTER 5 EGSE INSTRUMENT SIMULATION 5 1 Dual PUS enabled instruments 5 2 PUS enabled instrument with TC fail detection 5 3 Instrument with redundant links ON OTT
24. ard networks include direct links between high data rate instruments such as optical sensors and down link radios Two types of addressing are defined path addressing and logical addressing For path addressing the address field of each packet has a list of all physical ports the packet is to pass through on its way to its destination Logical addresses are predetermined network or sub network unique addresses each corresponding to a node Routing is achieved by routers examining the first character the address field of each incoming packet and determining the destination and if path of logical addressing is to be used Each port on the router has a physical address with a port number between 1 and 31 If path addressing is used the router outputs the packet on the physical port specified in the packet and strips the first character from the packet so that when the modified packet arrives at the next destination the first character will be the next physical port in the path addressing When such a packet arrives at its destination the first character will be the start of the message 1 CHAPTER 2 BACKGROUND On board Computer Instrument 1 S Band Instrument 2 Radio SpaceWire SpaceWire Router Router Instrument 3 X Band Radio Instrument 4 Mass Memory Figure 2 3 Example routed Space Wire data handling network All shown links between nodes are Space Wire links Redundant links are not shown In the case of l
25. aying packet protocols and scripts to be run on SpaceWire EGSE devices The simulation process described in this thesis focused on the scientific data handling aspects of networks on board scientific spacecraft The developed tools were tested on a SpaceWire network resembling that of the mentioned analyzed space missions on board data handling networks Spacecraft system simulation is an important part of the on board system design val idation and development during several phases of spacecraft missions The technologies discussed here would mainly be useful during phases where the equipment developed by external institutes are not available for testing The performed simulations further proved the fast development cycle for implement ing rudimentary behavior of SpaceWire nodes using standard packet protocols with SpaceWire EGSE devices It also tested the possibility to use multiple EGSE devices in a SpaceWire network 8 2 Future Work During the development and testing several possible improvements to the EGSE device were considered and summarized with their impact on the support for the underlaying packet protocols The implementation of the suggested features with high severity is considered to enable the EGSE device to more accurately simulate SpaceWire nodes using CCSDS and PUS packets 59 56 This thesis highlights several possible changes to the EGSE scripting language which could improve the support for protocols such as CCSDS
26. benefit of focusing on the nominal network functions Two instruments could therefore be simulated per EGSE device Due to the use of multiple EGSE devices and the need to simultaneous control these a new software for control and monitoring of multiple EGSE devices for a common simulation was to be designed and implemented To verify the functions of the EGSE instrument scripts the OBC and SSMM func tions would be implemented in software with CCSDS and PUS decoding and logging capabilities Rudimentary telecommand functions were also needed to be implemented Since no dedicated CCSDS and or PUS packet API was available in house additional packet encoding and decoding libraries had to implemented To simplify the implementation of the software simulated nodes in the network a generic PUS enabled network node simulation software was chosen for implementation CHAPTER 4 Developed Software This chapter details the software tools that were developed as part of the work for this thesis 4 1 SpaceWire EGSE MultiControl The SpaceWire EGSE MultiControl is a graphical user interface software for controlling and monitoring multiple SpaceWire EGSE devices at the same time It was developed as a complement to the official SpaceWire EGSE software since it only supported monitoring of one device at the time during the writing of this thesis and the simulation procured required monitoring of several devices at the time An explanation of h
27. bruary 2010 S Parkes and A Ferrer SpaceWire D Deterministic Data Delivery with SpaceWire in 3rd International Space Wire Conference Proceedings St Petersburg Russia 22 24 June 2010 G Rakow et al SpaceWire Plug n Play in JEEE Aerospace Conference 2007 3 10 March 2007 57 58 11 S Parkes et al SpaceFibre Multiple Gbit s Network Technology with QoS FDIR 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 and SpaceWire Packet Transfer Capabilites in 5th International Space Wire Con ference Proceedings Gothenburg Sweden 10 14 June 2013 CCSDS Space Packet Protocol Blue Book Cor 2 CCSDS 133 0 B 1 September 2012 CCSDS Packet Telemetry Blue Book Issue 5 CCSDS 102 0 B 5 November 2000 CCSDS Telecommand Part 3 Data Management Service Architectural Specifi cation Blue Book Issue 2 CCSDS 203 0 B 2 June 2001 ECSS Ground systems and operations Telemetry and telecommand packet uti lization ECSS E 70 41A 30 January 2003 J Eickhoff Onboard Computers Onboard Software and Satellite Operations Springer Verlag Berlin Heidelberg 2012 ECSS Collaboration website of European Cooperation for Space Standardization August 2013 http ecss nl forums ecss dispatch cgi standards S Mudie et al SpaceWire EGSE in 4th International Space Wire Conference Proceed
28. built up with hardware equipment and demonstrated for the staff of the University of Dundee Space Technology Centre and STAR Dundee Ltd A photography of the simulation setup can be seen in Figure 6 2 6 2 Mission data handling simulation The SpaceWire networks for the space missions discussed in Chapter 3 were modeled with SpaceWire development and evaluation equipment as a scaled up version of the systems demonstration described in the previous section A simulation could be set up to in 6 2 MISSION DATA HANDLING SIMULATION A7 Figure 6 2 Photo of simulation setup during system demonstration at the STAR House Dundee August 2013 real time emulate the data transfered over the SpaceWire network for one or multiple mission modes During the simulation an event with high scientific interest the OBC could command all of the relevant instruments to increase their data rates The event could be started by a user triggered event from one of the EGSE based instruments sending a packet to the OBC with an event report As the SSMM write module would only be receiving data from the instruments the extra latency in using the software described would not effect the simulation The same is true for the OBC functions which could be triggered at any time by a user The extra delay from the user triggering the event to the packet being sent should not affect how a receiving node reacts An additional router would have to be added for the Mas
29. ce of the device can be configured to be used with the API as any other SpaceWire interface A host computer without any other SpaceWire interface can thereby be connected directly to the SpaceWire network the router is connected to using only the USB interface The internal switching matrix routes incoming packets depending on the value of the first character of each received packet Each port can be addressed using path addressing per default Routing settings for logical addressing can be set via the routers configuration interface 22 2 3 3 SpaceWire USB Brick Mk2 The STAR Dundee Ltd SpaceWire USB Brick Mk2 provides an integrated SpaceWire router with two SpaceWire ports and a USB interface accessible over the STAR System API and drivers The device can be seen in Figure 2 7 The USB interfaces has two channels to the SpaceWire router one for data and for control The control channel is routed to the routers port 0 so that the device configuration is always accessible The device has two modes routed mode and interface mode In routed mode the device acts a router with two SpaceWire interfaces and a USB interface Packets are then routed as in any SpaceWire router with the first character of each packet determining the output port The internal router is compatible with the SpW 10X Router AT7910E When interface mode is activated on a SpaceWire port the packets will be routed 20 CHAPTER 2 BACKGROUND Channel 1 Multi Channel
30. could be added to the matcher events which specifies if the matcher should trigger an event when the checksum calculation was successful or not It was found that some PUS telecommands exceeded the total number of elements in an EGSE packet matcher currently set to 24 elements It is suggested that limit is increased to at least 32 elements Optionally a match multiplier similar to byte multipliers work in EGSE packet defini tions could be added Le Ox 250 would match on 250 bytes with any values and still allow to match the end of packet marker It was found that only partial implementation of the PUS service 1 could be made see Chapter 5 since it is currently not possible to copy values from incoming packets and reuse them in outgoing packets It is suggested that saving of incoming values to variables is added e g Ox myVar in a matcher would match on any byte value and save it in myVar The variable could then be used as normal in outgoing packets It should be noted that this feature has already been identified as a future improve ment to better support the RMAP protocol 20 The current limit of five event transitions from a state limits the number of telecommands a state machine can respond correctly to It is suggested that this limit is increased to allow at least 10 event transitions Optionally an implementation similar to the time code guards could be used but using the value of a field in the inc
31. cter made up by a parity bit a data control flag set to one indicating a control character and two control bits The control bits can produce four different control characters FCT Flow control token EOP End of packet marker EEP Error end of packet or an ESC Escape code The ESC can be used to form two control codes NULL code and Time Code A NULL code is generated by transmitting a FCT after a ESC Links transmit NULL codes whenever they do not transfer anything else keeping the link active for link disconnect detection A Time Code is generated by transmitting a single data character directly after a ESC Time Codes are used for distributing system time across a network The parity bit contained in each character is the odd parity of the character set so that the total number of ones in the character is odd 2 1 4 Exchange level The exchange level of SpaceWire includes initialization flow control error detection and recovery 2 After a link reset the link will be in the reset state and the connection can be restarted first after an initialization handshake During the handshake each of the nodes sends NULLs while waiting for the other side to reset When NULLs have been received the receiver synchronizes and starts to send FC T s Once FCTs are received the link has been established Handshaking is always done with the data rate set to 10 Mbits s Once the link is established higher data rates can be set Flow contro
32. e 8 bit and 16 bit constant integers 8 bit and 16 bit incremental variables 8 bit and 16 bit decremental variables 8 bit and 16 bit rotate left or right variables 8 bit random variables and 8 bit CRC8 variables All of the 16 bit variables have to defined as either big endian or small endian variables 2 3 2 SpaceWire Router Mk2S The STAR Dundee Ltd SpaceWire Router Mk2S is a SpaceWire router used for eval uation developing and testing It is equipped with eight SpaceWire ports and three external ports one USB 2 0 port and two parallel FIFO ports The router also imple ments a configuration port with the physical address zero as defined in the Space Wire standard The front of the device is shown in Figure 2 7 The USB interface of the router provides two channels to the SpaceWire router These can be used to configure the router or received data packets as on a SpaceWire interface The channels can also be configured to work in interface mode as on a SpaceWire USB Brick see Chapter 2 3 3 The device is functionally equivalent with the SpaceWire Router ASIC AT7910E produced by Atmel also called the SpW 10X Router Since the Mk2S edition of the router the device is compatible with the STAR System 2 3 SPACEWIRE HARDWARE EQUIPMENT 19 SpaceWire Cables Figure 2 9 Space Wire EGSE example configuration Copyright STAR Dundee Ltd source Space Wire EGSE User Manual v1 05 21 device drivers and API The USB interfa
33. e 1 Active state State 3 Core 2 Active state State 3 Active state State 3 Current state State 3 Event 0 Eventi Event2 Event3 Event 1 Event 2 Log file output gx ME RE N A IE E YJ UYE UI EJ II Y IE 2013 08 06 17 43 05 775 HARDWARE ActiveState Device 3 EGSE 3 Core 1 Core 2 State 6 UNHANDLED STATE gt 2013 08 06 17 43 05 775 HARDWARE ActiveState Device 0 EGSE 0 Core 1 Core 2 State 3 State 4 2013 03 06 17 43 05 775 HARDWARE CurrentState Device 3 EGSE 3 Core 1 Core 2 State 3 State 3 2013 08 06 17 43 05 775 HARDWARE ActiveState Device 1 EGSE 1 Core 0 Core 1 State 3 State 4 2013 08 06 17 43 05 791 HARDWARE ActiveState Device 1 EGSE 1 Core 1 Core 2 State 3 State 4 v Figure 4 1 Space Wire EGSE MultiControl main view API libraries The library is also dependent on the C standard general utilities library stdlib h Functions for the CCSDS Packet Primary Header see Figure 2 4 as explained in Chapter 2 2 1 were implemented Also included were functions for decoding the CCSDS header of a received packet from a void type byte array to a structured data type format 30 CHAPTER 4 DEVELOPED SOFTWARE In addition the reverse functions for creating a byte array suitable for transmitting on a SpaceWire device from a list of parameters were also included In the developed user end software the implemented CCSDS packet library was never addressed directly but always
34. e developed packet libraries the service library functions do not encode or decode entire packets Instead the service libraries rely on the PUS packet library for decoding the received packets and verifying that the correct format is being used They do however provide functions for encoding decoding the service data in the Data Fields of the PUS packets The library does not include a general process for deciding what action to take i e which service library function to decode the service data of a packet with when receiving an arbitrary packet This type of process is instead expected to be included in the user application which utilizes the libraries to allow for scalable usage of the library The application will only need to include the methods for the services which are used In the case of the software used in this thesis this is done by the PUS Node software depicted in Chapter 4 3 Most importantly for the application the PUS Service 1 Telecommand Verification 32 CHAPTER 4 DEVELOPED SOFTWARE was implemented The Telecommand Verification service defines 8 service subtypes These subservices types are grouped in pairs with a pair for each of the 4 types of acknowledgements included in PUS Data Field Header for telecommands as shown in Figure 2 5 in Chapter 2 2 2 Each pair includes a report type for success and a report type for failure in regards to the respective verification or execution stage of the received telecomm
35. e parameter variables could be specified in the schedules which are using the packets This would increase the code reuse in the scripting language and does not require a change in the EGSE hardware A number of suggestions were also made to improved the EGSE C API These included increased context information in the event notification functions and improved handling of multiple EGSE devices 7 2 Developed prototype software 7 2 1 EGSE MultiControl The EGSE MultiControl proved useful for controlling multiple EGSE devices simultane ously It is recommended that an improved implementation of the MultiControl software 7 2 DEVELOPED PROTOTYPE SOFTWARE 53 is added to the EGSE software suite or that the multi device functions of the software is added to the default SpaceWire EGSE software The software used a few workarounds for interfacing with an arbitrary number of devices maximum 32 If the suggested changes to the EGSE C API are implemented these should also be added to the MultiControl software It is suggested that control of individual state machines cores are added to any multi device program which was not included in the EGSE MultiControl software but would have been useful during the simulations This is especially useful for the type of EGSE script described in Chapter 5 1 The log file format of detected events and user interactions should be standardized and a better log file viewer could be added 7 2 2 Packet and
36. eived and allows for detection of dropped packets The final two octets of the Primary Header is the Packet Data Length i e the number of octets of data contained in the Data Field minus 1 This gives a maximum packet data length of 65536 i e without the Packet Primary Header 12 CHAPTER 2 BACKGROUND 2 2 2 Packet Utilization Standard PUS The Packet Utilization Standard PUS is defined in the ECSS standard ECSS E 70 41A Space engineering Ground systems and operations Telemetry and telecommand packet utilization PUS roughly covers the application layer of the OSI model The standard addresses the utilization of telecommand packets and telemetry source packets for the purposes of remote monitoring and control of subsystems and payloads 15 The standard defines how CCSDS Space Packets should be utilized and defines an application layer in the form of an on board service concept The standard does not ad dress mission specific payload data but instead provides a framework where the necessary packets can be defined PUS also defines a number of standard services for spacecraft monitoring and control For a mission making use of PUS not all concepts defined in the standard have to be implemented Instead a tailoring of the standard is made from the missions operational requirements PUS keeps with the CCSDS concept of separating packets in telemetry and telecom mands and defines how these should be used for PUS pac
37. ernal nodes the mass memory Supervisor Module A and B Data from the instruments are received through the input routers of the SSMM and data ready for ground transmission is delivered to the radios of the OBC through the output routers 27 28 X Band TFG I F N K Band TFG I F N LEGEND EE N EE BET OUT SpW Router NOMINAL SpW 10X Redundant SpW link 3 Router 4 R5 R Output RS N 5 Cross Strap 10 Unused SpW port Router internal Parallel I F Memory Read FPGA A RDC FPGA A Roo ee ap en eo ed INPUT OUTPUT SUP A Module i MODULE A Supervisor La 192 Gbit Memory Module 1 192 Gbit Memory Module 2 192 Gbit Memory Module 3 OBC VF AN OBC FAR EGSE I F A RGR i I Memory Write FPGA A H WRC FPGA A IN SpW Routers NOMINAL BepiC Free Port SUP B SpW Router R2 R Input Cross Strap R3 R Input Cross Strap R1 R Input Cross Strap PIL I F 1 N 2N 3N PIL I F 4 N 5 N 6 N PIL I F 7 N 8 N SN Figure 3 1 BepiColombo SSMM Space Wire network All routing in the system is made through SpaceWire logical addressing Both the nom inal and redundant interfaces use the same logical addresses 28 Packets on board are mainly CCSDS space packets with the exception of router con figuration packets which are RMAP packets due to the built in support of the router 26 CHAPTER 3 MI
38. es These transitions are made by sending specific telecommand packets from the OBC When the state machine transitions between two of the main states an intermediate acknowledgement state is first triggered The acknowledgement states have packet schedules with the appropriate packet response packets and transitions at the end of the schedule In the science transfer states the device sends science data at preset interval and packet sizes The schedules could also be customized to emulate the behavior of a specific instrument Housekeeping data is still sent continuously to the OBC in the science transfer states The telecommand and telemetry packets handling science control and reporting were specified using the non standard service number 21 In addition to the intermediate acknowledge states between main states additional states were added for responses to specific service requests and user input Transitions to these states could be made from any of the main states Including a state for responding to a memory dump according to the Memory Management Service PUS standard service 6 Also including an event report state e g an anomaly triggered by a software event using the EGSE MultiControl described in Chapter 4 1 or the official EGSE software Time packet matchers were also included which were bound to the acknowledgement state of the active main state when the time packet arrived The telecommand packet detection was done by definin
39. expected network traffic is presented The simulated network was based on that of ESA s Solar Orbiter mission which is currently under development Due to the mission s data handling heritage BepiColombo was also included as a source to base the simulation on The main hardware tool used for the simulations was the SpaceWire EGSE device from STAR Dundee Ltd Multiple EGSE devices were used to emulate scientific instruments using standard packet and service protocols published by CCSDS and ECSS The control and monitoring of the simulation was made through a combination of scripts written for the EGSE devices and in house developed software The software was developed for near real time monitoring of the network traffic of the SpaceWire network as well as encoding and decoding the used protocols Chapter 2 gives background information about the topics relevant to this thesis A short description of the SpaceWire standard is given including the different layers of the standard Descriptions of the used packet and services standards and used Space Wire hardware are also included Finally a description of SpaceWire systems simulation as a 2 CHAPTER 1 INTRODUCTION whole is given Chapter 3 describes the spacecraft missions used as a basis of the SpaceWire network simulation The chapter includes descriptions of the standards used by missions as well as their respective SpaceWire network setups Chapter 4 describes the developed so
40. ftware for monitoring and control of the simulation and the used packet and service libraries In Chapter 5 details about the developed scripts for the SpaceWire EGSE devices are given Chapter 6 describes the systems setup used for the main network simulation used to verify the developed scripts and software as well as the hardware configuration Chapter 7 contains the results given from the evaluation and development processes which were part of this thesis Chapter 8 includes a short discussion of the results and some conclusions for the future work CHAPTER 2 Background This chapter gives an overview of the technologies and equipment relevant to this the sis An overview of the SpaceWire standard is given as well as details about the used high level packet format Finally details about the used development and simulation equipment is given 2 1 SpaceWire SpaceWire is a standard for on board data handling networks It provides a means of interconnecting equipment on board spacecraft such as scientific instruments mass memories on board computers OBC telemetry and command modules TMTC and other subsystems 1 SpaceWire is defined in the ECSS European Cooperation for Space Standardization standard ECSS E ST 50 12C SpaceWire Links nodes routers and networks pub lished 24 January 2003 It is currently on its second issue published 31 July 2008 The first issue of the standard was designated ECSS E 50 1
41. g a packet matcher in the EGSE scripting language for each of the telecommands included in the simulation Each packet matcher had to be once for each node due to their different SpaceWire logical address and process ID PID fields For telemetry responding to specific telecommands two different types of packets were defined a generic PUS Service 1 packet and service specific packets Since no 14 bit incremental counters were available the Packet Sequence Field was replaced by a preset byte containing the Sequence Flags and zero value bits as well as a byte containing a 8 bit counter The counter would then wrap restart at zero after 255 packets had been transmitted for each APID combination The decision of only using a single generic for telecommand verification service 1 was made to simplify the mode transitions and reduce the total number of states in the script Since no saving of data of received data was available with the used version of the EGSE the service data fields containing the packet ID of the respective telecommand were replaced with zero value bits in the response packets The exception to this were fields that would have constant values during the simulation e g the packet category field which was always the same for telecommands 5 1 DUAL PUS ENABLED INSTRUMENTS 39 RESTART Send PUS 5 X Event Start Match PUS 6 5 Memory SWEvento Send PUS 3 25 HK repeat
42. g the used libraries 31 29 The software is split in two major parts the SpaceWire PUS packet handling and the user interface Another important component is the simulation configuration Figure 4 2 shows a package diagram displaying the software s main components and dependencies The configuration of the PUS Node is contained in an external configuration file which is loaded when the software is started The configuration files consists of general config uration of the simulation global configuration of the PUS libraries please see Chapter 4 2 2 and individual configuration of each used SpaceWire hardware interface device An example configuration file is shown in Figure 4 3 The PUS Node software can be configured to use multiple up to 32 SpaceWire devices The SpaceWire Device Handler package shown in the Figure 4 2 contains a C class developed to bridge the STAR System C API to the object oriented design of the 4 3 PUS NODE 33 PUS Packet Handling Simulation PUS Packet CCSDS Packet Library N EET Library PUS Service Library Figure 4 2 UML Package diagram of PUS Node dependencies Config User Interface software For each handled hardware device an instance of the class is instantiated associated with the ID number of the device An additional static instance of the class handles the incoming callbacks from the API and dispatches them to the object with the correct device ID Outgoi
43. gging L NIZ PUS Packet Decoder y L AAA SpW Packet Decocder f AAA SpaceWire Device Handler Figure 4 4 PUS Node simplified architecture connection from the Telecommand Verification SpW Packet Encocder Service to the packet scheduler is not shown tab can be seen in 4 5 The overview tab displays in rolling graph form the current receiving transmission and receiving data rates for all devices as well as a graph containing all of the current receiving data rates for each of the configured SpaceWire ports The other two views shows breakdowns of more detailed statistics for each SpaceWire port and configured PID all processes which the software is to communicate with during the simulation run A binary log file format for the received and sent data traffic was developed as a prototype of a packet log format including information about status of the decoding of the program This was considered useful for log viewers which could display not just the received data but also how the user application responsible for handling the data responded to each incoming data packet 36 CHAPTER 4 DEVELOPED SOFTWARE GAE PUS Node UI Solar Orbiter OBC Simulator File Statistics View Help Overview SpaceWire Port Breakdown CCSDS PID Breakdown s Total input output data rates Total usage Receiving o kbit s Receiving X OT aar Transmitting o kbit s Total transmitted o bytes Average bitrate kbi
44. ght Front of a STAR Dundee Ltd Space Wire Link Analyser Mk2 unit Middle Front of a STAR Dundee Ltd SpaceWire Router Mk2s unit Bottom left Top view of a STAR Dundee Ltd Space Wire USB Brick Mk2 unit Bottom Right SpaceWire Lab Cable Source STAR Dundee Ltd 2 3 SPACEWIRE HARDWARE EQUIPMENT 17 2 3 1 SpaceWire EGSE The SpaceWire Electronic Ground Support Equipment EGSE is a STAR Dundee Ltd test device intended for rapid development for real time simulation of SpaceWire enabled units 18 Its main purpose is to emulate in real time SpaceWire traffic from and to instruments or other on board equipment and can be configured to react on incoming traffic as well as external software or electrically triggered events Pre defined data such as generated instrument data can be stored on the device and sent as part of any SpaceWire packet Applications for the EGSE include simulations of on board SpaceWire equipment such as scientific instruments As it is possible to use files as parts of packets the EGSE is also suitable for simulating instruments with high data rates 19 20 It includes a specialized scripting language which is used to describe and configure the behavior of the emulated device by defining SpaceWire packets schedules and state machines The scripting language supports sending events and status notifications to a PC over a USB cable It can also create events by matching incoming packets to pre defined formats on
45. ice in different configurations depending on what behavior is required by the unit under test connected to the device in a real use case scenario Another reason was to find which resources could be shared between two separate simulations in one device 5 1 Dual PUS enabled instruments The main EGSE setup included in the network simulation was a script simulating two PUS enabled instruments each utilizing one of the EGSE s two SpaceWire links The total number of implemented PUS services was limited to the maximum number of states events and state transitions in the EGSE Most of the packet data fields of the PUS packets were replaced with random or zero value data The states were split into two categories main states and response states The state diagram for one of the two instruments in an EGSE device can be seen in Figure 5 1 Four main states were used a startup state a housekeeping only state and two science transfer states 37 38 CHAPTER 5 EGSE INSTRUMENT SIMULATION When the script is loaded to the device it starts in a one time startup state In the startup state an event packet PUS Service 5 is sent to alert the OBC that the device has re started At the end of the startup packet schedule the device transitions into the state where housekeeping packets are sent continuously to the OBC at a fix time interval From the housekeeping state the state machine may transition to either of the two science transfer stat
46. iddle contact connected to the inner shield of the cable 2 1 2 Signal level The SpaceWire signal level includes signal voltage levels noise margins and signal en coding 2 SpaceWire uses LVDS low voltage differential signaling which uses balanced differential signaling Each signaling pair carries its signal in one wire and the inverted signal in the other wire for receiver cancellation of noise originating on the link The voltage swing of the signal is low typically around 350mV with a range of 250mV to 450mV allowed which ensures low power consumption on high speed links SpaceWire uses DS Data Strobe encoding which is a coding scheme where the clock signal is not explicitly transmitted but is recovered by XORing the Data and Strobe 2 1 SPACEWIRE 5 signals with each other The Data signal transmits the data directly and the Strobe signal changes value whenever the Data signal stays constant The reason for not transmitting the clock signal directly is to improve skew tolerance to 1 bit time rather than the 0 5 bit time for direct clock transmission 1 2 1 3 Character level SpaceWire defines two types of characters data characters and control characters 2 A data character is a 10 bit character made up by a parity bit a data control flag set to zero indicating a data character and a 8 bit data value with the least significant bit LSB transferred first A control character is a 4 bit chara
47. impact of the ac curacy of the simulated packet exchange communication they were included as some of the main suggested changes in the evaluation process see 7 40 CHAPTER 5 EGSE INSTRUMENT SIMULATION 5 2 PUS enabled instrument with TC fail detection Since the standard PUS Service 1 Telecommand Verification is one of the most im portant ones for communicating with any PUS node an extra script was made with additional features focusing on extending the functionalities of that service The main focus was to include detection of errors in received telecommands The secondary focus was to allow for more telecommand packets to be matched circumventing the EGSE s limitation of maximum of five transitions per state 21 This was made possible by breaking down the packet matching steps In the previ ous simulation each packet was matched by an individually defined packet matcher in the EGSE script The altered approached was based on matching parts of incoming telecommand packets in multiple steps Figure 5 2 shows the state diagram of the packet matching states The main states were the same as for the instrument simulation shown in Figure 5 1 When a packet is received while the state machine is in one of the main states a header section of the packet is first matched This matcher ensures that the received packet was addressed to the correct SpaceWire logical address and process ID PID It also ensures that the main structure
48. ination node 2 1 SPACEWIRE 7 SpaceWire Logical Protocol ds o Address Address ID argo of packe ii i i dies Figure 2 2 Space Wire packet structure with protocol ID as defined in ECSS E ST 50 51C The protocol ID is a data character containing the identification for the protocol used to encode the data in the cargo field An alternative extended protocol identification using three data character can also be used by setting the first characters to the reserved value Zero The protocol identification standard also defines the protocol identifier values for four protocols the Remote Memory Access Protocol RMAP 7 CCSDS Packet Transfer Protocol 8 the GOES R Reliable Data Delivery Protocol and the Serial Transfer Uni versal Protocol 2 1 6 Network level The SpaceWire network level is made up by nodes routing switches and links Nodes can be directly connected to other nodes or interconnected through intermediate routers Nodes are the sources and destinations of packets and have one or more SpaceWire interfaces Routers have multiple SpaceWire interfaces and a switch matrix which allows incoming packets to be routed to any of the routers links 2 An example of a routed SpaceWire data handling network is displayed in Figure 2 3 The figure only shows the data handling portion of the on board network the mission critical network between the on board computer and the AOCS is not shown Another usage of SpaceWire in on bo
49. ings San Antonio TX USA 8 10 November 2011 Stephen Mudie STAR Dundee Ltd SpaceWire EGSE Simulating an Instrument STAR Dundee Limited 2013 S Mudie M Dunstan and S Parkes SpaceWire EGSE Real Time Instrument Simulation in a Day in 5th International Space Wire Conference Proceedings Gothenburg Sweden 10 14 June 2013 STAR Dundee Ltd Space Wire Electronic Ground Support Equipment User Manual v1 05 STAR Dundee Limited 2013 STAR Dundee Ltd SpaceWire Router Mk2s datasheet STAR Dundee Limited 2013 STAR Dundee Ltd SpaceWire Brick Mk2 datasheet STAR Dundee Limited 2013 STAR Dundee Ltd SpaceWire Link Analyser Mk2 datasheet STAR Dundee Lim ited 2013 ESA Website of Cosmic Vision August 2013 http sci esa int cosmic vision J Eickhoff Simulating Spacecraft Systems Springer Verlag Berlin Heidelberg 2009 99 27 M D Meo BepiColombo Solid State Mass Memory employing SpaceWire in 5th 28 29 30 31 32 International Space Wire Conference Proceedings Gothenburg Sweden 10 14 June 2013 P Norridge et al SpaceWire in Solar Orbiter in 5th International Space Wire Conference Proceedings Gothenburg Sweden 10 14 June 2013 Q P Hosting Website of Qt Project August 2013 http www qt project org Stephen Mudie STAR Dundee Ltd SpaceWire EGSE API Documentation v1 05 STAR Dundee Limited 2013 R Riveria and other Website of B
50. ire Router Mk2s ports yr db A RR ME Seed 20 SpaceWire USB Brick ports e ay sees ee eGo a e ER DE 20 BepiColombo SSMM SpaceWire network 25 SpaceWire EGSE MultiControl main view 29 PUS Node packages and dependencies 33 PUS Node example configuration oaoa 34 PUS Node architecture Cerda aaa aa a n 35 PUS Node GUI screen shot al a A E ee BR 36 State diagram of a EGSE simulated PUS enabled instrument 39 State diagram of instrument simulation with TC fail detection 41 Demonstration OBDH network simulation setup 44 Photo of simulation setup bee RY AA Aa KA N a 47 Solar Orbiter OBDH network simulation setup example 48 LIST OF ABBREVIATIONS AOCS ASIC CCSDS ECSS EEP EGSE EMC EOP ESA ESC FCT FIFO FSM GUI JAXA LSB LTU LVDS MSB NASA OBC OBDH PCB PID PUS RMAP SpW SSMM TC TM TMTC UoD XOR Attitude and orbit control system Application specific integrated circuit Consultative Committee for Space Data Systems European Cooperation for Space Standardization Error end of packet Eletronic ground support equipment Elecromagnetic compability End of packet European Space Agency Escape code Flow control token First in First Out Finite state machine Graphical user interface Japan Aerospace Exploration Agency Least significant bit Lule University of Technology Luled Tekniska Universitet Low voltage
51. ively maintained by CCSDS and are only available for historical purposes so called Silver Books The packetization definitions mentioned here can be found in CCSDS 133 0 B 1 Space Packet Protocol last updated September 2012 12 The CCSDS telemetry standard defines a baseline concept for packet telemetry for spacecraft to ground data communication as well as the intermediate communication steps through the data acquisition network The standard allows for multiple application processes to generate source packets The packets can be sent over a network including multiplexed space to ground links to be delivered to one or more sink processes 13 The CCSDS telecommand standard defines the system architecture of spacecraft telecom manding systems It provides a layered concept for the generation of telecommands their transfer and how they should be managed It also provides a definition on how telecom mand packets should be structured including how Packet Primary Headers should be structured 14 Each packet includes a mandatory Packet Primary Header an optional secondary header and a mandatory Packed Data Field Figure 2 4 shows the format for a Packet Primary Header The Packet Primary Header is divided in three fields Packet Identification or Packet ID Packet Sequence Control and Packet Data Length Each of these fields are 16 bits 2 2 USED PACKET FORMATS 11 Packet ID Packet Sequence Control Data Applica Fie
52. ket The PUS library also includes run time configuration of some of the variable param eters of PUS packets This includes configuration of inclusion of optional fields in the Data Field Headers and their respective lengths when applicable It also includes con figuration of when SpaceWire encapsulation should be considered while decoding packets as well as the value of the protocol ID as specified in ECSS E ST 50 51C SpaceWire Protocol identification for mission specific non standard values Since some platforms use non standardized padding between the SpaceWire protocol ID header and the start of the PUS headers optional zero value padding of variable length may also be configured in the library 6 Run time configuration was chosen instead of compile time configuration due to the library s implementation being focused on usage in applications for multiple configuration rather than only a mission specific implementation 4 2 3 PUS Standard Services Library In conjunction with the developed packet libraries a library containing functions for some of the standard PUS services used in the simulation control and monitoring software was created The library was not made as a complete implementation of all services in the PUS standard but rather focused on the service functions that were needed for the applications used in the simulation work This includes what subservices were implemented for each service In contrast to th
53. ket and determine the correct physical output port 2 1 SPACEWIRE 9 to relay the packet to If the wanted route is available to use the router pipes out the packet while it is being received not waiting for an end of packet marker EOP EEP If the router stops receiving the packet before an EOP or EEP is received it adds an EEP after the last received data character and frees the link If an incoming packet is destined for an output port which is already in use the packet will be blocked 1 Ensuring that blocking on the network does not occur is up to the network application designer Different methods of flow control can be utilized to minimize blocking such as communication initiated by a single master scheduling of allowed transmission time slots for nodes transaction tracking in higher level protocols etc The main engineering task is to ensure that no packets are lost due to blocking while still utilizing the network to its maximum capacity as well as confining to all mission requirements and keeping the total number of routers and nodes as small as possible It is also possible to use group adaptive routing in SpaceWire routers Two or more physical ports are configured as a group of output ports for a single logical address When a packet with the designated address is to be routed the router selects a port from the group If the port is busy the router selects the next port in the group This can be used to share the resou
54. kets All PUS packets use the CCSDS Packet Primary Header as described in the previous chapter The standard also defines a secondary Data Field Header which directly follows the Primary Header The PUS Data Field Header replaces the optional standard CCSDS Secondary Header The Data Field Header shall be used for all packets except CPDU command pulses PUS service 2 telecommand packets and spacecraft time source telemetry packets The PUS Data Field Header differs for telecommands and for telemetry packets The two respective headers are shown in Figure 2 5 and Figure 2 6 Acknowledgements D BESOS TC Packet Service Type Re PUS Version E eade Number l Ack Ack Flag E Exec A Accept 1 Progress ance 1 bit 3 bits 8 bits 8 bits n bits n bits 4 NEE EE Service Source ID Subtype Optional 24 bits n EE Figure 2 5 PUS Data Field Header for a telecommand packet as outlined in ECSS E 70 41A For a PUS telecommand TC packet the Data Field Header contains five mandatory fields 2 2 USED PACKET FORMATS 13 e CCSDS Secondary Header Flag a 1 bit flag always set to 0 to indicate that the PUS data field header is a non CCSDS defined secondary header 15 e TC Packet PUS Version Number a 3 bit enumerated variable set to 1 This field is included to differentiate future packet formats e Acknowledgement flags four 1 bit fields indicating what the telecommand recipient should send acknowledgement packet
55. l is achieved by limiting the amount of so called normal characters or N Chars data characters EOP and EEP a transmitter is allowed to send When there is space in the receiving buffer for eight or more N chars the receiving node sends an FCT Multiple FCTs can be sent each indicating available space for an additional eight characters A maximum of seven outstanding FCTs is allowed 1 Link errors can take place when there is a disconnect error or a parity error in both cases the link will try to recover from the error A disconnect is detected when there has been nothing received for the disconnect timeout time 850 ns A parity error is 6 CHAPTER 2 BACKGROUND detected when a parity bit has the wrong value When an error is detected transmission is ceased for 6 4us When the other side detects that the transmission has stopped it too goes silent for 6 4us When both sides have detected link silence they stay silent for another 12 8us to ensure that both sides have time to recover After the silent time period has passed an initialization sequence is started 2 2 1 5 Packet level SpaceWire defines a simple packet structure which follows the packet level protocol defined in IEEE 1355 1995 The packet format is Destination address Cargo and End of packet marker as shown in Figure 2 1 2 3 Destination 10 bit 10 bit 4 bit Data Characters Data Characters EOP marker Figure 2 1 Space Wire packet struc
56. ld tion Sequence Sequence Header Process Flags Count Flag Version Number Packet Length ID Figure 2 4 CCSDS Packet Primary Header as outlined in CCSDS 102 0 B 5 13 in length Note that the version number field is not defined as being part of the Packet ID field in CCSDS 102 0 B 5 it is however depicted so here to align with the ECSS PUS standard to avoid any confusing when mixing the standards The Packet ID consists of four fields e Version Number a 3 bit constant value of 0b000 It is included for the possiblity of including other data structures in the future e Type Indicator 1 bit indicating whether the packet is a telemetry source packet set to 0 or a telecommand set to 1 e Packet secondary header flag a 1 bit flag indicating whether a secondary header is present in the packet e Application Process Identifier or APID a 11 bit variable specifying the mission specific ID of the application which generated the source packet The Packet Sequence Control contains two fields Sequence Flags 2 bits and Source Sequence Count 14 bits The Sequence Flags depicts whether the packet is the first packet in a group a continuing packet in a group the last packet in a group or not belonging to a group also called a stand alone packet The Sequence Count contains the packet s sequential count as counted by each APID generating source packets This provides a time order of the generation packets when rec
57. le Space Wire interfaces to a SpaceFibre link In such interfacing equipment each Space Wire 10 CHAPTER 2 BACKGROUND link is connected to a virtual link on the SpaceFibre interface SpaceFibre keeps with the SpaceWire packet format enabling connection between the two link types 11 2 2 Used Packet formats This chapter describes the relevant packet protocols used in this thesis The simulations described in this thesis utilize packets structures as described in the ECSS PUS standard Due to the primary headers of PUS packets being heritage from the CCSDS packet transfer protocol the related CCSDS standards are also described in this chapter As mentioned in the previous section the standard ECSS E ST 50 53C SpaceWire CCSDS packet transfer protocol which describes how CCSDS packets should be en capsulated in SpaceWire packets using the protocol identification method described in ECSS E ST 50 51C was also used but is not described separately in this section 2 2 1 CCSDS packet transfer protocol The CCSDS has published a number of recommendation standards for on board data handling and packetization for space systems Two CCSDS standards regarding pack etization are referenced from the ECSS PUS standard the standard CCSDS 102 0 B 5 defines data structures for telemetry packets and CCSDS 203 0 B 2 defines structures for telecommands packets It should be noted that CCSDS 102 0 B 5 and CCSDS 203 0 B 2 are no longer act
58. loped Additionally packet libraries for CCSDS and PUS were developed A demonstration network was built using SpaceWire testing equipment encompassing all of the developed tools Finally the EGSE was evaluated in conjunction with the simulation including the devices support for generating CCSDS and PUS packets Several improvements and additional features for the EGSE device and scripting language were suggested 111 PREFACE This report depicts a final year master thesis project for Master of Science in Space Engineering Spacecraft and Instrumentation at Lule University of Technology LTU The project was conducted at the Space Technology Center at the University of Dundee UoD and was supervised by Prof Steve Parkes I would like to extend my sincere thanks to Professor Steve Parkes at the University of Dundee for agreeing to take me on as a thesis student and showing enthusiasm and support throughout the project I would also like to thank Stephen Mudie at STAR Dundee Ltd and Dr Martin Dun stan at UoD for supporting me with the SpaceWire EGSE and allowing me to evaluate it and make suggestions in good faith For supporting me with the software development process I would like to thank Ph D candidate Dave Gibson and Dr Stuart Mills From LTU I would to thank Dr Anita Enmark for agreeing to be the examiner for the project and encouraging me to pursue a thesis focusing on on board data handling I would also like to th
59. lopment and configuration of the network For the simulation of the scientific instruments four SpaceWire EGSE devices were used The EGSE script which was used during the testing was the dual instrument setup de scribed in Chapter 5 1 The extended EGSE scripts described in Chapters 5 2 and 5 3 were also included and tested to some degree in alternate configuration of the simula tion For the control of the EGSE devices a host PC running the developed SpaceWire EGSE 6 1 SYSTEMS DEMONSTRATION SIMULATION 45 MultiControl software see Chapter 4 1 was used Each EGSE was loaded with a vari ation of the baseline script with variables such as SpaceWire address used process IDs PIDs and data generation rates customized Two instances of the developed PUS Node software were used These simulated some of the SSMM and OBC functions The first was configured to act as the input ports and the Write Module of the SSMM This included configuring the four Space Wire interfaces in two groups one for each input router The first PUS Node instance included the possibility to send telecommands but this feature was disabled as it was not of interest The OBC functions were simulated in another instance of the PUS Node software In this instance the telecommand generation widget was enabled and customised for the simulation need The router configuration was made through the Device Configuration tool included in STAR System The housekeeping and
60. lue to 0 the minimum value to 0xC000 sets to two MSB to 0b11 and OxFFFF is the maximum value where the counter wraps This would allow for a generic support for any protocol which uses counters with lengths that are not multiplies of 8 bits 7 1 2 PUS support Currently the EGSE only includes the RMAP 8 bit checksum and no 16 bit checksums PUS recommends either 16 bit Cyclic Redundancy Check CRC or 16 bit ISO standard checksum New variables for these two types of checksum could be added to the EGSE i e crcl16 would work the same way as crc08 Alternative checksum types could be implemented and defined as a parameter to the variable above As this feature affects at least all PUS telecommand packets its severity was set to high Currently no checksum calculation can be made in matchers for incoming packets This disables the possibility to detect bit flips in e g telecommands which could result in the wrong command being executed It is suggested that checksum calculations to packet matchers are added on the same form as the checksum calculation for packets le start CRC would start the checksum calculation where CRC is a checksum vari able and stop CRC would stop it If any wild card matchers e g Ox are used as part of the matcher the calculation should use the corresponding field value of the 7 1 SPACEWIRE EGSE EVALUATION 51 received packet Additionally an extra field
61. n be a useful diagnostics tool for EGSE script development as it makes it possible to extract information about timing and the order of state changes When multiple events occur during a short time span the time deltas between events may be too short to monitor the order of events in real time An example of such a situation is the change to a state with a short packet transmission schedule and an automatic state transition at the end of the schedule 4 2 Packet libraries As there were no CCSDS header and PUS packet protocol C software libraries avail able in house during the development for this thesis these had to be developed as well Both developed libraries were modeled on the STAR Dundee Ltd RMAP Library which is part of the STAR System API 4 2 1 CCSDS Primary Header Library A CCSDS packet library was designed and implemented in standard C to support the main packet encoding and decoding features needed by the developed PUS packet library The standard C programming language was chosen due to it being well supported on many platforms as well as to align with the STAR Dundee RMAP Library It therefore uses and is dependent on macro definitions for type names used in the STAR System 4 2 PACKET LIBRARIES 29 E SpaceWire EGSE MultiControl z E File View Devices Simulation Help New Open Save Save As Device manager Add Device Load all devices Reset all devices EGSE 0 Device number 0 Loaded file 1_SOL_demo out Cor
62. ncluded or not needs to be defined The tailoring also includes deciding which of the standard services and their subservices and additional non standard services and subservices need to be identified and defined These mission specific standards are allowed with service types values of 128 to 255 The PUS implementation in available spacecraft platform equipment may be a driving factor when tailoring PUS for a mission 16 The PUS standard is at the time of writing due to be re issued by ECSS it is currently named using the old designation standard 17 2 3 SpaceWire hardware equipment STAR Dundee Ltd is a British registered company which supplies SpaceWire equip ment including equipment for SpaceWire evaluation and testing SpaceWire PC inter faces routers debugging and analysis tools software development etc Because of the 16 CHAPTER 2 BACKGROUND close connections between STAR Dundee Ltd and University of Dundee it was opted to use equipment from the company Following is a description of the equipment used for the analysis in this thesis The used equipment can be seen in Figure 2 7 R 27 ee Es SpaceWire Link Analyser Mk2 SpaceWire Router USB R 2 1 0307 2 4 r OH OO 20707 8 or TEP am 9 ar ER ER CERO In Y STAR Dundee gt NA SpaceWire USB Brick Mk2 Figure 2 7 Used Space Wire equipment Top left Front of a STAR Dundee Ltd Space Wire EGSE unit Top ri
63. ng calls are handled directly by each object The device handler was developed early on in preparation for the work of this thesis A C version of the STAR System API has been released since then making the im plementation above partly obsolete The main architecture of the PUS Node software can be seen in Figure 4 4 All packets are received or dispatched through the SpaceWire device handler When a packet is received the SpaceWire header is checked The logical address field in the received packet has to correspond with the configured address of the receiving SpaceWire address otherwise a warning is issued The received packet protocol ID field in the packet is also checked towards the ID value configured for the PUS packet library If a packet passes the SpaceWire packet related checks it is then passed on to the PUS packet decoder which verifies the PUS structure of the received packet and dispatches it to the correct service handler PUS telecommand packets may be generated through an optional widget in the user interface When a telecommand has been sent the software keeps track of the requested acknowledgements Once the correct acknowledgements have been received the telecom mand is released If the target node fails to respond with the correct PUS reports within 34 CHAPTER 4 DEVELOPED SOFTWARE OBC_demo cfg UoD git PUSNodes PUSNodeUl GVIM File Edit Tools Syntax Buffers Window Plugin Help DUS amp BUS i
64. of the header CCSDS PUS up until the service type field is correct In a second step either the rest of the received packet is matched or only the service type The latter was used for services with multiple implemented service subtypes In the case that no correct match was made before the end of the packet was received i e an EOP or EOP character was matched a report according to TC Verification subservice 2 Telecommand Acceptance Error Report was sent If a service type with multiple service subtypes was matched a third step was used This step matched either the rest of the packet starting at the subservice field or no correct match as described above 5 3 Instrument with redundant links Finally a script using all of the previously mentioned functions as well as emulating the SpaceWire hardware redundancy requirements put on a typical scientific instrument for a space mission was developed This type of EGSE script was also useful for evaluating new functions needed for cov ering hardware requirements outside of the service requirements generating SpaceWire traffic to and from the simulated device see Chapter 7 Since this setup required both of the device s two SpaceWire ports only one instrument was simulated per device This enabled sharing of some of the EGSE s internal resources between the two state machines Since packets are defined independent of which state machine they are to be used for the sequential packet
65. ogical addressing values 32 to 254 in the first character the router performs a lookup in its internal pre configured routing table The routing table is a list of mappings between logical addresses and physical output ports on the router For logical addressing the first character is not stripped as the procedure is repeated at the next node the packet arrives at The address value 0 is reserved for the internal configuration port in the router where e g the routing tables and which links are to be activated can be configured from another node The value 255 is reserved for future use As mentioned in the previous chapter if the protocol ID standard ECSS E ST 50 51C is used the first character of each packet should be the logical address of the destination node This field should be present regardless of any physical path addressing being used or not This gives an extra security for the receiving node incoming packets can be filtered if there was an error in the logical addressing The protocol ID field of the packet can also be filtered in this way E g a node can have different handlers for RMAP and CCSDS With the protocol ID the packets can be switched into their respective protocol handler by only examining one byte value SpaceWire routers utilize wormhole routing which implies that there is no buffering of packets in the routers As soon as the beginning of a packet is received the router will look at the first character of the pac
66. oming packet to determine which schedule to execute This can be combined with the functionality to save values to variables in packet matchers mentioned above I e 0b00001001 do sch_ackBoth where the variable contains the acknowledgement fields of a PUS telecommand would trigger a schedule where both acknowledgement of telecommand acceptance and telecommand executed is sent Other guards could trigger schedules with other acknowledgement reports Alternatively this could be implemented directly in schedules Another approach is described in Chapter 5 1 7 1 3 Additional suggested features Following is a list of the additional features that were suggested to improve the EGSE scripting experience Further motivation for these functions are provided in the evaluation report Some suggestions have been omitted 32 e Reverse matching masks matching events that should only be triggered if a value in a matcher does not have a specific value could be made by a reverse matcher ie not Ox0A would match on any value except Ox0A 52 CHAPTER 7 RESULTS e Matching on lists matching events where a list of specific values of a field is allowed could be made by a list of values to match for ie Ox0A or 0x1C or OxF would match on any of the specified values e Multiple possible matching events currently when multiple matchers are possible for the same incoming packet is allowed but not fully documented The last
67. on file compiled from an EGSE script to be used by the device has to be decided Multiple devices may use the same configuration file The same dialog is also used for changing the configuration of a previously created device profile When the simulation profile for a device has been created the device can be monitored and controlled through the main view window and event log files When the device has been loaded with an EGSE configuration file the current and active states of the device s state machines will be displayed in the software s main view The main view is displayed in Figure 4 1 One of the main features of the program is the possibility to control multiple EGSE units at once In the main window a panel of buttons are included These include starting loading configuration all devices at once as well as stopping resetting all devices Devices can also be controlled individually from their respective control box The event log saves timing and event data about all detected state changes of a EGSE device for both the current and active states All main user events such as simulation device created or deleted devices loaded or restarted and user triggered software events are also included in the event log The event log is written in a human readable format and is also displayed in a detachable window The default position of the event log window is at the bottom of the main window as displayed in Figure 4 1 The event log ca
68. oost C Libraries August 2013 http www boost org D Steenari Space Wire EGSE Support for CCSDS and PUS protocol standards University of Dundee August 2013
69. ow the software was integrated in the simulation is provided in Chapter 6 The software was developed as a study and was built as a prototype for future EGSE control and monitoring software Due to its prototype status part of the work also included testing and evaluating the software This also made it possible to test new design ideas not part of the official EGSE software The software was developed using C Qt4 and the SpaceWire EGSE API 29 30 The main testing platform was Microsoft Windows 8 but no operating system specific libraries or functions were used during the development This makes the software cross platform to the extent of the platforms Qt4 and the EGSE API are available for The development was mostly based around the Qt framework but used standard C data types and containers when possible The styling of the graphical elements were done using QML Qt markup language included in Qt version 4 The software separates the devices used for simulation and the actual hardware devices connected to the host computer In the software s main view used devices are setup before a simulation is started The configuration of a device includes which hardware device the configuration should be associated with the device name the name of the two 27 28 CHAPTER 4 DEVELOPED SOFTWARE cores state machines naming of all possible states of the state machines and naming of the four software events Finally which configurati
70. rces of multiple links and reduce blocking 1 2 1 7 Future Standards There are standards currently under development that complement and extends upon SpaceWire s functionalities SpaceWire Deterministic or SpaceWire D is a method which addresses the issue of blocking in SpaceWire routers links by defining transaction schedules which explicitly states when a node is allowed to initiate a transaction 9 SpaceWire Plug N Play or SpaceWire PnP is an extension to SpaceWire which stan dardizes how SpaceWire equipment should be identified and configured when connected to a generic SpaceWire network 10 SpaceFibre is the next generation on board data handling network standard It is currently under development by the University of Dundee for ESA It defines a very high speed serial interface for use with fibre optic and electrical cables with data rates up to 2 Gbit s With multi laning the data rate can be increased to up to 20Gbit s Compared to SpaceWire it also reduces the cable mass and provides galvanic isolation 11 One of the main differences between SpaceWire and SpaceFibre is the use of virtual channels Each physical SpaceFibre link is split into multiple virtual links Communi cation between nodes are only allowed if there exists a virtual link between the nodes SpaceFibre routers are used to interconnect virtual links between nodes SpaceWire to SpaceFibre interfacing hardware has also been suggested which connects multip
71. rts and receiving telecommands The second PID was used for all science data generation This was done to emulate an instrument which separates its control function from its detectors as described in Chapter 5 An alternative setup where multiple PIDs for science data per instrument was also 46 CHAPTER 6 SIMULATION Table 6 1 Space Wire logical address to physical port number routing configuration used in the systems demonstration Function Address Router R1 N Router R2 N SSMM 32 5 9 6 7 33 5 9 6 7 34 5 9 6 7 35 5 9 6 7 36 6 7 5 9 37 6 7 5 9 38 6 7 5 9 39 6 7 5 9 Instrument 1 64 1 6 7 Instrument 2 65 2 6 7 Instrument 3 66 3 6 7 Instrument 4 67 4 6 7 Instrument 5 68 6 7 1 Instrument 6 69 6 7 2 Instrument 7 70 6 7 3 Instrument 8 71 6 7 4 OBC 128 8 6 7 tested to emulate an instrument package with multiple detectors The packet category field was used to further separate packet types PCATs for house keeping events science data and telecommands were defined The PUS Node software which was simulating the OBC and SSMM write module functions was configured to separate the packet statistics depending on the instruments PID values The PID values in received packets were also cross checked with a list of allowed values for each SpaceWire port If there was a mismatch in the received PID and sending node for a packet a warning was issued in the log file The mentioned setup was
72. s Memory Supervisor Module functions This could be done using either a SpW 10X Router such as the SpaceWire Router Mk2S used for the Input Routers or alternatively with a SpaceWire USB Brick in router mode if only one of the two FIFO ports connected to the SUP Module is needed If both FIFO ports were to be used an additional SpaceWire interface would be needed The simulated instruments would also have to be customized to fit the main data gen eration corresponding to the different detectors of the instrument packages 48 CHAPTER 6 SIMULATION SSMM Simulation PC OBC Simulator SUP A Simulator mm Write Module Simulator i LEGEND SpaceWire link USB cable SpW USB Brick IN SpW Routers RAN 1 NOMINAL SPW Router kes 7 E Router Mk2S on Router Mk2S R1 N R2 N R3 N 6 7 6 7 128 1 2 s8 1 2 8 Link Analyser 1 2 1 2 ER 2 IE 3 EGSE 4 EGSE 5 Simulation Control PC EA AA Link Analyser ESSE em Figure 6 3 Solar Orbiter OBDH network simulation setup example Additionally a full scale simulation with all of the redundancy functions could also be made This would include using the described EGSE script for an instrument with dual links described in Chapter 5 3 This would require twice the number of EGSE as well as twice the number of routers CHAPTER 7 Results This chapter present an discussion of the results from the development of the simulation software tools
73. s an integral number The mentioned fields Service Type and Service Subtype relate to the PUS services included in the standard The PUS standard services are a set of commonly used on board data handling features such as telecommand verification and forwarding command distribution housekeeping and event reporting and handling operations scheduling and monitoring etc In each service definition a number of subservices are defined Each subservice definition includes a service function description and a service data packet format For each service a minimum capability set is included it defines a list of subservice reguirement which are needed by a node implementing the service in question A list of which of the additional service capabilities that are to be implemented is provided in the mission documentation for the target mission Table 2 1 displays a list of the PUS standard services and notes on which need to be implemented by a user A list of allocated values for mission specific non standard services is also provided by the standard These can be used on a mission wide basis or be allocated for implemen tation to individual spacecraft customers An important and commonly used service is PUS Service 1 Telecommand Verification Service As mentioned PUS telecommand packets includes a group of flags specifying if and when the telecommand should be acknowledged by the receiving node using response packets The structure of
74. s for when the TC has been received Acknowledge Execution Completion Flag determines if a response packet should be sent when the execution of the telecommand has been finished Acknowledge Execution Progress Flag determines if response packets should be sent reporting on the progress of the executing of the TC Acknowledge Execution Start Flag determines if a response packet should be sent when the TC has been started Acknowledge Acceptance Flag determines if a response packet should be sent when the TC has been received and verified e Service Type an 8 bit enumerated variable specifying what type of service data is contained in the data field of the packet e Service Subtype an 8 bit enumerated variable specifying the subtype of the service data of the packet The Data Field of a telecommand may also contain two optional fields Source ID and a Spare field The Source ID field contains the mission specific enumeration of variable length identifying the source of the telecommand This can for instance be used if multiple ground control centers are at use The Spare is a field of variable bit length containing zero value padding bits The purpose of the spare bits is to when needed increase the bit length of the Data Field Header to an integral multiple of the word length of the used processor architecture octets or longer for 16 24 32 or 64 bit architectures For a PUS telemetry TM packet the Data
75. service libraries The CCSDS and PUS packet libraries mentioned in Chapter 4 were implemented and tested in the simulations with the developed EGSE scripts The CCSDS packet library was only implemented for the need of the Packet Primary Header and lacks functions for encoding and decoding generic CCSDS packets The li brary could be further developed and normalized to the STAR System RMAP library As there is a large use of CCSDS packet for space applications it is suggested that a modified version of the CCSDS packet library is included in the STAR System API focusing on support for the ECCS E ST 50 53C and CCSDS 133 0 B 1 standards 8 12 The PUS packet library proved useful for the implementation of a generic PUS enabled node The packet library needs additional work on efficiency and memory handling The library could be provided either with the implemented run time configuration of optional parameters or with compile time settings Additionally the PUS service library was only implemented partially with focus on the services that would be used during the simulation For a full implementation at least rudimentary implementations of the missing standard services is needed Due to the large numbers of optional parameters in the service data fields and the need for user defined services and subservices it is suggested that a better configuration mechanism is developed 7 2 3 PUS node The PUS Node software was tested during the simula
76. ssing through the Link Analyser and displays it in three views bit byte and packet Timing information for events such as start of packets etc is provided Data from either end to the other is saved and can be viewed in separate streams in relation to each other This is useful for analysing and debugging request and response packet timing between two nodes 24 CHAPTER 3 Missions Analysis As part of the work for this thesis a mission with a SpaceWire network suitable for sim ulation had to be found and analyzed The criteria for what was to be considered a suitable mission also had to be defined Criteria for mission selection for simulation was defined as follows e Number of SpW nodes routers should be a substantial amount of nodes for a sizable simulation but not so many that implementation time would be unrealistic e Complexity of SpW network should be a routed network with the same network routes being utilized by multiple nodes e Enough available information to make a meaningful simulation e g data handling architecture standards used needed TM bit rate of nodes number of modes in view of GS eclipse etc etc From the selection criteria a list of known missions utilizing SpaceWire was compiled Unmanned scientific satellite missions from the larger agencies were targeted It was also opted to pick a current mission so that the result of the simulation would reflect equipment and standards
77. ssions utilize routed SpaceWire networks for their on board data handling and flight critical systems The analysis here refers purely to the on board data handling functions for the scientific data 1 26 BepiColombo is an joint ESA JAXA space mission to be launched in August 2015 The mission consists of a transfer module and two orbiter spacecrafts launched together to target orbits around Mercury The transfer module is called the Mercury Transfer Module MTM and is made by ESA The two orbiters are the Mercury Planetary Orbiter MPO built by ESA and the Mercury Magnetospheric Orbiter MMO a JAXA contribution The OBDH network heritage from BepiColombo to Solar Orbiter refers to the network of the MPO the ESA segment of the mission Solar Orbiter is an ESA M class mission to be launched in 2017 The spacecraft will be placed in an elliptical heliocentric orbit with a closest approach to the sun of about 0 28 AU The spacecraft will examine how the Sun creates and controls the heliosphere by making in situ and remote sensing measurements of the heliosphere close to the sun The mission hosts 9 scientific instruments both in situ and remote sensing The in situ instruments include EPD Energetic Particle Detector MAG Magnetometer RPW Radio and Plasma Waves and SWA Solar Wind Plasma Analyser The remote sensing instruments include EUI Extreme Ultraviolet Imager METIS Coronagraph PHI Polarmetric and Helioseismic Imager
78. t s 11 35 18 11 35 20 11 38 22 Sampling Time Incoming data rate per port ma v N A oa w pu mg Le 2 G w o ie uw XI 0 11 35 16 11 35 18 11 35 20 11 35 22 Sampling time Telecommands PUS Telecommand Generation Output Port SpW Address PID PCAT A Comp A Prgs A Start A Acpt Custom ogc zJ J J _ fa Noje o No s o No s o Nos Locked OBC lt 64 2 so 12 0 No 0 No 0 No 0 No s 1 PUS Preset Telecommand Generation Output Port Target Command Preset OBC Al o Goto HK_ONLY Send Event log Telecommands Figure 4 5 PUS Node GUI screen shot overview tab including the Telecommand generation widget CHAPTER 5 EGSE Instrument Simulation This section details the instrument simulation scripts made with the Space Wire EGSE scripting language All in all three different instrument simulations were created using the EGSE scripting e A dual instrument setup with two PUS enabled instruments fitting in one EGSE device with one SpaceWire port used for each instrument e Same as above but with extra verification steps for incoming telecommands It also includes extra error messages for invalid telecommands e A single instrument with redundant SpaceWire links utilizing a full EGSE device The decision to make simulations with both one and two instruments was made to il lustrate what can be fitted in a EGSE dev
79. t to point link and connectors was designed specifically for the radiation experienced in the space environment Today the standard has been adopted by most of the larger space agencies including ESA NASA JAXA and Roscosmos Examples of missions that use SpaceWire are L CROSS NASA Gaia ESA ASTRO H JAXA James Webb Space Telescope NASA ESA CSA BepiColombo ESA JAXA GOES R NASA NOAA ExoMars ESA and PnPSat 1 US Air Force 5 2 1 1 Physical level The physical level of the SpaceWire standard includes connectors cables and PCB tracks It defines the electrical and mechanical interfaces which interconnect nodes 2 The SpaceWire cable is made up by four twisted pairs Data In Strobe In Data Out Strobe Out making a total of eight wires in a cable The cable includes an individual inner shield around each wire pair as well as an overall outer shield around all of the wires The standard defines the materials diameters as well as electrical characteristics of both the wires and the complete cable It also defines which ECSS standards should be followed during cable manufacturing The maximum length of a SpaceWire cable is set to 10 meters to keep the disturbances on the link at acceptable safety margins The SpaceWire connector is a nine contact micro miniature D type with either solder or crimp contacts Contacts for each of the signaling wire pairs are placed horizontally pair wise on the connector with the remaining m
80. the redundant state machine was started an event packet reporting on the switch was sent Included was also a user triggered event which emulated a link error and switched the state machines in the same way as described above Alternatively a telecommand for starting the redundant link could be defined to pro hibit the redundant SpaceWire interface to immediately start sending data but instead wait for the OBC to detect the error and command the redundant SpaceWire router to start CHAPTER 6 Simulation This chapter details the SpaceWire network simulation that were made with the described hardware equipment and software tools 6 1 Systems demonstration simulation During the evaluation work for this thesis a simulation was setup as a system demon stration of the developed software and EGSE scripts The simulation was largely based on the analyzed on board networks described in Chapter 3 The simulation was scaled down from the analyzed missions to include eight simulated instruments in total The input Space Wire routers which are the main interfaces towards the instruments were scaled down from three to two The cross strapping SpaceWire links between the routers were set to two links keeping with the total number of nominal cross strapping links From the perspective of the links going out from the routers this replaced one of the intermediate routers with a direct SpaceWire link None of the re dundant network functions
81. tions with multiple configurations It was generally found useful to have a generic PUS software simulator with SpaceWire capabilities The current configuration specifies which services are allowed per port During the simulation it was found more useful to be able to configure allowed services per PID 54 CHAPTER 7 RESULTS packet categories or sending SpaceWire node It was found especially useful to enable different configurations for individual target nodes The port configuration should be augmented by splitting the configuration for incoming and outgoing packets Furthermore additional configuration sections specifying configuration of the individual implemented services was found to be a lacking function The PUS Node software should be improved to provide a user configurable of what service functions to use The definition of custom service and subservices should be provided through a configuration interface The interface should contain individual sub service types and packet generation preferably using the XML format or a similar format CHAPTER 8 Discussion and Conclusion 8 1 Summary The work described in this thesis consisted of designing developing and testing multiple tools for on board data handling development and testing The used technologies are all widely used standards for interfacing with equipment on board spacecraft The developed tools were both stand alone software packets libraries for underl
82. ture The destination address field contains zero or more data characters representing either the logical address of the destination node or the path address through the network to the node The destination address field is used by SpaceWire packet routing switches to determine what physical port to output the packet on The cargo contains the data characters that is to be transferred The end of packet marker is a data character to mark the end of the data and the packet and can be either an EOP or an EEP character The former represents a successful packet termination and the latter indicates that a link error occurred during the packet transfer Since the SpaceWire standard only defines a packet structure for delivering data to nodes and not what is to be transferred the internal structuring of the data in the cargo is up to the application The complementing standard ECSS E ST 50 51C Space Wire protocol identification defines an augmentation to the SpaceWire packet structure which makes the logical ad dress field mandatory and adds a protocol identification in the packet header The packet structure is then SpaceWire Address Logical Address Protocol ID Cargo and End of packet marker as displayed in Figure 2 2 6 The SpaceWire address is the optional path address mentioned above and the logical address is a mandatory data character with the logical address of the dest
83. ue of data which is to be sent to the transmission FIFO of the SpaceWire port associated with the state machine The EGSE scripting language is a language which has been specifically developed for the EGSE with focus on simplicity and rapid development The syntax of the language is designed for readability and uses the break line ASCII character An and whitespace indentation to delimit code blocks rather than using curly braces and 18 CHAPTER 2 BACKGROUND Events Data Generator Scheduler Tx FIFO Events Figure 2 8 Space Wire EGSE hardware architecture Source Space Wire EGSE User Manual v1 05 21 EGSE script content is grouped in a number of different blocks these include hard ware configuration variable definitions packet definitions matcher definitions schedule definitions event definitions state machines including states Where state blocks have been defined within state machine blocks All other blocks are defined outside any other block This makes it possible for the state machines to share content from all defined blocks except the state definitions these have to be defined individually for each state machine The hardware configuration defines which default data rate the SpaceWire ports should operate at unless explicitly defined elsewhere overloaded The variable definition block contains the variable declarations The allowed variable types ar
84. were included The main hardware and software components of the simulation can be seen in Figure 6 1 Since the internal FIFO ports of the routers could not be used to interface with a host computer the USB interface of the router together with a SpaceWire USB Brick were used instead connected to port 5 which was free due to redundant links not being included The SpaceWire USB Bricks were all set to work in interface mode as described in Chapter 2 3 3 Another Brick was used as a simplified connection to the on board computer OBC functions The mass memory supervisor module SUP A and its router as well as the outgoing routers were not included The reason for this was to focus the simulation on the data generation and acquisition on the network between the scientific instruments and the platform functions Not shown in the simulation network figure was a SpaceWire Link Analyser which was 43 44 CHAPTER 6 SIMULATION OBC SSMM Simulation PC LEGEND MM i f SpaceWire link Spw dl n USB Brick USB cable OBC Simulator outer SSMM Write Module Simulator Config Spw USB Brick IN SpW Routers NOMINAL 5 9 5 9 gSPW Router Mk2S SpW Router Mk2S R1 N 6 3 R2 N 1234 1234 1 d 1 2 1 2 1 2 EGSE 1 EGSE 2 EGSE 3 EGSE 4 Simulation Control PC EE gt EE Link Analyser ESSE Sim Control Figure 6 1 Demonstration OBDH network simulation setup used to debug links during the deve
Download Pdf Manuals
Related Search
Related Contents
SM132-USB Datasheet Escient SE-D1 Home Theater System User Manual Stainless Steel SSV Model Vane Pump (パンフレット) -HP ソフトウェア 負荷テストサービスパック Copyright © All rights reserved.
Failed to retrieve file