Rainbow Electronics DS3131 User Manual
Page 9

DS3131
9 of 174
The DMA uses a set of descriptors to know where to store the incoming HDLC packet data and where to
obtain HDLC packet data ready to be transmitted. The descriptors are fixed-size messages that are
handed back and forth from the DMA to the host. Since this descriptor transfer uses bus cycles, the
DMA has been structured to minimize the number of transfers required. For example, on the receive
side, the DMA obtains descriptors from the host to know where in the 32-bit address space to place the
incoming packet data. These descriptors are known as free-queue descriptors. When the DMA reads
these descriptors off the PCI bus, they provide all the information the DMA needs to store the incoming
data. Unlike other existing scatter/gather DMA architectures, the DS3131 DMA does not need additional
bus cycles to determine where to place the data. Other DMA architectures tend to use pointers, which
require them to go back onto the bus to obtain more information and hence use more bus cycles.
Another technique the DMA uses to maximize bus utilization is burst reading and writing the
descriptors. The BoSS can be enabled to read and write the descriptors in bursts of 8 or 16 instead of one
at a time. Since there is fixed overhead associated with each bus transaction, the ability to burst read and
write descriptors allows the device to share the bus overhead among 8 or 16 descriptor transactions,
reducinga the total number of bus cycles needed.
The DMA can also burst up to 256 dwords (1024 Bytes) onto the PCI bus. This helps minimize bus
cycles by allowing the device to burst large amounts of data in a smaller number of bus transactions.
This reduces bus cycles by reducing the amount of fixed overhead placed on the bus.
When the local bus is enabled, ports 28 to 39 (HDLC channels 29 to 40) are disabled to make room for
the signals needed by the local bus. The local bus block has two modes of operation. It can be used as a
bridge from the PCI bus, in which case it is a bus master. It can also be used as a configuration bus, in
which case it is a bus slave. The bridge mode allows the host on the PCI bus to access the local bus. The
DS3131 maps data from the PCI bus to the local bus. In the configuration mode, the local bus is used
only to control and monitor the DS3131, while the HDLC packet data is still transferred to the host
through the PCI bus.