27
March 23, 2022 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS

05 October 2015 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS

Embed Size (px)

Citation preview

Page 1: 05 October 2015 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS

April 19, 2023

Peter Mendham

The SpaceWire-PnP Protocol: Status and Relationship with SOIS

Page 2: 05 October 2015 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS

SpaceWire-PnP2

Agenda

The plug-and-play conceptA little historyKey concepts and terminologySpaceWire-PnP servicesOne service in detailCapability services: data sources and sinksSummary

Page 3: 05 October 2015 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS

SpaceWire-PnP3

Plug-and-Play

Refers toDiscoveryConfiguration(Adaptation)

ofDevicesAnd the services those devices provide

Page 4: 05 October 2015 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS

SpaceWire-PnP4

A Little History

Recent developments (since 2006) spurred on by ORSAFRL, NRL, GSFC

Contributions from ESA, 4Links, UoDNew protocol proposed meeting the needs of ORS

Implemented and utilised in SPA-SUoD propose the use of RMAP packet format to permit reuse of existing IP (proposed late 2006 early 2007)

Fitted with existing semanticsOther drivers for UoD proposals:

Cover cases other than ORS; fix bugs; ensure wider applicability; provide mechanisms for using existing hardware and software

Page 5: 05 October 2015 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS

SpaceWire-PnP5

SOIS Subnetwork Requirements

Network discoveryDevice discovery (polled/notified)Topology discovery

Device identificationUnique identificationType/class

Configuration of subnetwork-specific device features

e.g. address, link speed

Configuration of subnetwork resourcese.g. bus controllers, routers

Sourcing of electronic data sheet

Page 6: 05 October 2015 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS

SpaceWire-PnP6

What SpaceWire-PnP Provides

Network discoveryDevice discovery (polled/notified)Topology discovery

Device identificationUnique identificationType/class

Configuration of subnetwork-specific device features

e.g. link speeds

Configuration of subnetwork resourcese.g. routers

Sourcing of electronic data sheet

…and basically nothing else

Page 7: 05 October 2015 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS

SpaceWire-PnP7

SpaceWire-PnP: Guiding Principles

UoD working document: SpaceWire-PnPProvide a standard way to discover and configure the standard features of SpaceWire devices

i.e. the features of SpaceWire devices which are identified in the SpaceWire standard

As interoperable as possibleDo not require any extra SpaceWire featuresProvide hooks for service discovery and configuration

But do not implement this: beyond scope

Consider the application to common use cases

Page 8: 05 October 2015 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS

SpaceWire-PnP8

SpaceWire-PnP: Protocol

Semantics associated with plug-and-play are mostly get and set

Correspond well to read and write

Why not use an existing, well-defined protocol?

Remote Memory Access Protocol (RMAP)Already well documentedPermits re-use of existing IP

Page 9: 05 October 2015 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS

SpaceWire-PnP9

RMAP Utilisation

SpaceWire-PnP uses the packet format and semantics of RMAPStandardises on a well-defined implementation of RMAP

32-bit wide addressing and alignmentBig endianIncrementing addressingAcknowledged, verified writesPre-defined keyRMW implementation (optional) is a conditional write

Uses a different protocol IDTo distinguish from generic RMAP trafficE.g. Mass memory device

Page 10: 05 October 2015 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS

SpaceWire-PnP10

Perspective

PnP views the network like the SpaceWire standard

LinksNodesRouters

No topology restrictionsBoth nodes and routers have links

Nodes have 1 or more linksRouters have 2 or more links

Every device on the network has a port zeroThis is the target for PnP transactions

Devices

Page 11: 05 October 2015 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS

SpaceWire-PnP11

Levels of Support

Managed NetworksImportant role for system designerCompetition during discovery process removed by designCompetition for configuration of devices removed by designSimplest case

Open NetworksNetwork handles all competition issuesDeals with networks where design is not known a prioriMore flexible but more complicated

Level 1

Level 2

Page 12: 05 October 2015 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS

SpaceWire-PnP12

Services

A set of parameters on the targetThis is a standardised RMAP address space

A service interface at the initiatorA description of how the initiator and target will both behave

Initiator Target

SpaceWire

Standardised Interface

Standardised Interface

Standardised Packet Format

Standardised Behaviour

Page 13: 05 October 2015 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS

SpaceWire-PnP13

Target Parameters

Follow a regular formParameters are made up of fields

Each field is 32-bitOptionally, a parameter may have multiple entries

This is to permit tables, such as routing tablesThe root entry has one set of fieldsEvery other non-root entry has a different but identical set of fields

For example, the port configuration parameterHas a root entry with one field giving the number of portsHas a non-root entry for each port, each of which has the same fields

Page 14: 05 October 2015 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS

SpaceWire-PnP14

Core Services

Four core services definedDevice IdentificationNetwork ManagementLink ConfigurationRouter Configuration (routers only)

Optionally, there is also a time-code sourceThese correspond closely with the SOIS subnetwork requirements

Page 15: 05 October 2015 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS

SpaceWire-PnP15

Device Identification and Status

Identifies the deviceVendor ID and Product ID (like PCI, USB etc.)Type (node/router)Number of portsOptional static device IDOptional vendor and product strings

Provides current statusActive portsDevice ID (non-static)Return port

Page 16: 05 October 2015 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS

SpaceWire-PnP16

Example Parameter Fields

Table 5‑3: Device Information Parameter Fields

ID Name Summary

0 Vendor ID/ Product ID Contains 16-bit vendor and product IDs

1 Region/Number of Ports Indicates preferred device region gives port count

2 Static Device ID High High 32 bits of the 64-bit static device ID (if present)

3 Static Device ID Low Low 32 bits of the 64-bit static device ID (if present)

4 Version/Instance ID Version and System instance of this device type

5 Operation/String Lengths

Length of the vendor a product strings (can be zero)

6-31 Reserved Reserved for future use

Page 17: 05 October 2015 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS

SpaceWire-PnP17

Example Initiator Primitive

DIDS_READ_INFO.requestRMAP_Parameters

DIDS_READ_INFO.indicationResultVendor_IDProduct_IDPreferred_RegionRouter_NodeSupport_LevelPort_CountDevice_IDVersionInstance_ID

Page 18: 05 October 2015 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS

SpaceWire-PnP18

Example Behaviour

Simple example:Network discovery is specified as being a breadth-first searchDevices assigned network IDs if they do not already have them

Page 19: 05 October 2015 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS

SpaceWire-PnP19

Capabilities

Device can provide a list of capabilitiesCapabilities based on protocol ID

A protocol which is supportedOptionally transported over another protocolSupports nesting of transports

Each capability can define a serviceJust like the core servicesDefines target parameters, initiator primitives etc.Flexible and extensible

An example protocol would be RMAPPredefined capability services to permit use of RMAPData source service and data sink service

Page 20: 05 October 2015 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS

SpaceWire-PnP20

Data Source and Sink Capability Services

Provide a standard way to permit a device to:

Source data (such as a sensor)Sink data (such as an actuator)

Detection and configuration of data source/sink is down using SpaceWire-PnPActual data is handled by RMAPPermits the description of existing RMAP address spaces

RMAP already used for sourcing/sinking data on some spacecraft

Page 21: 05 October 2015 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS

SpaceWire-PnP21

Data Source/Sink Types

Target data source/sinkAn initiator addresses the target to read from it (source) or write to it (sink)Polled or delayed response

Initiator data source/sinkThe device initiates writes commands (source) or read commands (sink)

Page 22: 05 October 2015 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS

SpaceWire-PnP22

Target Data Sources

Initiator (such as OBC) reads from deviceDevice may be able to queue reads until data is available

If not read reply is issued immediately

When data is available, device issues replyA timeout is also available (watchdog)

SpaceWire-PnP information describes what types of read command are valid

Page 23: 05 October 2015 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS

SpaceWire-PnP23

Initiator Data Sources

Use SpaceWire-PnP to configure the write commands to be initiatedWhen data is available it is writtenA queue may be supported

Write commands sent but awaiting replySupports re-tries

Page 24: 05 October 2015 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS

SpaceWire-PnP24

Uses for the Data Source

Electronic data sheetsStandard type for (e.g. xTEDS) data sheetsDescribes where to read for the data sheetResponds immediately

Router status change notificationStandard type for router statusEither delayed response readOr initiated writeBoth completely configurable

Page 25: 05 October 2015 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS

SpaceWire-PnP25

Summarising SpaceWire-PnP

Protocol utilising packet format and semantics of RMAPDefines

Target parametersInitiator primitives (service interface)Behaviours (algorithms) where necessary

SimpleDoes not require extra feature support

Flexible and extensibleCan use capability services to extend support

Page 26: 05 October 2015 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS

SpaceWire-PnP26

SpaceWire-PnP and SOIS

SpaceWire-PnP meets all of the requirements for SOIS subnetwork plug-and-play

But only mechanismsNo policy (that was deliberate)

There are a number of small things missing/wrong

e.g. type/class do not match SOIS definitionsSupport for GAR on physical addresses

Only level 1 support is necessary for SOISLevel 2 should be ignored

Page 27: 05 October 2015 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS

SpaceWire-PnP27

Questions?