Chapter 4 Communications Protocols
TransCore Proprietary
4–45
When the host receives a properly framed message, it can calculate a 16-bit CRC value.
The calculation is applied to the character string that immediately follows the
<som>
and that ends with the character immediately preceding the first
<crc>
character.
Transmitted CRC value can then be compared with the binary equivalent of the
received
<crc>
characters. If the transmitted and received CRC values do not
match, the recipient assumes the message was received in error, and transmits a
NAK
message response.
<eom>
End-of-message characters (ASCII CR and LF). The system includes both a carriage
return (CR) and line feed (LF) to facilitate the use of terminals and printers.
If the host receives a
<som>
character in the middle of a data message, the message in
progress is aborted. The assumption is that an
<eom>
was lost and the MPRX is in the
process of retransmitting the previous message.
ECP Host ACK/NAK Response
With ECP, the host device responds to all data message transmissions from the MPRX using the following
acknowledgment or negative acknowledgment response format.
<som><seq><ack/nak><crc><eom>
where
<som>
Start-of-message (ASCII # character)
<seq>
Echo of the sequence number received from the MPRX. The sequence number should
correspond to the data message that is being positively or negatively acknowledged
by the host. If the MPRX receives an
ACK
message with the incorrect sequence
number, the data message is retransmitted.
The host device resets the anticipated data message sequence number to that of the
MPRX before communications can resume without error.
<ack/nak>
ASCII @ character for
ACK
response; ASCII ? character for
NAK
response
<crc>
CRC value for the message
<eom>
End-of-message character (ASCII CR)
The MPRX sets a user-programmable timeout delay at the time each message is transmitted based on
command
#612NN Set Error Correcting Protocol Timeout
, where NN = timeout delay.
To disable the timeout delay for diagnostic purposes, issue the command
#612FF Disable Error
Correcting Protocol Timeout.
If the timeout delay expires before the MPRX receives an
ACK
or
NAK
message from the host, a logical
NAK
condition will be declared. If the MPRX receives a
NAK
or timeout, the reader retransmits the data
message.
When the MPRX receives an
ACK
message, the system software treats the message as having been
properly received by the host. The software increments the sequence number, and advances pointers to
the next message in the MPRX’s message queue to prepare for sending the next message.
Содержание MPRX 10-7200-001
Страница 137: ......