Transfer Mode

Lecture 14 DMA Controller & Serial
Communications Interface (UART)
Outline








Transfer Mode
Extended Repeat Area Function
Address Update Function Using Offset
Group Scan Mode
Interrupt Sources
Registers
Serial Communications Interface
Operation in Asynchronous Mode
Overview
 The RX210 Group incorporates a 4-channel direct memory
access controller (DMAC)
 Performs data transfers without the CPU

When a DMA transfer request is generated, the DMAC transfers
data stored at the transfer source address to the transfer
destination address
 Transfer space: 512 Mbytes

0000 0000h to 0FFF FFFFh and F000 0000h to FFFF FFFFh excluding
reserved areas
 Maximum transfer volume: 1M data

Maximum number of transfers in block transfer mode: 1,024 data ×
1,024 blocks
 Channel priority: Channel 0 > 1 > 2 > 3 (Channel 0: Highest)
 Transfer data

Single data: Bit length: 8, 16, 32 bits

Block size: Number of data: 1 to 1,024
 Power consumption reduction function: Module stop state
Transfer Mode
 Normal transfer mode
 One data is transferred by one transfer request

A maximum of 65535 can be set as the number of transfer
operations using the DMCRAL of DMACm
 When these bits are set to 0000h, no specific number of
transfer operations is set

Performed with the transfer counter stopped (free running mode)
 Setting DMCRB of DMACm is invalid in normal transfer mode
 A transfer end interrupt request can be generated after
completion of the specified number of transfer operations

Except in free running mode
 The register update operation in normal transfer mode
Transfer Mode (cont.)
 The operation in normal transfer mode
Transfer Mode (cont.)
 Repeat transfer mode
 One data is transferred by one transfer request

A maximum of 1K data can be set as a total repeat transfer size
using DMCRAH of the DMACm

A maximum of 1K can be set as the number of repeat transfer
operations using DMCRB of the DMACm
A maximum of 1M data (1K data × 1K count of repeat transfer
operations) can be set as a total data transfer size

 Either the transfer source or transfer destination can be
specified as a repeat area

When transfer of the repeat size data is completed, the address of
the specified repeat area (DMSAR or DMDAR) returns to the
transfer start address
 DMA transfer can be stopped

When data of the specified repeat size has all been transferred in
repeat transfer mode

The repeat size end interrupt can be requested

DMA transfer can be resumed by writing 1 to DTE bit in DMCNT
Transfer Mode (cont.)
 A transfer end interrupt request can be generated

After completion of the specified number of repeat transfer
operations
 The register update operation in repeat transfer mode
Transfer Mode (cont.)
 The operation in repeat transfer mode
Transfer Mode (cont.)
 Block transfer mode
 A single block data is transferred by one transfer request

A maximum of 1K data can be set as a total block transfer size
using DMCRA of the DMACm

A maximum of 1K can be set as the number of block transfer
operations using DMCRB of the DMACm
A maximum of 1M data (1K data × 1K count of block transfer
operations) can be set as a total data transfer size

 Either the transfer source or transfer destination can be
specified as a block area

When transfer of a single block data is completed, the address of
the specified block area (DMSAR or DMDAR of the DMACm) returns
to the transfer start address
 DMA transfer can be stopped

When a single block data has all been transferred in block mode

The repeat size end interrupt can be requested

DMA transfer can be resumed by writing 1 to the DTE bit in DMCNT
of DMACm in the repeat size end interrupt handling
Transfer Mode (cont.)
 Transfer end interrupt request can be generated

After completion of the specified number of block transfers
 The register update operation in block transfer mode
Transfer Mode (cont.)
 The operation in block transfer mode
Extended Repeat Area Function
 Supports a function to specify the extended repeat areas on
the transfer source and destination addresses
 The address registers repeatedly indicate the addresses of the
specified extended repeat areas

The extended repeat areas can be specified separately to the
transfer source address register (DMSAR) and transfer destination
address register (DMDAR) of DMACm

The extended repeat area on the source address is specified by the
SARA[4:0] bits in DMAMD of DMACm

The extended repeat area on the destination address is specified by
the DARA[4:0] bits in DMAMD of DMACm

The size can be specified separately for the source and destination
sides
 The area which is specified as the repeat area or block area
should not be specified as the extended repeat area
 DMA transfer is stopped

When the address register value reaches the end address of the
extended repeat area and the extended repeat area overflows
Extended Repeat Area Function (cont.)

An interrupt by an extended repeat area overflow can be requested
 When an overflow occurs in the extended repeat area on the
transfer source while the SARIE bit in DMINT of DMACm is set

The ESIF flag in DMSTS of DMACm is set to 1

The DTE in DMCNT of DMACm is cleared to 0 to stop DMA transfer

If the ESIE bit in DMINT of DMACm is set to 1, an interrupt by an
extended repeat area overflow is requested
 When the DARIE bit in DMINT of DMACm is set to 1

The DMDAR becomes a target to apply the function
 DMA transfer can be resumed by writing 1 to the DTE bit in
DMCNT of DMACm in the interrupt handling.
 An example of the extended repeat area operation
 Eight bytes are specified as an extended repeat area

By the lower three bits of DMACm.DMSAR

SARA[4:0] bits in DMACm.DMAMD = 00011b
 The data size is eight bits

SZ[1:0] bits in DMACm.DMTMD = 00b
Extended Repeat Area Function (cont.)
Address Update Function Using Offset
 The source and destination addresses can be updated by
fixing, increment, decrement, or offset addition
 When the offset addition is selected
 The offset specified by the DMA offset register (DMOFR of
DMAC0) is added to the address

Every time the DMAC performs one data transfer
 This function realizes a data transfer where addresses are
allocated to separated areas
 Offset subtraction can also be realized by setting a negative
value in DMOFR of DMAC0

The negative value must be 2’s complement
 Address update function using offset can be specified only for
the DMAC0 channel
 The address update method in each address update mode
Address Update Function Using Offset (cont.)
 An example of address updating using offset addition
 The transfer data is 32 bits long
 Offset addition is set as transfer source address update mode
 Increment is set as transfer destination address update mode

The second and subsequent data is each read from the transfer
source address obtained by adding the offset value to the previous
address

The data read from the addresses at the specified intervals is
written to the continuous locations on the destination
Address Update Function Using Offset (cont.)
Activation Sources
 DMAC activation by software
 Setting the DCTG[1:0] bits in DMTMD of DMACm to 00b
 To start DMA transfer by software, set the DTE bit in DMCNT of
DMACm to 1 (DMA transfer is enabled)

The SWREQ in DMREQ of DMACm to 1 (DMA transfer is requested)

With the DMST bit in DMAST set to 1 (DMAC activation enabled)
 When the DMAC is activated by software while the CLRS bit in
DMREQ of DMACm is 0

The SWREQ bit in DMREQ of DMACm is cleared to 0 after data
transfer is started in response to a DMA transfer request
 As the DMAC is activated by software while the CLRS bit is 1

The SWREQ bit is not cleared to 0 after data transfer is started

A DMA transfer request is issued again after completion of a
transfer
 DMAC Activation by interrupt requests from on-chip
peripheral modules or external interrupt requests
Activation Sources (cont.)
 The activation source can be selected separately for each
channel using the DMRSRm registers (m = 0 to 3) of the ICU
 Generated while the DCTG[1:0] bits in DMTMD of DMACm is set
to 01b

The DTE bit in DMCNT of DMACm is set to 1 (DMA transfer is
enabled)

The DMST bit in DMAST is set to 1 (DMAC activation is enabled)
 Another activation request cannot be accepted during the
transfer of other DMAC channel or DTC
 When the proceeding transfer is completed, channel arbitration
is performed

A DMA transfer request of the highest priority channel is accepted

DMA transfer of the channel starts
 When DMA transfer starts, the ACT bit in DMSTS of DMACm is
set to 1 (the DMAC is in the active state)
Ending DMA Transfer
 The operation for ending DMA transfer depends on the
transfer end conditions
 When DMA transfer ends, the DTE bit in DMCNT and the ACT
flag in DMSTS of DMACm are changed from 1 to 0

Indicating that DMA transfer has ended
 Transfer end by completion of specified total number of
transfer operations
 In normal transfer mode (DMACm.DMTMD.MD[1:0] = 00b)

When the value of DMCRAL of DMACm changes from 1 to 0, DMA
transfer ends on the corresponding channel

The DTE bit in DMCNT of DMACm is cleared to 0

The DTIF bit in DMSTS of DMACm is set to 1 at the same time

If the DTIE bit in DMINT of DMACm is 1 at this time, a transfer end
interrupt request is issued to the CPU or the DTC
 In repeat transfer mode (DMACm.DMTMD.MD[1:0] = 01b)

When the value of DMCRB of DMACm changes from 1 to 0, DMA
transfer ends on the corresponding channel
Ending DMA Transfer (cont.)

The DTE bit in DMCNT of DMACm is cleared to 0

The DTIF bit in DMSTS of DMACm is set to 1 at the same time

If the DTIE bit in DMINT of DMACm is 1 at this time, an interrupt
request is issued to the CPU or the DTC
 In block transfer mode (DMACm.DMTMD.MD[1:0] = 10b)

When the value of DMCRB of DMACm changes from 1 to 0, DMA
transfer ends on the corresponding channel

The DTE bit in DMCNT of DMACm is cleared to 0

The DTIF bit in DMSTS of DMACm is set to 1 at the same time

If the DTIE bit in DMINT of DMACm is 1 at this time, an interrupt
request is issued to the CPU or the DTC

Before sending an interrupt request from the DMAC to the CPU or
the DTC, the interrupt control register must be set.
 Transfer end by repeat size end interrupt
 In repeat transfer mode, a repeat size end interrupt is
requested when transfer of a 1-repeat size of data is completed

While the RPTIE bit in DMINT of DMACm is set to 1
Ending DMA Transfer (cont.)

When the interrupt is requested to complete DMA transfer, the DTE
bit in DMCNT of DMACm is cleared to 0

The ESIF flag in DMSTS of DMACm is set to 1

If the ESIE bit in DMINT of DMACm is 1 at this time, an interrupt
request is issued to the CPU or the DTC

The transfer can be resumed by writing 1 to the DTE bit in DMCNT
of DMACm
 A repeat size end interrupt can be requested also in block
transfer mode

The interrupt is requested in the same way as in repeat transfer
mode when transfer of a 1-block size data is completed
 Transfer end by interrupt on extended repeat area overflow
 An interrupt by an extended repeat area overflow is requested

When an overflow on the extended repeat area occurs while the
extended repeat area is specified and the SARIE or DARIE bit in
DMINT of DMACm is set to 1

The DMA transfer is terminated

The DTE bit in DMCNT of DMACm is cleared to 0
Ending DMA Transfer (cont.)

The ESIF flag in DMSTS of DMACm is set to 1

If the ESIE bit in DMINT of DMACm is 1 at this time, an interrupt
request is issued to the CPU or the DTC

Even if an interrupt by an extended repeat area overflow is
requested during a read cycle, the following write cycle is
performed
 In block transfer mode, even if an interrupt by an extended
repeat area overflow is requested during a 1-block transfer

The remaining data in the block is transferred

Transfer is terminated after a block transfer
Interrupt Sources
 Each DMAC channel can output an interrupt request to the
CPU or the DTC
 After transfer in response to one request is completed
 When the transfer destination is the external bus or the on-chip
peripheral bus
 An interrupt request is generated upon completion of data
write to the write buffer not to the actual transfer
destination
 The relation among the interrupt sources, the interrupt
status flags, and the interrupt enable bits
Interrupt Sources (cont.)
Interrupt Sources (cont.)
 The different procedures are used for canceling an interrupt
to restart DMA transfer
 Discontinuing or terminating DMA transfer
 Write 0 to the DTIF bit in DMSTS of DMACm to clear a transfer
end interrupt

Or to the ESIF bit in DMSTS of DMACm to clear a repeat size
interrupt and an extended repeat area overflow interrupt
 The DMACm remains in the stop state
 When starting another DMA transfer after that, set the
appropriate registers

Set the DTE bit in DMCNT of DMACm to 1 (DMA transfer enabled)
 Continuing DMA transfer
 Write 1 to the DTE bit in DMCNT of DMACm

The ESIF bit in DMSTS of DMACm is automatically cleared to 0
(interrupt source cleared)

DMA transfer is resumed
Registers
 DMA Source Address Register (DMSAR)
Registers (cont.)
 DMA Destination Address Register (DMDAR)
Registers (cont.)
 DMA Transfer Count Register (DMCRA)
Registers (cont.)
 DMA Block Transfer Count Register (DMCRB)
 DMA Transfer Enable Register (DMCNT)
Registers (cont.)
 DMA Transfer Mode Register (DMTMD)
Registers (cont.)
 DMA Address Mode Register (DMAMD)
Registers (cont.)
 DMA Offset Register (DMOFR)
 DMAC Activation Request Select Register m (DMRSRm)
Registers (cont.)
 DMA Software Start Register (DMREQ)
 DMA Module Activation Register (DMAST)
Registers (cont.)
 DMA Status Register (DMSTS)
Registers (cont.)
 DMA Interrupt Setting Register (DMINT)
Serial Communications Interface
 The RX210 Group has 13 independent serial
communications interface (SCI) channels
 The SCI is configured as SCIc module (SCI0 to SCI11) and
SCId module (SCI12)
 The SCIc (SCI0 to SCI11) can handle both asynchronous and
clock synchronous serial communications

Asynchronous serial data communications can be carried out with
standard asynchronous communications chips

Such as a Universal Asynchronous Receiver/Transmitter (UART) or
Asynchronous Communications Interface Adapter (ACIA)

As an extended function in asynchronous communications mode,
the SCI also supports smart card (IC card) interfaces conforming to
ISO/IEC 7816-3 (standard for Identification Cards)

Single-master operation as an simple I2C bus interface and simple
SPI interfaces are also supported
 As well as the functions of the SCIc module, the SCId module
(SCI12) supports an extended serial protocol

With a structure formed from Start Frames and Information Frames
Block Diagram
Operation in Asynchronous Mode (cont.)
 Example of data format in asynchronous serial
communications
 With 8-bit data, parity, two stop bits
 Any of 12 transfer formats can be selected according to the
SMR setting
Clock
 The SCI's transfer clock can be selected as
 Either an internal clock generated by the on-chip baud rate
generator or an external clock input to the SCKn pin

According to the setting of CM bit in SMR and CKE[1:0] bits in SCR
 When an external clock is input to the SCKn pin

The clock frequency should be 16 times the bit rate (ABCS = 0)

8 times the bit rate (when ABCS in SEMR = 1)

The base clock of TMR0 and TMR1 can be selected by the ACS0 bit
in SEMR of SCIn (n = 5, 6, 12)
 When the SCI is operated on an internal clock, the clock can be
output from the SCKn pin

The frequency of the clock output is equal to the bit rate

The phase is such that the rising edge of the clock is in the middle
of the transmit data
CTS and RTS Functions
 The CTS function is the use of input on the CTSn# pin in
transmission control
 Setting the SPMR.CTSE bit to 1 enables the CTS function

Placing the low level on the CTSn# pin causes transmission to start

Applying the low level to the CTS# pin while transmission is in
progress does not affect transmission of the current frame
 The RTS function uses the function of output on RTSn# pin
 A low level is output when reception becomes possible
 Conditions for low-level output

The value of the RE bit in the SCR is 1

Reception is not in progress

There are no received data yet to be read

The ORER, FER, and PER flags in the SSR are all 0
 Condition for high-level output

The conditions for low-level output have not been satisfied
SCI Asynchronous Mode Initialization
 Before transmitting and receiving data
 Start by writing the initial value “00h” to SCR
 Whenever the operating mode or transfer format is changed,
SCR must be initialized before the change is made
 When the external clock is used in asynchronous mode, ensure
that the clock signal is supplied even during initialization
 Clearing the SCR.RE bit to 0 initializes neither the ORER, FER,
and PER flags in SSR nor RDR
 Switching the value of the SCR.TE bit from 1 to 0 or 0 to 1
while the SCR.TIE bit is 1 leads to the generation of a TXI
interrupt request
SCI Asynchronous Mode Initialization (cont.)
 Sample SCI initialization flowchart (asynchronous mode)
Asynchronous Mode Serial Data Transmission
 In serial transmission, the SCI operates as
 The SCI transfers data from TDR to TSR when data is written to
TDR in the TXI interrupt processing routine

The TXI interrupt at the beginning of transmission is generated

When the TE bit in SCR is set to 1 after the TIE bit in SCR is set to 1

Or when these two bits are set to 1 simultaneously
 Transmission starts after the CTSE bit in SPMR is set to 0
(disabling the CTS function)

Or a low level on CTS# pin causes data transfer from TDR to TSR

If the TIE bit in SCR is 1 at this time, a TXI interrupt request is
generated

Continuous transmission is obtainable by writing the next data for
transmission to TDR in the TXI interrupt processing routine before
transmission of the current data for transmission is completed

When TEI interrupt requests are in use, set the SCR.TIE bit to 0
(disabling TXI requests) and the SCR.TEIE bit to 1 (enabling TEI
requests) after the last of the data to be transmitted are written to
the TDR from the processing routine for TXI requests
Asynchronous Mode Serial Data Transmission (cont.)
 Data is sent from the TXDn pin in the order

Start bit, transmit data, parity bit or multi-processor bit (may be
omitted depending on the format), and stop bit
 The SCI checks for updating of (writing to) TDR at the time of
stop bit output
 When TDR is updated, setting of the CTSE bit in SPMR to 0
(CTS function disabled) cause the next transfer of the next data

Or a low level input on the CTSn# pin

Transmission from TDR to TSR and sending of the stop bit

After that, serial transmission of the next frame starts
 If TDR is not updated, the TEND flag in SSR is set to 1

The stop bit is sent, and then the mark state is entered in which 1
is output

If the TEIE flag in SCR is 1 at this time, a TEI interrupt request is
generated
 A sample flowchart for serial transmission in asynchronous
mode
Asynchronous Mode Serial Data Transmission (cont.)
 Example of operation for serial transmission in asynchronous
mode
 From the middle of transmission until transmission completion
 With 8-bit data, parity, one stop bit
Asynchronous Mode Serial Data Reception
 In serial data reception, the SCI operates as
 When the value of the RE bit in SCR becomes 1

The output signal on the RTSn# pin goes to the low level
 When the SCI monitors the communications line

After detects a start bit, it performs internal synchronization, stores
receive data in RSR, and checks the parity bit and stop bit
 If an overrun error occurs, the ORER flag in SSR is set to 1

If RIE in SCR is 1 at this time, an ERI interrupt request is generated

Receive data is not transferred to RDR
 If a parity error is detected, the PER bit in SSR is set to 1 and
receive data is transferred to RDR

If RIE in SCR is 1 at this time, an ERI interrupt request is generated
 If a framing error (when the stop bit is 0) is detected, the FER
bit in SSR is set to 1 and receive data is transferred to RDR

If RIE in SCR is 1 at this time, an ERI interrupt request is generated
 When reception finishes successfully, receive data is transferred
to RDR
Asynchronous Mode Serial Data Reception (cont.)

If RIE in SCR is 1 at this time, an RXI interrupt request is generated

Continuous reception is enabled by reading the receive data
transferred to RDR in this RXI interrupt processing routine before
reception of the next receive data is completed

Reading out the received data that have been transferred to RDR
causes the RTSn# pin to output the low level
 Example of SCI operation for serial reception in
asynchronous mode
 With 8-bit data, parity, one stop bit
Asynchronous Mode Serial Data Reception (cont.)
 Example of SCI operation for serial reception in
asynchronous mode
 With 8-bit data, parity, one stop bit
 When RTS function is used
Asynchronous Mode Serial Data Reception (cont.)
 If a receive error is detected, an ERI interrupt request is
generated but an RXI interrupt request is not generated
 Data reception cannot be resumed while the receive error flag
is 1

Clear the ORER, FER, and PER bits to 0 before resuming reception
 Be sure to read the RDR during overrun error processing
 The states of the SSR status flags and receive data handling
when a receive error is detected
Registers
 Receive Shift Register (RSR)
 Receive Data Register (RDR)
 Transmit Shift Register (TSR)
 Transmit Data Register (TDR)
Registers (cont.)
 Serial Mode Register (SMR)
Registers (cont.)
 Serial Control Register (SCR)
Registers (cont.)
 Serial Control Register (SCR)
Registers (cont.)
 Serial Extended Mode Register (SEMR)
Registers (cont.)
 SPI Mode Register (SPMR)
Registers (cont.)
 I2C Mode Register 1 (SIMR1)
Registers (cont.)
 Smart Card Mode Register (SCMR)
Registers (cont.)
 Serial Status Register (SSR)