User`s manual

DS2100 User’s Manual SECTION 7: CANOPEN DRIVE PROFILE: DS402
PAGE 7-50 C27750-001
The buffer can be organised in 2 different ways, as either Ring buffer or FIFO queue, as shown in the diagram
below.
In the case of a FIFO queue, data is written into the queue (buffer position is ignored), and is read out on a
first-in-first-out basis. However data is only read on the occurrence of a Synchronisation trigger, (i.e. on
every n
th
occurrence of a CAN sync message). Upon the trigger occurring, all data is read. If additional
triggers occur during the resultant move, the triggers are ignored until all data is read.
The ring buffer is where data can be written in any order into a buffer, using the buffer position parameter,
and a ring pointer circularly read the contents of the buffer. There is no synchronisation to read new data
from the buffer, but rather, is constantly read. This results in a periodic waveform, with the period of the
waveform dependent on the size of the buffer.
Circular Buffer
Read Pointer
FIFO
Interpolated
Position Data
Sync
Time
Write Pointer
Sync Sync Sync
Read Pointer
Write Pointer
Read Pointer
Write Pointer
Data Data Data
Circular Buffer
Read Pointer
Ring
Interpolated
Position Data
Time
Write @ Buffer Pos
Data
Periodic Waveform (period based
on buffer size)
Figure 7.25 FIFO and Ring Organisation.