Manual EKS Electronic-Key Adapter USB
Page 38/44
Subject to technical modifications
094485-04-11/13
8.3.1.2 The 3964R transfer protocol [1]
Unlike protocol-free data transfer procedures, 3964R is a data transfer 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 the 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
)
D
ata
L
ink
E
scape
STX
(02
hex
)
S
tart of
T
e
x
t
NAK
(15
hex
)
N
egative
A
c
k
nowledgement
ETX
(03
hex
)
E
nd of
T
e
x
t
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 acknowledgement
delay time (ADT, typically: 2 s) elapses the peripheral responds with the control character
DLE
, the control
system switches to transfer mode. If the peripheral responds with the control character
NAK
, any other
character (except
DLE
) or the acknowledgement 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 information as contained in
the send buffer in the control system are transferred to the peripheral at the selected transfer speed. The
peripheral 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 data is
being transferred here and not the control character
DLE
(DLE duplication)
.
After the user data has been sent, the control system adds the following characters as an
end identifier
:
DLE
ETX BCC
.
Then the control system waits for an acknowledgement character from the peripheral. If the peripheral sends
the control character
DLE
within the acknowledgement delay time (ADT, typically: 2 s), the data block has been
received correctly. If, on the other hand, the peripheral responds with the control character
NAK
, any other
character or the acknowledgement 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.
8.3.1.4 The control system receives
[1]
If the control system receives the control character
STX
from the peripheral 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.