TABLE 3:PIN NAMES FOR 28-PIN GENERAL PURPOSE DEVICES
Pin #Full Pin NamePin #Full Pin Name
1
MCLR
2
REF
+/CV
REF
V
3
REF
V
4
PGED1/AN2/C1IND/C2INB/C3IND/RPB0/RB0
5
PGEC1/AN3/C1INC/C2INA/RPB1/CTED12/RB1
6
AN4/C1INB/C2IND/RPB2/SDA2/CTED13/RB2
7
AN5/C1INA/C2INC/RTCC/RPB3/SCL2/RB3
8
SS
V
9
OSC1/CLKI/RPA2/RA2
10
OSC2/CLKO/RPA3/PMA0/RA3
11
SOSCI/RPB4/RB4
12
SOSCO/RPA4/T1CK/CTED9/PMA1/RA4
13
DD
V
14
PGED3/RPB5/PMD7/RB5
Note 1:The RPn pins can be used by remappable peripherals. See Table 1 for the available peripherals and Section 11.3 “Peripheral Pin
2:Every I/O port pin (RAx-RCx) can be used as a change notification pin (CNAx-CNCx). See Section 11.0 “I/O Ports” for more information.
3:Shaded pins are 5V tolerant.
+/AN0/C3INC/RPA0/CTED1/RA0
-/CV
REF
-/AN1/RPA1/CTED2/RA1
Select” for restrictions.
15
PGEC3/RPB6/PMD6/RB6
16
TDI/RPB7/CTED3/PMD5/INT0/RB7
17
TCK/RPB8/SCL1/CTED10/PMD4/RB8
18
TDO/RPB9/SDA1/CTED4/PMD3/RB9
19
SS
V
20
CAP
V
21
PGED2/RPB10/CTED11/PMD2/RB10
22
PGEC2/TMS/RPB11/PMD1/RB11
23
AN12/PMD0/RB12
24
AN11/RPB13/CTPLS/PMRD/RB13
25
REFOUT
CV
26
AN9/C3INA/RPB15/SCK2/CTED6/PMCS1/RB15
27
AV
28
AV
/AN10/C3INB/RPB14/SCK1/CTED5/PMWR/RB14
SS
DD
DS60001168L-page 4 2011-2019 Microchip Technology Inc.
TABLE 5:PIN NAMES FOR 28-PIN GENERAL PURPOSE DEVICES
Pin #Full Pin NamePin #Full Pin Name
1
PGED1/AN2/C1IND/C2INB/C3IND/RPB0/RB0
2
PGEC1/AN3/C1INC/C2INA/RPB1/CTED12/RB1
3
AN4/C1INB/C2IND/RPB2/SDA2/CTED13/RB2
4
AN5/C1INA/C2INC/RTCC/RPB3/SCL2/RB3
5
V
SS
6
OSC1/CLKI/RPA2/RA2
7
OSC2/CLKO/RPA3/PMA0/RA3
8
SOSCI/RPB4/RB4
9
SOSCO/RPA4/T1CK/CTED9/PMA1/RA4
10
DD
V
11
PGED3/RPB5/PMD7/RB5
12
PGEC3/RPB6/PMD6/RB6
13
TDI/RPB7/CTED3/PMD5/INT0/RB7
14
TCK/RPB8/SCL1/CTED10/PMD4/RB8
Note 1:The RPn pins can be used by remappable peripherals. See Table 1 for the available peripherals and Section 11.3 “Peripheral Pin
Select” for restrictions.
2:Every I/O port pin (RAx-RCx) can be used as a change notification pin (CNAx-CNCx). See Section 11.0 “I/O Ports” for more information.
3:The metal plane at the bottom of the device is not connected to any pins and is recommended to be connected to V
4:Shaded pins are 5V tolerant.
15
TDO/RPB9/SDA1/CTED4/PMD3/RB9
16
SS
V
17
CAP
V
18
PGED2/RPB10/CTED11/PMD2/RB10
19
PGEC2/TMS/RPB11/PMD1/RB11
20
AN12/PMD0/RB12
21
AN11/RPB13/CTPLS/PMRD/RB13
22
REFOUT
CV
23
AN9/C3INA/RPB15/SCK2/CTED6/PMCS1/RB15
24
AV
25
AV
26
MCLR
27
V
28
V
/AN10/C3INB/RPB14/SCK1/CTED5/PMWR/RB14
SS
DD
REF
+/CV
REF
+/AN0/C3INC/RPA0/CTED1/RA0
REF
-/CV
REF
-/AN1/RPA1/CTED2/RA1
SS
externally.
DS60001168L-page 6 2011-2019 Microchip Technology Inc.
Note 1:The RPn pins can be used by remappable peripherals. See Table 1 for the available peripherals and Section 11.3 “Peripheral Pin
Select” for restrictions.
2:Every I/O port pin (RAx-RCx) can be used as a change notification pin (CNAx-CNCx). See Section 11.0 “I/O Ports” for more information.
3:The metal plane at the bottom of the device is not connected to any pins and is recommended to be connected to V
4:Shaded pins are 5V tolerant.
TABLE 7:PIN NAMES FOR 36-PIN GENERAL PURPOSE DEVICES
Pin #Full Pin NamePin #Full Pin Name
1
AN4/C1INB/C2IND/RPB2/SDA2/CTED13/RB2
2
AN5/C1INA/C2INC/RTCC/RPB3/SCL2/RB3
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Note 1:The RPn pins can be used by remappable peripherals. See Table 1 for the available peripherals and Section 11.3 “Peripheral Pin
(4)
PGED4
PGEC4
V
V
OSC1/CLKI/RPA2/RA2
OSC2/CLKO/RPA3/PMA0/RA3
SOSCI/RPB4/RB4
SOSCO/RPA4/T1CK/CTED9/PMA1/RA4
RPC3/RC3
V
V
V
PGED3/RPB5/PMD7/RB5
PGEC3/RPB6/PMD6/RB6
TDI/RPB7/CTED3/PMD5/INT0/RB7
TCK/RPB8/SCL1/CTED10/PMD4/RB8
2:Every I/O port pin (RAx-RCx) can be used as a change notification pin (CNAx-CNCx). See Section 11.0 “I/O Ports” for more information.
3:The metal plane at the bottom of the device is not connected to any pins and is recommended to be connected to V
4:This pin function is not available on PIC32MX110F016C and PIC32MX120F032C devices.
5:Shaded pins are 5V tolerant.
/AN6/RPC0/RC0
(4)
/AN7/RPC1/RC1
DD
SS
SS
DD
DD
Select” for restrictions.
19
TDO/RPB9/SDA1/CTED4/PMD3/RB9
20
RPC9/CTED7/RC9
21
V
SS
22
V
CAP
23
DD
V
24
PGED2/RPB10/CTED11/PMD2/RB10
25
PGEC2/TMS/RPB11/PMD1/RB11
26
AN12/PMD0/RB12
27
AN11/RPB13/CTPLS/PMRD/RB13
28
REFOUT
CV
29
AN9/C3INA/RPB15/SCK2/CTED6/PMCS1/RB15
30
AV
31
AV
32
MCLR
33
V
34
V
35
PGED1/AN2/C1IND/C2INB/C3IND/RPB0/RB0
36
PGEC1/AN3/C1INC/C2INA/RPB1/CTED12/RB1
/AN10/C3INB/RPB14/SCK1/CTED5/PMWR/RB14
SS
DD
REF
+/CV
REF
+/AN0/C3INC/RPA0/CTED1/RA0
REF
-/CV
REF
-/AN1/RPA1/CTED2/RA1
SS
externally.
DS60001168L-page 8 2011-2019 Microchip Technology Inc.
Note 1:The RPn pins can be used by remappable peripherals. See Table 1 for the available peripherals and Section 11.3 “Peripheral Pin
(4)
/AN6/RPC0/RC0
PGED4
(4)
PGEC4
/AN7/RPC1/RC1
V
DD
SS
V
OSC1/CLKI/RPA2/RA2
OSC2/CLKO/RPA3/PMA0/RA3
SOSCI/RPB4/RB4
SOSCO/RPA4/T1CK/CTED9/PMA1/RA4
AN12/RPC3/RC3
SS
V
V
DD
V
DD
TMS/RPB5/USBID/RB5
BUS
V
TDI/RPB7/CTED3/PMD5/INT0/RB7
TCK/RPB8/SCL1/CTED10/PMD4/RB8
Select” for restrictions.
2:Every I/O port pin (RAx-RCx) can be used as a change notification pin (CNAx-CNCx). See Section 11.0 “I/O Ports” for more information.
3:The metal plane at the bottom of the device is not connected to any pins and is recommended to be connected to V
4:This pin function is not available on PIC32MX210F016C and PIC32MX120F032C devices.
5:Shaded pins are 5V tolerant.
TABLE 9:PIN NAMES FOR 44-PIN GENERAL PURPOSE DEVICES
Pin #Full Pin NamePin #Full Pin Name
1
RPB9/SDA1/CTED4/PMD3/RB9
2
RPC6/PMA1/RC6
3
RPC7/PMA0/RC7
4
RPC8/PMA5/RC8
5
RPC9/CTED7/PMA6/RC9
6
SS
V
7
CAP
V
8
PGED2/RPB10/CTED11/PMD2/RB10
9
PGEC2/RPB11/PMD1/RB11
10
AN12/PMD0/RB12
11
AN11/RPB13/CTPLS/PMRD/RB13
12
13
14
15
16
17
18
19
20
21
22
Note 1:The RPn pins can be used by remappable peripherals. See Table 1 for the available peripherals and Section 11.3 “Peripheral Pin
(4)
PGED4
PGEC4
CV
AN9/C3INA/RPB15/SCK2/CTED6/PMCS1/RB15
AV
AV
MCLR
V
V
PGED1/AN2/C1IND/C2INB/C3IND/RPB0/RB0
PGEC1/AN3/C1INC/C2INA/RPB1/CTED12/RB1
2:Every I/O port pin (RAx-RCx) can be used as a change notification pin (CNAx-CNCx). See Section 11.0 “I/O Ports” for more information.
3:The metal plane at the bottom of the device is not connected to any pins and is recommended to be connected to V
4:This pin function is not available on PIC32MX110F016D and PIC32MX120F032D devices.
5:Shaded pins are 5V tolerant.
/TMS/PMA10/RA10
(4)
/TCK/CTED8/PMA7/RA7
REFOUT
/AN10/C3INB/RPB14/SCK1/CTED5/PMWR/RB14
SS
DD
REF
+/CV
REF
+/AN0/C3INC/RPA0/CTED1/RA0
REF
-/CV
REF
-/AN1/RPA1/CTED2/RA1
Select” for restrictions.
23
AN4/C1INB/C2IND/RPB2/SDA2/CTED13/RB2
24
AN5/C1INA/C2INC/RTCC/RPB3/SCL2/RB3
25
AN6/RPC0/RC0
26
AN7/RPC1/RC1
27
AN8/RPC2/PMA2/RC2
28
V
DD
29
SS
V
30
OSC1/CLKI/RPA2/RA2
31
OSC2/CLKO/RPA3/RA3
32
TDO/RPA8/PMA8/RA8
33
SOSCI/RPB4/RB4
34
SOSCO/RPA4/T1CK/CTED9/RA4
35
TDI/RPA9/PMA9/RA9
36
RPC3/RC3
37
RPC4/PMA4/RC4
38
RPC5/PMA3/RC5
39
V
SS
40
DD
V
41
PGED3/RPB5/PMD7/RB5
42
PGEC3/RPB6/PMD6/RB6
43
RPB7/CTED3/PMD5/INT0/RB7
44
RPB8/SCL1/CTED10/PMD4/RB8
SS
externally.
DS60001168L-page 10 2011-2019 Microchip Technology Inc.
Note 1:The RPn pins can be used by remappable peripherals. See Table 1 for the available peripherals and Section 11.3 “Peripheral Pin
2:Every I/O port pin (RAx-RCx) can be used as a change notification pin (CNAx-CNCx). See Section 11.0 “I/O Ports” for more information.
3:The metal plane at the bottom of the device is not connected to any pins and is recommended to be connected to V
4:This pin function is not available on PIC32MX110F016D and PIC32MX120F032D devices.
5:Shaded pins are 5V tolerant.
TABLE 11:PIN NAMES FOR 44-PIN GENERAL PURPOSE DEVICES
Pin #Full Pin NamePin #Full Pin Name
1
RPB9/SDA1/CTED4/PMD3/RB9
2
RPC6/PMA1/RC6
3
RPC7/PMA0/RC7
4
RPC8/PMA5/RC8
5
RPC9/CTED7/PMA6/RC9
6
SS
V
7
CAP
V
8
PGED2/RPB10/CTED11/PMD2/RB10
9
PGEC2/RPB11/PMD1/RB11
10
AN12/PMD0/RB12
11
AN11/RPB13/CTPLS/PMRD/RB13
12
13
14
15
16
17
18
19
20
21
22
Note 1:The RPn pins can be used by remappable peripherals. See Table 1 for the available peripherals and Section 11.3 “Peripheral Pin
(4)
PGED4
PGEC4
CV
AN9/C3INA/RPB15/SCK2/CTED6/PMCS1/RB15
AV
AV
MCLR
V
V
PGED1/AN2/C1IND/C2INB/C3IND/RPB0/RB0
PGEC1/AN3/C1INC/C2INA/RPB1/CTED12/RB1
2:Every I/O port pin (RAx-RCx) can be used as a change notification pin (CNAx-CNCx). See Section 11.0 “I/O Ports” for more information.
3:The metal plane at the bottom of the device is not connected to any pins and is recommended to be connected to V
4:This pin function is not available on PIC32MX110F016D and PIC32MX120F032D devices.
5:Shaded pins are 5V tolerant.
/TMS/PMA10/RA10
(4)
/TCK/CTED8/PMA7/RA7
REFOUT
/AN10/C3INB/RPB14/SCK1/CTED5/PMWR/RB14
SS
DD
REF
+/CV
REF
+/AN0/C3INC/RPA0/CTED1/RA0
REF
-/CV
REF
-/AN1/RPA1/CTED2/RA1
Select” for restrictions.
23
AN4/C1INB/C2IND/RPB2/SDA2/CTED13/RB2
24
AN5/C1INA/C2INC/RTCC/RPB3/SCL2/RB3
25
AN6/RPC0/RC0
26
AN7/RPC1/RC1
27
AN8/RPC2/PMA2/RC2
28
V
DD
29
SS
V
30
OSC1/CLKI/RPA2/RA2
31
OSC2/CLKO/RPA3/RA3
32
TDO/RPA8/PMA8/RA8
33
SOSCI/RPB4/RB4
34
SOSCO/RPA4/T1CK/CTED9/RA4
35
TDI/RPA9/PMA9/RA9
36
RPC3/RC3
37
RPC4/PMA4/RC4
38
RPC5/PMA3/RC5
39
V
SS
40
DD
V
41
PGED3/RPB5/PMD7/RB5
42
PGEC3/RPB6/PMD6/RB6
43
RPB7/CTED3/PMD5/INT0/RB7
44
RPB8/SCL1/CTED10/PMD4/RB8
SS
externally.
DS60001168L-page 12 2011-2019 Microchip Technology Inc.
Note 1:The RPn pins can be used by remappable peripherals. See Table 1 for the available peripherals and Section 11.3 “Peripheral Pin
(4)
/TMS/PMA10/RA10
PGED4
(4)
PGEC4
/TCK/CTED8/PMA7/RA7
REFOUT
CV
AN9/C3INA/RPB15/SCK2/CTED6/PMCS1/RB15
AV
AV
MCLR
PGED3/V
PGEC3/V
PGED1/AN2/C1IND/C2INB/C3IND/RPB0/PMD0/RB0
PGEC1/AN3/C1INC/C2INA/RPB1/CTED12/PMD1/RB1
2:Every I/O port pin (RAx-RCx) can be used as a change notification pin (CNAx-CNCx). See Section 11.0 “I/O Ports” for more information.
3:The metal plane at the bottom of the device is not connected to any pins and is recommended to be connected to V
4:This pin function is not available on PIC32MX210F016D and PIC32MX220F032D devices.
5:Shaded pins are 5V tolerant.
TABLE 13:PIN NAMES FOR 44-PIN GENERAL PURPOSE DEVICES
Pin #Full Pin NamePin #Full Pin Name
1
RPB9/SDA1/CTED4/PMD3/RB9
2
RPC6/PMA1/RC6
3
RPC7/PMA0/RC7
4
RPC8/PMA5/RC8
5
RPC9/CTED7/PMA6/RC9
6
SS
V
7
CAP
V
8
PGED2/RPB10/CTED11/PMD2/RB10
9
PGEC2/RPB11/PMD1/RB11
10
AN12/PMD0/RB12
11
AN11/RPB13/CTPLS/PMRD/RB13
12
13
14
15
16
17
18
19
20
21
22
Note 1:The RPn pins can be used by remappable peripherals. See Table 1 for the available peripherals and Section 11.3 “Peripheral Pin
(4)
PGED4
PGEC4
CV
AN9/C3INA/RPB15/SCK2/CTED6/PMCS1/RB15
AV
AV
MCLR
V
V
PGED1/AN2/C1IND/C2INB/C3IND/RPB0/RB0
PGEC1/AN3/C1INC/C2INA/RPB1/CTED12/RB1
2:Every I/O port pin (RAx-RCx) can be used as a change notification pin (CNAx-CNCx). See Section 11.0 “I/O Ports” for more information.
3:The metal plane at the bottom of the device is not connected to any pins and is recommended to be connected to V
4:This pin function is not available on PIC32MX110F016D and PIC32MX120F032D devices.
5:Shaded pins are 5V tolerant.
/TMS/PMA10/RA10
(4)
/TCK/CTED8/PMA7/RA7
REFOUT
/AN10/C3INB/RPB14/SCK1/CTED5/PMWR/RB14
SS
DD
REF
+/CV
REF
+/AN0/C3INC/RPA0/CTED1/RA0
REF
-/CV
REF
-/AN1/RPA1/CTED2/RA1
Select” for restrictions.
23
AN4/C1INB/C2IND/RPB2/SDA2/CTED13/RB2
24
AN5/C1INA/C2INC/RTCC/RPB3/SCL2/RB3
25
AN6/RPC0/RC0
26
AN7/RPC1/RC1
27
AN8/RPC2/PMA2/RC2
28
V
DD
29
SS
V
30
OSC1/CLKI/RPA2/RA2
31
OSC2/CLKO/RPA3/RA3
32
TDO/RPA8/PMA8/RA8
33
SOSCI/RPB4/RB4
34
SOSCO/RPA4/T1CK/CTED9/RA4
35
TDI/RPA9/PMA9/RA9
36
RPC3/RC3
37
RPC4/PMA4/RC4
38
RPC5/PMA3/RC5
39
SS
V
40
DD
V
41
PGED3/RPB5/PMD7/RB5
42
PGEC3/RPB6/PMD6/RB6
43
RPB7/CTED3/PMD5/INT0/RB7
44
RPB8/SCL1/CTED10/PMD4/RB8
SS
externally.
DS60001168L-page 14 2011-2019 Microchip Technology Inc.
Note 1:The RPn pins can be used by remappable peripherals. See Table 1 for the available peripherals and Section 11.3 “Peripheral Pin
(4)
/TMS/PMA10/RA10
PGED4
(4)
PGEC4
/TCK/CTED8/PMA7/RA7
REFOUT
CV
AN9/C3INA/RPB15/SCK2/CTED6/PMCS1/RB15
AV
AV
MCLR
PGED3/V
PGEC3/V
PGED1/AN2/C1IND/C2INB/C3IND/RPB0/PMD0/RB0
PGEC1/AN3/C1INC/C2INA/RPB1/CTED12/PMD1/RB1
2:Every I/O port pin (RAx-RCx) can be used as a change notification pin (CNAx-CNCx). See Section 11.0 “I/O Ports” for more information.
3:The metal plane at the bottom of the device is not connected to any pins and is recommended to be connected to V
4:This pin function is not available on PIC32MX210F016D and PIC32MX220F032D devices.
5:Shaded pins are 5V tolerant.
2.0 Guidelines for Getting Started with 32-bit MCUs........................................................................................................................ 27
3.0 CPU ............................................................................................................................................................................................ 37
5.0 Flash Program Memory.............................................................................................................................................................. 57
9.0 Direct Memory Access (DMA) Controller ................................................................................................................................... 87
10.0 USB On-The-Go (OTG)............................................................................................................................................................ 107
25.0 Charge Time Measurement Unit (CTMU) ............................................................................................................................... 231
26.0 Power-Saving Features ........................................................................................................................................................... 237
27.0 Special Features ...................................................................................................................................................................... 243
28.0 Instruction Set .......................................................................................................................................................................... 255
29.0 Development Support............................................................................................................................................................... 257
32.0 DC and AC Device Characteristics Graphs.............................................................................................................................. 311
The Microchip Web Site ..................................................................................................................................................................... 347
Customer Change Notification Service .............................................................................................................................................. 347
Customer Support .............................................................................................................................................................................. 347
C) ..................................................................................................................................................... 177
DS60001168L-page 16 2011-2019 Microchip Technology Inc.
PIC32MX1XX/2XX 28/36/44-PIN FAMILY
TO OUR VALUED CUSTOMERS
It is our intention to provide our valued customers with the best documentation possible to ensure successful use of your Microchip
products. To this end, we will continue to improve our publications to better suit your needs. Our publications will be refined and
enhanced as new volumes and updates are introduced.
If you have any questions or comments regarding this publication, please contact the Marketing Communications Department via
E-mail at docerrors@microchip.com. We welcome your feedback.
Most Current Data Sheet
To obtain the most up-to-date version of this data sheet, please register at our Worldwide Web site at:
http://www.microchip.com
You can determine the version of a data sheet by examining its literature number found on the bottom outside corner of any page.
The last character of the literature number is the version number, (e.g., DS30000000A is version A of document DS30000000).
Errata
An errata sheet, describing minor operational differences from the data sheet and recommended workarounds, may exist for current
devices. As device/documentation issues become known to us, we will publish an errata sheet. The errata will specify the revision
of silicon and revision of document to which it applies.
To determine if an errata sheet exists for a particular device, please check with one of the following:
• Microchip’s Worldwide Web site; http://www.microchip.com
• Your local Microchip sales office (see last page)
When contacting a sales office, please specify which device, revision of silicon and data sheet (include literature number) you are
using.
Customer Notification System
Register on our web site at www.microchip.com to receive the most current information on all of our products.
• Section 33. “Programming and Diagnostics” (DS60001129)
• Section 37. “Charge Time Measurement Unit (CTMU)” (DS60001167)
2
C)” (DS60001116)
REF
)” (DS60001109)
DS60001168L-page 18 2011-2019 Microchip Technology Inc.
PIC32MX1XX/2XX 28/36/44-PIN FAMILY
Note:Some features are not available on all devices. Refer to the family features tables (Ta bl e 1 and Table 2) for availability.
UART1-UART2
Comparators 1-3
PORTA
Remappable
PORTB
CTMU
JTAG
Priority
DMAC
ICD
MIPS32® M4K
®
ISDS
EJTAGINT
Bus Matrix
Data RAM
Peripheral Bridge
32
32-bit Wide
Flash
32 32
32
32
Peripheral Bus Clocked by PBCLK
Program Flash Memory
Controller
32
32
32
Interrupt
Controller
BSCAN
PORTC
PMP
I2C1-I2C2
SPI1-SPI2
IC1-IC5
PWM
OC1-OC5
OSC1/CLKI
OSC2/CLKO
V
DD
, V
SS
Timing
Generation
MCLR
Power-up
Timer
Oscillator
Start-up Timer
Power-on
Reset
Watchdog
Timer
Brown-out
Reset
Precision
Reference
Band Gap
FRC/LPRC
Oscillators
Regulator
Vol tag e
V
CAP
OSC/S
OSC
Oscillators
PLL
Dividers
SYSCLK
PBCLK
Peripheral Bus Clocked by SYSCLK
USB
PLL-USB
USBCLK
32
RTCC
10-bit ADC
Timer1-Timer5
32
32
CPU Core
Pins
1.0DEVICE OVERVIEW
Note:This data sheet summarizes the features
of the PIC32MX1XX/2XX 28/36/44-pin
Family of devices. It is not intended to be
a comprehensive reference source. To
complement the information in this data
sheet, refer to documents listed in the
Documentation > Reference Manual
section of the Microchip PIC32 web site
(www.microchip.com/pic32).
FIGURE 1-1:BLOCK DIAGRAM
This document contains device-specific information for
PIC32MX1XX/2XX 28/36/44-pin Family of devices.
Figure 1-1 illustrates a general block diagram of the
core and peripheral modules in the PIC32MX1XX/2XX
28/36/44-pin Family of devices.
Table 1-1 lists the functions of the various pins shown
I/OSTPORTA is a bidirectional I/O port
RA12833420I/OST
RA269730I/OST
RA3710831I/OST
RA49121034I/OST
RA7———13I/OST
RA8———32I/OST
RA9———35I/OST
RA10———12I/OST
RB0143521I/OSTPORTB is a bidirectional I/O port
RB1253622I/OST
RB236123I/OST
RB347224I/OST
RB4811933I/OST
RB511141541I/OST
RB612
2: Pin number for PIC32MX1XX devices only.
3: Pin number for PIC32MX2XX devices only.
28-pin
SSOP/
SPDIP/
SOIC
36-pin
VTLA
44-pin
QFN/
TQFP/
VTLA
Pin
Typ e
I/OST
Buffer
Type
UART1 receive
O—UART1 transmit
IST
O—
IST
O—
IST
O—
UART2 receive
UART2 transmit
Synchronous serial clock input/output for
SPI1
SPI1 data in
SPI1 data out
pulse I/O
SPI2
SPI2 data in
SPI2 data out
pulse I/O
I2C1
Description
DS60001168L-page 22 2011-2019 Microchip Technology Inc.
PIC32MX1XX/2XX 28/36/44-PIN FAMILY
TABLE 1-1:PINOUT I/O DESCRIPTIONS (CONTINUED)
Pin Number
(1)
Pin Name
28-pin
QFN
28-pin
SSOP/
SPDIP/
SOIC
36-pin
VTLA
44-pin
QFN/
TQFP/
VTLA
Pin
Typ e
Buffer
Type
Description
SDA11518191I/OSTSynchronous serial data input/output for
I2C1
SCL247224I/OSTSynchronous serial clock input/output for
I2C2
SDA236123I/OSTSynchronous serial data input/output for
I2C2
TMS
19
11
(2)
(3)
22
14
(2)
(3)
25
15
(2)
(3)
12ISTJTAG Test mode select pin
TCK14171813ISTJTAG test clock input pin
TDI13161735O—JTAG test data input pin
TDO15181932O—JTAG test data output pin
RTCC47224OSTReal-Time Clock alarm output
C
VREF
-2833420IAnalog
VREF
+2723319IAnalog Comparator Voltage Reference (high)
C
C
VREFOUT
C1INA47224
22252814OAnalogComparator Voltage Reference output
Note 1: Pin numbers are provided for reference only. See the “Pin Diagrams” section for device pin availability.
2: Pin number for PIC32MX1XX devices only.
3: Pin number for PIC32MX2XX devices only.
DS60001168L-page 26 2011-2019 Microchip Technology Inc.
PIC32MX1XX/2XX 28/36/44-PIN FAMILY
2.0GUIDELINES FOR GETTING
STARTED WITH 32-BIT MCUs
Note:This data sheet summarizes the features
of the PIC32MX1XX/2XX 28/36/44-pin
Family of devices. It is not intended to be
a comprehensive reference source. To
complement the information in this data
sheet, refer to the documents listed in the
Documentation > Reference Manual
section of the Microchip PIC32 web site
(www.microchip.com/pic32).
2.1Basic Connection Requirements
Getting started with the PIC32MX1XX/2XX 28/36/44pin Family of 32-bit Microcontrollers (MCUs) requires
attention to a minimal set of device pin connections
before proceeding with development. The following is a
list of pin names, which must always be connected:
DD
•All V
•All AV
•V
•MCLR pin (see 2.4 “Master Clear (MCLR) Pin”)
• PGECx/PGEDx pins, used for In-Circuit Serial
• OSC1 and OSC2 pins, when external oscillator
The following pins may be required:
•V
and VSS pins (see 2.2 “Decoupling
Capacitors”)
DD
and AVSS pins, even if the ADC module
is not used (see 2.2 “Decoupling Capacitors”)
CAP
pin (see 2.3 “Capacitor on Internal
CAP
Voltage Regulator (V
Programming™ (ICSP™) and debugging purposes (see 2.5 “ICSP Pins”)
source is used (see 2.7 “External Oscillator
Pins”)
REF
+/V
REF
- pins – used when external voltage
reference for the ADC module is implemented
Note:The AV
nected, regardless of ADC use and the
ADC voltage reference source.
DD
)”)
and AVSS pins must be con-
2.2Decoupling Capacitors
The use of decoupling capacitors on power supply
pins, such as V
See Figure 2-1.
Consider the following criteria when using decoupling
capacitors:
• Value and type of capacitor: A value of 0.1 µF
(100 nF), 10-20V is recommended. The capacitor
should be a low Equivalent Series Resistance
(low-ESR) capacitor and have resonance frequency in the range of 20 MHz and higher. It is
further recommended that ceramic capacitors be
used.
• Placement on the printed circuit board: The
decoupling capacitors should be placed as close
to the pins as possible. It is recommended that
the capacitors be placed on the same side of the
board as the device. If space is constricted, the
capacitor can be placed on another layer on the
PCB using a via; however, ensure that the trace
length from the pin to the capacitor is within onequarter inch (6 mm) in length.
• Handling high frequency noise: If the board is
experiencing high frequency noise, upward of
tens of MHz, add a second ceramic-type capacitor
in parallel to the above described decoupling
capacitor. The value of the second capacitor can
be in the range of 0.01 µF to 0.001 µF. Place this
second capacitor next to the primary decoupling
capacitor. In high-speed circuit designs, consider
implementing a decade pair of capacitances as
close to the power and ground pins as possible.
For example, 0.1 µF in parallel with 0.001 µF.
• Maximizing performance: On the board layout
from the power supply circuit, run the power and
return traces to the decoupling capacitors first,
and then to the device pins. This ensures that the
decoupling capacitors are first in the power chain.
Equally important is to keep the trace length
between the capacitor and the power pins to a
minimum thereby reducing PCB track inductance.
Note 1: If the USB module is not used, this pin must be
connected to V
DD
.
2: As an option, instead of a hard-wired connection, an
inductor (L1) can be substituted between V
DD
and
AV
DD
to improve ADC noise rejection. The inductor
impedance should be less than 3 and the inductor
capacity greater than 10 mA.
Where:
f
F
CNV
2
------------ --
=
f
1
2 LC
------------ -----------
=
L
1
2fC
------------ ----------
2
=
(i.e., ADC conversion rate/2)
Connect
(2)
V
USB3V
3
(1)
V
CAP
Tantalum or
ceramic 10 µF
ESR 3
(3)
1: Aluminum or electrolytic capacitors should not be
used. ESR 3 from -40ºC to 125ºC @ SYSCLK
frequency (i.e., MIPS).
1K
0.1 µF
Note 1: 470R1 1 will limit any current flowing into
MCLR
from the external capacitor C, in the event of
MCLR
pin breakdown, due to Electrostatic Discharge
(ESD) or Electrical Overstress (EOS). Ensure that the
MCLR
pin VIH and VIL specifications are met without
interfering with the Debug/Programmer tools.
2: The capacitor can be sized to prevent unintentional
Resets from brief glitches or to extend the device
Reset period during POR.
3: No pull-ups or bypass capacitors are allowed on
active debug/program PGECx/PGEDx pins.
R1
(1)
10k
V
DD
MCLR
PIC32
1 k
0.1 µF
(2)
PGECx
(3)
PGEDx
(3)
ICSP™
1
5
4
2
3
6
V
DD
V
SS
NC
R
C
FIGURE 2-1:RECOMMENDED
MINIMUM CONNECTION
2.4Master Clear (MCLR) Pin
The MCLR pin provides two specific device
functions:
• Device Reset
• Device programming and debugging
Pulling The MCLR
Figure 2-2 illustrates a typical MCLR circuit. During
device programming and debugging, the resistance
and capacitance that can be added to the pin must
be considered. Device programmers and debuggers
drive the MCLR
levels (V
IH
and VIL) and fast signal transitions must
not be adversely affected. Therefore, specific values
of R and C will need to be adjusted based on the
application and PCB requirements.
For example, as illustrated in Figure 2-2, it is
recommended that the capacitor C, be isolated from
the MCLR
pin during programming and debugging
operations.
Place the components illustrated in Figure 2-2 within
one-quarter inch (6 mm) from the MCLR
FIGURE 2-2:EXAMPLE OF MCLR PIN
pin low generates a device Reset.
pin. Consequently, specific voltage
pin.
CONNECTIONS
2.2.1BULK CAPACITORS
The use of a bulk capacitor is recommended to improve
power supply stability. Typical values range from 4.7 µF
to 47 µF. This capacitor should be located as close to
the device as possible.
2.3Capacitor on Internal Voltage
2.3.1INTERNAL REGULATOR MODE
A low-ESR (3 ohm) capacitor is required on the V
pin, which is used to stabilize the internal voltage
regulator output. The V
to VDD, and must have a C
6V rating, connected to ground. The type can be
ceramic or tantalum. Refer to 30.0 “Electrical
Characteristics” for additional information on C
specifications.
DS60001168L-page 28 2011-2019 Microchip Technology Inc.
Regulator (V
CAP
)
CAP
pin must not be connected
EFC
capacitor, with at least a
CAP
EFC
2.5ICSP Pins
The PGECx and PGEDx pins are used for ICSP and
debugging purposes. It is recommended to keep the
trace length between the ICSP connector and the ICSP
pins on the device as short as possible. If the ICSP connector is expected to experience an ESD event, a
series resistor is recommended, with the value in the
range of a few tens of Ohms, not to exceed 100 Ohms.
PIC32MX1XX/2XX 28/36/44-PIN FAMILY
Main Oscillator
Guard Ring
Guard Trace
Secondary
Oscillator
Pull-up resistors, series diodes and capacitors on the
PGECx and PGEDx pins are not recommended as they
will interfere with the programmer/debugger communications to the device. If such discrete components are
an application requirement, they should be removed
from the circuit during programming and debugging.
Alternatively, refer to the AC/DC characteristics and
timing requirements information in the respective
device Flash programming specification for information
on capacitive loading limits and pin input voltage high
IH
) and input low (VIL) requirements.
(V
Ensure that the “Communication Channel Select” (i.e.,
PGECx/PGEDx pins) programmed into the device
matches the physical connections for the ICSP to
MPLAB
®
ICD 3 or MPLAB REAL ICE™.
For more information on ICD 3 and REAL ICE
connection requirements, refer to the following
documents that are available on the Microchip web
site:
®
• “Using MPLAB
ICD 3” (poster) (DS50001765)
• “MPLAB® ICD 3 Design Advisory” (DS50001764)
• “MPLAB® REAL ICE™ In-Circuit Debugger
User’s Guide” (DS50001616)
®
• “Using MPLAB
REAL ICE™ Emulator” (poster)
(DS50001749)
The oscillator circuit should be placed on the same side
of the board as the device. Also, place the oscillator circuit close to the respective oscillator pins, not exceeding one-half inch (12 mm) distance between them. The
load capacitors should be placed next to the oscillator
itself, on the same side of the board. Use a grounded
copper pour around the oscillator circuit to isolate them
from surrounding circuits. The grounded copper pour
should be routed directly to the MCU ground. Do not
run any signal traces or power traces inside the ground
pour. Also, if using a two-sided board, avoid any traces
on the other side of the board where the crystal is
placed. A suggested layout is illustrated in Figure 2-3.
FIGURE 2-3:SUGGESTED OSCILLATOR
CIRCUIT PLACEMENT
2.6JTAG
The TMS, TDO, TDI and TCK pins are used for testing
and debugging according to the Joint Test Action
Group (JTAG) standard. It is recommended to keep the
trace length between the JTAG connector and the
JTAG pins on the device as short as possible. If the
JTAG connector is expected to experience an ESD
event, a series resistor is recommended with the value
in the range of a few tens of Ohms, not to exceed 100
Ohms.
Pull-up resistors, series diodes and capacitors on the
TMS, TDO, TDI and TCK pins are not recommended
as they will interfere with the programmer/debugger
communications to the device. If such discrete components are an application requirement, they should be
removed from the circuit during programming and
debugging. Alternatively, refer to the AC/DC characteristics and timing requirements information in the
respective device Flash programming specification for
information on capacitive loading limits and pin input
IH
voltage high (V
) and input low (VIL) requirements.
2.7External Oscillator Pins
Many MCUs have options for at least two oscillators: a
high-frequency primary oscillator and a low-frequency
secondary oscillator (refer to Section 8.0 “Oscillator
Configuration” for details).
2.8Unused I/Os
Unused I/O pins should not be allowed to float as
inputs. They can be configured as outputs and driven
to a logic-low state.
Alternatively, inputs can be reserved by connecting the
Rounded to the nearest standard value or 12 pF in this example for
Primary Oscillator crystals “C1” and “C2”.
OSC2OSC1
1M
Typ ical XT
(4-10 MHz)
Circuit A
C1
C2
OSC2OSC1
Typ ical HS
(10-25 MHz)
Circuit B
C1
C2
Rs
OSC2
OSC1
1M
Typic al XT/ HS
(4-25 MHz)
Circuit C
C1
C2
1M
Rs
OSC2
OSC1
Not Recommended
Circuit D
Not Recommended
1M
Rs
OSC2OSC1
Circuit E
2.8.1CRYSTAL OSCILLATOR DESIGN
CONSIDERATION
The following example assumptions are used to
calculate the Primary Oscillator loading capacitor
values:
IN
= PIC32_OSC2_Pin Capacitance = ~4-5 pF
•C
OUT
•C
= PIC32_OSC1_Pin Capacitance = ~4-5 pF
• C1 and C2 = XTAL manufacturing recommended
loading capacitance
• Estimated PCB stray capacitance, (i.e.,12 mm
length) = 2.5 pF
EXAMPLE 2-1: CRYSTAL LOAD CAPACITOR
CALCULATION
The following tips are used to increase oscillator gain,
(i.e., to increase peak-to-peak oscillator signal):
• Select a crystal with a lower “minimum” power drive
rating
• Select an crystal oscillator with a lower XTAL
manufacturing “ESR” rating.
• Add a parallel resistor across the crystal. The smaller
the resistor value the greater the gain. It is recommended to stay in the range of 600k to 1M
• C1 and C2 values also affect the gain of the oscillator.
The lower the values, the higher the gain.
• C2/C1 ratio also affects gain. To increase the gain,
make C1 slightly smaller than C2, which will also help
start-up performance.
Note:Do not add excessive gain such that the
oscillator signal is clipped, flat on top of
the sine wave. If so, you need to reduce
the gain or add a series resistor, RS, as
shown in circuit “C” in Figure 2-4. Failure
to do so will stress and age the crystal,
which can result in an early failure. Adjust
the gain to trim the max peak-to-peak to
~V
DD
-0.6V. When measuring the oscilla-
tor signal you must use a FET scope
probe or a probe with 1.5 pF or the
scope probe itself will unduly change the
gain and peak-to-peak levels.
2.8.1.1Additional Microchip References
• AN588 “PICmicro® Microcontroller Oscill ato r
• AN826 “Crystal Oscillator Basics and Crystal
• AN849 “Basic PICmicro® Oscillator Design”
DS60001168L-page 30 2011-2019 Microchip Technology Inc.
Design Guide”
Selection for rfPIC™ and PICmicro
®
FIGURE 2-4:PRIMARY CRYSTAL
OSCILLATOR CIRCUIT
RECOMMENDATIONS
Devices”
PIC32MX1XX/2XX 28/36/44-PIN FAMILY
CTMU
Current Source
ADC
Microchip
mTouch™
Library
User
Application
Microchip
Graphics
Library
Read the Touch Sensors
Process Samples
Display Data
Parallel
Master
Port
LCD Controller
Frame
Buffer
Display
Controller
PMPD<7:0>
LCD
Panel
PIC32MX120F032D
To A N6To A N7To A N8To A N1 1
C1
R3
C2
R2
R3
R1
C5
C5
C5
C1
R1
R1
R1
C3
R2
C3
R2
C1
R2
C2
R3
C2
R3
C3
AN0
AN1
AN11
To A N0
To A N1
To A N5
AN9
PMPWR
To AN 9
R1
C4
R2
C4
R3
C4
Audio
Codec
Display
PMP
I
2
S
SPI
USB
USB
PMPD<7:0>
3
3
Stereo Headphones
Speaker
PIC32MX220F032D
Host
PMPWR
MMC SD
3
SDI
2.9Typical Application Connection
Examples
Examples of typical application connections are shown
in Figure 2-5 and Figure 2-6.
FIGURE 2-5:CAPACITIVE TOUCH SENSING WITH GRAPHICS APPLICATION
2.10Considerations When Interfacing
To Remotely Powered Circuits
2.10.1NON-5V TOLERANT INPUT PINS
A quick review of the maximum rating section in the
Section 30.0 “Electrical Characteristics” will
indicate that the voltage on any non-5V tolerant pin
should not exceed AVDD/VDD+0.3V. Figure 2-7
illustrates a remote circuit using an independent power
source that is powered while connected to a PIC32
non-5V tolerant circuit which is not powered.
FIGURE 2-7:REMOTE CIRCUIT WITH AN INDEPENDENT POWER SOURCE
DS60001168L-page 32 2011-2019 Microchip Technology Inc.
PIC32MX1XX/2XX 28/36/44-PIN FAMILY
Without proper signal isolation on non-5V tolerant
pins, the remote signal can power the PIC32 through
the high side ESD protection diodes. This violates the
maximum rating specification and can cause improper
initialization of internal PIC32 logic circuits. In this
case, it is recommended that users can implement a
digital or analog signal isolation, as shown in Figure 2-
8.
FIGURE 2-8:DIGITAL AND ANALOG SIGNAL ISOLATION
Digital signal isolators along with optional level
translation examples are provided in Ta bl e 2 - 1.
TABLE 2-1:EXAMPLES OF DIGITAL ISOLATORS WITH OPTIONAL LEVEL TRANSLATION
The internal high-side diode on 5V-tolerant pins, rather
than being connected to VDD, are bussed to an
internal floating node, as shown in Figure 2-9.
Voltages on these pins, if VDD < 2.3V, should not
exceed roughly 3.2V relative to PIC32 VSS. At 3.6V or
above, it will violate the absolute maximum
specification and impact the device reliability.
If a remotely powered digital only signal can be
guaranteed to always be ≤ 3.2V relative to PIC32 VSS,
then a 5V-tolerant pin can be used without a digital
isolator. This can be assumed when the following is
applicable:
• No ground loop issue
• The logic ground of the two circuits is not at the
same absolute level
• No remote logic low inputs are less than VSS -
0.3V
FIGURE 2-9:5V-TOLERANT INPUT PINS BUSSED TO AN INTERNAL FLOATING NODE
DS60001168L-page 34 2011-2019 Microchip Technology Inc.
2.11EMI/EMC/EFT (IEC 61000-4-4 and
IEC 61000-4-2) Suppression
Considerations
The use of LDO regulators is preferred to reduce
overall system noise and provide a cleaner power
source. However, when utilizing switching
Buck/Boost regulators as the local power source for
PIC32 devices, as well as in electrically noisy environments or test conditions required for IEC 610004-4 and IEC 61000-4-2, users should evaluate the
use of T-Filters (i.e., L-C-L) on the power pins, as
shown in Figure 2-10. In addition to a more stable
power source, using this type of T-Filter can greatly
reduce susceptibility to EMI sources and events.
DS60001168L-page 36 2011-2019 Microchip Technology Inc.
PIC32MX1XX/2XX 28/36/44-PIN FAMILY
CPU
MDU
Execution Core
(RF/ALU/Shift)
FMT
TAP
EJTAG
Bus Interface
Power
Management
System
Co-processor
Off-chip Debug Interface
Bus Matrix
Dual Bus Interface
3.0CPU
Note:This data sheet summarizes the features
of the PIC32MX1XX/2XX 28/36/44-pin
Family of devices. It is not intended to be
a comprehensive reference source. To
complement the information in this data
sheet, refer to Section 2. “CPU”
(DS60001113), which is available from the
Documentation > Reference Manual
section of the Microchip PIC32 web site
(www.microchip.com/pic32). Resources
for the MIPS32
are available at: www.imgtec.com.
The MIPS32® M4K® Processor Core is the heart of the
PIC32MX1XX/2XX family processor. The CPU fetches
instructions, decodes each instruction, fetches source
operands, executes each instruction and writes the
results of instruction execution to the destinations.
3.1Features
• 5-stage pipeline
• 32-bit address and data paths
• MIPS32 Enhanced Architecture (Release 2)
- Multiply-accumulate and multiply-subtract
instructions
- Targeted multiply instruction
- Zero/One detect instructions
- WAIT instruction
- Conditional move instructions (MOVN, MOVZ)
- Vectored interrupts
- Programmable exception vector base
- Atomic interrupt enable/disable
- Bit field manipulation instructions
®
M4K® Processor Core
• MIPS16e
®
code compression
- 16-bit encoding of 32-bit instructions to
improve code density
- Special PC-relative instructions for efficient
loading of addresses and constants
- SAVE and RESTORE macro instructions for
setting up and tearing down stack frames
within subroutines
- Improved support for handling 8 and 16-bit
data types
The MIPS32 M4K processor core contains several
logic blocks working together in parallel, providing an
efficient high-performance computing engine. The
following blocks are included with the core:
• Execution Unit
• Multiply/Divide Unit (MDU)
• System Control Coprocessor (CP0)
• Fixed Mapping Translation (FMT)
• Dual Internal Bus interfaces
• Power Management
• MIPS16e
• Enhanced JTAG (EJTAG) Controller
3.2.1EXECUTION UNIT
The MIPS32 M4K processor core execution unit implements a load/store architecture with single-cycle ALU
operations (logical, shift, add, subtract) and an autonomous multiply/divide unit. The core contains thirty-two
32-bit General Purpose Registers (GPRs) used for
integer operations and address calculation. The register file consists of two read ports and one write port and
is fully bypassed to minimize operation latency in the
pipeline.
The execution unit includes:
• 32-bit adder used for calculating the data address
• Address unit for calculating the next instruction
address
• Logic for branch determination and branch target
address calculation
• Load aligner
• Bypass multiplexers used to avoid stalls when
executing instruction streams where data
producing instructions are followed closely by
consumers of their results
• Leading Zero/One detect unit for implementing
the CLZ and CLO instructions
• Arithmetic Logic Unit (ALU) for performing bitwise
logical operations
• Shifter and store aligner
®
Support
3.2.2MULTIPLY/DIVIDE UNIT (MDU)
The MIPS32 M4K processor core includes a Multiply/Divide Unit (MDU) that contains a separate pipeline
for multiply and divide operations. This pipeline operates in parallel with the Integer Unit (IU) pipeline and
does not stall when the IU pipeline stalls. This allows
MDU operations to be partially masked by system stalls
and/or other integer unit instructions.
The high-performance MDU consists of a 32x16 booth
recoded multiplier, result/accumulation registers (HI
and LO), a divide state machine, and the necessary
multiplexers and control logic. The first number shown
(‘32’ of 32x16) represents the rs operand. The second
number (‘16’ of 32x16) represents the rt operand. The
PIC32 core only checks the value of the latter (rt) oper-
and to determine how many times the operation must
pass through the multiplier. The 16x16 and 32x16
operations pass through the multiplier once. A 32x32
operation passes through the multiplier twice.
The MDU supports execution of one 16x16 or 32x16
multiply operation every clock cycle; 32x32 multiply
operations can be issued every other clock cycle.
Appropriate interlocks are implemented to stall the
issuance of back-to-back 32x32 multiply operations.
The multiply operand size is automatically determined
by logic built into the MDU.
Divide operations are implemented with a simple 1 bit
per clock iterative algorithm. An early-in detection
checks the sign extension of the dividend (rs) operand.
If rs is 8 bits wide, 23 iterations are skipped. For a 16-bit
wide rs, 15 iterations are skipped and for a 24-bit wide
rs, 7 iterations are skipped. Any attempt to issue a subsequent MDU instruction while a divide is still active
causes an IU pipeline stall until the divide operation is
completed.
Table 3-1 lists the repeat rate (peak issue rate of cycles
until the operation can be reissued) and latency (number of cycles until a result is available) for the PIC32
core multiply and divide instructions. The approximate
latency and repeat rates are listed in terms of pipeline
clocks.
DS60001168L-page 38 2011-2019 Microchip Technology Inc.
16 bits11
32 bits22
32 bits32
16 bits1918
24 bits2625
32 bits3332
PIC32MX1XX/2XX 28/36/44-PIN FAMILY
The MIPS architecture defines that the result of a
multiply or divide operation be placed in the HI and LO
registers. Using the Move-From-HI (MFHI) and MoveFrom-LO (MFLO) instructions, these values can be
transferred to the General Purpose Register file.
In addition to the HI/LO targeted operations, the
MIPS32
®
architecture also defines a multiply instruc-
tion, MUL, which places the least significant results in
the primary register file instead of the HI/LO register
pair. By avoiding the explicit MFLO instruction
required when using the LO register, and by supporting multiple destination registers, the throughput of
multiply-intensive operations is increased.
Two other instructions, Multiply-Add (MADD) and
Multiply-Subtract (MSUB), are used to perform the
multiply-accumulate and multiply-subtract operations.
adds the product to the current contents of the HI and
LO registers. Similarly, the MSUB instruction multiplies
two operands and then subtracts the product from the
HI and LO registers. The MADD and MSUB operations
are commonly used in DSP algorithms.
3.2.3SYSTEM CONTROL
COPROCESSOR (CP0)
In the MIPS architecture, CP0 is responsible for the
virtual-to-physical address translation, the exception
control system, the processor’s diagnostics capability,
the operating modes (Kernel, User and Debug) and
whether interrupts are enabled or disabled. Configuration information, such as presence of options like
MIPS16e, is also available by accessing the CP0
registers, listed in Ta bl e 3 -2 .
The MADD instruction multiplies two numbers and then
TABLE 3-2:COPROCESSOR 0 REGISTERS
Register
Number
0-6ReservedReserved in the PIC32MX1XX/2XX family core.
7HWREnaEnables access via the RDHWR instruction to selected hardware registers.
8BadVAddr
9Count
10ReservedReserved in the PIC32MX1XX/2XX family core.
11Compare
12Status
12IntCtl
12SRSCtl
12SRSMap
13Cause
14EPC
15PRIdProcessor identification and revision.
15EBASEException vector base register.
16ConfigConfiguration register.
16Config1Configuration Register 1.
16Config2Configuration Register 2.
16Config3Configuration Register 3.
17-22ReservedReserved in the PIC32MX1XX/2XX family core.
23Debug
24DEPC
25-29ReservedReserved in the PIC32MX1XX/2XX family core.
30ErrorEPC
31DESAVE
Note 1: Registers used in exception processing.
2: Registers used during debug.
Register
Name
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(2)
(2)
(1)
(2)
Function
Reports the address for the most recent address-related exception.
Processor cycle count.
Timer interrupt control.
Processor status and control.
Interrupt system status and control.
Shadow register set status and control.
Provides mapping from vectored interrupt to a shadow set.
Coprocessor 0 also contains the logic for identifying
and managing exceptions. Exceptions can be caused
by a variety of sources, including alignment errors in
data, external events or program errors. Ta bl e 3 - 3 lists
the exception types in order of priority.
IBEInstruction fetch bus error.
DBpEJTAG breakpoint (execution of SDBBP instruction).
SysExecution of SYSCALL instruction.
BpExecution of BREAK instruction.
RIExecution of a reserved instruction.
CpUExecution of a coprocessor instruction for a coprocessor that is not enabled.
CEUExecution of a CorExtend instruction when CorExtend is not enabled.
OvExecution of an arithmetic instruction that overflowed.
TrExecution of a trap (when trap condition is true).
DDBL/DDBSEJTAG Data Address Break (address only) or EJTAG data value break on store (address + value).
AdELLoad address alignment error.
Load reference to protected address.
AdESStore address alignment error.
Store to protected address.
DBELoad or store bus error.
DDBLEJTAG data hardware breakpoint matched in load data compare.
or a Power-on Reset (POR).
3.3Power Management
The MIPS M4K processor core offers many power management features, including low-power design, active
power management and power-down modes of operation. The core is a static design that supports slowing or
Halting the clocks, which reduces system power consumption during Idle periods.
3.3.1INSTRUCTION-CONTROLLED
POWER MANAGEMENT
The mechanism for invoking Power-Down mode is
through execution of the WAIT instruction. For more
information on power management, see Section 26.0
“Power-Saving Features”.
DS60001168L-page 40 2011-2019 Microchip Technology Inc.
3.4EJTAG Debug Support
The MIPS M4K processor core provides an Enhanced
JTAG (EJTAG) interface for use in the software debug
of application and kernel code. In addition to standard
User mode and Kernel modes of operation, the M4K
core provides a Debug mode that is entered after a
debug exception (derived from a hardware breakpoint,
single-step exception, etc.) is taken and continues until
a Debug Exception Return (DERET) instruction is
executed. During this time, the processor executes the
debug exception handler routine.
The EJTAG interface operates through the Test Access
Port (TAP), a serial communication port used for transferring test data in and out of the core. In addition to the
standard JTAG instructions, special instructions
defined in the EJTAG specification define which
registers are selected and how they are used.
PIC32MX1XX/2XX 28/36/44-PIN FAMILY
4.0MEMORY ORGANIZATION
Note:This data sheet summarizes the features
of the PIC32MX1XX/2XX 28/36/44-pin
Family of devices. It is not intended to be
a comprehensive reference source.For
detailed information, refer to Section 3.“Memory Organization” (DS60001115),
which is available from the
Documentation > Reference Manual
section of the Microchip PIC32 web site
(www.microchip.com/pic32).
PIC32MX1XX/2XX 28/36/44-pin Family microcontrollers provide 4 GB unified virtual memory address
space. All memory regions, including program, data
memory, Special Function Registers (SFRs), and Configuration registers, reside in this address space at their
respective unique addresses. The program and data
memories can be optionally partitioned into user and
kernel memories. In addition, the data memory can be
made executable, allowing PIC32MX1XX/2XX
28/36/44-pin Family devices to execute from data
memory.
Key features include:
• 32-bit native data width
• Separate User (KUSEG) and Kernel
(KSEG0/KSEG1) mode address space
• Flexible program Flash memory partitioning
• Flexible data RAM partitioning for data and
program space
• Separate boot Flash memory for protected code
• Robust bus exception handling to intercept
runaway code
• Simple memory mapping with Fixed Mapping
Translation (FMT) unit
• Cacheable (KSEG0) and non-cacheable (KSEG1)
address regions
4.1PIC32MX1XX/2XX 28/36/44-pin
Family Memory Layout
PIC32MX1XX/2XX 28/36/44-pin Family microcontrollers implement two address schemes: virtual and physical. All hardware resources, such as program memory,
data memory and peripherals, are located at their
respective physical addresses. Virtual addresses are
exclusively used by the CPU to fetch and execute
instructions as well as access peripherals. Physical
addresses are used by bus master peripherals, such as
DMA and the Flash controller, that access memory
independently of the CPU.
The memory maps for the PIC32MX1XX/2XX
28/36/44-pin Family devices are illustrated in
2: The size of this memory region is programmable (see Section 3. “Memory Organization”
(DS60001115) in the “PIC32 Family Reference Manual”) and can be changed by initialization code provided by end-user development tools (refer to the specific development tool
documentation for information).
KSEG1KSEG0
FIGURE 4-1: MEMORY MAP ON RESET FOR PIC32MX110/210 DEVICES (4 KB RAM, 16 KB FLASH)
DS60001168L-page 42 2011-2019 Microchip Technology Inc.
PIC32MX1XX/2XX 28/36/44-PIN FAMILY
Virtual
Memory Map
(1)
Physical
Memory Map
(1)
0xFFFFFFFF
Reserved
Reserved
0xFFFFFFFF
0xBFC00C00
0xBFC00BFF
Device
Configuration
Registers
0xBFC00BF0
0xBFC00BEF
Boot Flash
0xBFC00000
Reserved
0xBF900000
0xBF8FFFFF
SFRs
0xBF800000
Reserved
0xBD008000
0xBD007FFF
Program Flash
(2)
0xBD000000
Reserved
0xA0002000
0xA0001FFF
RAM
(2)
0xA00000000x1FC00C00
Reserved
Device
Configuration
Registers
0x1FC00BFF
0x9FC00C00
0x9FC00BFFDevice
Configuration
Registers
0x1FC00BF0
Boot Flash
0x1FC00BEF
0x9FC00BF0
0x9FC00BEF
Boot Flash
0x1FC00000
Reserved
0x9FC000000x1F900000
ReservedSFRs
0x1F8FFFFF
0x9D0080000x1F800000
0x9D007FFF
Program Flash
(2)
Reserved
0x9D0000000x1D008000
Reserved
Program Flash
(2)
0x1D007FFF
0x80002000
0x80001FFF
RAM
(2)
0x1D000000
Reserved
0x800000000x00002000
ReservedRAM
(2)
0x00001FFF
0x000000000x00000000
Note 1: Memory areas are not shown to scale.
2: The size of this memory region is programmable (see Section 3. “Memory Organization”
(DS60001115) in the “PIC32 Family Reference Manual”) and can be changed by initialization code provided by end-user development tools (refer to the specific development tool
documentation for information).
KSEG1KSEG0
FIGURE 4-2: MEMORY MAP ON RESET FOR PIC32MX120/220 DEVICES (8 KB RAM, 32 KB FLASH)
2: The size of this memory region is programmable (see Section 3. “Memory Organization”
(DS60001115) in the “PIC32 Family Reference Manual”) and can be changed by initialization code provided by end-user development tools (refer to the specific development tool
documentation for information).
KSEG1KSEG0
FIGURE 4-3: MEMORY MAP ON RESET FOR PIC32MX130/230 DEVICES (16 KB RAM, 64 KB FLASH)
DS60001168L-page 44 2011-2019 Microchip Technology Inc.
PIC32MX1XX/2XX 28/36/44-PIN FAMILY
Virtual
Memory Map
(1)
Physical
Memory Map
(1)
0xFFFFFFFF
Reserved
Reserved
0xFFFFFFFF
0xBFC00C00
0xBFC00BFF
Device
Configuration
Registers
0xBFC00BF0
0xBFC00BEF
Boot Flash
0xBFC00000
Reserved
0xBF900000
0xBF8FFFFF
SFRs
0xBF800000
Reserved
0xBD020000
0xBD01FFFF
Program Flash
(2)
0xBD000000
Reserved
0xA0008000
0xA0007FFF
RAM
(2)
0xA00000000x1FC00C00
Reserved
Device
Configuration
Registers
0x1FC00BFF
0x9FC00C00
0x9FC00BFFDevice
Configuration
Registers
0x1FC00BF0
Boot Flash
0x1FC00BEF
0x9FC00BF0
0x9FC00BEF
Boot Flash
0x1FC00000
Reserved
0x9FC000000x1F900000
ReservedSFRs
0x1F8FFFFF
0x9D0200000x1F800000
0x9D01FFFF
Program Flash
(2)
Reserved
0x9D0000000x1D020000
Reserved
Program Flash
(2)
0x1D01FFFF
0x80008000
0x80007FFF
RAM
(2)
0x1D000000
Reserved
0x800000000x00008000
ReservedRAM
(2)
0x00007FFF
0x000000000x00000000
Note 1: Memory areas are not shown to scale.
2: The size of this memory region is programmable (see Section 3. “Memory Organization”
(DS60001115) in the “PIC32 Family Reference Manual”) and can be changed by initialization code provided by end-user development tools (refer to the specific development tool
documentation for information).
KSEG1KSEG0
FIGURE 4-4: MEMORY MAP ON RESET FOR PIC32MX150/250 DEVICES (32 KB RAM, 128 KB FLASH)
2: The size of this memory region is programmable (see Section 3. “Memory Organization”
(DS60001115) in the “PIC32 Family Reference Manual”) and can be changed by initialization code provided by end-user development tools (refer to the specific development tool
documentation for information).
KSEG1KSEG0
FIGURE 4-5: MEMORY MAP ON RESET FOR PIC32MX170/270 DEVICES (64 KB RAM, 256 KB FLASH)
DS60001168L-page 46 2011-2019 Microchip Technology Inc.
PIC32MX1XX/2XX 28/36/44-PIN FAMILY
Virtual
Memory Map
(1)
Physical
Memory Map
(1)
0xFFFFFFFF
Reserved
Reserved
0xFFFFFFFF
0xBFC00C00
0xBFC00BFF
Device
Configuration
Registers
0xBFC00BF0
0xBFC00BEF
Boot Flash
0xBFC00000
Reserved
0xBF900000
0xBF8FFFFF
SFRs
0xBF800000
Reserved
0xBD040000
0xBD03FFFF
Program Flash
(2)
0xBD000000
Reserved
0xA0004000
0xA0003FFF
RAM
(2)
0xA00000000x1FC00C00
Reserved
Device
Configuration
Registers
0x1FC00BFF
0x9FC00C00
0x9FC00BFFDevice
Configuration
Registers
0x1FC00BF0
Boot Flash
0x1FC00BEF
0x9FC00BF0
0x9FC00BEF
Boot Flash
0x1FC00000
Reserved
0x9FC000000x1F900000
ReservedSFRs
0x1F8FFFFF
0x9D0400000x1F800000
0x9D03FFFF
Program Flash
(2)
Reserved
0x9D0000000x1D040000
Reserved
Program Flash
(2)
0x1D03FFFF
0x80004000
0x80003FFF
RAM
(2)
0x1D000000
Reserved
0x800000000x00004000
ReservedRAM
(2)
0x00003FFF
0x000000000x00000000
Note 1: Memory areas are not shown to scale.
2: The size of this memory region is programmable (see Section 3. “Memory Organization”
(DS60001115) in the “PIC32 Family Reference Manual”) and can be changed by initialization code provided by end-user development tools (refer to the specific development tool
documentation for information).
KSEG1KSEG0
FIGURE 4-6: MEMORY MAP ON RESET FOR PIC32MX130/230 DEVICES (16 KB RAM, 256 KB FLASH)
Legend:x = unknown value on Reset; — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
Note 1:This register has corresponding CLR, SET and INV registers at its virtual address, plus an offset of 0x4, 0x8 and 0xC, respectively. See Section 11.2 “CLR, SET and INV Registers” for more information.
REGISTER 4-1:BMXCON: BUS MATRIX CONFIGURATION REGISTER
Bit
Range
31:24
23:16
15:8
7:0
Legend:
R = Readable bitW = Writable bitU = Unimplemented bit, read as ‘0’
-n = Value at POR‘1’ = Bit is set‘0’ = Bit is cleared
bit 31-21 Unimplemented: Read as ‘0’
bit 20BMXERRIXI: Enable Bus Error from IXI bit
bit 19BMXERRICD: Enable Bus Error from ICD Debug Unit bit
bit 18BMXERRDMA: Bus Error from DMA bit
bit 17BMXERRDS: Bus Error from CPU Data Access bit (disabled in Debug mode)
bit 16BMXERRIS: Bus Error from CPU Instruction Access bit (disabled in Debug mode)
bit 15-7Unimplemented: Read as ‘0’
bit 6BMXWSDRM: CPU Instruction or Data Access from Data RAM Wait State bit
bit 5-3Unimplemented: Read as ‘0’
bit 2-0BMXARB<2:0>: Bus Matrix Arbitration Mode bits
Bit
31/23/15/7
U-0U-0U-0U-0U-0U-0U-0U-0
Bit
30/22/14/6
Bit
29/21/13/5
Bit
28/20/12/4
Bit
27/19/11/3
Bit
26/18/10/2
25/17/9/1
————————
U-0U-0U-0R/W-1R/W-1R/W-1R/W-1R/W-1
———
U-0U-0U-0U-0U-0U-0U-0U-0
BMX
ERRIXI
BMX
ERRICD
BMX
ERRDMA
BMX
ERRDS
————————
U-0R/W-1U-0U-0U-0R/W-0R/W-0R/W-1
—
BMX
WSDRM
———BMXARB<2:0>
1 = Enable bus error exceptions for unmapped address accesses initiated from IXI shared bus
0 = Disable bus error exceptions for unmapped address accesses initiated from IXI shared bus
1 = Enable bus error exceptions for unmapped address accesses initiated from ICD
0 = Disable bus error exceptions for unmapped address accesses initiated from ICD
1 = Enable bus error exceptions for unmapped address accesses initiated from DMA
0 = Disable bus error exceptions for unmapped address accesses initiated from DMA
1 = Enable bus error exceptions for unmapped address accesses initiated from CPU data access
0 = Disable bus error exceptions for unmapped address accesses initiated from CPU data access
1 = Enable bus error exceptions for unmapped address accesses initiated from CPU instruction access
0 = Disable bus error exceptions for unmapped address accesses initiated from CPU instruction access
1 = Data RAM accesses from CPU have one wait state for address setup
0 = Data RAM accesses from CPU have zero wait states for address setup
111 = Reserved (using these Configuration modes will produce undefined behavior)
•
•
•
011 = Reserved (using these Configuration modes will produce undefined behavior)
010 = Arbitration Mode 2
001 = Arbitration Mode 1 (default)
000 = Arbitration Mode 0
Bit
Bit
24/16/8/0
BMX
ERRIS
DS60001168L-page 50 2011-2019 Microchip Technology Inc.
PIC32MX1XX/2XX 28/36/44-PIN FAMILY
REGISTER 4-2:BMXDKPBA: DATA RAM KERNEL PROGRAM BASE ADDRESS REGISTER
Bit
Range
31:24
23:16
15:8
7:0
Legend:
R = Readable bitW = Writable bitU = Unimplemented bit, read as ‘0’
-n = Value at POR‘1’ = Bit is set‘0’ = Bit is clearedx = Bit is unknown
bit 31-16 Unimplemented: Read as ‘0’
bit 15-10 BMXDKPBA<15:10>: DRM Kernel Program Base Address bits
bit 9-0BMXDKPBA<9:0>: Read-Only bits
Bit
31/23/15/7
U-0U-0U-0U-0U-0U-0U-0U-0
————————
U-0U-0U-0U-0U-0U-0U-0U-0
————————
R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R-0R-0
R-0R-0R-0R-0R-0R-0R-0R-0
When non-zero, this value selects the relative base address for kernel program space in RAM
This value is always ‘0’, which forces 1 KB increments
Bit
30/22/14/6
Bit
29/21/13/5
Bit
28/20/12/4
BMXDKPBA<15:8>
BMXDKPBA<7:0>
27/19/11/3
Bit
Bit
26/18/10/2
Bit
25/17/9/1
24/16/8/0
Bit
Note 1: At Reset, the value in this register is forced to zero, which causes all of the RAM to be allocated to Kernal
mode data usage.
2: The value in this register must be less than or equal to BMXDRMSZ.
R = Readable bitW = Writable bitU = Unimplemented bit, read as ‘0’
-n = Value at POR‘1’ = Bit is set‘0’ = Bit is clearedx = Bit is unknown
bit 31-0BMXDRMSZ<31:0>: Data RAM Memory (DRM) Size bits
Bit
31/23/15/7
RRR RR R R R
Bit
30/22/14/6
Bit
29/21/13/5
Bit
28/20/12/4
Bit
27/19/11/3
Bit
26/18/10/2
Bit
25/17/9/1
BMXDRMSZ<31:24>
RRR RR R R R
BMXDRMSZ<23:16>
RRR RR R R R
BMXDRMSZ<15:8>
RRR RR R R R
BMXDRMSZ<7:0>
Static value that indicates the size of the Data RAM in bytes:
0x00001000 = Device has 4 KB RAM
0x00002000 = Device has 8 KB RAM
0x00004000 = Device has 16 KB RAM
0x00008000 = Device has 32 KB RAM
0x00010000 = Device has 64 KB RAM
Bit
24/16/8/0
REGISTER 4-6:BMXPUPBA: PROGRAM FLASH (PFM) USER PROGRAM BASE ADDRESS
REGISTER
Bit
Range
31:24
23:16
15:8
7:0
Legend:
R = Readable bitW = Writable bitU = Unimplemented bit, read as ‘0’
-n = Value at POR‘1’ = Bit is set‘0’ = Bit is clearedx = Bit is unknown
bit 31-20 Unimplemented: Read as ‘0’
bit 19-11 BMXPUPBA<19:11>: Program Flash (PFM) User Program Base Address bits
bit 10-0BMXPUPBA<10:0>: Read-Only bits
Bit
31/23/15/7
U-0U-0U-0U-0U-0U-0U-0U-0
Bit
30/22/14/6
Bit
29/21/13/5
Bit
28/20/12/4
Bit
27/19/11/3
Bit
26/18/10/2
Bit
25/17/9/1
————————
U-0U-0U-0U-0R/W-0R/W-0R/W-0R/W-0
————BMXPUPBA<19:16>
R/W-0R/W-0R/W-0R/W-0R/W-0R-0R-0R-0
BMXPUPBA<15:8>
R-0R-0R-0R-0R-0R-0R-0R-0
BMXPUPBA<7:0>
This value is always ‘0’, which forces 2 KB increments
24/16/8/0
Bit
Note 1: At Reset, the value in this register is forced to zero, which causes all of the RAM to be allocated to Kernal
mode data usage.
2: The value in this register must be less than or equal to BMXPFMSZ.
DS60001168L-page 54 2011-2019 Microchip Technology Inc.
PIC32MX1XX/2XX 28/36/44-PIN FAMILY
REGISTER 4-7:BMXPFMSZ: PROGRAM FLASH (PFM) SIZE REGISTER
Bit
Range
31:24
23:16
15:8
7:0
Legend:
R = Readable bitW = Writable bitU = Unimplemented bit, read as ‘0’
-n = Value at POR‘1’ = Bit is set‘0’ = Bit is clearedx = Bit is unknown
bit 31-0BMXPFMSZ<31:0>: Program Flash Memory (PFM) Size bits
Bit
31/23/15/7
RRR RR R R R
Bit
30/22/14/6
Bit
29/21/13/5
Bit
28/20/12/4
Bit
27/19/11/3
Bit
26/18/10/2
Bit
25/17/9/1
BMXPFMSZ<31:24>
RRR RR R R R
BMXPFMSZ<23:16>
RRR RR R R R
BMXPFMSZ<15:8>
RRR RR R R R
BMXPFMSZ<7:0>
Static value that indicates the size of the PFM in bytes:
0x00004000 = Device has 16 KB Flash
0x00008000 = Device has 32 KB Flash
0x00010000 = Device has 64 KB Flash
0x00020000 = Device has 128 KB Flash
0x00040000 = Device has 256 KB Flash
DS60001168L-page 56 2011-2019 Microchip Technology Inc.
PIC32MX1XX/2XX 28/36/44-PIN FAMILY
5.0FLASH PROGRAM MEMORY
Note:This data sheet summarizes the features
of the PIC32MX1XX/2XX 28/36/44-pin
Family of devices. It is not intended to be
a comprehensive reference source. To
complement the information in this data
sheet, refer to Section 5. “FlashProgram Memory” (DS60001121), which
is available from the Documentation >Reference Manual section of the
Microchip PIC32 web site
(www.microchip.com/pic32).
PIC32MX1XX/2XX 28/36/44-pin Family devices contain an internal Flash program memory for executing
user code. There are three methods by which the user
can program this memory:
• Run-Time Self-Programming (RTSP)
• EJTAG Programming
• In-Circuit Serial Programming™ (ICSP™)
RTSP is performed by software executing from either
Flash or RAM memory. Information about RTSP
techniques is available in Section 5. “Flash Program
Memory” (DS60001121) in the “PIC32 Family
Reference Manual”.
EJTAG is performed using the EJTAG port of the
device and an EJTAG capable programmer.
ICSP is performed using a serial data connection to the
device and allows much faster programming times than
RTSP.
The EJTAG and ICSP methods are described in the
“PIC32 Flash Programming Specification”
(DS60001145), which can be downloaded from the
Microchip web site.
Note:The Flash page size on PIC32MX-
1XX/2XX 28/36/44-pin Family devices is 1
KB and the row size is 128 bytes (256 IW
and 32 IW, respectively).
DS60001168L-page 58 2011-2019 Microchip Technology Inc.
5.1Flash Controller Control Registers
TABLE 5-1:FLASH CONTROLLER REGISTER MAP
PIC32MX1XX/2XX 28/36/44-PIN FAMILY
Bits
Name
(BF80_#)
Virtual Address
F400NVMCON
F410NVMKEY
F420
F430NVMDATA
F440 NVMSRCADDR
Legend:x = unknown value on Reset; — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
Note 1:This register has corresponding CLR, SET and INV registers at its virtual address, plus offsets of 0x4, 0x8 and 0xC, respectively. See Section 11.2 “CLR, SET and INV Registers” for more information.
R = Readable bitW = Writable bitU = Unimplemented bit, read as ‘0’
-n = Value at POR‘1’ = Bit is set‘0’ = Bit is clearedx = Bit is unknown
bit 31-16 Unimplemented: Read as ‘0’
bit 15WR: Write Control bit
bit 14WREN: Write Enable bit
bit 13WRERR: Write Error bit
bit 12LVDERR: Low-Voltage Detect Error bit (LVD circuit must be enabled)
bit 11LVD STAT: Low-Voltage Detect Status bit (LVD circuit must be enabled)
bit 10-4Unimplemented: Read as ‘0’
bit 3-0NVMOP<3:0>: NVM Operation bits
Bit
31/23/15/7
U-0U-0U-0U-0U-0U-0U-0U-0
Bit
30/22/14/6
Bit
29/21/13/5
Bit
28/20/12/4
Bit
27/19/11/3
Bit
26/18/10/2
Bit
25/17/9/1
24/16/8/0
————————
U-0U-0U-0U-0U-0U-0U-0U-0
————————
R/W-0R/W-0R-0R-0R-0U-0U-0U-0
WRWRENWRERR
U-0U-0U-0U-0R/W-0R/W-0R/W-0R/W-0
(1)
LVDERR
(1)
LVDS TAT
(1)
———
————NVMOP<3:0>
This bit is writable when WREN = 1 and the unlock sequence is followed.
1 = Initiate a Flash operation. Hardware clears this bit when the operation completes
0 = Flash operation is complete or inactive
This is the only bit in this register reset by a device Reset.
1 = Enable writes to WR bit and enables LVD circuit
0 = Disable writes to WR bit and disables LVD circuit
(1)
This bit is read-only and is automatically set by hardware.
1 = Program or erase sequence did not complete successfully
0 = Program or erase sequence completed normally
(1)
This bit is read-only and is automatically set by hardware.
1 = Low-voltage detected (possible data corruption, if WRERR is set)
0 = Voltage level is acceptable for programming
(1)
This bit is read-only and is automatically set and cleared by the hardware.
1 = Low-voltage event is active
0 = Low-voltage event is not active
These bits are writable when WREN = 0.
1111 = Reserved
•
•
•
0111 = Reserved
0110 = No operation
0101 = Program Flash Memory (PFM) erase operation: erases PFM, if all pages are not write-protected
0100 = Page erase operation: erases page selected by NVMADDR, if it is not write-protected
0011 = Row program operation: programs row selected by NVMADDR, if it is not write-protected
0010 = No operation
0001 = Word program operation: programs word selected by NVMADDR, if it is not write-protected
0000 = No operation
Bit
Note 1: This bit is cleared by setting NVMOP == ‘b0000, and initiating a Flash operation (i.e., WR).
R = Readable bitW = Writable bitU = Unimplemented bit, read as ‘0’
-n = Value at POR‘1’ = Bit is set‘0’ = Bit is clearedx = Bit is unknown
bit 31-0NVMKEY<31:0>: Unlock Register bits
Bit
31/23/15/7
W-0W-0W-0W-0W- 0W-0W-0W-0
Bit
30/22/14/6
Bit
29/21/13/5
Bit
28/20/12/4
Bit
27/19/11/3
Bit
26/18/10/2
Bit
25/17/9/1
NVMKEY<31:24>
W-0W-0W-0W-0W- 0W-0W-0W-0
NVMKEY<23:16>
W-0W-0W-0W-0W- 0W-0W-0W-0
NVMKEY<15:8>
W-0W-0W-0W-0W- 0W-0W-0W-0
NVMKEY<7:0>
These bits are write-only, and read as ‘0’ on any read
Bit
24/16/8/0
Note:This register is used as part of the unlock sequence to prevent inadvertent writes to the PFM.
Bit
Bit
26/18/10/2
Bit
25/17/9/1
REGISTER 5-3:NVMADDR: FLASH ADDRESS REGISTER
Bit
Range
31:24
23:16
15:8
7:0
Bit
31/23/15/7
R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0
Bit
30/22/14/6
Bit
29/21/13/5
Bit
28/20/12/4
27/19/11/3
NVMADDR<31:24>
R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0
NVMADDR<23:16>
R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0
NVMADDR<15:8>
R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0
NVMADDR<7:0>
Legend:
R = Readable bitW = Writable bitU = Unimplemented bit, read as ‘0’
-n = Value at POR‘1’ = Bit is set‘0’ = Bit is clearedx = Bit is unknown
bit 31-0NVMADDR<31:0>: Flash Address bits
Bulk/Chip/PFM Erase: Address is ignored.
Page Erase: Address identifies the page to erase.
Row Program: Address identifies the row to program.
Word Program: Address identifies the word to program.
Bit
24/16/8/0
DS60001168L-page 60 2011-2019 Microchip Technology Inc.
PIC32MX1XX/2XX 28/36/44-PIN FAMILY
REGISTER 5-4:NVMDATA: FLASH PROGRAM DATA REGISTER
Bit
Range
31:24
23:16
15:8
7:0
Legend:
R = Readable bitW = Writable bitU = Unimplemented bit, read as ‘0’
-n = Value at POR‘1’ = Bit is set‘0’ = Bit is clearedx = Bit is unknown
bit 31-0NVMDATA<31:0>: Flash Programming Data bits
Note:The bits in this register are only reset by a Power-on Reset (POR).
Bit
31/23/15/7
R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0
Bit
30/22/14/6
Bit
29/21/13/5
Bit
28/20/12/4
Bit
27/19/11/3
Bit
26/18/10/2
Bit
25/17/9/1
NVMDATA<31:24>
R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0
NVMDATA<23:16>
R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0
NVMDATA<15:8>
R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0
NVMDATA<7:0>
Bit
24/16/8/0
REGISTER 5-5:NVMSRCADDR: SOURCE DATA ADDRESS REGISTER
Bit
Range
31:24
23:16
15:8
7:0
Legend:
R = Readable bitW = Writable bitU = Unimplemented bit, read as ‘0’
-n = Value at POR‘1’ = Bit is set‘0’ = Bit is clearedx = Bit is unknown
bit 31-0NVMSRCADDR<31:0>: Source Data Address bits
Bit
31/23/15/7
R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0
Bit
30/22/14/6
Bit
29/21/13/5
Bit
28/20/12/4
Bit
27/19/11/3
Bit
26/18/10/2
Bit
25/17/9/1
NVMSRCADDR<31:24>
R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0
NVMSRCADDR<23:16>
R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0
NVMSRCADDR<15:8>
R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0
NVMSRCADDR<7:0>
The system physical address of the data to be programmed into the Flash when the NVMOP<3:0> bits
(NVMCON<3:0>) are set to perform row programming.
DS60001168L-page 62 2011-2019 Microchip Technology Inc.
PIC32MX1XX/2XX 28/36/44-PIN FAMILY
MCLR
V
DD
VDD Rise
Detect
POR
Sleep or Idle
Brown-out
Reset
WDT
Time-out
Glitch Filter
BOR
Configuration
SYSRST
Software Reset
Power-up
Timer
Voltage
Enabled
Reset
WDTR
SWR
CMR
MCLR
Mismatch
Regulator
6.0RESETS
Note:This data sheet summarizes the features
of the PIC32MX1XX/2XX 28/36/44-pin
Family of devices. It is not intended to be
a comprehensive reference source. To
complement the information in this data
sheet, refer to Section 7. “Resets”
(DS60001118), which is available from the
Documentation > Reference Manual
section of the Microchip PIC32 web site
(www.microchip.com/pic32).
FIGURE 6-1:SYSTEM RESET BLOCK DIAGRAM
The Reset module combines all Reset sources and
controls the device Master Reset signal, SYSRST. The
following is a list of device Reset sources:
• Power-on Reset (POR)
• Master Clear Reset pin (MCLR)
• Software Reset (SWR)
• Watchdog Timer Reset (WDTR)
• Brown-out Reset (BOR)
• Configuration Mismatch Reset (CMR)
A simplified block diagram of the Reset module is
illustrated in Figure 6-1.
DS60001168L-page 64 2011-2019 Microchip Technology Inc.
6.1Reset Control Registers
TABLE 6-1:RESET CONTROL REGISTER MAP
Bits
(1)
Name
Register
(BF80_#)
Virtual Address
F600RCON
F610 RSWRST
Legend:x = unknown value on Reset; — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
Note 1:All registers in this table have corresponding CLR, SET and INV registers at their virtual addresses, plus offsets of 0x4, 0x8 and 0xC, respectively. See Section 11.2 “CLR, SET and INV Registers” for
more information.
2:Reset values are dependent on the DEVCFGx Configuration bits and the type of reset.
R = Readable bitW = Writable bitU = Unimplemented bit, read as ‘0’
-n = Value at POR‘1’ = Bit is set‘0’ = Bit is clearedx = Bit is unknown
bit 31-1Unimplemented: Read as ‘0’
bit 0SWRST: Software Reset Trigger bit
Bit
31/23/15/7
U-0U-0U-0U-0U-0U-0U-0U-0
Bit
30/22/14/6
Bit
29/21/13/5
Bit
28/20/12/4
Bit
27/19/11/3
Bit
26/18/10/2
Bit
25/17/9/1
————————
U-0U-0U-0U-0U-0U-0U-0U-0
————————
U-0U-0U-0U-0U-0U-0U-0U-0
————————
U-0U-0U-0U-0U-0U-0U-0
———————SWRST
(1)
1 = Enable Software Reset event
0 = No effect
Bit
24/16/8/0
W-0, HC
(1)
Note 1: The system unlock sequence must be performed before the SWRST bit is written. Refer to Section 6.
“Oscillator” (DS60001112) in the “PIC32 Family Reference Manual” for details.
DS60001168L-page 66 2011-2019 Microchip Technology Inc.
PIC32MX1XX/2XX 28/36/44-PIN FAMILY
Interrupt Controller
Interrupt Requests
Vector Number
CPU Core
Priority Level
7.0INTERRUPT CONTROLLER
Note:This data sheet summarizes the features
of the PIC32MX1XX/2XX 28/36/44-pin
Family of devices. It is not intended to be
a comprehensive reference source. To
complement the information in this data
sheet, refer to Section 8. “Interrupt Con-troller” (DS60001108), which is available
from the Documentation > ReferenceManual section of the Microchip PIC32
web site (www.microchip.com/pic32).
PIC32MX1XX/2XX 28/36/44-pin Family devices generate interrupt requests in response to interrupt events
from peripheral modules. The interrupt control module
exists externally to the CPU logic and prioritizes the
interrupt events before presenting them to the CPU.
The PIC32MX1XX/2XX 28/36/44-pin Family interrupt
module includes the following features:
• Up to 64 interrupt sources
• Up to 44 interrupt vectors
• Single and multi-vector mode operations
• Five external interrupts with edge polarity control
• Interrupt proximity timer
• Seven user-selectable priority levels for each
vector
• Four user-selectable subpriority levels within each
priority
• Software can generate any interrupt
• User-configurable Interrupt Vector Table (IVT)
location
• User-configurable interrupt vector spacing
Note:The dedicated shadow register set is not
present on PIC32MX1XX/2XX 28/36/44pin Family devices.
A simplified block diagram of the Interrupt Controller
module is illustrated in Figure 7-1.
DS60001168L-page 70 2011-2019 Microchip Technology Inc.
7.1Interrupt Control Registers
TABLE 7-2:INTERRUPT REGISTER MAP
Bits
(1)
Name
Register
(BF88_#)
Virtual Address
1000 INTCON
1010 INTSTAT
1020IPTMR
1030IFS0
1040IFS1
1060IEC0
1070IEC1
1090IPC0
10A0IPC1
10B0IPC2
10C0IPC3
10D0IPC4
10E0IPC5
10F0IPC6
Legend:x = unknown value on Reset; — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
Note 1:With the exception of those noted, all registers in this table have corresponding CLR, SET and INV registers at their virtual addresses, plus offsets of 0x4 0x8 and 0xC, respectively. See Section 11.2 “CLR,
(3)
SET and INV Registers” for more information.
2:These bits are not available on PIC32MX1XX devices.
3:This register does not have associated CLR, SET, INV registers.
Legend:x = unknown value on Reset; — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
Note 1:With the exception of those noted, all registers in this table have corresponding CLR, SET and INV registers at their virtual addresses, plus offsets of 0x4 0x8 and 0xC, respectively. See Section 11.2 “CLR,
SET and INV Registers” for more information.
2:These bits are not available on PIC32MX1XX devices.
3:This register does not have associated CLR, SET, INV registers.
R = Readable bitW = Writable bitU = Unimplemented bit, read as ‘0’
-n = Value at POR‘1’ = Bit is set‘0’ = Bit is clearedx = Bit is unknown
bit 31-16 Unimplemented: Read as ‘0’
bit 15-13 Unimplemented: Read as ‘0’
bit 12MVEC: Multi Vector Configuration bit
bit 11Unimplemented: Read as ‘0’
bit 10-8TPC<2:0>: Interrupt Proximity Timer Control bits
bit 7-5Unimplemented: Read as ‘0’
bit 4INT4EP: External Interrupt 4 Edge Polarity Control bit
bit 3INT3EP: External Interrupt 3 Edge Polarity Control bit
bit 2INT2EP: External Interrupt 2 Edge Polarity Control bit
bit 1INT1EP: External Interrupt 1 Edge Polarity Control bit
bit 0INT0EP: External Interrupt 0 Edge Polarity Control bit
Bit
31/23/15/7
U-0U-0U-0U-0U-0U-0U-0U-0
————————
U-0U-0U-0U-0U-0U-0U-0U-0
————————
U-0U-0U-0R/W-0U-0R/W-0R/W-0R/W-0
———MVEC—TPC<2:0>
U-0U-0U-0R/W-0R/W-0R/W-0R/W-0R/W-0
———INT4EPINT3EPINT2EPINT1EPINT0EP
1 = Interrupt controller configured for Multi-vectored mode
0 = Interrupt controller configured for Single-vectored mode
111 = Interrupts of group priority 7 or lower start the Interrupt Proximity timer
110 = Interrupts of group priority 6 or lower start the Interrupt Proximity timer
101 = Interrupts of group priority 5 or lower start the Interrupt Proximity timer
100 = Interrupts of group priority 4 or lower start the Interrupt Proximity timer
011 = Interrupts of group priority 3 or lower start the Interrupt Proximity timer
010 = Interrupts of group priority 2 or lower start the Interrupt Proximity timer
001 = Interrupts of group priority 1 start the Interrupt Proximity timer
000 = Disables Interrupt Proximity timer
1 = Rising edge
0 = Falling edge
1 = Rising edge
0 = Falling edge
1 = Rising edge
0 = Falling edge
1 = Rising edge
0 = Falling edge
1 = Rising edge
0 = Falling edge
Bit
30/22/14/6
Bit
29/21/13/5
Bit
28/20/12/4
Bit
27/19/11/3
Bit
26/18/10/2
Bit
25/17/9/1
Bit
24/16/8/0
DS60001168L-page 72 2011-2019 Microchip Technology Inc.
PIC32MX1XX/2XX 28/36/44-PIN FAMILY
REGISTER 7-2:INTSTAT: INTERRUPT STATUS REGISTER
Bit
Range
31:24
23:16
15:8
7:0
Legend:
R = Readable bitW = Writable bitU = Unimplemented bit, read as ‘0’
-n = Value at POR‘1’ = Bit is set‘0’ = Bit is clearedx = Bit is unknown
Bit
31/23/15/7
U-0U-0U-0U-0U-0U-0U-0U-0
Bit
30/22/14/6
Bit
29/21/13/5
Bit
28/20/12/4
Bit
27/19/11/3
Bit
26/18/10/2
Bit
25/17/9/1
————————
U-0U-0U-0U-0U-0U-0U-0U-0
————————
U-0U-0U-0U-0U-0R/W-0R/W-0R/W-0
—————SRIPL<2:0>
U-0U-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0
——VEC<5:0>
(1)
(1)
Bit
24/16/8/0
bit 31-11 Unimplemented: Read as ‘0’
bit 10-8SRIPL<2:0>: Requested Priority Level bits
(1)
111-000 = The priority level of the latest interrupt presented to the CPU
bit 7-6Unimplemented: Read as ‘0’
bit 5-0VEC<5:0>: Interrupt Vector bits
(1)
11111-00000 = The interrupt vector that is presented to the CPU
Note 1: This value should only be used when the interrupt controller is configured for Single Vector mode.
REGISTER 7-6:IPCx: INTERRUPT PRIORITY CONTROL REGISTER (CONTINUED)
bit 9-8IS01<1:0>: Interrupt Subpriority bits
11 = Interrupt subpriority is 3
10 = Interrupt subpriority is 2
01 = Interrupt subpriority is 1
00 = Interrupt subpriority is 0
bit 7-5Unimplemented: Read as ‘0’
bit 4-2IP00<2:0>: Interrupt Priority bits
111 = Interrupt priority is 7
•
•
•
010 = Interrupt priority is 2
001 = Interrupt priority is 1
000 = Interrupt is disabled
bit 1-0IS00<1:0>: Interrupt Subpriority bits
11 = Interrupt subpriority is 3
10 = Interrupt subpriority is 2
01 = Interrupt subpriority is 1
00 = Interrupt subpriority is 0
Note:This register represents a generic definition of the IPCx register. Refer to Ta bl e 7 -1 for the exact bit
definitions.
DS60001168L-page 76 2011-2019 Microchip Technology Inc.
PIC32MX1XX/2XX 28/36/44-PIN FAMILY
8.0OSCILLATOR
CONFIGURATION
Note:This data sheet summarizes the features
of the PIC32MX1XX/2XX 28/36/44-pin
Family of devices. It is not intended to be
a comprehensive reference source. To
complement the information in this data
sheet, refer to Section 6. “OscillatorConfiguration” (DS60001112), which is
available from the Documentation >Reference Manual section of the
Microchip PIC32 web site
(www.microchip.com/pic32).
The PIC32MX1XX/2XX 28/36/44-pin Family oscillator
system has the following modules and features:
• Four external and internal oscillator options as
clock sources
• On-Chip PLL with user-selectable input divider,
multiplier and output divider to boost operating
frequency on select internal and external
oscillator sources
• On-Chip user-selectable divisor postscaler on
select oscillator sources
• Software-controllable switching between
various clock sources
• A Fail-Safe Clock Monitor (FSCM) that detects
clock failure and permits safe application recovery
or shutdown
• Dedicated On-Chip PLL for USB peripheral
A block diagram of the oscillator system is provided in
A series resistor, RS, may be required for AT strip cut crystals or eliminate clipping. Alternately, to increase oscillator circuit gain,
add a parallel resistor, R
P
, with a value of 1 M
2.
Refer to
Section 6. “Oscillator Configuration”
(DS60001112) in the “
PIC32 Famil y Ref erenc e Ma nual
” for help in determining the
best oscillator components.
3.
The PBCLK out is only available on the OSC2 pin in certain clock modes.
4.
The USB PLL is only available on PIC32MX2XX devices.
OSC2
(3)
OSC1
To Internal
Logic
USB PLL
(4)
div 2
To A DC
SYSCLK
REFCLKI
REFCLKO
OE
To S P I
ROSEL<3:0>
P
OSC
FRC
LPRC
S
OSC
PBCLK
SYSCLK
XTPLL, HSPLL,
ECPLL, FRCPLL
2N
M
512
----------+
RODIV<14:0>
(N)
ROTRIM<8:0>
(M)
R
P
(1)
System PLL
HS
3x1x
FIGURE 8-1:OSCILLATOR DIAGRAM
DS60001168L-page 78 2011-2019 Microchip Technology Inc.
Legend:x = unknown value on Reset; — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
Note 1:All registers in this table have corresponding CLR, SET and INV registers at their virtual addresses, plus offsets of 0x4, 0x8 and 0xC, respectively. See Section 11.2 “CLR, SET and INV Registers” for
more information.
2:Reset values are dependent on the DEVCFGx Configuration bits and the type of reset.
3:This bit is only available on PIC32MX2XX devices.
Legend:y = Value set from Configuration bits on POR
R = Readable bitW = Writable bitU = Unimplemented bit, read as ‘0’
-n = Value at POR‘1’ = Bit is set‘0’ = Bit is clearedx = Bit is unknown
bit 31-30 Unimplemented: Read as ‘0’
bit 29-27 PLLODIV<2:0>: Output Divider for PLL
bit 26-24 FRCDIV<2:0>: Internal Fast RC (FRC) Oscillator Clock Divider bits
bit 23Unimplemented: Read as ‘0’
bit 22SOSCRDY: Secondary Oscillator (S
bit 21PBDIVRDY: Peripheral Bus Clock (PBCLK) Divisor Ready bit
bit 20-19 PBDIV<1:0>: Peripheral Bus Clock (PBCLK) Divisor bits
Bit
31/23/15/7
U-0U-0R/W-yR/W-yR/W-yR/W-0R/W-0R/W-1
Bit
30/22/14/6
Bit
29/21/13/5
Bit
28/20/12/4
Bit
27/19/11/3
Bit
26/18/10/2
Bit
25/17/9/1
——PLLODIV<2:0>FRCDIV<2:0>
U-0R-0R-1R/W-yR/W-yR/W-yR/W-yR/W-y
—SOSCRDY PBDIVRDYPBDIV<1:0>PLLMULT<2:0>
U-0R-0R-0R-0U-0R/W-yR/W-yR/W-y
—COSC<2:0>—NOSC<2:0>
R/W-0R-0R-0R/W-0R/W-0R/W-0R/W-yR/W-0
CLKLOCKULOCK
(1)
SLOCKSLPENCFUFRCEN
(1)
SOSCENOSWEN
111 = PLL output divided by 256
110 = PLL output divided by 64
101 = PLL output divided by 32
100 = PLL output divided by 16
011 = PLL output divided by 8
010 = PLL output divided by 4
001 = PLL output divided by 2
000 = PLL output divided by 1
111 = FRC divided by 256
110 = FRC divided by 64
101 = FRC divided by 32
100 = FRC divided by 16
011 = FRC divided by 8
010 = FRC divided by 4
001 = FRC divided by 2 (default setting)
000 = FRC divided by 1
OSC
) Ready Indicator bit
1 = The Secondary Oscillator is running and is stable
0 = The Secondary Oscillator is still warming up or is turned off
1 = PBDIV<1:0> bits can be written
0 = PBDIV<1:0> bits cannot be written
11 = PBCLK is SYSCLK divided by 8 (default)
10 = PBCLK is SYSCLK divided by 4
01 = PBCLK is SYSCLK divided by 2
00 = PBCLK is SYSCLK divided by 1
Bit
24/16/8/0
Note 1: This bit is only available on PIC32MX2XX devices.
Note:Writes to this register require an unlock sequence. Refer to Section 6. “Oscillator” (DS60001112) in the
“PIC32 Family Reference Manual” for details.
DS60001168L-page 80 2011-2019 Microchip Technology Inc.
PIC32MX1XX/2XX 28/36/44-PIN FAMILY
REGISTER 8-1:OSCCON: OSCILLATOR CONTROL REGISTER
bit 18-16 PLLMULT<2:0>: Phase-Locked Loop (PLL) Multiplier bits
111 = Clock is multiplied by 24
110 = Clock is multiplied by 21
101 = Clock is multiplied by 20
100 = Clock is multiplied by 19
011 = Clock is multiplied by 18
010 = Clock is multiplied by 17
001 = Clock is multiplied by 16
000 = Clock is multiplied by 15
bit 15Unimplemented: Read as ‘0’
bit 14-12 COSC<2:0>: Current Oscillator Selection bits
111 = Internal Fast RC (FRC) Oscillator divided by FRCDIV<2:0> bits (OSCCON<26:24>)
110 = Internal Fast RC (FRC) Oscillator divided by 16
101 = Internal Low-Power RC (LPRC) Oscillator
OSC
100 = Secondary Oscillator (S
011 = Primary Oscillator (P
010 = Primary Oscillator (P
001 = Internal Fast RC Oscillator with PLL module via Postscaler (FRCPLL)
000 = Internal Fast RC (FRC) Oscillator
bit 11Unimplemented: Read as ‘0’
bit 10-8NOSC<2:0>: New Oscillator Selection bits
111 = Internal Fast RC Oscillator (FRC) divided by OSCCON<FRCDIV> bits
110 = Internal Fast RC Oscillator (FRC) divided by 16
101 = Internal Low-Power RC (LPRC) Oscillator
100 = Secondary Oscillator (S
011 = Primary Oscillator with PLL module (XTPLL, HSPLL or ECPLL)
010 = Primary Oscillator (XT, HS or EC)
001 = Internal Fast Internal RC Oscillator with PLL module via Postscaler (FRCPLL)
000 = Internal Fast Internal RC Oscillator (FRC)
On Reset, these bits are set to the value of the FNOSC Configuration bits (DEVCFG1<2:0>).
bit 7CLKLOCK: Clock Selection Lock Enable bit
If clock switching and monitoring is
1 = Clock and PLL selections are locked
0 = Clock and PLL selections are not locked and may be modified
)
OSC
) with PLL module (XTPLL, HSPLL or ECPLL)
OSC
) (XT, HS or EC)
OSC
)
disabled (FCKSM<1:0> = 1x):
If clock switching and monitoring is enabled (FCKSM<1:0> =
Clock and PLL selections are never locked and may be modified.
bit 6ULOCK: USB PLL Lock Status bit
1 = The USB PLL module is in lock or USB PLL module start-up timer is satisfied
0 =The USB PLL module is out of lock or USB PLL module start-up timer is in progress or the USB PLL is
disabled
bit 5SLOCK: PLL Lock Status bit
1 = The PLL module is in lock or PLL module start-up timer is satisfied
0 = The PLL module is out of lock, the PLL start-up timer is running, or the PLL is disabled
bit 4SLPEN: Sleep Mode Enable bit
1 = The device will enter Sleep mode when a WAIT instruction is executed
0 = The device will enter Idle mode when a WAIT instruction is executed
Note 1: This bit is only available on PIC32MX2XX devices.
Note:Writes to this register require an unlock sequence. Refer to Section 6. “Oscillator” (DS60001112) in the
R = Readable bitW = Writable bitU = Unimplemented bit, read as ‘0’
-n = Value at POR‘1’ = Bit is set‘0’ = Bit is clearedx = Bit is unknown
Bit
31/23/15/7
U-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0
—
R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0
R/W-0U-0R/W-0R/W-0R/W-0U-0R/W-0, HCR-0, HS, HC
ON—SIDLOE
U-0U-0U-0U-0R/W-0R/W-0R/W-0R/W-0
————
Bit
30/22/14/6
Bit
29/21/13/5
Bit
28/20/12/4
RODIV<7:0>
Bit
27/19/11/3
RODIV<14:8>
(1,3)
(2)
RSLP
Bit
26/18/10/2
(1,3)
Bit
25/17/9/1
—DIVSWENACTIVE
ROSEL<3:0>
(1)
Bit
24/16/8/0
bit 31Unimplemented: Read as ‘0’
bit 30-16 RODIV<14:0> Reference Clock Divider bits
(1,3)
The value selects the reference clock divider bits. See Figure 8-1 for information.
bit 15ON: Output Enable bit
1 = Reference Oscillator module is enabled
0 = Reference Oscillator module is disabled
bit 14Unimplemented: Read as ‘0’
bit 13SIDL: Peripheral Stop in Idle Mode bit
1 = Discontinue module operation when the device enters Idle mode
0 = Continue module operation when the device enters Idle mode
bit 12OE: Reference Clock Output Enable bit
1 = Reference clock is driven out on REFCLKO pin
0 = Reference clock is not driven out on REFCLKO pin
bit 11RSLP: Reference Oscillator Module Run in Sleep bit
1 = Reference Oscillator module output continues to run in Sleep
0 = Reference Oscillator module output is disabled in Sleep
bit 10Unimplemented: Read as ‘0’
bit 9DIVSWEN: Divider Switch Enable bit
1 = Divider switch is in progress
0 = Divider switch is complete
bit 8ACTIVE: Reference Clock Request Status bit
1 = Reference clock request is active
0 = Reference clock request is not active
bit 7-4Unimplemented: Read as ‘0’
(2)
Note 1: The ROSEL and RODIV bits should not be written while the ACTIVE bit is ‘1’, as undefined behavior may
result.
2: This bit is ignored when the ROSEL<3:0> bits = 0000 or 0001.
3: While the ON bit is set to ‘1’, writes to these bits do not take effect until the DIVSWEN bit is also set to ’1’.
DS60001168L-page 84 2011-2019 Microchip Technology Inc.
PIC32MX1XX/2XX 28/36/44-PIN FAMILY
REGISTER 8-3:REFOCON: REFERENCE OSCILLATOR CONTROL REGISTER
bit 3-0ROSEL<3:0>: Reference Clock Source Select bits
1111 = Reserved; do not use
•
•
•
1001 = Reserved; do not use
1000 = REFCLKI
0111 = System PLL output
0110 = USB PLL output
0101 = S
0100 = LPRC
0011 = FRC
0010 = P
0001 = PBCLK
0000 = SYSCLK
Note 1: The ROSEL and RODIV bits should not be written while the ACTIVE bit is ‘1’, as undefined behavior may
result.
2: This bit is ignored when the ROSEL<3:0> bits = 0000 or 0001.
3: While the ON bit is set to ‘1’, writes to these bits do not take effect until the DIVSWEN bit is also set to ’1’.
REGISTER 8-4:REFOTRIM: REFERENCE OSCILLATOR TRIM REGISTER
Bit
Range
31:24
23:16
15:8
7:0
Legend:
R = Readable bitW = Writable bitU = Unimplemented bit, read as ‘0’
-n = Value at POR‘1’ = Bit is set‘0’ = Bit is clearedx = Bit is unknown
bit 31-23 ROTRIM<8:0>: Reference Oscillator Trim bits
bit 22-0 Unimplemented: Read as ‘0’
Bit
31/23/15/7
R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0
R/W-0R-0U-0U-0U-0U-0U-0U-0
ROTRIM<0>———————
U-0R-0U-0U-0U-0U-0U-0U-0
————————
U-0U-0U-0U-0U-0U-0U-0U-0
————————
111111111 = 511/512 divisor added to RODIV value
111111110 = 510/512 divisor added to RODIV value
•
•
•
100000000 = 256/512 divisor added to RODIV value
•
•
•
000000010 = 2/512 divisor added to RODIV value
000000001 = 1/512 divisor added to RODIV value
000000000 = 0/512 divisor added to RODIV value
Bit
30/22/14/6
Bit
29/21/13/5
Bit
28/20/12/4
ROTRIM<8:1>
Bit
27/19/11/3
Bit
26/18/10/2
Bit
25/17/9/1
24/16/8/0
Bit
Note:While the ON (REFOCON<15>) bit is ‘1’, writes to this register do not take effect until the DIVSWEN bit is
also set to ‘1’.
DS60001168L-page 86 2011-2019 Microchip Technology Inc.
PIC32MX1XX/2XX 28/36/44-PIN FAMILY
Address
Channel 0
Channel 1
Channel n
Global Control
(DMACON)
Bus
Channel Priority
Arbitration
S
E
L
S
E
L
Y
I
0
I
1
I
2
I
n
System IRQ
Interrupt
Device Bus and
Peripheral Bus
Control
Control
Control
Interface
Decoder
Controller
Bus Arbitration
9.0DIRECT MEMORY ACCESS
(DMA) CONTROLLER
Note:This data sheet summarizes the features
of the PIC32MX1XX/2XX 28/36/44-pin
Family of devices. It is not intended to be
a comprehensive reference source. To
complement the information in this data
sheet, refer to Section 31. “Direct Mem-
ory Access (DMA) Controller”
(DS60001117), which is available from the
Documentation > Reference Manual
section of the Microchip PIC32 web site
(www.microchip.com/pic32).
The PIC32 Direct Memory Access (DMA) controller is a
bus master module useful for data transfers between
different devices without CPU intervention. The source
and destination of a DMA transfer can be any of the
memory mapped modules existent in the PIC32, such
as Peripheral Bus devices: SPI, UART, PMP, etc., or
memory itself. Figure 9-1 show a block diagram of the
DMA Controller module.
The DMA Controller module has the following key
features:
• Four identical channels, each featuring:
- Auto-increment source and destination
address registers
- Source and destination pointers
- Memory to memory and memory to
peripheral transfers
• Automatic word-size detection:
- Transfer granularity, down to byte level
- Bytes need not be word-aligned at source
and destination
• Fixed priority channel arbitration
• Flexible DMA channel operating modes:
- Manual (software) or automatic (interrupt)
DMA requests
- One-Shot or Auto-Repeat Block Transfer
modes
- Channel-to-channel chaining
• Flexible DMA requests:
- A DMA request can be selected from any of
the peripheral interrupt sources
- Each channel can select any (appropriate)
observable interrupt as its DMA request
source
- A DMA transfer abort can be selected from
any of the peripheral interrupt sources
- Pattern (data) match transfer termination
• Multiple DMA channel status interrupts:
- DMA channel block transfer complete
- Source empty or half empty
- Destination full or half full
- DMA transfer aborted due to an external
event
- Invalid DMA address generated
• DMA debug support features:
- Most recent address accessed by a DMA
channel
- Most recent DMA channel to transfer data
• CRC Generation module:
- CRC module can be assigned to any of the
available channels
DS60001168L-page 88 2011-2019 Microchip Technology Inc.
9.1DMA Control Registers
TABLE 9-1:DMA GLOBAL REGISTER MAP
Bits
(1)
Name
Register
(BF88_#)
Virtual Address
3000 DMACON
3010 DMASTAT
3020 DMAADDR
Legend:x = unknown value on Reset; — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
Note 1:All registers in this table have corresponding CLR, SET and INV registers at its virtual address, plus an offset of 0x4, 0x8 and 0xC, respectively. See Section 11.2 “CLR, SET and INV Registers” for more
information.
TABLE 9-2:DMA CRC REGISTER MAP
(1)
Name
Register
(BF88_#)
Virtual Address
3030 DCRCCON
3040 DCRCDATA
3050 DCRCXOR
Legend:x = unknown value on Reset; — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
Note 1:All registers in this table have corresponding CLR, SET and INV registers at their virtual addresses, plus offsets of 0x4, 0x8 and 0xC, respectively. See Section 11.2 “CLR, SET and INV Registers” for
Legend:x = unknown value on Reset; — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
Note 1:All registers in this table have corresponding CLR, SET and INV registers at their virtual addresses, plus offsets of 0x4, 0x8 and 0xC, respectively. See Section 11.2 “CLR, SET and INV Registers” for
Legend:x = unknown value on Reset; — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
Note 1:All registers in this table have corresponding CLR, SET and INV registers at their virtual addresses, plus offsets of 0x4, 0x8 and 0xC, respectively. See Section 11.2 “CLR, SET and INV Registers” for
Legend:x = unknown value on Reset; — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
Note 1:All registers in this table have corresponding CLR, SET and INV registers at their virtual addresses, plus offsets of 0x4, 0x8 and 0xC, respectively. See Section 11.2 “CLR, SET and INV Registers” for
R = Readable bitW = Writable bitU = Unimplemented bit, read as ‘0’
-n = Value at POR‘1’ = Bit is set‘0’ = Bit is clearedx = Bit is unknown
bit 31-30 Unimplemented: Read as ‘0’
bit 29-28 BYTO<1:0>: CRC Byte Order Selection bits
bit 27WBO: CRC Write Byte Order Selection bit
bit 26-25 Unimplemented: Read as ‘0’
bit 24BITO: CRC Bit Order Selection bit
Bit
31/23/15/7
U-0U-0R/W-0R/W-0R/W-0U-0U-0R/W-0
——BYTO<1:0>WBO
U-0U-0U-0U-0U-0U-0U-0U-0
Bit
30/22/14/6
Bit
29/21/13/5
Bit
28/20/12/4
Bit
27/19/11/3
(1)
Bit
26/18/10/2
Bit
25/17/9/1
24/16/8/0
——BITO
————————
U-0U-0U-0R/W-0R/W-0R/W-0R/W-0R/W-0
———PLEN<4:0>
R/W-0R/W-0R/W-0U-0U-0R/W-0R/W-0R/W-0
CRCENCRCAPP
(1)
CRCTYP——CRCCH<2:0>
11 = Endian byte swap on half-word boundaries (i.e., source half-word order with reverse source byte order
per half-word)
10 = Swap half-words on word boundaries (i.e., reverse source half-word order with source byte order per
half-word)
01 = Endian byte swap on word boundaries (i.e., reverse source byte order)
00 = No swapping (i.e., source byte order)
(1)
1 = Source data is written to the destination re-ordered as defined by BYTO<1:0>
0 = Source data is written to the destination unaltered
When CRCTYP (DCRCCON<15>) =
1 (CRC module is in IP Header mode):
1 = The IP header checksum is calculated Least Significant bit (LSb) first (i.e., reflected)
0 = The IP header checksum is calculated Most Significant bit (MSb) first (i.e., not reflected)
Bit
When CRCTYP (DCRCCON<15>) =
0 (CRC module is in LFSR mode):
1 = The LFSR CRC is calculated Least Significant bit first (i.e., reflected)
0 = The LFSR CRC is calculated Most Significant bit first (i.e., not reflected)
bit 23-13 Unimplemented: Read as ‘0’
bit 12-8PLEN<4:0>: Polynomial Length bits
When CRCTYP (DCRCCON<15>) =
1 (CRC module is in IP Header mode):
These bits are unused.
When CRCTYP (DCRCCON<15>) =
0 (CRC module is in LFSR mode):
Denotes the length of the polynomial – 1.
bit 7CRCEN: CRC Enable bit
1 = CRC module is enabled and channel transfers are routed through the CRC module
0 = CRC module is disabled and channel transfers proceed normally
Note 1: When WBO = 1, unaligned transfers are not supported and the CRCAPP bit cannot be set.
DS60001168L-page 94 2011-2019 Microchip Technology Inc.
PIC32MX1XX/2XX 28/36/44-PIN FAMILY
REGISTER 9-4:DCRCCON: DMA CRC CONTROL REGISTER (CONTINUED)
bit 6CRCAPP: CRC Append Mode bit
1 = The DMA transfers data from the source into the CRC but NOT to the destination. When a block transfer
completes the DMA writes the calculated CRC value to the location given by CHxDSA
0 = The DMA transfers data from the source through the CRC obeying WBO as it writes the data to the
destination
bit 5CRCTYP: CRC Type Selection bit
1 = The CRC module will calculate an IP header checksum
0 = The CRC module will calculate a LFSR CRC
bit 4-3Unimplemented: Read as ‘0’
bit 2-0CRCCH<2:0>: CRC Channel Select bits
111 = CRC is assigned to Channel 7
110 = CRC is assigned to Channel 6
101 = CRC is assigned to Channel 5
100 = CRC is assigned to Channel 4
011 = CRC is assigned to Channel 3
010 = CRC is assigned to Channel 2
001 = CRC is assigned to Channel 1
000 = CRC is assigned to Channel 0
Note 1: When WBO = 1, unaligned transfers are not supported and the CRCAPP bit cannot be set.
R = Readable bitW = Writable bitU = Unimplemented bit, read as ‘0’
-n = Value at POR‘1’ = Bit is set‘0’ = Bit is clearedx = Bit is unknown
bit 31-0 DCRCDATA<31:0>: CRC Data Register bits
Bit
31/23/15/7
R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0
Bit
30/22/14/6
Bit
29/21/13/5
Bit
28/20/12/4
Bit
27/19/11/3
Bit
26/18/10/2
Bit
25/17/9/1
24/16/8/0
DCRCDATA<31:24>
R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0
DCRCDATA<23:16>
R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0
DCRCDATA<15:8>
R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0
DCRCDATA<7:0>
Writing to this register will seed the CRC generator. Reading from this register will return the current value of
the CRC. Bits greater than PLEN will return ‘0’ on any read.
Bit
When CRCTYP (DCRCCON<15>) =
1 (CRC module is in IP Header mode):
Only the lower 16 bits contain IP header checksum information. The upper 16 bits are always ‘0’. Data written
to this register is converted and read back in 1’s complement form (i.e., current IP header checksum value).
When CRCTYP (DCRCCON<15>) =
0 (CRC module is in LFSR mode):
Bits greater than PLEN will return ‘0’ on any read.
REGISTER 9-6:DCRCXOR: DMA CRCXOR ENABLE REGISTER
Bit
Range
31:24
23:16
15:8
7:0
Legend:
R = Readable bitW = Writable bitU = Unimplemented bit, read as ‘0’
-n = Value at POR‘1’ = Bit is set‘0’ = Bit is clearedx = Bit is unknown
Bit
31/23/15/7
R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0
Bit
30/22/14/6
Bit
29/21/13/5
Bit
28/20/12/4
Bit
27/19/11/3
Bit
26/18/10/2
Bit
25/17/9/1
DCRCXOR<31:24>
R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0
DCRCXOR<23:16>
R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0
DCRCXOR<15:8>
R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0
DCRCXOR<7:0>
24/16/8/0
Bit
bit 31-0 DCRCXOR<31:0>: CRC XOR Register bits
When CRCTYP (DCRCCON<15>) =
1 (CRC module is in IP Header mode):
This register is unused.
When CRCTYP (DCRCCON<15>) =
0 (CRC module is in LFSR mode):
1 = Enable the XOR input to the Shift register
0 = Disable the XOR input to the Shift register; data is shifted in directly from the previous stage in
the register
DS60001168L-page 96 2011-2019 Microchip Technology Inc.
PIC32MX1XX/2XX 28/36/44-PIN FAMILY
REGISTER 9-7:DCHxCON: DMA CHANNEL ‘x’ CONTROL REGISTER
Bit
Range
31:24
23:16
15:8
7:0
Legend:
R = Readable bitW = Writable bitU = Unimplemented bit, read as ‘0’
-n = Value at POR‘1’ = Bit is set‘0’ = Bit is clearedx = Bit is unknown
bit 31-16 Unimplemented: Read as ‘0’
bit 15CHBUSY: Channel Busy bit
bit 14-9Unimplemented: Read as ‘0’
bit 8CHCHNS: Chain Channel Selection bit
bit 7CHEN: Channel Enable bit
bit 6CHAED: Channel Allow Events If Disabled bit
bit CHCHN: Channel Chain Enable bit
bit 4CHAEN: Channel Automatic Enable bit
bit 3Unimplemented: Read as ‘0’
bit 2CHEDET: Channel Event Detected bit
bit 1-0CHPRI<1:0>: Channel Priority bits
Bit
31/23/15/7
U-0U-0U-0U-0U-0U-0U-0U-0
Bit
30/22/14/6
Bit
29/21/13/5
Bit
28/20/12/4
Bit
27/19/11/3
Bit
26/18/10/2
Bit
25/17/9/1
24/16/8/0
————————
U-0U-0U-0U-0U-0U-0U-0U-0
————————
R/W-0U-0U-0U-0U-0U-0U-0R/W-0
CHBUSY————— —CHCHNS
R/W-0R/W-0R/W-0R/W-0U-0R-0R/W-0R/W-0
(2)
CHEN
CHAEDCHCHNCHAEN—CHEDETCHPRI<1:0>
1 = Channel is active or has been enabled
0 = Channel is inactive or has been disabled
(1)
1 = Chain to channel lower in natural priority (CH1 will be enabled by CH2 transfer complete)
0 = Chain to channel higher in natural priority (CH1 will be enabled by CH0 transfer complete)
(2)
1 = Channel is enabled
0 = Channel is disabled
1 = Channel start/abort events will be registered, even if the channel is disabled
0 = Channel start/abort events will be ignored if the channel is disabled
1 = Allow channel to be chained
0 = Do not allow channel to be chained
1 = Channel is continuously enabled, and not automatically disabled after a block transfer is complete
0 = Channel is disabled on block transfer complete
1 = An event has been detected
0 = No events have been detected
11 = Channel has priority 3 (highest)
10 = Channel has priority 2
01 = Channel has priority 1
00 = Channel has priority 0
Bit
(1)
Note 1: The chain selection bit takes effect when chaining is enabled (i.e., CHCHN = 1).
2: When the channel is suspended by clearing this bit, the user application should poll the CHBUSY bit (if
available on the device variant) to see when the channel is suspended, as it may take some clock cycles
to complete a current transaction before the channel is suspended.
REGISTER 9-8:DCHxECON: DMA CHANNEL ‘x’ EVENT CONTROL REGISTER
Bit
Range
31:24
23:16
15:8
7:0
Legend:S = Settable bit
R = Readable bitW = Writable bitU = Unimplemented bit, read as ‘0’
-n = Value at POR‘1’ = Bit is set‘0’ = Bit is clearedx = Bit is unknown
Bit
31/23/15/7
U-0U-0U-0U-0U-0U-0U-0U-0
Bit
30/22/14/6
Bit
29/21/13/5
Bit
28/20/12/4
Bit
27/19/11/3
Bit
26/18/10/2
Bit
25/17/9/1
24/16/8/0
————————
R/W-1R/W-1R/W-1R/W-1R/W-1R/W-1R/W-1R/W-1
CHAIRQ<7:0>
R/W-1R/W-1R/W-1R/W-1R/W-1R/W-1R/W-1R/W-1
CHSIRQ<7:0>
S-0S-0R/W-0R/W-0R/W-0U-0U-0U-0
(1)
(1)
CFORCECABORTPATENSIRQENAIRQEN———
Bit
bit 31-24 Unimplemented: Read as ‘0’
bit 23-16 CHAIRQ<7:0>: Channel Transfer Abort IRQ bits
11111111 = Interrupt 255 will abort any transfers in progress and set CHAIF flag
•
•
•
00000001 = Interrupt 1 will abort any transfers in progress and set CHAIF flag
00000000 = Interrupt 0 will abort any transfers in progress and set CHAIF flag
bit 15-8CHSIRQ<7:0>: Channel Transfer Start IRQ bits
11111111 = Interrupt 255 will initiate a DMA transfer
•
•
•
00000001 = Interrupt 1 will initiate a DMA transfer
00000000 = Interrupt 0 will initiate a DMA transfer
bit 7CFORCE: DMA Forced Transfer bit
1 = A DMA transfer is forced to begin when this bit is written to a ‘1’
0 = This bit always reads ‘0’
bit 6CABORT: DMA Abort Transfer bit
1 = A DMA transfer is aborted when this bit is written to a ‘1’
0 = This bit always reads ‘0’
bit 5PATE N: Channel Pattern Match Abort Enable bit
1 = Abort transfer and clear CHEN on pattern match
0 = Pattern match is disabled
bit 4SIRQEN: Channel Start IRQ Enable bit
1 = Start channel cell transfer if an interrupt matching CHSIRQ occurs
0 = Interrupt number CHSIRQ is ignored and does not start a transfer
bit 3AIRQEN: Channel Abort IRQ Enable bit
1 = Channel transfer is aborted if an interrupt matching CHAIRQ occurs
0 = Interrupt number CHAIRQ is ignored and does not terminate a transfer
bit 2-0Unimplemented: Read as ‘0’
(1)
(1)
Note 1: See Table 7-1: “Interrupt IRQ, Vector and Bit Location” for the list of available interrupt IRQ sources.
DS60001168L-page 98 2011-2019 Microchip Technology Inc.
PIC32MX1XX/2XX 28/36/44-PIN FAMILY
REGISTER 9-9:DCHxINT: DMA CHANNEL ‘x’ INTERRUPT CONTROL REGISTER
Bit
Range
31:24
23:16
15:8
7:0
Legend:
R = Readable bitW = Writable bitU = Unimplemented bit, read as ‘0’
-n = Value at POR‘1’ = Bit is set‘0’ = Bit is clearedx = Bit is unknown
bit 31-24 Unimplemented: Read as ‘0’
bit 23CHSDIE: Channel Source Done Interrupt Enable bit
bit 22CHSHIE: Channel Source Half Empty Interrupt Enable bit
bit 21CHDDIE: Channel Destination Done Interrupt Enable bit
bit 20CHDHIE: Channel Destination Half Full Interrupt Enable bit
bit 19CHBCIE: Channel Block Transfer Complete Interrupt Enable bit
bit 18CHCCIE: Channel Cell Transfer Complete Interrupt Enable bit
bit 17CHTAIE: Channel Transfer Abort Interrupt Enable bit
bit 16CHERIE: Channel Address Error Interrupt Enable bit
bit 15-8Unimplemented: Read as ‘0’
bit 7CHSDIF: Channel Source Done Interrupt Flag bit
bit 6CHSHIF: Channel Source Half Empty Interrupt Flag bit
bit 5CHDDIF: Channel Destination Done Interrupt Flag bit
Bit
31/23/15/7
U-0U-0U-0U-0U-0U-0U-0U-0
————————
R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0
CHSDIECHSHIECHDDIECHDHIECHBCIECHCCIECHTAIECHERIE
U-0U-0U-0U-0U-0U-0U-0U-0
————————
R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0
CHSDIFCHSHIFCHDDIFCHDHIFCHBCIFCHCCIFCHTAIFCHERIF
1 = Interrupt is enabled
0 = Interrupt is disabled
1 = Interrupt is enabled
0 = Interrupt is disabled
1 = Interrupt is enabled
0 = Interrupt is disabled
1 = Interrupt is enabled
0 = Interrupt is disabled
1 = Interrupt is enabled
0 = Interrupt is disabled
1 = Interrupt is enabled
0 = Interrupt is disabled
1 = Interrupt is enabled
0 = Interrupt is disabled
1 = Interrupt is enabled
0 = Interrupt is disabled
1 = Channel Source Pointer has reached end of source (CHSPTR = CHSSIZ)
0 = No interrupt is pending
1 = Channel Source Pointer has reached midpoint of source (CHSPTR =CHSSIZ/2)
0 = No interrupt is pending
1 = Channel Destination Pointer has reached end of destination (CHDPTR = CHDSIZ)
0 = No interrupt is pending