
DCN Next Generation Open Interface Release 2.4 General
en | 21
Bosch Communications Systems | 2007 February | SRS_INF | Du010933
4.1.2.3 Escape Byte handling
To identify the header uniquely within a stream of bytes is difficult, because the data may also
hold the same sequence as the header. Therefore an escape byte is used to make the
header unique. The escape byte holds the value 0xC8. Because the data to be transmitted
could also contain the escape value, this implies that the data must be scanned to translate
the escape value into an escape sequence.
The ‘full’ feature protocol uses the 0xC8 byte value as escape sequence. This escape
sequence is always followed by another character-byte, which informs the actual function of
the bytes. The following character-bytes (header type) are defined:
0xC8 The 0xC8 byte is defined. This sequence is mostly used within the
message if the message contains the 0xC8-byte (converted during
message preparation).
‘$’ The escape sequence defines the header of a new data packet. The
header will be followed by a message and a checksum section.
‘@’ The escape sequence defines a acknowledge packet
‘#’ The escape sequence defines a negative acknowledge packet
‘?’ The escape sequence defines a heartbeat packet
others.... Invalid escape sequence. The packet is assumed to have errors and
therefore is ignored (after transmission of a NAK-message).
Note: The byte extension used for the escape-byte is not used for the checksum calculation.
The escape sequences should be first detected, solved and then the checksum should be
calculated.
4.1.2.4 Protocol handling
The communication between the CCU and the remote controller is done using a RS-232
interface. The data is checked for errors using the checksum received and an acknowledge
message is sent according to the result.
Figure 3 shows the state transition diagram of the ‘Full’ feature protocol. Note that in the
figure the heartbeat mechanism is not present. The heartbeat time-out can be seen as an exit
from the state transition diagram.
Komentarze do niniejszej Instrukcji