NuMicro® NUC029LEE/NUC029SEE
32-bit Arm
®
Cortex
®
-M0 Microcontroller
Aug, 2018
Page
197
of
497
Rev 1.00
N
U
MICRO
®
N
UC02
9L
E
E
/N
UC029
S
E
E
T
E
CHN
ICA
L R
E
F
E
R
E
NC
E
M
A
NU
A
L
A
H
B
B
U
S
CCITT
CRC-8
CRC-16
CRC-32
M
U
X
CRC CTL
Reg
CRC Checksum Reg
M
U
X
D
Q
S
la
ve
W
ra
pp
er
Checksum
Reverse /
1's COMP
In Data
Reverse/
1's COMP
B3
B2
B1
B0
M
U
X
M
U
X
B
us
M
as
te
r
z
CRC BM FSM
Control
CRC CTL
CRC Seed
Reg
Figure 6.7-2 CRC Generator Block Diagram
6.7.4 Basic Configuration
The PDMA controller peripheral clock can be enabled in PDMA_EN (AHBCLK[1]).
6.7.5 Functional Description
The direct memory access (DMA) controller module transfers data from one address to another
address, without CPU intervention. The DMA controller contains nine PDMA (Peripheral-to-
Memory or Memory-to-Peripheral or Memory-to-Memory) channels and one CRC generator
channel.
The CPU can recognize the completion of a DMA operation by software polling or when it
receives an internal DMA interrupt.
6.7.5.1 PDMA
The DMA controller has nine channels PDMA (Peripheral-to-Memory or Memory-to-Peripheral or
Memory-to-Memory). As to the source and destination address, the PDMA controller has two
modes: increased and fixed.
Every PDMA channel behavior is not pre-defined, users must configure the channel service
settings of PDMA_PDSSR0 and PDMA_PDSSR1 registers before starting the related PDMA
channel.
Software must enable PDMA channel by setting PDMACEN (PDMA_CSRx[0]) bit and then write a
valid source address to the PDMA_SARx register, a destination address to the PDMA_DARx
register, and a transfer count to the PDMA_BCRx register. Next, trigger the TRIG_EN
(PDMA_CSRx[23]). PDMA will continue the transfer until PDMA_CBCRx counts down to 0. The
following sequence is a program sequence example.
Enable PDMA peripheral clock by setting PDMA_EN (AHBCLK[1]) bit.