USB & RS232 Communication
Data Link Layer
EPOS4 Communication Guide
CCMC | 2019-11 | rel8759
2-15
2.2.4
Byte Stuffing
The sequence “DLE” and “STX” are reserved for frame start synchronization. If the character “DLE” appears
at a position between “OpCode” and “CRC” and is not a starting character, the byte must be doubled (byte
stuffing). Otherwise, the protocol begins to synchronize for a new frame. The character “STX” needs not to
be doubled.
EXAMPLES:
Important:
Byte stuffing is used for all bytes (CRC included) in the frame except the starting characters.
2.2.5
Transmission Byte Order
To send and receive a word (16-bit) via the serial port, the low byte will be transmitted first.
Multiple byte data (word = 2 bytes, long word = 4 bytes) are transmitted starting with the less significant byte
(LSB) first.
A word will be transmitted in this order: byte0 (LSB), byte1 (MSB).
A long word will be transmitted in this order: byte0 (LSB), byte1, byte2, byte3 (MSB).
2.2.6
Data Format (RS232)
Data are transmitted in an asynchronous way, thus each data byte is transmitted individually with its own
start and stop bit. The format is 1 start bit, 8 data bits, no parity, 1 stop bit. Most serial communication chips
(SCI, UART) can generate such data format.
2.2.7
Timeout Handling
The timeout is handled over a complete frame. Hence, the timeout is evaluated over the sent data frame,
the command processing procedure and the response data frame. For each frame (frames, data process-
ing), the timer is reset and timeout handling will recommence.
Table 2-4
USB/RS232 communication – Timeout handling
Note
To cover special requirements, the timeout may be changed by writing to the Object Dictionary!
Sending Data
0x21,
0x90
, 0x45
Stuffed Data
0x21,
0x90
,
0x90
, 0x45
Sending Data
0x21,
0x90,
0x02,
0x45
Stuffed Data
0x21,
0x90
,
0x90
,
0x02
, 0x45
Sending Data
0x21,
0x90
,
0x90
, 0x45
Stuffed Data
0x21,
0x90
,
0x90
,
0x90
,
0x90
, 0x45
Object
Index
Subindex
Default
RS232 Frame Timeout
0x2005
0x00
500 [ms]
USB Frame Timeout
0x2006
0x00
500 [ms]