PIC32CM1216PL10032 DMAC registers

The 23 registers of DMAC (Direct Memory Access Controller), from 0x41006000, with their reset value and every field. The PIC32CM1216PL10032 has 642 registers in 32 peripherals, one page each.

DMAC Direct Memory Access Controller

CTRLControl

Address
0x41006000
Reset
0x0000
Access
read/write
Size
16-bit
7 fields
FieldBitsWhat it does
LVLEN311Priority Level 3 Enable
LVLEN210Priority Level 2 Enable
LVLEN19Priority Level 1 Enable
LVLEN08Priority Level 0 Enable
CRCENABLE2CRC Enable
DMAENABLE1DMA Enable
SWRST0Software Reset

CRCCTRLCRC Control

Address
0x41006002
Reset
0x0000
Access
read/write
Size
16-bit
3 fields
FieldBitsWhat it does
CRCSRC13:8CRC Input Source
  • 0 No action
  • 1 I/O interface
  • 32 DMA Channel 0
  • 33 DMA Channel 1
CRCPOLY3:2CRC Polynomial Type
  • 0 CRC-16 (CRC-CCITT)
  • 1 CRC32 (IEEE 802.3)
CRCBEATSIZE1:0CRC Beat Size
  • 0 8-bit bus transfer
  • 1 16-bit bus transfer
  • 2 32-bit bus transfer

CRCDATAINCRC Data Input

Address
0x41006004
Reset
0x00000000
Access
read/write
Size
32-bit
1 field
FieldBitsWhat it does
CRCDATAIN31:0CRC Data Input

CRCCHKSUMCRC Checksum

Address
0x41006008
Reset
0x00000000
Access
read/write
Size
32-bit
1 field
FieldBitsWhat it does
CRCCHKSUM31:0CRC Checksum

CRCSTATUSCRC Status

Address
0x4100600C
Reset
0x00
Access
read/write
  1. 7–
  2. 6–
  3. 5–
  4. 4–
  5. 3–
  6. 2–
  7. 1CRCZERO
  8. 0CRCBUSY
2 fields
FieldBitsWhat it does
CRCZERO1CRC Zero
CRCBUSY0CRC Module Busy

DBGCTRLDebug Control

Address
0x4100600D
Reset
0x00
Access
read/write
  1. 7–
  2. 6–
  3. 5–
  4. 4–
  5. 3–
  6. 2–
  7. 1–
  8. 0DBGRUN
1 field
FieldBitsWhat it does
DBGRUN0Debug Run

QOSCTRLQuality of Service Control

Address
0x4100600E
Reset
0x2A
Access
read/write
  1. 7–
  2. 6–
  3. 5DQOS1
  4. 4DQOS0
  5. 3FQOS1
  6. 2FQOS0
  7. 1WRBQOS1
  8. 0WRBQOS0
3 fields
FieldBitsWhat it does
DQOS5:4Data Transfer Quality of Service
  • 0 Background (no sensitive operation)
  • 1 Sensitive Bandwidth
  • 2 Sensitive Latency
  • 3 Critical Latency
FQOS3:2Fetch Quality of Service
  • 0 Background (no sensitive operation)
  • 1 Sensitive Bandwidth
  • 2 Sensitive Latency
  • 3 Critical Latency
WRBQOS1:0Write-Back Quality of Service
  • 0 Background (no sensitive operation)
  • 1 Sensitive Bandwidth
  • 2 Sensitive Latency
  • 3 Critical Latency

SWTRIGCTRLSoftware Trigger Control

Address
0x41006010
Reset
0x00000000
Access
read/write
Size
32-bit
2 fields
FieldBitsWhat it does
SWTRIG11Channel 1 Software Trigger
SWTRIG00Channel 0 Software Trigger

PRICTRL0Priority Control 0

Address
0x41006014
Reset
0x00000000
Access
read/write
Size
32-bit
8 fields
FieldBitsWhat it does
LVLPRI328:24Level 3 Channel Priority Number
  • 0 DMA Channel 0
  • 1 DMA Channel 1
RRLVLEN223Level 2 Round-Robin Arbitration Enable
LVLPRI220:16Level 2 Channel Priority Number
  • 0 DMA Channel 0
  • 1 DMA Channel 1
RRLVLEN115Level 1 Round-Robin Arbitration Enable
LVLPRI112:8Level 1 Channel Priority Number
  • 0 DMA Channel 0
  • 1 DMA Channel 1
RRLVLEN07Level 0 Round-Robin Arbitration Enable
LVLPRI04:0Level 0 Channel Priority Number
  • 0 DMA Channel 0
  • 1 DMA Channel 1
RRLVLEN331Level 3 Round-Robin Arbitration Enable

INTPENDInterrupt Pending

Address
0x41006020
Reset
0x0000
Access
read/write
Size
16-bit
7 fields
FieldBitsWhat it does
PEND15Pending
BUSY14Busy
FERR13Fetch Error
SUSP10Channel Suspend
TCMPL9Transfer Complete
TERR8Transfer Error
ID4:0Channel ID
  • 0 DMA Channel 0
  • 1 DMA Channel 1

INTSTATUSInterrupt Status

Address
0x41006024
Reset
0x00000000
Access
read only
Size
32-bit
2 fields
FieldBitsWhat it does
CHINT11Channel 1 Pending Interrupt
CHINT00Channel 0 Pending Interrupt

BUSYCHBusy Channels

Address
0x41006028
Reset
0x00000000
Access
read only
Size
32-bit
2 fields
FieldBitsWhat it does
BUSYCH11Busy Channel 1
BUSYCH00Busy Channel 0

PENDCHPending Channels

Address
0x4100602C
Reset
0x00000000
Access
read only
Size
32-bit
2 fields
FieldBitsWhat it does
PENDCH11Pending Channel 1
PENDCH00Pending Channel 0

ACTIVEActive Channel and Levels

Address
0x41006030
Reset
0x00000000
Access
read only
Size
32-bit
7 fields
FieldBitsWhat it does
ABUSY15Active Channel Busy
ID12:8Active Channel ID
  • 0 DMA Channel 0
  • 1 DMA Channel 1
LVLEX33Level 3 Channel Trigger Request Executing
LVLEX22Level 2 Channel Trigger Request Executing
LVLEX11Level 1 Channel Trigger Request Executing
LVLEX00Level 0 Channel Trigger Request Executing
BTCNT31:16Active Channel Block Transfer Count

BASEADDRDescriptor Memory Section Base Address

Address
0x41006034
Reset
0x00000000
Access
read/write
Size
32-bit
1 field
FieldBitsWhat it does
BASEADDR31:0Descriptor Memory Base Address

WRBADDRWrite-Back Memory Section Base Address

Address
0x41006038
Reset
0x00000000
Access
read/write
Size
32-bit
1 field
FieldBitsWhat it does
WRBADDR31:0Write-Back Memory Base Address

CHIDChannel ID

Address
0x4100603F
Reset
0x00
Access
read/write
  1. 7–
  2. 6–
  3. 5–
  4. 4ID4
  5. 3ID3
  6. 2ID2
  7. 1ID1
  8. 0ID0
1 field
FieldBitsWhat it does
ID4:0Channel ID
  • 0 DMA Channel 0
  • 1 DMA Channel 1

CHCTRLAChannel Control A

Address
0x41006040
Reset
0x00
Access
read/write
  1. 7–
  2. 6RUNSTDBY
  3. 5–
  4. 4–
  5. 3–
  6. 2–
  7. 1ENABLE
  8. 0SWRST
3 fields
FieldBitsWhat it does
RUNSTDBY6Channel run in standby
ENABLE1Channel Enable
SWRST0Channel Software Reset

CHCTRLBChannel Control B

Address
0x41006044
Reset
0x00000000
Access
read/write
Size
32-bit
7 fields
FieldBitsWhat it does
CMD25:24Software Command
  • 0 No action
  • 1 Channel suspend operation
  • 2 Channel resume operation
TRIGACT23:22Trigger Action
  • 0 One trigger required for each block transfer
  • 2 One trigger required for each beat transfer
  • 3 One trigger required for each transaction
TRIGSRC15:8Trigger Source
  • 0 Only software/event triggers
  • 1 SERCOM0 RX Trigger
  • 2 SERCOM0 TX Trigger
  • 3 SERCOM1 RX Trigger
  • 4 SERCOM1 TX Trigger
  • 5 TC0 Overflow Trigger
  • 6 TC0 Match/Compare 0 Trigger
  • 7 TC0 Match/Compare 1 Trigger
  • 8 TC1 Overflow Trigger
  • 9 TC1 Match/Compare 0 Trigger
  • 10 TC1 Match/Compare 1 Trigger
  • 11 TC2 Overflow Trigger
  • 12 TC2 Match/Compare 0 Trigger
  • 13 TC2 Match/Compare 1 Trigger
  • 14 TCC0 Overflow Trigger
  • 15 TCC0 Match/Compare 0 Trigger
  • 16 TCC0 Match/Compare 1 Trigger
  • 17 TCC0 Match/Compare 2 Trigger
  • 18 TCC0 Match/Compare 3 Trigger
  • 19 ADC0 Restult Ready Trigger
  • 20 ADC0 Sample Ready Trigger
  • 21 DSU Debug Communication Channel 0
  • 22 DSU Debug Communication Channel 1
LVL7:5Channel Arbitration Level
  • 0 Channel priority level 0
  • 1 Channel priority level 1
  • 2 Channel priority level 2
  • 3 Channel priority level 3
EVOE4Channel Event Output Enable
EVIE3Channel Event Input Enable
EVACT2:0Event Input Action
  • 0 No action
  • 1 Normal transfer and conditional transfer on strobe trigger
  • 2 Conditional transfer trigger
  • 3 Conditional block transfer
  • 4 Channel suspend operation
  • 5 Channel resume operation
  • 6 Skip next block suspend action

CHINTENCLRChannel Interrupt Enable Clear

Address
0x4100604C
Reset
0x00
Access
read/write
  1. 7–
  2. 6–
  3. 5–
  4. 4–
  5. 3–
  6. 2SUSP
  7. 1TCMPL
  8. 0TERR
3 fields
FieldBitsWhat it does
SUSP2Suspend Interrupt Enable
TCMPL1Transfer Complete Interrupt Enable
TERR0Transfer Error Interrupt Enable

CHINTENSETChannel Interrupt Enable Set

Address
0x4100604D
Reset
0x00
Access
read/write
  1. 7–
  2. 6–
  3. 5–
  4. 4–
  5. 3–
  6. 2SUSP
  7. 1TCMPL
  8. 0TERR
3 fields
FieldBitsWhat it does
SUSP2Suspend Interrupt Enable
TCMPL1Transfer Complete Interrupt Enable
TERR0Transfer Error Interrupt Enable

CHINTFLAGChannel Interrupt Flag Status and Clear

Address
0x4100604E
Reset
0x00
Access
read/write
  1. 7–
  2. 6–
  3. 5–
  4. 4–
  5. 3–
  6. 2SUSP
  7. 1TCMPL
  8. 0TERR
3 fields
FieldBitsWhat it does
SUSP2Suspend
TCMPL1Transfer Complete
TERR0Transfer Error

CHSTATUSChannel Status

Address
0x4100604F
Reset
0x00
Access
read only
  1. 7–
  2. 6–
  3. 5–
  4. 4–
  5. 3–
  6. 2FERR
  7. 1BUSY
  8. 0PEND
3 fields
FieldBitsWhat it does
FERR2Fetch Error
BUSY1Busy
PEND0Pending