
Page 32
barrier, the barrier is lifted - all of the waiting ports send their queued data (possibly after a configurable delay for
each port). When the barrier is lifted, a time-tag is returned to the host computer.
Incidentally, the lifting of the Synchronized Outputs barrier is the best mechanism to time-tag a transmitted
character using the 4Links EtherSpaceLink family of products - all other time-tags are of received data.
It is advisable to ensure that the data after the barrier have arrived before the barrier is lifted, regardless of
operating system and network delays. Use of the
EtherSpaceLink_STORE
and
EtherSpaceLink_FORWARD
characters can achieve this.
One might contemplate inserting idle periods (i.e.
SpWIO
’s “
=
” 4-bit delay) after the barrier position so that
outputs may be synchronized, but with a defined skew. For example, one output might be set to start 20 ns after
another starts. This would risk causing a disconnect timeout, so option SO’s barrier should be followed by a token
that causes a transition on the line - such as a NULL character – before any idle period is added.
We suggest that familiarisation with this feature is gained with the
SpWIO
program before using it from a C
program. There are further examples in the
SpWIO
manual.
The following example of Synchronized Outputs was run on a DSI, with ports 1 and 3 connected to ports 2 and 7
respectively of a 4Links Multi-link SpaceWire Recorder (MSR) unit, using cables approximately 0.5m long.
SpaceWire loopback connectors were installed in the port 1 and port 8 connectors of the MSR, as shown in Figure
12-1. The time-tags of the two units were synchronised together using their rear SMA connectors.
F
IGURE
12-1
T
WO LOOPBACK PATHS FROM A
DSI
THROUGH PAIRS OF PORTS ON AN
MSR
SpWIO
was used on the DSI to set up a barrier for two three-byte packets on ports 1 and 3. When the barrier
was released, the packets travelled to the MSR, through the internal MSR connections from ports 2 to 1 and 7 to
8, around the loopback connectors, back from ports 1 to 2 and 8 to 7, and eventually back to ports 1 and 3 on the
DSI. Upon receipt, the DSI was instructed to time-tag the returning packets.
java -jar SpWIO.jar /s 200 /w se /u 192.168.3.42
//-4Links.SpWIO (v24:20111201/v33:20110920)
//-/s 200 /w se /u 192.168.3.42
//-Attached 192.168.3.42 is DSI-RG40x/8 v1.9 [EI,EW,ER,TT,SO],
//- 8-ports, link mode is normal at 200Mb/s
//-Input from "(console)"