Packet descriptors, Figure 9-15. transmit descriptor example, Table 9-i. transmit descriptor address storage – Rainbow Electronics DS31256 User Manual
Page 114: 2 packet descriptors
![background image](/manuals/281447/114/background.png)
DS31256
114 of 181
9.3.2 Packet Descriptors
A contiguous section of up to 65,536 quad dwords that make up the transmit packet descriptors resides in
main memory. The transmit packet descriptors are aligned on a quad-dword basis and can be placed
anywhere in the 32-bit address space through the transmit descriptor base address (
). A data
buffer is associated with each descriptor. The data buffer can be up to 8188 Bytes long and must be a
contiguous section of main memory. The host informs the DMA of data buffers’ actual sizes through the
byte count field that resides in the packet descriptor.
If an outgoing packet requires more space than the data buffer allows, then packet descriptors are link-
listed together by the host to provide a chain of data buffers.
shows an example of how three
descriptors were linked together for an incoming packet on HDLC channel 7. Channel 3 only required a
single data buffer and thus only one packet descriptor was used.
shows a similar example for
channels 5 and 1.
Packet descriptors can be either pending (i.e., queued up by the host and ready for transmission by the
DMA) or completed (i.e., have been transmitted by the DMA and are available for processing by the
host). Pending-packet descriptors are pointed to by the pending-queue descriptors and completed packet
descriptors are pointed to by the done-queue descriptors.
Table 9-I. Transmit Descriptor Address Storage
REGISTER NAME
ADDRESS
Transmit Descriptor Base Address 0 (lower word)
TDBA0
0850h
Transmit Descriptor Base Address 1 (upper word)
TDBA1
0854h
Figure 9-15. Transmit Descriptor Example
CH 5 Single Sent Buffer Descriptor
Base + 00h
CH 7 1st Queued Buffer Descriptor
Base + 10h
Base + 20h
CH 7 Sent 1st Buffer Descriptor
Base + 30h
Free Descriptor
Base + 40h
Base + 50h
Free Descriptor
Base + 60h
Base + 70h
CH 7 Last Sent Buffer Descriptor
Base + 80h
Free Descriptor
Base + FFFD0h
Free Descriptor
Base + FFFF0h
CH 3 Single Queued Buffer Desc.
CH 7 2nd Queued Buffer Descriptor
CH 7 Last Queued Buffer Descriptor
Pending-Queue Descriptor Address
Done-Queue Descriptor Pointer
Maximum of 65,536 Descriptors