
CHAPTER 5 SAR FUNCTION
143
The VC in the active status starts cell transmission at a timing that depends on the rate determined by the
scheduler. When first using this VC to transmit cells, the
μ
PD98405 reads the packet descriptor in system
memory pointed to by the transmit queue read pointer (Tx Queue Read Pointer: Word 6 in the VC table),
then updates Word 0 in the VC table. At this time, if the packet descriptor is vacant (V = 0), the
μ
PD98405
clears bit "A" to "0" in that VC table, thus returning the channel to the idle status. If the packet descriptor is
valid (V = 1), cell transmission is started. The
μ
PD98405 increments the transmit queue read pointer for
the transmit VC table by four words, so that it points to the next packet descriptor.
Once the
μ
PD98405 has read all the data in the packet, it fetches the next packet descriptor. Provided this
is a valid packet descriptor, the channel remains active and continues packet transmission. The channel
remains active for as long as the transmit queue contains valid packet descriptors.
Upon reading a vacant packet descriptor (V = 0), the
μ
PD98405 recognizes that all packets have been
read. Once all the data in the last packet has been read, the
μ
PD98405 stores a transmit indication,
removes the transmit VC table from the shaper link list, then clears bit "A" to 0, thus returning the channel
to the idle status. Note that the channel returns to the idle status once reading from system memory has
been completed, not when the
μ
PD98405 has finished transmitting all the data of the packet.
The transmit queue read pointer of the channel that has again entered the idle status indicates the last
vacant packet descriptor. The next setting of a valid packet descriptor will be started from this vacant
packet descriptor. The transmit queue read pointer, therefore, need not be modified by the host. The host
accesses the transmit queue read pointer only when setting the initial value. When the Tx_Ready
command is issued after a valid packet descriptor has been set, the channel enters the active status again.
The host can forcibly stop the use of a channel for transmission and return it to the idle status by issuing a
Deactivate_Channel command. Once a Deactivate_Channel command is issued during transmission, the
μ
PD98405 stops packet transmission to the channel and returns the channel to the idle status. If a
Deactivate_Channel command is issued while the channel is in the idle status, the command is ignored.
To terminate the use of this channel, the host issues the Close_Channel command and returns the VC
table to the free block pool while the channel is in the idle status. Consequently, the channel ceases to
exist and therefore enters the non-existent status.