Manual EKS Electronic-Key Adapter USB
Page 28/34 Subject to technical modifications 2094485-05-07/19
8.3.1.2 The 3964R transfer protocol [1]
Unlike protocol-free data transfer procedures, 3964R is a data transfer procedure with protocol. This means that
the actual data that need to be transferred are enclosed in specific control characters. The 3964R driver permits
comparatively reliable data transfer as the recipient must signal to the sender readiness to receive (connection
setup) and acknowledge correct reception after completion of data transfer. With the 3964R transfer protocol,
data integrity is increased by an additional block check character.
The 3964R driver interprets the following control characters:
DLE (10
hex
) Acknowledgment (Data Link Escape)
STX (02
hex
) Start of Text
NAK (15
hex
) Negative Acknowledgement
ETX (03
hex
) End of Text
At the end of each data block in the 3964R transfer protocol, a block check character (for short: BCC) is sent
to assure data integrity. The block check character is the even longitudinal parity (XOR operator on all data
bytes) of a block sent or received. The block check character is formed starting with the first byte of the
message core after the connection is set up and ends after the characters DLE and ETX during connection
termination.
8.3.1.3 The control system sends
[1]
To set up the connection, the control system sends the control character STX. If, before the acknowledgment
delay time (ADT, typically: 2 s) elapses, the peripheral device responds with the control character DLE, the
control system switches to transfer mode. If the peripheral device responds with the control character NAK, any
other character (except DLE) or the acknowledgment delay time elapses without a reaction, the attempt to set
up the connection has failed. After a total of six unsuccessful attempts (3964R protocol specification) the
process is aborted. If the attempt to set up the connection is successful, the characters with the user information
as contained in the send buffer in the control system are transferred to the peripheral device at the selected
transfer speed. The peripheral device monitors the amount of time between the incoming characters. The gap
between two characters must not be more than the character delay time (CDT, typically: 100 ms).
All 10
hex
values contained in the message core must be sent twice so that the recipient recognizes that user
data are being transferred and not the control character DLE (DLE duplication).
After the user data have been sent, the control system adds the following characters as an end identifier: DLE
ETX BCC.
Then the control system waits for an acknowledgment character from the peripheral device. If the peripheral
device sends the control character DLE within the acknowledgment delay time (ADT, typically: 2 s), the data
block has been received correctly. If, on the other hand, the peripheral device responds with the control
character NAK, any other character or the acknowledgment delay time elapses without a reaction, the control
system starts again from the beginning by setting up a connection with STX. After a total of six unsuccessful
attempts (3964R protocol specification) to send the data block, the process is aborted and the control system
sends the control character NAK to the peripheral device.
8.3.1.4 The control system receives
[1]
If the control system receives the control character STX from the peripheral device when the control system is
idle, it responds with DLE. If the control system receives another character (except STX) when it is idle, it waits
until the character delay time (CDT, typically: 100 ms) has elapsed and then sends the control character NAK.
After each character, the next character is awaited during the character delay time (CDT). If the character delay
time elapses without the reception of a character, the control character NAK is sent to the peripheral device.