
User Manual
E727T0005, valid for E-727
BRO, 2019-06-28
Physik Instrumente (PI) GmbH & Co. KG, Auf der Roemerstrasse 1, 76228 Karlsruhe, Germany
Page 149 / 240
Phone +49 721 4846-0, Fax +49 721 4846-1019, Email
The bits of ST (bit 0 through bit 2) are set by the receiver of a data stream. The bits have the
following meaning (bit 3 is currently not used and reserved for future applications):
ACK (bit 0):
0 = No data and no stream initialization received through data segment 2, or data
processing is not yet finished, or CRC error occured.
1 = Acknowledge: receiver tells that valid data was received through data segment 2
and has been processed, or a stream initialization has been processed.
When this bit is zero then the RToggle bit has no meaning.
RToggle (bit 1):
When the ACK bit is non-zero then this bit reflects the most recently received SToggle
bit. With this the sender can check if the acknowledge response matches the sent data
fraction.
When the sender receives an acknowledge and the RToggle bit matches the SToggle bit
then the sender transmits the next data fraction.
CRCError (bit 2):
Tells the sender that the last data packet transmission failed. This bit is always set when
an CRC error occurred, regardless if data segment 2 of the data packet contained a data
stream or not.
The bits of PID (bit 4 through bit 7) determine the interpretation of data segment 1 (DS1) and data
segment 2 (DS2). At present, the PID bits always have to be set as shown above which means that
DS1 is used for axis position data transfer and DS2 for transfer of GCS commands or flag bits.
Transfer of a fraction of a data stream (maximum 2 bytes):
Only one byte is transferred (DataCtrl ≠ (0, 0) and DataCtrl ≠ (0, 1) and TwoBytes = 0). In this case
only byte 1 of data segment 2 is used whereas the unused higher byte is set zero:
Data segment 2
0
Byte 1
Two bytes are transferred (DataCtrl ≠ (0, 0) and DataCtrl ≠ (0, 1) and TwoBytes = 1). Both bytes of
data segment 2 are used:
Data segment 2
Byte 2
Byte 1
When no bytes are transferred (DataCtrl = (0, 0) or DataCtrl = (0, 1)) then the PI-controller uses the
two bytes of data segment 2 to send controller flags (OnTarget flags, for example). The PI-
controller always sends the maximum possible number of flags. The CNT1 value does not influence
the number of transferred flags.
Data segment 2
Bit 15
Bit 14
… Bit 2
Bit 1
Bit 0
Flag 16 Flag 15 … Flag 3 Flag 2 Flag 1
The data segment 2 bytes are transferred with the highest bit first and the lowest bit last.