Atmel SpaceWire Router SpW-10X Benutzerhandbuch

Seite von 155
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.