6.1. RS- 485/232 Communication Protocol:
General Description
Communication between the Local Site Controller LSC and the
STAR READER is based on the master/slave approach. The LSC
is the MASTER unit, the READERS are the SLAVE units.
The LSC and the READERS communicate via a RS-485 multi
drop or RS-232 connection. Each READER has its own address,
enabling the LSC to approach each reader individually.
6.2. Physical Layer
6.2.1. Down-link
Down-link is the link from the LSC to the READERS. The link is
RS-485 or RS-232 half duplex. Data rate can be one of the
following: 2400, 4800, 9600, 19200, 38400 BPS. The default rate
is set at 9600 BPS.
6.2.2. Up-link
Up-link is the link from the READERS to the LSC. The link is
RS-485 or RS-232 half duplex. Data rate can be one of the
following: 2400, 4800, 9600, 19200, 38400 BPS. The default rate
is set at 9600 BPS.
6.3. Protocol Flow.
Communication is initiated by a command sent by the LSC to the
READER. The READER executes the command and responds
accordingly. In a long command session, the session is concluded
when the LSC acknowledges the READER within T = 50 msec.
ACK
If the READERS are in sleep mode, the LSC must ensure they are
awakened prior to the initialization of the session. In this case, the
LSC should wait T = 50 msec before sending the main command.
There are 2 types of commands: SHORT COMMANDS and LONG
COMMANDS.
Short Commands: These are commands that are relevant to
internal tasks at the reader level.
Long Commands: These commands involve sessions with seals.
The READER will respond to commands generated by the LSC
within T seconds.
For short commands, response time should be: T = 50 msec.
RLSC
RLSC
For long commands, the LSC should return to retrieve the results
after T with the appropriate GET RESULTS command.
Tis a derivative of the type of command executed to the seals.
session
session
Acknowledge can be positive or negative.
If the LSC detects a problem, Acknowledge will be negative.
The READERS are designed to work in cycles. Following an
internal or external trigger, a READER SESSION is generated.
This is a full communication cycle going back and forth between
a READER and the tags located in the READER's receiving zone.
The LSC operates differently The READERs are scanned on a
different time line, using the same frequency as that of the
READER's cycles or greater.
This protocol supports RS-485 and RS-232 communication
fashions. When working with the LSC using RS-232 communication
opposite only one device, address fields should be set to 0xFFFF.
When using RS-485 communication in broadcast situations, the
address field should be set to 0x0000.
STX This is the marker for the beginning of the
messages. STX = 02 hex.
#B String length, the string contains the R#,CMND,
the DATA field, and the CRC.
R# This session's READER address .
CMND This session's command code .
DATA The data field contains the data required to execute
the command
CRC This is the cyclic redundancy check for DATA and
fields #B, R#, CMND.
ETX This is the marker for the end of the messages.
ETX = 03 hex.
6.4.1.1. CRC Calculation.
CRC calculations are based on the following CCITT polynomial:
The command field is divided into several sections:
Where:
DIR Denotes string direction. In case of a command
from the LSC to the reader, it is equal to 0.
PK Denotes whether the command transmitted is
composed of packets or not. PK = 0 is for non-packet
commands. PK = 1 is for packet commands.
ERR this flag indicates an error.
ERR = 0 no error.
ERR = 1 Error. The first byte in the data field is the
error code.
CT Is the scenario command type. It describes the
CC
RS 485/232 Communication Protocol
command type, and whether it is in short or long form
00000 designates SHORT commands that stream
from the LCR to the Reader for MCU purposes.
00011 is for LONG commands.
This is the command code .
This is the marker for the beginning of the messages.
STX=02 hex.
String length, the string contains the R#, MSGT, MC,
R_status, the DATA field and the CRC.
This is the address of the READER for the current
session.
This is the message type response for the current
session. The MSGT corresponds to a specific
command (see paragraph 6.4.2.1)
This is the message code (see paragraph 5.2)
This is the status field of the reader. The field contains
bytes A&B (see paragraph 6.4.2.2)
The data field contains the relevant response data.
This is the cyclic redundancy check for fields #B,
MSGT, R_status and DATA.
This is the marker for the end of the messages.
ETX=03 hex.
The Message Type field is divided into several sections:
Where:
RS 485/232 Communication Protocol
DIR
PK
ERR
MT
MC
Is the string direction.Response will be 1.
Denotes whether the transmitted message is
composed of packets. A response of 1 indicates
that the message is composed of packets. If the
response is 0, the message was transmitted without
packets. (If PK=0 there must be 1 reserved data byte).
This flag indicates an error.
ERR = 0 no error.
ERR = 1 Error. The first byte in the data field stores
the error code.
This code reflects the nature of the response. A
regular response to a command has the same value
as the CC (See paragraph 6.4.1.2).
This field holds the same value as the Command
Code of the related commands. This field makes it
possible to link the response to the appropriate
command.
Byte A represents the status of the main motherboard MCU.
The other bytes represent the RF modems' status.
In a general Reader response the R-Status reply contains
bytes A&B only.
In a GET Status command, the reply contains all the R-Status
bytes.
Byte A:
Where:
LCK
If the response shows 0, the READER's parameters
are locked.
If the response is 1, the READER's parameters
are unlocked.
If the response is 0, the READER is using RS-232
mode for communication.
485
If the response shows 1, the READER is using
RS-485 mode for communication.
PCR
If the response shows 0, the parameters in the MCU's
2
E ROM are OK.
If the reponse is 1, parameters were corrupted and
successfully restored.
If 0, channel is OK
If 1, channel is defective, details are in byte C. If
byte C flags are OK, there is a communication
failure with this channel.I
If 0, channe2 is OK.
If 1, channe2 is defective, details are in byte C.
If byte C flags are OK, there is a communication
failure with this channel.
If 0, channe3 is OK.
If 1, channe3 is defective, details are in byte D. If
byte D flags are OK, there is a communication
failure with this channel.
If 0, channe4 is OK.
If 1, channe4 is defective, details are in byte D.
If byte D flags are OK, there is a communication
failure with this channel.
VCCERR
If 0, power is OK.
If 1, power is not faulty
PMC
EMC
EME
If 0, program memory in the module is OK.
If 1, program memory is corrupted.
If 0, E ROM is OK.
If 1, E ROM was corrupted and then restored.
If 0, E ROM is OK.
If 1, E ROM was corrupted.
Maximum total message length is 128 bytes.
Maximum Data* length is 115 bytes.
6.4.2.3.1. Packed Data from the LSC.
When the packets originate with the LSC, each packet will be
transmitted after an appropriate response from the READER.
The LSC may retransmit the last packet upon receipt of a
response indicating that the last packet was not received
satisfactorily.
6.4.2.3.2. Packed Data from the READER.
When the packets originate with the READER, each packet will be
transmitted after an appropriate acknowledgement from the LSC.
The READER may retransmit the last packet upon receipt of an
acknowledgment indicating that the packet was not received
satisfactorily
The first byte is the total number of packets in
the string.
The second byte is the packet serial number.
The third byte is the channel number from which
the message is received.