CHAPTER 11: DSTC
FM4 Peripheral Manual, Doc. No. 002-04856 Rev. *E 541
The DSTC starts the transfer of the DES due to the Start Trigger of (A). Values inside rectangles in Figure
4-1 are transfer source addresses and transfer destination addresses. The DSTC starts from a 32-bit
transfer to the area from address 0x0000 to address 0x1000. The DSTC executes three times (IIN = 3) of
32-bit transfer successively. As for the transfer number counter for the DES, at the start of the transfer,
the outer loop counter remain (ORM) is 2, and the inner loop counter remain (IRM) is 3. In Figure 4-1, the
remains of the transfer number counter are expressed as (2,3). After three times of transfer, the transfer
number counter reads (2,1). As ORM is not 1 and IRM is 1, the DSTC uses the value of CHRS[3:2] for
determining the next process. As CHRS[3:2] are 01, the DSTC sets SWTR:SWST to 1 and waits for the
next Start Trigger.
The DSTC starts the transfer of the DES again due to the Start Trigger of (B). InnerReload of address is
applied to SA. DA keeps increasing. The DSTC restarts from a 32-bit transfer to the area from address
0x0000 to address 0x100C. The DSTC executes three times (IIN = 3) of transfer successively. The
transfer number counter starts counting from (1,3) and reads (1,1) after three times of transfer. As ORM is
1 and IRM is "1", the DSTC executes the DES close process as DV of the DES is set to 01. The DSTC
uses the value of CHRS[5:4] for determining the next process. As CHRS[5:4] are 01, the DSTC sets
SWTR:SWST to 1.
DES Values Stored after Transfer End
If the transfer in transfer operation example 1 ends normally, the values of DES are updated as shown in
Table 4-2. Values that are different from what they were before the transfer start are in bold type in the
table. According to the setting of ORL, values of DES4 and DES6 are copied to DES1 and DES3
respectively, making DES1 and DES3 have the same values as those before the start of transfer. Though
OR[1] is 0, according to the settings of InnerReload, DES2 has the same value as that before the start of
transfer. The DSTC updates the value of DV to 00, and returns the ownership of DES to the CPU. The
DSTC updates the value of ST to 00, and notifies the CPU that the transfer has ended normally.
To execute a transfer with the updated DES mentioned above, update the value of DV via the CPU.
Table 4-2 DES Values after End of Transfer in Transfer Operation Example 1
The Operation for the DES from the DSTC
In this transfer operation example1, the operation for the DES from the DSTC is as follows.
After Start Trigger of (A):
The DSTC read the instruction from DES0.
The DSTC read (2,3) from DES1.
The DSTC read 0x0000 from DES2.
The DSTC read 0x1000 from DES3.
After 1st transfer:
The DSTC write back (1,3) to DES1,
The DSTC does not write back to DES2, so same value.
The DSTC write back 0x100C to DES3.