English
Language : 

COM20020D Datasheet, PDF (41/72 Pages) SMSC Corporation – ULANC Revision D Universal Local Area Network Controller with 2K x 8 On-Board RAM
the message. The SID in Address 0 is used by
the receiving node to reply to the transmitting
node. The COM20020D puts the local ID in this
location, therefore it is not necessary to write into
this location. Please note that a short packet may
contain between 1 and 253 data bytes, while a
long packet may contain between 257 and 508
data bytes. A minimum value of 257 exists on a
long packet so that the COUNT is expressible in
eight bits. This leaves three exception packet
lengths which do not fit into either a short or long
packet; packet lengths of 254, 255, or 256 bytes.
If packets of these lengths must be sent, the user
must add dummy bytes to the packet in order to
make the packet fit into a long packet.
Once the packet is written into the buffer, the
microcontroller awaits a logic "1" on the TA bit,
indicating that a previous transmit command has
concluded and another may be issued. Each time
the message is loaded and a transmit command
issued, it will take a variable amount of time before
the message is transmitted, depending on the
traffic on the network and the location of the token
at the time the transmit command was issued.
The conclusion of the Transmit Command will
generate an interrupt if the Interrupt Mask allows
it. If the device is configured for the Command
Chaining operation, please see the Command
Chaining section for further detail on the transmit
sequence. Once the TA bit becomes a logic "1",
the microcontroller may issue the "Enable
Transmit from Page fnn" command, which resets
the TA and TMA bits to logic "0". If the message
is not a BROADCAST, the COM20020D
automatically sends a FREE BUFFER ENQUIRY
to the destination node in order to send the
message. At this point, one of four possibilities
may occur.
The first possibility is if a free buffer is available at
the destination node, in which case it responds
with an ACKnowledgement. At this point, the
COM20020D fetches the data from the Transmit
Buffer and performs the transmit sequence. If a
successful transmit sequence is completed, the
TMA bit and the TA bit are set to logic "1". If the
packet was not transmitted successfully, TMA will
not be set. A successful transmission occurs
when the receiving node responds to the packet
with an ACK. An unsuccessful transmission
occurs when the receiving node does not respond
to the packet.
The second possibility is if the destination node
responds to the Free Buffer Enquiry with a
Negative AcKnowledgement. A NAK occurs
when the RI bit of the destination node is a logic
"1". In this case, the token is passed on from the
transmitting node to the next node. The next time
the transmitter receives the token, it will again
transmit a FREE BUFFER ENQUIRY. If a NAK is
again received, the token is again passed onto the
next node. The Excessive NAK bit of the
Diagnostic Status Register is used to prevent an
endless sending of FBE's and NAK's. If no limit of
FBE-NAK sequences existed, the transmitting
node would continue issuing a Free Buffer
Enquiry, even though it would continuously
receive a NAK as a response. The EXCNAK bit
generates an interrupt (if enabled) in order to tell
the microcontroller to disable the transmitter via
the "Disable Transmitter" command. This causes
the transmission to be abandoned and the TA bit
to be set to a logic "1" when the node next
receives the token, while the TMA bit remains at a
logic "0". Please refer to the Improved Diagnostics
section for further detail on the EXCNAK bit.
The third possibility which may occur after a
FREE BUFFER ENQUIRY is issued is if the
destination node does not respond at all. In this
case, the TA bit is set to a logic "1", while the TMA
bit remains at a logic "0". The user should
determine whether the node should try to reissue
the transmit command.
The fourth possibility is if a non-traditional
response is received (some pattern other than
ACK or NAK, such as noise). In this case, the
token is not passed onto the next node, which
causes the Lost Token Timer of the next node to
time out, thus generating a network
reconfiguration.
The "Disable Transmitter" command may be used
to cancel any pending transmit command when
the COM20020D next receives the token.
Normally, in an active network, this command will
set the TA status bit to a logic "1" when the token
is received. If the "Disable Transmitter" command
does not cause the TA bit to be set in the time it
41