User`s manual
52 PCL-848AB User's Manual
2) The DMA operating mode (single, demand, block, and cascade).
3) Autoinitialization (enabled or disabled).
4) Address register direction (increment or decrement).
A little additional explanation is required to understand these key operating condi-
tions.
This interface allows you to choose from three of the four possible DMA channels.
Channel 0 is used by the PC’s memory refresh controller, so channels 1, 2, and 3 are
the only ones available to the peripherals. Bit 0 and l of <SETTING%> of INIT
rout+ne make this selection.
The interface supports two of the four possible DMA operating modes:
l) Single-byte-transfer mode
In single-byte-transfer mode, the DMA chip and the system processor share
control of the system bus. This allows both DMA and CPU processing to continue
simultaneously.
2) Hlock-transfer mode
In block-transfer mode, transfers are activated by a request for service and continue
until the number of bytes specified by the programmer are transferred. In block-
transfer mode control of the system bus is returned to the microprocessor only after
all data is transferred.
Demand-transfer mode and Cascade mode are not supported by this interface.
The IEEE-488 interface disables the auto-initialization function and uses only the
address register increment direction on the 8237 chip because of the nature of IEEE-
488 bus data transfer.
Bit 14 of <SETTING%> of the INIT routine determines the DMA operating mode.
Setting the bit to “0” lets the DMA operate in single-byte-transfer mode for low
DMA rate and high CPU throughput. Setting the bit to “1” lets the DMA operate in
blocktransfer mode for high DMA rate and low CPU throughput.
Bit 15 of <SETTING%> of INIT routine determines the sequence of software to
handle a DMA. When bit 15 is set to “0”, the software waits for the completion of
DMA before it goes further. When bit 15 is set to “1”, the software initializes the
DMA and then goes away. It is also called BACXGROUND operation. When data
transfer is timing related with the software, BACKGROUND operation cannot be
used.