Section 6 Data Transfer Controller
6.1 Overview
The H8/534 and H8/536 include a data transfer controller (DTC) that can be started by designated
interrupts to transfer data from a source address to a destination address located in page 0. These
addresses include in particular the registers of the on-chip supporting modules and I/O ports.
Typical uses of the DTC are to change the setting of a control register of an on-chip supporting
module in response to an interrupt from that module, or to transfer data from memory to an I/O
port or the serial communication interface. Once set up, the transfer is interrupt-driven, so it
proceeds independently of program execution, although program execution temporarily stops
while each byte or word is being transferred.
6.1.1 Features
The main features of the DTC are listed below.
The source address and destination address can be set anywhere in the 64-kbyte address space
of page 0.
The DTC can be programmed to transfer one byte or one word of data per interrupt.
The DTC can be programmed to increment the source address and/or destination address after
each byte or word is transferred.
After transferring a designated number of bytes or words, the DTC generates a CPU interrupt
with the vector of the interrupt source that started the DTC.
This designated data transfer count can be set from 1 to 65,536 bytes or words.
6.1.2 Block Diagram
Figure 6-1 shows a block diagram of the DTC.
The four DTC control registers (DTMR, DTSR, DTDR, and DTCR) are invisible to the CPU, but
corresponding information is kept in a register information table in memory. A separate table is
maintained for each DTC interrupt type. When an interrupt requests DTC service, the DTC loads
its control registers from the table in memory, transfers the byte or word of data, and writes any
altered register information back to memory.
113