Host Data Bus / Gpio Port; Restrictions; Wormhole Routing; Overview - Eads Astrium SMCS332SpW User Manual

Interface between three spacewire links
Table of Contents

Advertisement

5.4.4

Host Data Bus / GPIO Port

If the SMCS332SpW is in remote mode, the HOCI cannot be used to control the SMCS332SpW locally. Instead, the 32-bit
wide data bus of the HOCI can be used as GPIO port. Four registers are provided to control the direction of each line of the
32-bit wide GPIO port. This means that each line of the GPIO port can be configured as input or as output. After a reset, the
GPIO port is configured that all lines are input lines. In addition, four extra registers are provided to write data to the GPIO
port outputs and to read data from the GPIO port inputs.
The GPIO port outputs are latched so that the value written to a specific bit will not change unless programmed accordingly.
As an example, a single-shot pulse on one of the GPIO output lines (0-1-0) needs to be programmed remotely by writing a
'0', a '1' and another '0' to the appropriate GPIO register. The pulse width of such a pulse depends on the selected link speed
and the operating frequency of the SMCS332SpW as well as the remote SpaceWire controller.
5.4.5

Restrictions

The SpaceWire link, which controls the SMCS332SpW, must be a direct link (point to point) connection.
Using the control link, all internal registers of the SMCS332SpW can be addressed. In addition, the GPIO port can be
accessed via the control link. The only exception is that the receive part of the COMI associated with the control link cannot
be used. This limitation is imposed since every byte received on the control link is interpreted as a command and therefore
no data can be written into the communication memory via the control link. However, the transmit part of the COMI
associated with the control link can be used to transfer data from the SMCS332SpW under remote control to another
SpaceWire controller.
If data needs to be transferred via the COMI to an external device of the remotely controlled SMCS332SpW (e.g. memory),
an additional link must be used for that purpose. The registers for that link can then be set via the control link.
The block diagram below shows a typical constellation of a remotely controlled SMCS332SpW controlled via link 2 from
another SpaceWire device (in this case an SMCS332SpW). Note that if data is to be written to the RAM of the remote-
controlled SMCS332SpW, an extra link (in the figure below this is link 1) needs to be used.
5.5

Wormhole Routing

5.5.1

Overview

To enable packets to be routed, each packet has a header at the front which contains routing information. The SMCS332SpW
uses the header of each incoming packet to determine the link to be used to output the packet. Anything after the header is
treated as the packet body until the packet terminator is received. This enables the SMCS332SpW to transmit packets of
arbitrary length.
In most packet switching networks complete packets are stored internally, decoded and then routed to the destination node.
This causes relatively long delays due to the high latency at each node. To overcome this limitation, the SMCS332SpW uses
wormhole routing, in which the routing decision is taken as soon as the routing information, which is contained in the packet
header, has been input. Therefore the packet header can be received, and the routing decision taken, before the whole packet
has been transmitted by the source. A packet may be passing through several nodes at one time, thereby pipelining the
transmission of the packet. The term wormhole routing comes from the analogy of a worm crawling through soil, creating a
SMCS332SpW
User Manual
– All Rights Reserved – Copyright per DIN 34 –
EADS Astrium GmbH, ASE2
Doc No: SMCS_ASTD_UM_100
Issue:
1.4
Updated: 9-Sep-2006
Page:
49 of 131

Advertisement

Table of Contents
loading

Table of Contents