DMA transfer apparatus
A DMA transfer apparatus 101 is equipped with a DMA control block 102 and a FIFO-incorporated block 103 . The DMA control block 102 is connected, as a bus master, to a DMA bus capable of burst transfer and having a function of controlling a burst transfer by generating burst access for sending data consecutively a certain number of times while incrementing the address after sending a command. The FIFO-incorporated block 103 is connected the DMA bus as its slave and having a FIFO whose address is mapped to a continuous address space. An arrangement is provided so that a parameter dedicated to FIFO transfer can be set in an addressing mode setting register of a control register group of the DMA control block 102 , whereby a burst transfer to or from the FIFO whose address is mapped to the continuous address space is controlled.
1 . A DMA transfer apparatus comprising:
a DMA control block connected, as a bus master, to a DMA bus capable of burst transfer and having a function of controlling a burst transfer by generating burst access for sending data consecutively a certain number of times while incrementing the address after sending a command; and
a FIFO-incorporated block connected the DMA bus as a slave thereof and having a FIFO whose address is mapped to a continuous address space.
2 . The DMA transfer apparatus according to claim 1 , wherein the FIFO-incorporated block comprising an address decoder for detecting, at a start of burst access, that an address at an end of a burst transfer will exceed the address space of the FIFO, and outputting an error notice.
3 . The DMA transfer apparatus according to claim 1 , wherein the DMA control block comprises:
a control register section in which a CPU sets transfer parameters;
a bus interface section capable of generating burst access via the DMA bus according to the parameters set in the control register section; and
an addressing mode in which addition to a transfer destination address or a transfer source address is performed during a burst transfer and subtraction into an address at a start of the burst transfer is performed automatically at an end of the burst transfer.
4 . The DMA transfer apparatus according to claim 1 , wherein the FIFO-incorporated block comprises:
a transmission FIFO for receiving and outputting data of plural stages;
an output interface section for taking data out of the transmission FIFO and outputting the data to the outside in a prescribed format; and
a burst length selection circuit for informing the DMA control block of a maximum burst length that does not cause a FIFO overflow on the basis of the number of stages of data stacked in the transmission FIFO and a usable burst length setting value table.
5 . The DMA transfer apparatus according to claim 1 , wherein the FIFO-incorporated block comprises:
a reception FIFO for receiving and outputting data of plural stages;
an input interface section for receiving data externally in a prescribed format and loading the data into the reception FIFO; and
a burst length selection circuit for informing the DMA control block of a maximum burst length that does not cause a FIFO underflow on the basis of the number of stages of data stacked in the reception FIFO and a usable burst length setting value table.
6 . The DMA transfer apparatus according to claim 1 , wherein the DMA control block comprises a burst length selection circuit capable of generating burst access of a burst length that is a plural number, for selecting, in each data transfer, access of a maximum burst length that does not cause a FIFO overflow or underflow on the basis of the number of stages of data stored in the FIFO and a usable burst length setting value table.
7 . A semiconductor integrated circuit incorporating the DMA transfer apparatus according to claim 1 .