English
Language : 

COM20051 Datasheet, PDF (66/82 Pages) List of Unclassifed Manufacturers – Integrated Microcontroller and ARCNET (ANSI 878.1) Interface
USING ARCNET DIAGNOSTICS TO OPTIMIZE YOUR SYSTEM
EXcessive Negative ACKnowledgement
(EXNACK) Loops
Under certain conditions (node failure for
example), a particular node's receiver may not
become available. This will result in a NACK to
FBE response each time the transmitter attempts
to transmit a message. This can continue
endlessly without CPU intervention and degrade
network performance. In order to handle such
failures, the COM20051 incorporates an
EXNACK interrupt that will signal the CPU that it
has made a specified number of Free Buffer
requests which have not been acknowledged.
The limit is specified by the 4NACKS bit of the
Setup register of the ARCNET core. The default
value is 128 re-tries but can be reduced to four
by setting the 4NACKS bit. Once the limit is
reached, an interrupt is generated by the
ARCNET core. Note that FBEs will be issued
until the CPU takes appropriate action by either
aborting the transmission or continuing to retry.
The EXNACK (EXcessive Negative
ACKnowledge) Interrupt handler is a simple
procedure. For most applications, the Interrupt
handler will abort the transmission by issuing a
Disable Transmitter command. A Clear Flags
command must be issued to release the interrupt
and clear the EXNACK flag. Note that
housekeeping should be done to signify to
external procedures that the transmission was
aborted and is still not pending. Figure 22 shows
a typical flowchart of a EXNACK ISR.
Generating Network Maps
synchronizing the node to the token rotation time
using the DUPID feature. Whenever a node is
part of the network the DUPID bit will set when
the node's receiver detects its own transmit
activity in response to receipt of the token.
Reading the Diagnostic Status register resets the
DUPID bit. Resetting the bit and polling until the
DUPID is set will synchronize the node the token
rotation time. At this time a node ID value is
programmed into the TENTID register. Wait for
the Token or the Recon bits to be set and clear
Tent-ID bit. Then wait again for the Tent-ID bit
to be set during one token rotation time. This
process should continure until all node ID values
have been accounted for. There is one case in
which the TENTID does not function. The
TENTID detector cannot detect the node ID to
which the node is passing the token. This is
because the ARCNET core operates in a half-
duplex mode thus blocking the recevier while it is
transmitting the token. After compiling a node ID
table using the TENTID feature, the Next ID
register can be read to find out the missing ID
value.
In order to keep the map updated, the New Next
ID feature can be used to indicate changes in the
network. The New Next ID feature will interrupt
the processor any time the Next ID register is
updated. This occurs whenever a node drops
(causing a mini-recon) or when a node joins the
network (causing a full recon). Whenever the
Next ID interrupt is generated, a message should
be sent to the Master node identifying a change
in the network. The Master node can then update
the network map accordingly.
Most applications will require a table of existing Network Mapping While Off-Line
nodes to be stored somewhere in the system for
system administration and maintainence (it is The previous mapping algorithm described a fast
usually the master node). The DUPID, TENTID, method of building a network map while on-line
and New Next ID features are used to generate (being an active part of the network). Often it is
the Network Map. The map is generated by
desirable to build a map while off-line. A similar
algorithm is used, but instead of using the
TENTID feature the DUPID feature is used and
the new node IDs are programmed into the node
ID register. Since the node is not an active part
of the network, there is no reliable method of
66