Atmel SpW-10X Network Router User Manual


 
Ref.:
UoD_SpW-10X_
UserManual
Issue:
3.4
SpW-10X
SpaceWire Router
User Manual
Date:
11
th
July 2008
Preliminary
95
8.3.5 Packet Blocking
The Time-Out Enable bit (bit 0) of the router control register enables the watchdog timers on the ports.
When this bit is set and the watchdog timers are enabled the router is in “Watchdog Timer” mode.
When it is clear and the watchdog timers are disable then the router is in the “Blocking Allowed”mode.
In Blocking Allowed mode packets wait indefinitely on other packets to complete. An exception to this
is when an output port that a packet is to be routed to is a SpaceWire port and that port is not started.
In this case the packet waits as long as the timeout period and is then discarded if the output port has
not started. If group adaptive routing is being used and at least one of the destination ports is running
then the packet will wait indefinitely for that output port to become free or another one in the group to
start.
In Watchdog Timer mode watchdog timers on the ports are used to clear packets from the network if
they become blocked, either while being routed or while waiting on a port which is not granted to any
other port. The watchdog timers are restarted every time a data character is transferred. They are
stopped after an EOP and started again on the first data character of a packet. In this way the time to
transfer a complete packet is not checked but instead the watchdog timers check if a packet has
blocked (i.e. no data transfers).
A blocked packet is spilt by terminating the packet at the router output port with an EEP and spilling
the remainder of the packet to be transmitted up to and including the EOP at the router input port. If
the router output port is blocked (full) and cannot accept data then the EEP is added after the port is
unblocked.
WARNING
Blocking Allowed mode is not recommended and should be used with caution.
When Blocking Allowed mode is used (Watchdog timers disabled) then it is important that provision is
made for a network manager to detect blocking situations and to reset the nodes or routers causing
the problem.
The various ways in which an input port can become blocked and the resulting actions taken by the
router are considered in the following sub-sections:
8.3.5.1 Blocked destination
In a blocked destination scenario data cannot be transmitted to the destination port because there is
no more transmit credit (no more FCTs received) in a SpaceWire port or an external port output FIFO
has become full. Since the destination node is blocked the packet data is left strung out across the
SpaceWire network from the packet source to the blockage. In this situation the tail of the packet is
distributed across multiple routers and other network paths can become blocked waiting on the
original blocked packet to complete.