Information is transferred across a SpaceWire link in distinct packets. Packets can be sent in both directions of the link, provided that there is room in the receiver for more data.
A packet is formatted as illustrated in Figure 2.
Figure 2 SpaceWire Packet Format
The “Destination Address” is the first part of the packet to be sent and is a list of data characters that represents either the identity of the destination node or the path that the packet has to take through a SpaceWire network to reach to the destination node. In the case of a point-to-point link directly between two nodes (no routers in between) the destination address is not necessary.
The “Cargo” is the data to be transferred from source to destination. Any number of data bytes can be transferred in the cargo of a SpaceWire packet.
The “End_of_Packet” is used to indicate the end of a packet. The data character following an End_of_Packet is the start of the next packet. There is no limit on the size of a SpaceWire packet.
As can be seen the packet format for SpaceWire is very simple. It is, however, also very powerful, allowing SpaceWire to be used to carry a range of user protocols, with minimal overhead.