
GR716-DS-UM, May 2019, Version 1.29
298
www.cobham.com/gaisler
GR716
col ID. Note also that packets with the reserved extended protocol identifier (ID = 0x000000) are not
ignored by the core. It is up to the client receiving the packets to ignore them.
When transmitting packets, the address and protocol-ID fields must be included in the buffers from
where data is fetched. They are
not
automatically added by the core.
Figure 49 shows the packet types accepted by the core. The core also allows reception and transmis-
sion with extended protocol identifiers but without support for RMAP CRC calculations and the
RMAP target.
33.3
Link interface
The link interface handles the communication on the SpaceWire network and consists of a transmitter,
receiver, a FSM and FIFO interfaces. An overview of the architecture is found in figure 48.
33.3.1 Link interface FSM
The FSM controls the link interface (a more detailed description is found in the SpaceWire standard).
The low-level protocol handling (the signal and character level of the SpaceWire standard) is handled
by the transmitter and receiver while the FSM handles the exchange level.
The link interface FSM is controlled through the Control register (CTRL). The link can be disabled
through the CTRL.LD bit, which depending on the current state, either prevents the link interface
from reaching the started state or forces it to the error-reset state. When the link is not disabled, the
link interface FSM is allowed to enter the started-state when either the CTRL.LS bit is set or when a
NULL character has been received and the CTRL.AS bit is set.
The state of the link interface determines which type of characters that are allowed to be transmitted,
which together with the requests made from the host interfaces determine what character will be sent.
Time-codes are sent when the FSM is in the run-state and a request is made through the time-interface
(described in section 33.4).
When the link interface is in the connecting- or run-state it is allowed to send FCTs. FCTs are sent
automatically by the link interface when possible. This is done based on the maximum value of 56 for
the outstanding credit counter and the currently free space in the receiver N-Char FIFO. FCTs are sent
as long as the outstanding counter is less than or equal to 48 and there are at least 8 more empty FIFO
entries than the counter value.
N-Chars are sent in the run-state when they are available from the transmitter FIFO and there are
credits available. NULLs are sent when no other character transmission is requested, or when the
FSM is in a state where no other transmissions are allowed.
The credit counter (incoming credits) is automatically increased when a FCTs is received, and
decreased when N-Chars are transmitted. Received N-Chars are stored to the receiver N-Char FIFO
for further handling by the DMA interface. Received Time-codes are handled by the time-interface.
33.3.2 Transmitter
The state of the FSM, credit counters, requests from the time-interface and requests from the DMA-
interface are used to decide the next character to be transmitted. The type of character and the charac-
Figure 49.
The SpaceWire packet types supported by the core.
Addr ProtID
Dn-2
..
D3
D2
D1
D0
Dn-1
EOP
Addr
D0
Dm-2
..
D4
D3
D2
D1
Dm-1
EOP