The simplest and most widespread use of SpaceWire is to connect a high data-rate instrument directly to an onboard mass memory. This arrangement is illustrated in Figure 5.
Figure 5 Point to Point Link
The instrument can send SpaceWire packets containing the instrument data directly to the memory over the SpaceWire link. The data can be packaged into SpaceWire packets with a size appropriate to the application. For example if the instrument is some form of push broom imager it may be appropriate to send one line of the image at a time e.g. 34 kbyte packets. If the instrument is a camera a complete image could be transferred in one packet e.g. 2 Mbytes.
The instrument can simply send data to the memory once it has collected the data or the memory could send a command to the instrument to ask for the next set of data. SpaceWire includes low-level flow control so that if the memory is not ready the instrument is unable to send data until the memory becomes ready. This means that if the memory is not able to accept data from the camera as soon as it is ready, the camera will have to buffer the data.
The advantages of this type of architecture are:
- Low power per Mbit/s
- Full bandwidth of link available to application
The disadvantages are:
- No redundancy – if the link fails the instrument is lost.
- May be inefficient if link bandwidth not fully utilised
This latter point serves to highlight another capability of SpaceWire. A SpaceWire interface can initialise very rapidly (20 µs). If an instrument provides data in bursts or occasionally on demand, then it is possible to turn off the link when it is not being used. If one end of the link is set to auto-start mode it will start up as soon as some traffic appears on the link. So, for example, if the instrument is to send data to the memory occasionally when it has detected some event, the SpaceWire interface on the memory may be put into auto-start mode. The SpaceWire interface in the memory will stop and wait listening for any traffic on its input. The instrument can then switch off its SpaceWire interface. When an event occurs the SpaceWire interface in the instrument is enabled and started, the initialisation traffic on the link is detected by the SpaceWire interface in the memory unit causing its link to start and a connection to be made. The instrument can then transfer its data. It takes just 20 µs to achieve this connection.
The type of application where the single point to point link is used is for the direct connection of an instrument to memory where no fault tolerance is required i.e. it is acceptable that if the SpaceWire link fails the instrument is lost.