X90 mobile modules
X90 mobile system User's manual V 1.20 - Translation of the original manual
223
Example of Forward functionality on X2X Link
Forward functionality is a method that can be used to substantially increase the Flatstream data rate. The basic
principle is also used in other technical areas such as "pipelining" for microprocessors.
Function principle
X2X Link communication cycles through 5 different steps to transfer a Flatstream sequence. At least 5 bus cycles
are therefore required to successfully transfer the sequence.
Step I
Step II
Step III
Step IV
Step V
Actions
Transfer sequence from
transmit array,
increase SequenceCounter
Cyclic matching of MTU and
module buffer
Append sequence to re-
ceive array
Adjust SequenceAck
Cyclic matching of
MTU and module buffer
Check SequenceAck
Resource
Sender
(task to transmit)
Bus system
(direction 1)
Recipient
(task to receive)
Bus system
(direction 2)
Sender
(task for Ack checking)
Sequence 1
Sequence 2
Sequence 3
Step I
Step II
Step III
Step IV
Step V
. . .
Step I
Step II
Step III
Step IV
Step V
Time
Time
Sequence 1
Sequence 2
Sequence 3
Step I
Step II
Step III
Step IV
Step V
Step I
Step II
Step III
Step IV
Step V
Step I
Step II
Step III
Step IV
Step V
Bus cycle 1
Bus cycle 2
Bus cycle 3
Bus cycle 4
Bus cycle 5
Bus cycle 6
Bus cycle 7
Bus cycle 8
Bus cycle 9
Bus cycle 10
Bus cycle 1
Bus cycle 2
Bus cycle 3
Bus cycle 4
Bus cycle 5
Bus cycle 6
Bus cycle 7
Bus cycle 8
Bus cycle 9
Bus cycle 10
Figure 58: Comparison of transfer without/with Forward
Each of the 5 steps (tasks) requires different resources. If Forward functionality is not used, the sequences are
executed one after the other. Each resource is then only active if it is needed for the current sub-action.
With Forward, a resource that has executed its task can already be used for the next message. The condition for
enabling the MTU is changed to allow for this. Sequences are then passed to the MTU according to the timing. The
transmitting station no longer waits for an acknowledgment from SequenceAck, which means that the available
bandwidth can be used much more efficiently.
In the most ideal situation, all resources are working during each bus cycle. The receiver still has to acknowledge
every sequence received. Only when SequenceAck has been changed and checked by the transmitter is the
sequence considered as having been transferred successfully.