Handling Empty Packets; Description - Eads Astrium SMCS332SpW User Manual

Interface between three spacewire links
Table of Contents

Advertisement

12 Handling Empty Packets

12.1 Description

Due to an anomaly in the SpaceWire CODEC (Coder / Decoder) version 1.4, which is used in the SMCS332SpW, the
SMCS332SpW behavior is affected when more than one empty packet is received in a row. In this case the credit count is
not updated correctly. Please note, that empty packets are normally not expected. The SMCS332SpW never transmits empty
packets; however the problem may occur when the SMCS332SpW receives empty packets.
For example if <data><EOP><EOP><EOP> is received then the receive credit counter is incremented only for one EOP.
However, the transmit credit counter at the other end of the link would have been incremented once for each EOP. This gives
rise to a discrepancy between the two FCT counters.
The handling of empty packets is specifically mentioned in the SpaceWire standard (sub-clause 8.9.3). EOPs and EEPs
should always be counted in the credit counter (sub-clause 8.3 i). EOPs and EEPs are NChars. This means that the
SpaceWire CODEC version 1.4 and therefore the SMCS332SpW are NOT fully compliant with the SpaceWire standard.
Detailed Description:
The SMCS332Spw has space for 16 characters in the receive buffer. After reading 8 characters (data or EOP/EEP) from the
receive buffer, a FCT will be sent to the transmitting link node. Empty packets, except for the first empty packet after a link
initialization, are deleted before writing to the receive buffer, therefore these packets (EOP's) do not increment the receive
credit counter. This causes a discrepancy between the receiver and the transmitter credit counter. A discrepancy of 8 (eight
empty packets), causes a slow-down of the link. If the discrepancy is greater than 8, the link runs into a deadlock situation,
because the SMCS332Spw will not send a FCT and the credit counter of the transmitter is expired.
Scenario 1
Credit Tx
2 FCT
16
8 EOP
8
1 EOP
7
7 Data Bytes
0
1 FCT
8
1 EOP
7
1 EOP
6
6 Data Bytes
0
SMCS332SpW
User Manual
Discr
0
7
1
8
1
8
1
8
1
8
2
9
2
9
DEADLOCK , Discrepancy = 9
– All Rights Reserved – Copyright per DIN 34 –
Credit SMCS332
Rx Buffer
16
15
1 EOP
15
8
7 Byte
16
15
1 EOP
15
9
6 Byte
EADS Astrium GmbH, ASE2
Doc No: SMCS_ASTD_UM_100
Issue:
1.4
Updated: 9-Sep-2006
Page:
110 of 131
Remark
Link Initialisation
7 empty packets*
1 empty packet
1 empty packet

Advertisement

Table of Contents
loading

Table of Contents