SpaceWire Protocol ID
description
Transcript of SpaceWire Protocol ID
SpaceWire Protocol ID
Steve Parkes
Space Technology Centre
University of Dundee
Scotland, UK
Parkes MAPLD2006 2222
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.
Parkes MAPLD2006 2223
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
LogicalAddress
ProtocolID
PathAddress
LogicalAddress
ProtocolID
Logical Address with Protocol ID
Path Address with Protocol ID
Parkes MAPLD2006 2224
SpaceWire Protocol Identifier
LogicalAddress
ProtocolID
Logical Address with Protocol ID
Rest of Packet EOP
LogicalAddress
ProtocolID
PathAddress
Path Address with Protocol ID
Rest of Packet EOP
LogicalAddress
ProtocolID
PathAddress
Rest of Packet EOPPath
Address
Parkes MAPLD2006 2225
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
Parkes MAPLD2006 2226
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 1-239 guaranteed not to clash i.e. each supported protocol has a unique PID
Parkes MAPLD2006 2227
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
Parkes MAPLD2006 2228
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.
Parkes MAPLD2006 2229
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 65535 protocols to be carried over a
SpaceWire network Unlikely that extended PID will be used
0ExtnPID
LogicalAddress
ExtnPID
PathAddress
0ExtnPID
LogicalAddress
ExtnPID
Logical Address with Extended Protocol ID
Path Address with Extended Protocol ID
Parkes MAPLD2006 22210
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 000000h is reserved and
shall be ignored when received.
Parkes MAPLD2006 22211
Extended Protocol Identifier
Extended PIDs with values in range 000001h - 0000FFh represent same protocols as non-extended PIDs with values 01h to 0FFh respectively e.g. protocol 02h is the same as protocol 000002h.
Extended protocols 000001h-0000FFh are reserved one byte IDs are used for these protocols
Parkes MAPLD2006 22212
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