Network Operation (Continued)
Two different maximum retry count levels are stored in firmware. The higher value is used once a link has been established.
In the case of broadcast mode, each packet is simply sent
eight times, and correct receipt by all the Slaves is not guaranteed.
LINK AND NETWORK LAYERS
This section presents a description of link and network layer
operation.
Address Structure
The Master carries a two-bit network address, set via the
initialization command, or by default at 00.
The Slave carries a two-bit network address, and an eightbit Slave address. The network address is set via the initialization command, or by default at zero. The Slave address is
set by the initialization command, by hardware dip switches
if connected, or by default to FF (Hex). Slave addresses 00
and FF are reserved; 00 is an illegal attribute for a Slave,
and is used internally for broadcast; FF is reserved for a
contention channel and for address assignment.
The Slave will only respond to a packet from a Master that
bears both network and Slave addresses which match its
own.
This structure permits the creation of a network containing
254 Slaves and one Master, up to four such networks can
operate concurrently on different frequency-division-multiplexed channels. In this configuration, the benefits of frequency-hopping are not available, but higher aggregate
throughput is obtained if the channel quality is relatively
good. The Master’s host can create one network with 1016
slaves by changing the Master’s address field periodically.
General Command Structure
The system can operate either in transparent mode, where
the physical layer is available to the host, or in network
mode, where the link layer is available to the host. This
choice is determined by the polarity of the NE/TRNSP pin,
which is read by the microprocessor during its initialization
sequence.
In transparent mode, the data present at the input is transferred to the output of all other modems on the same electrically connected power line bus. Addressing, media access
control, error control and error recovery are the responsibility of the user. In this mode, the controller is not in the data
path, and is used only to establish bit rate, frequency, and
gain.
In network mode, a set of commands is provided which implement a Master-Slave local area network protocol, optimized for hierarchical control and data acquisition applications. The network mode includes a host-modem command
set which includes:
#
Network Commands, which permit:
Ð polling of a range of Slave addresses in order to collect
data
Ð broadcast of data to all Slaves
Ð a continuous, full duplex error-free link to any individual
address
#
Test Commands, which permit:
Ð installation
Ð debugging
Ð network qualification
#
Commands which control physical layer operation.
The detailed syntax of all the commands is described below.
If a modem receives an illegal command code (character
following
kk
ESCllis not one of the command codes
listed for Master or Slave, as the case may be), it will output
kk
ESC
ll kk
BELLll. If the modem is a Master, it will
return to default state (autopoll address 1).
Commands are distinguished from data in different ways,
depending on whether the chip set is configured for serial or
parallel operation.
In serial operation, commands and status responses are
prefixed by an
kk
ESCllcharacter. The interface reverts
to data mode after transfer of a legal command syntax (or a
sequence comprising illegal syntax). To transmit an escape
character in the application data stream, send
kk
ESC
llkk
ESCll.
In parallel mode, commands and responses are distinguished from data by two pins on the parallel interface:
COMMAND for input to the chip and STATUS for output
from the chip. The respective pin should be placed in HIGH
state by the device performing data output prior to the availability of data. A signal on one of these two pins replaces
the
kk
ESCllcharacters described for the serial port;
kk
ESCllcharacters are not required to designate com-
mands when operating in parallel mode.
The symbol[CMD]will be used here to indicate the command signal. In serial mode[CMD]stands for an
kk
ESCllcharacter. In parallel mode[CMD]means that
either the COMMAND or STATUS line was asserted (set
LOW). In either case,[CMD]designates the following characters to be a command or a response, not data. The length
of each command or response is determined by context.
Every command will generate a response proceeded with a
[
CMD]and followed by an
kk
ACKll,kkNAKll,
kkSIllorkkSOll
. After issuing a command to its
modem, a host should not send anything (neither data nor
new command) to the modem until it receives a response to
the last command from the modem. Anything sent to the
modem after issuing a command but before receiving a response to it will be discarded.
A Flush Buffer Command is provided to handle the following
situation: If a Slave’s host fails during reception of data from
the Slave and leaves the Slave’s output inhibited by the flow
control lines, the result will be that the Slave’s buffer fills
with data. The Slave will then stop accepting data, causing
the Master’s buffers to fill up. The Master in turn signals its
host, via flow control, to stop sending data. In this situation
the Master’s host will not be able to transfer further data to
any Slave until the data buffered by the Master is successfully transmitted. In this case, the Master’s host can issue
the Flush Buffer Command, which will destroy data currently
buffered and waiting to be sent, and return the system to
default autopoll mode.
The timing of the interaction between Master’s host, Master,
Slave, and Slave’s host can best be understood by reviewing the examples that follow, which are based on serial
mode operation.
17