The first byte of the header shall contain the Destination SpaceWire Logical Address (SLA) field that is associated with the destination TEP to which the packet is being sent.
The second byte of the header shall contain the SpaceWire Protocol ID field and is assigned a value of decimal 242 (TBD) by the ECSS.
The third byte of the header shall contain the Packet Control field.
Protocol Version Number
The two most significant bits of the Packet Control field shall contain the protocol version number of the JRDDP protocol specification to which the format of the packet complies. These bits shall be set to 0x1 for this version of the specification.
Secondary Header Flag
A 0x1 in bit 5 of the Packet Control field shall indicate the presence of a variable length secondary header in the Payload field of the packet. A 0x0 indicates the absence of the secondary header.
A two-bit field of Sequence Flags (bits 3-4) of the Packet Control field is used to signal the first, intermediate, and final packets in a series of JRDDP packets that collectively represent a data buffer. The Sequence Flags are set by the transmit TEP during fragmentation and are used by the receive TEP for data buffer reassembly.
|First packet of the buffer||1|
|Last packet of the buffer||2|
Buffer Sequence Flag Values
- CONTROL and ACK packets shall have their Sequence Flags bits set to 0x3 indicating that they are stand-alone packets.
The three least significant bits (0-2) of the Packet Control field shall identify the type of packet.
Packet Type Values
The Payload Length field in bytes four and five of the header specifies the number of bytes in the Payload field and is a 16-bit value. It does not include any bytes in the JRDDP header/trailer but DOES include bytes used in the secondary header.
The fourth header byte shall contain the most significant byte of the Payload Length field and the fifth header byte shall contain the least significant byte of the Payload Length field.
The maximum size of the Payload field shall be constrained to be the MTU size minus the maximum length of the header plus trailer fields.
Channel numbers are 16-bit values that uniquely identify multiplexed logical connections between two TEPs. Channel number values are implementation dependent and are generally assigned at a level above the JRDDP.
The sixth byte of the header shall contain the most significant byte of the Channel Number and the seventh byte of the header shall contain the least significant byte of the Channel Number.
Note: One purpose of a secondary header may be to augment the size of the Channel Number field in a dynamic communications environment.
The eighth byte of the header shall contain the Sequence Number field and be a value in the range of 0 through 255.
The ninth byte of the header shall contain the Address Control field.
The most significant nibble of the Address Control field is user defined and shall be filled with zeros unless a program using this protocol defines them in a program specific document.
The four bits of the least significant nibble of the Address Control field are used to specify the number of addressing bytes that are to be prepended to the Source Address SLA to form a full variable length address. Valid values are 0 – 15.
The JRDDP implements a variable length source address whose purpose is to accommodate those systems which may require multiple address bytes to uniquely identify an endpoint, such as in SpaceWire path addressing or regional addressing.
The Source Address of the packet shall consist of a variable length number of addressing bytes. The combination of the Prefix and SLA fields constitutes the fully qualified node address from which the packet was sent. The number of bytes contained within the Prefix field is specified in the Prefix Length bits of the Address Control field.
The Source Address Prefix bytes contain all of the variable length addressing bytes except for the SLA. The Prefix is not used when the Address Control Prefix Length is zero (0x0).
The SLA byte of the Source Address Field shall be the SLA that identifies the node from which the packet was sent. In the event of a variable length address, the SLA is the last byte of the fully qualified Source Address.
"Internal Standards developed by Sandia National Laboratories". Experience Base, Sandia National Laboratories, Albuquerque, NM, 0000.