![background image](http://html.mh-extra.com/html/epson/buzzer-s1c31d51/buzzer-s1c31d51_technical-manual_107778071.webp)
6 DMA CONTROLLER (DMAC)
6-8
Seiko Epson Corporation
S1C31D50/D51 TECHNICAL MANUAL
(Rev. 2.00)
DMA transfer procedure
1. Configure the data structure table for scatter-gather transfer.
Set the cycle_ctrl for the last task to 0x1 and those for other tasks to 0x5.
2. Start data transfer by following the procedure shown in Section 6.2.1, “Initialization.” In Step 2 of the ini-
tialization procedure, configure the primary data structure with the control data shown below.
Transfer source end pointer = Data structure table end address
Transfer destination end pointer = Alternate data structure end address
dst_inc = 0x2
dst_size = 0x2
src_inc = 0x2
src_size = 0x2
R_power = 0x2
n_minus_1 = Number of tasks
×
4 - 1
cycle_ctrl = 0x4
3. The DMA transfer is completed when a DMA transfer completion interrupt occurs.
6.5.5 Peripheral Scatter-Gather Transfer
In memory scatter-gather transfer mode, the second and subsequent DMA transfers are performed by auto-requests.
On the other hand, in peripheral scatter-gather transfer mode, all DMA transfers are performed by a DMA transfer
request issued by a peripheral circuit or a software DMA request.
Task A setting
DMA transfer request
DMA transfer request
DMA transfer request
DMA transfer request
Task A
(cycle_ctrl = 0x7, 2
R
= 4, N = 3)
(cycle_ctrl = 0x6, 2
R
= 4, N = 16)
Copy the data structure for
Task A to the alternate data structure.
Data transfer using the alternate data structure starts
immediately after data transfer using the primary data structure
has completed without arbitration.
DMA transfer
completion interrupt
Task B setting
Copy the data structure for
Task B to the alternate data structure.
Task B
(cycle_ctrl = 0x7, 2
R
= 2, N = 8)
DMA transfer request
DMA transfer request
DMA transfer request
Task C setting
Copy the data structure for
Task C to the alternate data structure.
Task C
(cycle_ctrl = 0x7, 2
R
= 8, N = 5)
Task D setting
Copy the data structure for
Task D to the alternate data structure.
Task D
(cycle_ctrl = 0x1, 2
R
= 4, N = 4)
Transfer using primary data structure
Transfer using alternate data structure
Figure 6.5.5.1 Peripheral Scatter-Gather Transfer Operation Example