
Applied Micro Circuits Corporation
6195 Lusk Blvd., San Diego, CA 92121 (619) 450-9333
15-27
ADD-ON DMA CONTROLLER DESIGN FOR THE S5933
1.0
INTRODUCTION
The S5933 allows PCI bus master transfers through the FIFO interface. The function of filling and emptying the FIFO
is left to add-on logic. Many add-on designs implement a microprocessor or microcontroller with an integrated DMA
controller that can perform this function. These devices can easily transfer data between the S5933 FIFO port and
add-on memory.
Some add-on designs do not have processors or logic with DMA capabilities. This application note shows a
programmable logic implementation of a simple, single channel DMA controller to perform add-on DMA transfers
between the S5933 FIFO port and add-on memory. The design described allows simple implementation into an
Intel 80960 processor-based add-on, but can easily be modified to support other add-on processors.
2.0
DMA CONTROLLER ARCHITECTURE
This DMA controller design has a single channel which can perform add-on reads and writes as a bus master on
the add-on interface. An add-on transfer address and transfer byte count are programmed, and then DMA
requests from the S5933 FIFO are monitored. Once a DMA request is received, the controller puts add-on logic
in a hold state and when a hold acknowledge is returned, the DMA transfer begins.
2.1
Register Architecture
There are two registers integrated in the DMA controller: a 22-bit address register and an 18-bit transfer count
register. These registers are initialized by the processor before the DMA transfer begins. These registers are
write-only. The DMA controller decodes address lines A21 and A20 on the add-on bus. This address decoding
scheme can be easily modified to fit into the memory map of specific applications.
2.1.1
Address Register (ADDR)
The address register contains the address of the next DMA transfer. Before the DMA transfer begins, the ADDR
register is written with the starting address of the DMA transfer. All transfers must take place on double-word
boundaries (A1=A0=0). The ADDR register is incremented by 4 bytes after each data phase completes.
Register Name:
DMA Transfer Address (ADDR)
Location:
A21=0, A20=1
Power-up Value:
00000000h
Attribute:
Write Only
Size:
32-bits
APPLICATION NOTE