User's Manual

i-PORT MB – Manual
Version 1.1 02.02.2007 Page 18/
37
Using this procedure it is ensured, that neither the EOT nor the SOH character will appear in a message sent
by the reader and the host software gets a clear indication when a telegram starts and ends.
Please note, that due to these inserted characters the maximum telegram length can be nearly doubled so the
host program has to provide a sufficiently large reception buffer.
If an addressed device detects an error when receiving a command (f.e. CRC is not valid or an invalid
command is detected) the device will not respond to avoid collision of messages sent by multiple readers.
CRC calculation
Telegram integrity is ensured by adding a cyclic redundancy check to each frame.
The CRC16 is calculated according to the code provided in the appendix of this document. The CRC16 is
calculated over the entire message, including Addr and Cmnd, but excluding the delimiting characters SOH
and EOT and extra escaped characters.
Note: CRC is calculated by the sender before any DLE replacement of special characters takes place and
checked by the receiver after any DLE replacement sequence has been decoded.
General information
The protocol uses a query response scheme, so a reader does not send data unless requested to. As there is
no handshake over individual characters the host has to be able to receive the complete response.
The host shall check that there is enough memory to receive the full reader response.
If a host message is broadcasted to multiple readers using a broadcast address, there will be no response
from any reader.
The communication between readers and host is always with the Less Significant Byte transmitted first.
Any command sent by a host to a reader and decoded with no framing error will be acknowledged unless a
broadcast address has been used. In case of framing error during a message reception, the reader will not
process and not acknowledge the message.