MSB
LSB
TRI
TRI
RI
TA
POR
TEST
RECON
TMA
TMA
TTA
TTA
FIGURE 8 – COMMAND CHAINING STATUS REGISTER QUEUE
COMMAND CHAINING
The Command Chaining operation allows
consecutive transmissions and receptions to
occur without host microcontroller intervention.
Through the use of a dual two-level FIFO,
commands to be transmitted and received, as
well as the status bits, are pipelined.
Up to two outstanding transmit interrupts
and two outstanding receive interrupts are
stored by the device, along with their
respective status bits.
·
·
The Interrupt Mask bits act on TTA (Rising
Transition on Transmitter Available) for
transmit operations and TRI (Rising
Transition of Receiver Inhibited) for receive
operations. TTA is set upon completion of
a packet transmission only. TRI is set upon
completion of a packet reception only.
Typically there is no need to mask the TTA
and TRI bits after clearing the interrupt.
In order for the COM20020-5 to be compatible
with previous SMSC ARCNET device drivers,
the device defaults to the non-chaining mode. In
order to take advantage of the Command
Chaining operation, the Command Chaining
Mode must be enabled via a logic "1" on bit 6 of
the Configuration Register.
In Command Chaining, the Status Register
appears as in Figure 8.
The traditional TA and RI bits are still
available to reflect the present status of the
device.
·
The following is a list of Command Chaining
guidelines for the software programmer. Further
detail can be found in the Transmit Command
Chaining and Receive Command Chaining
sections.
Transmit Command Chaining
When the processor issues the first "Enable
Transmit to Page fnn" command, the
COM20020-5 responds in the usual manner by
resetting the TA and TMA bits to prepare for the
transmission from the specified page. The TA
bit can be used to see if there is currently a
transmission pending, but the TA bit is really
meant to be used in the non-chaining mode
only. The TTA bits provide the relevant
information for the device in the Command
The device is designed such that the interrupt
·
service routine latency does not affect
performance.
Up to two outstanding transmissions and
·
two outstanding receptions can be pending
at any given time. The commands may be
given in any order.
35