SpaceWire Protocol ID Steve Parkes Space Technology Centre University of Dundee Scotland, UK
ParkesMAPLD Aim The protocol identification scheme aims to allow different protocols to operate concurrently over a SpaceWire network without them interfering with each other To achieve this an identifier is given to each protocol Units receiving packets process and respond to them according to the protocol specified by the protocol identifier on the packet.
ParkesMAPLD Logical Address Logical Address always used After path address removed logical address is present Check that packet is intended for the node it arrived at Use 254 if node does not have a logical address Logical Address Protocol ID Path Address Logical Address Protocol ID Logical Address with Protocol ID Path Address with Protocol ID
ParkesMAPLD SpaceWire Protocol Identifier Logical Address Protocol ID Logical Address with Protocol ID Rest of Packet EOP Logical Address Protocol ID Path Address Path Address with Protocol ID Rest of Packet EOP Logical Address Protocol ID Path Address Rest of Packet EOP Path Address
ParkesMAPLD Protocol Identifier Protocol identifier (PID) single byte immediately following logical address PID value of zero reserved for protocol ID extension PID value of 255 is reserved
ParkesMAPLD Protocol Identifier PIDs in range 1 to 239 assigned by the SpaceWire working group PIDs 1 upwards for recommended protocols PIDs 239 downwards for supported legacy protocols PIDs guaranteed not to clash i.e. each supported protocol has a unique PID
ParkesMAPLD Protocol Identifier PIDs in the range 240 to 254 available for experimental use might clash with protocols being developed by other users Concurrent operation of different protocols only assured for protocols in the range 1 to 239 Proven protocols may be recommended for adoption by the SpaceWire working group Once adopted given unique protocol identifier in the range 1 to 239 added to SpaceWire standard
ParkesMAPLD Ignoring unknown protocols If packet arrives at destination with PID that is not supported (unknown) by that destination Destination shall ignore the packet and delete it. Count of the number of packets with unknown PIDs should be kept and made available by the destination.
ParkesMAPLD Extended Protocol Identifier PID with value zero (00h) used to extend number of available PIDs Two more bytes follow reserved zero PID Forming a 16-bit extended protocol identifier Allows up to protocols to be carried over a SpaceWire network Unlikely that extended PID will be used 0 Extn PID Logical Address Extn PID Path Address 0 Extn PID Logical Address Extn PID Logical Address with Extended Protocol ID Path Address with Extended Protocol ID
ParkesMAPLD Extended Protocol Identifier Implementation of the extended protocol identifier NOT mandatory If extended protocol identifier not implement then reception of a PID of value zero shall be ignored destination should record count of the number of packets it received with an extended PID Extended PID with value h is reserved and shall be ignored when received.
ParkesMAPLD Extended Protocol Identifier Extended PIDs with values in range h FFh represent same protocols as non-extended PIDs with values 01h to 0FFh respectively e.g. protocol 02h is the same as protocol h. Extended protocols h-0000FFh are reserved one byte IDs are used for these protocols
ParkesMAPLD Existing Protocols Recommended 1: Remote Memory Access Protocol (RMAP) 2: SpaceWire working group working on reliable transport protocol Legacy 239: STUP for SMCS-332 ASIC configuration 238: Proposal for RDDP