GR712RC-UM, Jun 2017, Version 2.9 104 www.cobham.com/gaisler
GR712RC
16.2.2 Protocol support
The GRSPW only accepts packets with a valid destination address in the first received byte. Packets
with address mismatch will be silently discarded (except in promiscuous mode which is covered in
section 16.4.10).
The second byte is always interpreted as a protocol ID. The only protocol handled separately in hard-
ware is the RMAP protocol (ID=0x1) while other packets are stored to a DMA channel. If the RMAP
command handler is present and enabled all RMAP commands will be processed, executed and
replied automatically in hardware. Otherwise RMAP commands are stored to a DMA channel in the
same way as other packets. RMAP replies are always stored to a DMA channel. there is no need to
include a protocol ID in the packets and the data can start immediately after the address.
All packets arriving with the extended protocol ID (0x00) are stored to a DMA channel. This means
that the hardware RMAP command handler will not work if the incoming RMAP packets use the
extended protocol ID. Note also that packets with the reserved extended protocol identifier (ID =
0x000000) are not ignored by the GRSPW. 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 GRSPW.
Figure 60 shows a packet with a normal protocol identifier. The GRSPW also allows reception and
transmission with extended protocol identifiers but then the hardware RMAP and RMAP CRC calcu-
lations will not work.
16.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 59.
16.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. The link can be disabled through the
link disable 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 link start bit is set or when a NULL character
has been received and the autostart bit is set.
The current state of the link interface determines which type of characters are allowed to be transmit-
ted 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 16.3.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.
Figure 60. The SpaceWire packet with protocol ID that is expected by the GRSPW.
Addr ProtID Dn-2..D3D2D1D0 Dn-1 EOP