电子工程世界电子工程世界电子工程世界

产品描述

搜索
 

PIC32MM0016GPL028-I/ML

器件型号:PIC32MM0016GPL028-I/ML
器件类别:半导体    嵌入式处理器和控制器   
厂商名称:Microchip
厂商官网:https://www.microchip.com
标准:
下载文档

器件描述

32-bit Microcontrollers - MCU 16KB Flash, 4KB RAM, 79 CoreMark at 25MHz, Low Power microMIPS

参数
产品属性属性值
Product AttributeAttribute Value
制造商:
Manufacturer:
Microchip
产品种类:
Product Category:
32-bit Microcontrollers - MCU
RoHS:YES
系列:
Series:
PIC32MMxxxxGPL
封装:
Packaging:
Tube
商标:
Brand:
Microchip Technology
产品类型:
Product Type:
32-bit Microcontrollers - MCU
工厂包装数量:
Factory Pack Quantity:
61
子类别:
Subcategory:
Microcontrollers - MCU
商标名:
Tradename:
microAptiv

PIC32MM0016GPL028-I/ML器件文档内容

                                                 PIC32MM0064GPL036 FAMILY

   32-Bit Flash Microcontroller with MIPS32® microAptiv™ UC Core

                                 with Low Power and Low Pin Count

Operating Conditions                                           Peripheral Features

•  2.0V to 3.6V, -40ºC to +85ºC, DC to 25 MHz                  •  Atomic Set, Clear and Invert Operation on Select

                                                                  Peripheral Registers

Low-Power Modes                                                •  High-Current Sink/Source 11 mA/16 mA on All Ports

•  Low-Power modes:                                            •  Independent, Low-Power 32 kHz Timer Oscillator

   -  Idle: CPU off, peripherals run from system clock         •  Two 4-Wire SPI modules (up to 25 Mbps):

   -  Sleep: CPU and peripherals off:                             -  16-byte FIFO

      -  Fast wake-up Sleep with retention                        -  I2S mode

      -  Low-power Sleep with retention                        •  Two UARTs:

•  0.5 μA Sleep Current for Regulator Retention mode and          -  RS-232, RS-485 and LIN/J2602 support

   5 μA for Regulator Standby mode                                -  IrDA® with on-chip hardware encoder and decoder

•  On-Chip 1.8V Voltage Regulator (VREG)                       •  External Edge and Level Change Interrupt on All Ports

•  On-Chip Ultra Low-Power Retention Regulator                 •  CRC module

High-Performance 32-Bit RISC CPU                               •  Hardware Real-Time Clock and Calendar (RTCC)

                                                               •  Up to 20 Peripheral Pin Select (PPS) Remappable Pins

•  microAptiv™ UC 32-Bit Core with 5-Stage Pipeline            •  Seven Total 16-Bit Timers:

•  microMIPS™ Instruction Set for 35% Smaller Code and            -  Timer1: Dedicated 16-bit timer/counter

   98% Performance compared to MIPS32 Instructions                -  Two additional 16-bit timers in each MCCP and SCCP

•  DC-25 MHz Operating Frequency                                     module

•  3.17 CoreMark®/MHz (79 CoreMark) Performance                •  Capture/Compare/PWM/Timer modules:

•  1.53 DMIPS/MHz (37 DMIPS) (Dhrystone 2.1) Performance          -  Two 16-bit timers or one 32-bit timer in each module

•  16-Bit/32-Bit Wide Instructions with 32-Bit Wide Data Path     -  PWM resolution down to 21 ns

•  Two Sets of 32 Core Register Files (32-bit) to Reduce          -  One Multiple Output (MCCP) module:

   Interrupt Latency                                                 -  Flexible configuration as PWM, input capture, output

•  Single-Cycle 32x16 Multiply and Two-Cycle 32x32 Multiply             compare or timers

•  Hardware Divide Unit                                              -  Six PWM outputs

•  64-Bit, Zero Wait State Flash with ECC to Maximize                -  Programmable dead time

   Endurance/Retention                                               -  Auto-shutdown

Microcontroller Features                                          -  Two Single Output (SCCP) modules:

•  Low Pin Count Packages, Ranging from 20 to 36 Pins,               -  Flexible configuration as PWM, input capture, output

   including UQFN as Small as 4x4 mm                                    compare or timers

•  Up to 64K Flash Memory:                                           -  Single PWM output

   -  20,000 erase/write cycle endurance                       •  Reference Clock Output (REFO)

   -  20 years minimum data retention                          •  Two Configurable Logic Cells (CLC) with Internal

                                                                  Connections to Select Peripherals and PPS

   -  Self-programmable under software control

•  Up to 8K Data Memory                                        Debug Features

•  Pin-Compatible with Most PIC24 MCU/dsPIC® DSC Devices       •  Two Programming and Debugging Interfaces:

•  Multiple Interrupt Vectors with Individually                   -  2-wire ICSP™ interface with non-intrusive access

   Programmable Priority                                             and real-time data exchange with application

•  Fail-Safe Clock Monitor mode                                   -  4-wire MIPS® standard Enhanced JTAG interface

•  Configurable Watchdog Timer with On-Chip, Low-Power         •  IEEE Standard 1149.2 Compatible (JTAG) Boundary Scan

   RC Oscillator

•  Programmable Code Protection

•  Selectable Oscillator Options including:

   -  High-precision, 8 MHz internal Fast RC (FRC)

      oscillator

   -  High-speed crystal/resonator oscillator or external

      clock

   -  2x/3x/4x/6x/12x/24x PLL, which can be clocked from the

      FRC or primary oscillator

 2015-2016 Microchip Technology Inc.                                                              DS60001324B-page 1
PIC32MM0064GPL036                                                                                                                                        FAMILY

Analog Features                                                                                                                                                                            •        Up to 14-Channel, Software-Selectable 10/12-Bit                                      SAR

                                                                                                                                                                                                    Analog-to-Digital Converter (ADC):

•  Two Analog Comparators with Input                                                                                                                                                               -  12-bit, 200K samples/second conversion rate

   Multiplexing                                                                                                                                                                                        (single Sample-and-Hold)

•  Programmable High/Low-Voltage                                                                                                                                                                   -  10-bit, 300K samples/second conversion rate

   Detect (HLVD)                                                                                                                                                                                       (single Sample-and-Hold)

•  5-Bit DAC with Output Pin                                                                                                                                                                        -  Sleep mode operation

                                                                                                                                                                                                    -  Band gap reference input feature

                                                                                                                                                                                                    -  Windowed threshold compare feature

                                                                                                                                                                                                    -  Auto-scan feature

                                                                                                                                                                                           •        Brown-out Reset (BOR)

TABLE 1:          PIC32MM0064GPL036 FAMILY                                                                                                               DEVICES

                                     Program Memory (Kbytes)  Data Memory (Kbytes)  General Purpose I/O/PPS  16-Bit Timers Maximum  PWM Outputs Maximum                        Remappable                                        10/12-Bit ADC (Channels)

                                                                                                                                                                               Peripherals

          Device              Pins                                                                                                                       UART(1)/LIN/J2602  16-Bit Timers  MCCP(3)     SCCP(4)       SPI(2)/I2S                            Comparators  CRC  RTCC  JTAG  Packages

                                                                                                                                                                                                                CLC

PIC32MM0016GPL020             20     16                       4                     16/16                    7                      8                    2                  1              1           2        2    2           11                        2            Yes  Yes   Yes   SSOP/QFN

PIC32MM0032GPL020             20     32                       8                     16/16                    7                      8                    2                  1              1           2        2    2           11                        2            Yes  Yes   Yes   SSOP/QFN

PIC32MM0064GPL020             20     64                       8                     16/16                    7                      8                    2                  1              1           2        2    2           11                        2            Yes  Yes   Yes   SSOP/QFN

PIC32MM0016GPL028             28     16                       4                     22/19                    7                      8                    2                  1              1           2        2    2           12                        2            Yes  Yes   Yes   SSOP/SOIC/

                                                                                                                                                                                                                                                                                         QFN/UQFN

PIC32MM0032GPL028             28     32                       8                     22/19                    7                      8                    2                  1              1           2        2    2           12                        2            Yes  Yes   Yes   SSOP/ SOIC/

                                                                                                                                                                                                                                                                                         QFN/UQFN

PIC32MM0064GPL028             28     64                       8                     22/19                    7                      8                    2                  1              1           2        2    2           12                        2            Yes  Yes   Yes   SPDIP/SSOP/

                                                                                                                                                                                                                                                                                         SOIC/QFN/

                                                                                                                                                                                                                                                                                         UQFN

PIC32MM0016GPL036             36/40  16                       4                     29/20                    7                      8                    2                  1              1           2        2    2           14                        2            Yes  Yes   Yes   VQFN/UQFN

PIC32MM0032GPL036             36/40  32                       8                     29/20                    7                      8                    2                  1              1           2        2    2           14                        2            Yes  Yes   Yes   VQFN/UQFN

PIC32MM0064GPL036             36/40  64                       8                     29/20                    7                      8                    2                  1              1           2        2    2           14                        2            Yes  Yes   Yes   VQFN/UQFN

Note  1:  UART1 has assigned pins. UART2 is remappable.

      2:  SPI1 has assigned pins. SPI2 is remappable.

      3:  MCCP can be configured as a PWM with up to 6 outputs, input capture, output compare, 2 x 16-bit timers or 

          1 x 32-bit timer.

      4:  SCCP can be configured as a PWM with 1 output, input capture, output compare, 2 x 16-bit timers or 1 x 32-bit timer.

DS60001324B-page 2                                                                                                                                                                                                                                          2015-2016 Microchip Technology Inc.
                                                       PIC32MM0064GPL036 FAMILY

Pin Diagrams

     20-Pin SSOP

                                                       MCLR  1                             20  AVDD/VDD

                                     PGEC2/RP1/RA0           2          PIC32MMXXXXGPL020  19  AVSS/VSS

                                     PGED2/RP2/RA1           3                             18  RP10/RB15(1)

                                    PGED1/RP14/RB0           4                             17  RP9/RB14

                                    PGEC1/RP15/RB1           5                             16  RP13/RB13

                                           RP16/RB2          6                             15  RP12/RB12

                                       CLKI/RP3/RA2          7                             14  VCAP

                                    CLKO/RP4/RA3(1)          8                             13  RP8/RB9(1)

                          PGED3/SOSCI/RP5/RB4                9                             12  RP7/RB8(1)

                          PGEC3/SOSCO/RP6/RA4                10                            11  RP11/RB7

     Legend:  Shaded pins are up to 5V tolerant.

     Note 1:  Pin has an increased current drive strength. Refer to Section 26.0 “Electrical Characteristics” for details.

TABLE 2:           COMPLETE PIN FUNCTION                     DESCRIPTIONS FOR 20-PIN SSOP DEVICES

Pin                       Function                           Pin                                     Function

1    MCLR                                                    11   RP11/RB7

2    PGEC2/VREF+/AN0/RP1/OCM1E/INT3/RA0                      12   TCK/RP7/U1CTS/SCK1/OCM1A/RB8(1)

3    PGED2/VREF-/AN1/RP2/OCM1F/RA1                           13   TMS/REFCLKI/RP8/T1CK/T1G/U1RTS/U1BCLK/SDO1/C2OUT/OCM1B/

                                                                  INT2/RB9(1)

4    PGED1/AN2/C1IND/C2INB/RP14/RB0                          14   VCAP

5    PGEC1/AN3/C1INC/C2INA/RP15/RB1                          15   TDO/AN7/LVDIN/RP12/RB12

6    AN4/RP16/RB2                                            16   TDI/AN8/RP13/RB13

7    OSC1/CLKI/AN5/C1INB/RP3/OCM1C/RA2                       17   CDAC1/AN9/RP9/RTCC/U1TX/SDI1/C1OUT/INT1/RB14

8    OSC2/CLKO/AN6/C1INA/RP4/OCM1D/RA3(1)                    18   AN10/REFCLKO/RP10/U1RX/SS1/FSYNC1/INT0/RB15(1)

9    PGED3/SOSCI/RP5/RB4                                     19   AVSS/VSS

10   PGEC3/SOSCO/SCLKI/RP6/PWRLCLK/RA4                       20   AVDD/VDD

Note 1:  Pin has an increased current drive strength.

 2015-2016 Microchip Technology Inc.                                                                          DS60001324B-page 3
PIC32MM0064GPL036 FAMILY

Pin Diagrams (Continued)

         20-Pin QFN

                                                          PGED2/RP2/RA1        PGEC2/RP1/RA0        MCLR      AVDD/VDD    AVSS/VSS

                                                          20                   19                   18        17          16

                              PGED1/RP14/RB0           1                                                                              15  RP10/RB15(1)

                              PGEC1/RP15/RB1           2                                                                              14  RP9/RB14

                                      RP16/RB2         3  PIC32MMXXXXGPL020                                                           13  RP13/RB13

                              CLKI/RP3/RA2             4                                                                              12  RP12/RB12

                              CLKO/RP4/RA3(1)          5                                                                              11  VCAP

                                                          6                    7                    8         9           10

                                                          PGED3/SOSCI/RP5/RB4  PGEC3/SOSCO/RP6/RA4  RP11/RB7  RP7/RB8(1)  RP8/RB9(1)

         Legend:  Shaded pins are up to 5V tolerant.

         Note 1:  Pin has an increased current drive strength. Refer to Section 26.0 “Electrical Characteristics” for                                     details.

TABLE 3:           COMPLETE PIN FUNCTION                  DESCRIPTIONS FOR 20-PIN QFN DEVICES

Pin                       Function                        Pin                                                                                   Function

1    PGED1/AN2/C1IND/C2INB/RP14/RB0                          11                   VCAP

2    PGEC1/AN3/C1INC/C2INA/RP15/RB1                          12                   TDO/AN7/LVDIN/RP12/RB12

3    AN4/RP16/RB2                                            13                   TDI/AN8/RP13/RB13

4    OSC1/CLKI/AN5/C1INB/RP3/OCM1C/RA2                       14                   CDAC1/AN9/RP9/RTCC/U1TX/SDI1/C1OUT/INT1/RB14

5    OSC2/CLKO/AN6/C1INA/RP4/OCM1D/RA3(1)                    15                   AN10/REFCLKO/RP10/U1RX/SS1/FSYNC1/INT0/RB15(1)

6    PGED3/SOSCI/RP5/RB4                                     16                   AVSS/VSS

7    PGEC3/SOSCO/SCLKI/RP6/PWRLCLK/RA4                       17                   AVDD/VDD

8    RP11/RB7                                                18                   MCLR

9    TCK/RP7/U1CTS/SCK1/OCM1A/RB8(1)                         19                   PGEC2/VREF+/AN0/RP1/OCM1E/INT3/RA0

10   TMS/REFCLKI/RP8/T1CK/T1G/U1RTS/U1BCLK/SDO1/             20                   PGED2/VREF-/AN1/RP2/OCM1F/RA1

     C2OUT/OCM1B/INT2/RB9(1)

Note 1:  Pin has an increased current drive strength.

DS60001324B-page 4                                                                                                                               2015-2016 Microchip Technology  Inc.
                                                         PIC32MM0064GPL036                                    FAMILY

Pin  Diagrams (Continued)

     28-Pin SPDIP(2)/SSOP/SOIC

                                              MCLR            1                        28  AVDD

                                              RP1/RA0         2                        27  AVSS

                                              RP2/RA1         3                        26  RP10/RB15(1)

                              PGED1/RP14/RB0                  4     PIC32MMXXXXGPL028  25  RP9/RB14

                              PGEC1/RP15/RB1                  5                        24  RP13/RB13

                                              RP16/RB2        6                        23  RP12/RB12

                                              RB3             7                        22  PGEC2/RP18/RB11

                                              VSS             8                        21  PGED2/RP17/RB10

                                   CLKI/RP3/RA2               9                        20  VCAP

                               CLKO/RP4/RA3(1)                10                       19  RP19/RC9

                               SOSCI/RP5/RB4                  11                       18  RP8/RB9(1)

                               SOSCO/RP6/RA4                  12                       17  RP7/RB8(1)

                                              VDD             13                       16  RP11/RB7

                                     PGED3/RB5                14                       15  PGEC3/RB6

     Legend:    Shaded pins are up to 5V tolerant.

     Note 1:    Pin has an increased current drive strength. Refer to Section 26.0 “Electrical Characteristics” for details.

           2:   Only PIC32MM0064GPL028 comes in a 28-pin SPDIP package.

TABLE 4:        COMPLETE PIN                  FUNCTION        DESCRIPTIONS FOR 28-PIN SPDIP/SSOP/SOIC DEVICES

Pin                  Function                            Pin                                     Function

1    MCLR                                                15   PGEC3/RB6

2    VREF+/AN0/RP1/OCM1E/INT3/RA0                        16   RP11/RB7

3    VREF-/AN1/RP2/OCM1F/RA1                             17   TCK/RP7/U1CTS/SCK1/OCM1A/RB8(1)

4    PGED1/AN2/C1IND/C2INB/RP14/RB0                      18   TMS/REFCLKI/RP8/T1CK/T1G/U1RTS/U1BCLK/SDO1/C2OUT/OCM1B/INT2/RB9(1)

5    PGEC1/AN3/C1INC/C2INA/RP15/RB1                      19   RP19/RC9

6    AN4/C1INB/RP16/RB2                                  20   VCAP

7    AN11/C1INA/RB3                                      21   PGED2/TDO/RP17/RB10

8    VSS                                                 22   PGEC2/TDI/RP18/RB11

9    OSC1/CLKI/AN5/RP3/OCM1C/RA2                         23   AN7/LVDIN/RP12/RB12

10   OSC2/CLKO/AN6/RP4/OCM1D/RA3(1)                      24   AN8/RP13/RB13

11   SOSCI/RP5/RB4                                       25   CDAC1/AN9/RP9/RTCC/U1TX/SDI1/C1OUT/INT1/RB14

12   SOSCO/SCLKI/RP6/PWRLCLK/RA4                         26   AN10/REFCLKO/RP10/U1RX/SS1/FSYNC1/INT0/RB15(1)

13   VDD                                                 27   AVSS

14   PGED3/RB5                                           28   AVDD

Note 1:   Pin has an increased current drive  strength.

 2015-2016 Microchip Technology Inc.                                                                         DS60001324B-page 5
PIC32MM0064GPL036 FAMILY

Pin Diagrams (Continued)

         28-Pin QFN/UQFN

                                                           RP2/RA1        RP1/RA0        MCLR  AVDD       AVSS       RP10/RB15(1)  RP9/RB14

                                                           28             27             26    25         24         23            22

                         PGED1/RP14/RB0                 1                                                                                      21  RP13/RB13

                         PGEC1/RP15/RB1                 2                                                                                      20  RP12/RB12

                          RP16/RB2                      3                                                                                      19  PGEC2/RP18/RB11

                                      RB3               4  PIC32MMXXXXGPL028                                                                   18  PGED2/RP17/RB10

                                      VSS               5                                                                                      17  VCAP

                         CLKI/RP3/RA2                   6                                                                                      16  RP19/RC9

                         CLKO/RP4/RA3(1)                7                                                                                      15  RP8/RB9(1)

                                                           8              9              10    11         12         13            14

                                                           SOSCI/RP5/RB4  SOSCO/RP6/RA4  VDD   PGED3/RB5  PGEC3/RB6  RP11/RB7      RP7/RB8(1)

         Legend:  Shaded pins are up to 5V tolerant.

         Note 1:  Pin has an increased current drive strength. Refer to Section 26.0 “Electrical Characteristics” for details.

TABLE 5:          COMPLETE PIN FUNCTION                             DESCRIPTIONS FOR 28-PIN QFN/UQFN DEVICES

Pin                      Function                                            Pin                                                                         Function

1    PGED1/AN2/C1IND/C2INB/RP14/RB0                                                15          TMS/REFCLKI/RP8/T1CK/T1G/U1RTS/U1BCLK/SDO1/C2OUT/OCM1B/

                                                                                               INT2/RB9(1)

2    PGEC1/AN3/C1INC/C2INA/RP15/RB1                                                16          RP19/RC9

3    AN4/C1INB/RP16/RB2                                                            17          VCAP

4    AN11/C1INA/RB3                                                                18          PGED2/TDO/RP17/RB10

5    VSS                                                                           19          PGEC2/TDI/RP18/RB11

6    OSC1/CLKI/AN5/RP3/OCM1C/RA2                                                   20          AN7/LVDIN/RP12/RB12

7    OSC2/CLKO/AN6/RP4/OCM1D/RA3(1)                                                21          AN8/RP13/RB13

8    SOSCI/RP5/RB4                                                                 22          CDAC1/AN9/RP9/RTCC/U1TX/SDI1/C1OUT/INT1/RB14

9    SOSCO/SCLKI/RP6/PWRLCLK/RA4                                                   23          AN10/REFCLKO/RP10/U1RX/SS1/FSYNC1/INT0/RB15(1)

10   VDD                                                                           24          AVSS

11   PGED3/RB5                                                                     25          AVDD

12   PGEC3/RB6                                                                     26          MCLR

13   RP11/RB7                                                                      27          VREF+/AN0/RP1/OCM1E/INT3/RA0

14   TCK/RP7/U1CTS/SCK1/OCM1A/RB8(1)                                               28          VREF-/AN1/RP2/OCM1F/RA1

Note 1:   Pin has an increased current drive strength.

DS60001324B-page 6                                                                                                                                  2015-2016 Microchip Technology  Inc.
                                                         PIC32MM0064GPL036                                                                                                            FAMILY

Pin  Diagrams (Continued)

     36-Pin VQFN                                         PGEC1/RP15/RB1  PGED1/RP14/RB0

                                                                                         RP2/RA1  RP1/RA0  MCLR  AVDD       AVSS       RP10/RB15(1)  RP9/RB14

                                                         36              35              34       33       32    31         30         29            28

                               RP16/RB2       1                                                                                                                  27  RP13/RB13

                                  RB3         2                                                                                                                  26  RP12/RB12

                                  RC0         3                                                                                                                  25  PGEC2/RP18/RB11

                                  RC1         4                                                                                                                  24  PGED2/RP17/RB10

                                  RC2         5                          PIC32MMXXXXGPL036                                                                       23  VDD

                                  VSS         6                                                                                                                  22  VCAP

                         CLKI/RP3/RA2         7                                                                                                                  21  RP19/RC9

                     CLKO/RP4/RA3(1)          8                                                                                                                  20  RC8

                     SOSCI/RP5/RB4            9                                                                                                                  19  RP8/RB9(1)

                                                         10              11              12       13       14    15         16         17            18

                                                         SOSCO/RP6/RA4   RP20/RA9        VSS      VDD      RC3   PGED3/RB5  PGEC3/RB6  RP11/RB7      RP7/RB8(1)

     Legend:    Shaded pins are up to 5V tolerant.

     Note 1:    Pin has an increased current drive strength. Refer to Section 26.0 “Electrical Characteristics” for details.

TABLE 6:        COMPLETE PIN                  FUNCTION DESCRIPTIONS FOR 36-PIN VQFN DEVICES

Pin                  Function                    Pin                                                                                                                 Function

1    AN4/C1INB/RP16/RB2                          19                      TMS/REFCLKI/RP8/T1CK/T1G/U1RTS/U1BCLK/SDO1/C2OUT/OCM1B/INT2/RB9(1)

2    AN11/C1INA/RB3                              20                      RC8

3    AN12/RC0                                    21                      RP19/RC9

4    AN13/RC1                                    22                      VCAP

5    RC2                                         23                      VDD

6    VSS                                         24                      PGED2/TDO/RP17/RB10

7    OSC1/CLKI/AN5/RP3/OCM1C/RA2                 25                      PGEC2/TDI/RP18/RB11

8    OSC2/CLKO/AN6/RP4/OCM1D/RA3(1)              26                      AN7/LVDIN/RP12/RB12

9    SOSCI/RP5/RB4                               27                      AN8/RP13/RB13

10   SOSCO/SCLKI/RP6/PWRLCLK/RA4                 28                      CDAC1/AN9/RP9/RTCC/U1TX/SDI1/C1OUT/INT1/RB14

11   RP20/RA9                                    29                      AN10/REFCLKO/RP10/U1RX/SS1/FSYNC1/INT0/RB15(1)

12   VSS                                         30                      AVSS

13   VDD                                         31                      AVDD

14   RC3                                         32                      MCLR

15   PGED3/RB5                                   33                      VREF+/AN0/RP1/OCM1E/INT3/RA0

16   PGEC3/RB6                                   34                      VREF-/AN1/RP2/OCM1F/RA1

17   RP11/RB7                                    35                      PGED1/AN2/C1IND/C2INB/RP14/RB0

18   TCK/RP7/U1CTS/SCK1/OCM1A/RB8(1)             36                      PGEC1/AN3/C1INC/C2INA/RP15/RB1

Note 1:   Pin has an increased current drive  strength.

 2015-2016 Microchip Technology Inc.                                                                                                                                                 DS60001324B-page  7
PIC32MM0064GPL036 FAMILY

Pin Diagrams (Continued)

     40-Pin UQFN                                        RP15/RB1/PGEC1  RP14/RB0/PGED1                                                       RP10/RB15(1)

                                           N/C                                          RP2/RA1  RP1/RA0    MCLR       AVDD      AVSS                      RP9/RB14

                                           40           39              38              37       36         35         34        33          32            31

                         RP16/RB2      1                                                                                                                               30  RP13/RB13

                              RB3      2                                                                                                                               29  RP12/RB12

                              RC0      3                                                                                                                               28  RP18/RB11/PGEC2

                              RC1      4                                                                                                                               27  RP17/RB10/PGED2

                              RC2      5                PIC32MMXXXXGPL036                                                                                              26  VDD

                                  VSS  6                                                                                                                               25  N/C

                     OSCI/RP3/RA2      7                                                                                                                               24  VCAP

                     OSCO/RP4/RA3(1)   8                                                                                                                               23  N/C

                     SOSCI/RP5/RB4     9                                                                                                                               22  RP19/RC9

                     SOSCO/RP6/RA4     10                                                                                                                              21  RC8

                                           11           12              13              14       15         16         17        18          19            20

                                           RP20/RA9     VSS             VDD             RC3      RB5/PGED3  RB6/PGEC3  RP11/RB7  RP7/RB8(1)  N/C           RP8/RB9(1)

     Legend:    Shaded pins are up to 5V tolerant.

     Note 1:    Pin has an increased current drive strength. Refer to Section 26.0 “Electrical Characteristics” for                                                                               details.

TABLE 7:        COMPLETE PIN FUNCTION                                   DESCRIPTIONS FOR 40-PIN UQFN DEVICES

Pin                      Function                                                       Pin                                                                                Function

1    AN4/C1INB/RP16/RB2                                                                 21       RC8

2    AN11/C1INA/RB3                                                                     22       RP19/RC9

3    AN12/RC0                                                                           23       N/C

4    AN13/RC1                                                                           24       VCAP

5    RC2                                                                                25       N/C

6    VSS                                                                                26       VDD

7    OSC1/CLKI/AN5/RP3/OCM1C/RA2                                                        27       PGED2/TDO/RP17/RB10

8    OSC2/CLKO/AN6/RP4/OCM1D/RA3(1)                                                     28       PGEC2/TDI/RP18/RB11

9    SOSCI/RP5/RB4                                                                      29       AN7/LVDIN/RP12/RB12

10   SOSCO/SCLKI/RP6/PWRLCLK/RA4                                                        30       AN8/RP13/RB13

11   RP20/RA9                                                                           31       CDAC1/AN9/RP9/RTCC/U1TX/SDI1/C1OUT/INT1/RB14

12   VSS                                                                                32       AN10/REFCLKO/RP10/U1RX/SS1/FSYNC1/INT0/RB15(1)

13   VDD                                                                                33       AVSS

14   RC3                                                                                34       AVDD

15   PGED3/RB5                                                                          35       MCLR

16   PGEC3/RB6                                                                          36       VREF+/AN0/RP1/OCM1E/INT3/RA0

17   RP11/RB7                                                                           37       VREF-/AN1/RP2/OCM1F/RA1

18   TCK/RP7/U1CTS/SCK1/OCM1A/RB8(1)                                                    38       PGED1/AN2/C1IND/C2INB/RP14/RB0

19   N/C                                                                                39       PGEC1/AN3/C1INC/C2INA/RP15/RB1

20   TMS/REFCLKI/RP8/T1CK/T1G/U1RTS/U1BCLK/SDO1/                                        40       N/C

     C2OUT/OCM1B/INT2/RB9(1)

Note 1:   Pin has an increased current drive strength.

DS60001324B-page 8                                                                                                                                                          2015-2016 Microchip  Technology  Inc.
                                       PIC32MM0064GPL036 FAMILY

Table of Contents

1.0   Device Overview ........................................................................................................................................................................ 13

2.0   Guidelines for Getting Started with 32-Bit Microcontrollers........................................................................................................ 19

3.0   CPU............................................................................................................................................................................................ 23

4.0   Memory Organization ................................................................................................................................................................. 33

5.0   Flash Program Memory.............................................................................................................................................................. 37

6.0   Resets ........................................................................................................................................................................................ 45

7.0   CPU Exceptions and Interrupt Controller ................................................................................................................................... 51

8.0   Oscillator Configuration .............................................................................................................................................................. 65

9.0   I/O Ports ..................................................................................................................................................................................... 77

10.0  Timer1 ........................................................................................................................................................................................ 87

11.0  Watchdog Timer (WDT) ............................................................................................................................................................. 91

12.0  Capture/Compare/PWM/Timer Modules (MCCP and SCCP) .................................................................................................... 95
      Serial Peripheral Interface (SPI) and Inter-IC Sound (I2S)....................................................................................................... 109
13.0

14.0  Universal Asynchronous Receiver Transmitter (UART) ........................................................................................................... 117

15.0  Real-Time Clock and Calendar (RTCC)................................................................................................................................... 123

16.0  12-Bit Analog-to-Digital Converter with Threshold Detect........................................................................................................ 133

17.0  32-Bit Programmable Cyclic Redundancy Check (CRC) Generator ........................................................................................ 147

18.0  Configurable Logic Cell (CLC).................................................................................................................................................. 151

19.0  Comparator .............................................................................................................................................................................. 163

20.0  Control Digital-to-Analog Converter (CDAC)............................................................................................................................ 169

21.0  High/Low-Voltage Detect (HLVD)............................................................................................................................................. 173

22.0  Power-Saving Features ........................................................................................................................................................... 177

23.0  Special Features ...................................................................................................................................................................... 181

24.0  Development Support............................................................................................................................................................... 199

25.0  Instruction Set .......................................................................................................................................................................... 203

26.0  Electrical Characteristics .......................................................................................................................................................... 205

27.0  Packaging Information.............................................................................................................................................................. 233

Appendix A: Revision History............................................................................................................................................................. 257

Index .................................................................................................................................................................................................. 259

The Microchip Web Site ..................................................................................................................................................................... 263

Customer Change Notification Service .............................................................................................................................................. 263

Customer Support .............................................................................................................................................................................. 263

Product Identification System ............................................................................................................................................................ 265

 2015-2016 Microchip Technology Inc.  DS60001324B-page 9
PIC32MM0064GPL036 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.

DS60001324B-page 10                                            2015-2016 Microchip Technology Inc.
                                                   PIC32MM0064GPL036 FAMILY

Referenced Sources

This  device  data    sheet    is  based  on  the     following

individual  sections  of  the  “PIC32     Family  Reference

Manual”. These documents should be considered as

the general reference for the operation of a particular

module or device feature.

   Note:    To  access    the      documents  listed  below,

            browse the documentation section of the

            Microchip web site (www.microchip.com).

•  Section  1. “Introduction” (DS60001127)

•  Section  5. “Flash Programming” (DS60001121)

•  Section  7. “Resets” (DS60001118)

•  Section  8. “Interrupts” (DS60001108)

•  Section  10. “Power-Saving Modes” (DS60001130)

•  Section  14. “Timers” (DS60001105)

•  Section  19. “Comparator” (DS60001110)

•  Section  21. “UART” (DS61107)

•  Section  23. “Serial Peripheral Interface (SPI)” (DS61106)

•  Section  25. “12-Bit Analog-to-Digital Converter (ADC) with Threshold Detect” (DS60001359)

•  Section  28. “RTCC with Timestamp” (DS60001362)

•  Section  30. “Capture/Compare/PWM/Timer (MCCP and SCCP)” (DS60001381)

•  Section  33. “Programming and Diagnostics” (DS61129)

•  Section  36. “Configurable Logic Cell” (DS60001363)

•  Section  45. “Control Digital-to-Analog Converter (CDAC)” (DS60001327)

•  Section  50. “CPU for Devices with MIPS32® microAptiv™ and M-Class Cores” (DS60001192)

•  Section  59. “Oscillators with DCO” (DS60001329)

•  Section  60. “32-Bit Programmable Cyclic Redundancy Check (CRC)” (DS60001336)

•  Section  62. “Dual Watchdog Timer” (DS60001365)

 2015-2016 Microchip Technology Inc.                                                          DS60001324B-page 11
PIC32MM0064GPL036    FAMILY

NOTES:

DS60001324B-page 12           2015-2016 Microchip Technology Inc.
                                                             PIC32MM0064GPL036 FAMILY

1.0    DEVICE OVERVIEW                                                            This data sheet contains device-specific information for

Note:       This data sheet summarizes the features                               the PIC32MM0064GPL036 family devices.

            of   the  PIC32MM0064GPL036                  family  of               Figure 1-1 illustrates a general block diagram of the core

            devices. It is not intended to be a compre-                           and peripheral modules in the PIC32MM0064GPL036

            hensive reference source. To complement                               family of devices.

            the information in this data sheet, refer to                          Table 1-1 lists the pinout I/O descriptions for the pins

            the  “PIC32       Family  Reference          Manual”,                 shown in the device pin tables.

            which     is  available   from     the      Microchip

            web site (www.microchip.com/PIC32). The

            information in this data sheet supersedes

            the information in the FRM.

FIGURE 1-1:               PIC32MM0064GPL036 FAMILY BLOCK DIAGRAM

                                                                                            Power-up

                                                                                            Timer

       OSC2/CLKO                          Primary                                           Oscillator             AVDD, AVSS

            OSC1/CLKI                 Oscillator                                            Start-up Timer         VDD, VSS

                                      FRC/LPRC                                              Power-on               MCLR

                                      Oscillators                                           Reset

       SOSCO/SCLKI                    Secondary                                             Watchdog

                 SOSCI                Oscillator                                            Timer

                                          Dividers                                          Brown-out

                                          PLL                                               Reset

                                                                                   VCAP     Voltage

                                          Timing                 SYSCLK                     Regulator                                                   I/O Change

                                      Generation                 PBCLK (1:1  with  SYSCLK)  Precision                                                   Notification

                                                                                            Band Gap
                                                                                            Reference
                              Peripheral Bus        Clocked  by  PBCLK                                                                                  Timer1

     PORTA                                                                                                                                              MCCP1

                              JTAG                 Priority
                                               Interrupt
                              Boundary        Controller
                              Scan                                                                                                                      SCCP2,3

                                                                             ICD                                   Peripheral Bus Clocked by PBCLK

                              EJTAG                 INT                                                     32

                              MIPS32® microAptiv™ UC                                                                                                    SPI1,2

     PORTB                            CPU Core

                              IS                    DS                                                                                                  5-Bit DAC

                          32          32            32                                                                                                  CRC

                                                                 Bus Matrix                                                                         32

                                                                                                                                                        12-Bit ADC

     PORTC                                32                         32                     32

                                                                                                                                                        UART1,2

                                      Line Buffer                RAM               Peripheral Bridge

                                      Module                                                                                                            RTCC

                                            64                                                                                                          Comparators

                                          64-Bit Wide                Flash

                              Program Flash Memory                   Controller                                                                         HLVD

 2015-2016 Microchip Technology Inc.                                                                                                               DS60001324B-page 13
PIC32MM0064GPL036 FAMILY

TABLE 1-1:        PIC32MM0064GPL036 FAMILY PINOUT DESCRIPTION

                             Pin Number

Pin Name                  28-Pin      28-Pin                      Pin          Buffer  Description

          20-Pin  20-Pin  QFN/        SPDIP/      36-Pin  40-Pin  Type         Type

            QFN   SSOP    UQFN        SSOP/SOIC   VQFN    UQFN

AN0         19       2    27                  2   33      36      I            ANA     Analog-to-Digital Converter input channels

AN1         20       3    28                  3   34      37      I            ANA

AN2         1        4    1                   4   35      38      I            ANA

AN3         2        5    2                   5   36      39      I            ANA

AN4         3        6    3                   6   1       1       I            ANA

AN5         4        7    6                   9   7       7       I            ANA

AN6         5        8    7                   10  8       8       I            ANA

AN7         12       15   20                  23  26      29      I            ANA

AN8         13       16   21                  24  27      30      I            ANA

AN9         14       17   22                  25  28      31      I            ANA

AN10        15       18   23                  26  29      32      I            ANA

AN11        —        —    4                   7   2       2       I            ANA

AN12        —        —    —                   —   3       3       I            ANA

AN13        —        —    —                   —   4       4       I            ANA

AVDD        17       20   25                  28  31      34      P            —       Analog modules power supply

AVSS        16       19   24                  27  30      33      P            —       Analog modules ground

C1INA       5        8    4                   7   2       2       I            ANA     Comparator 1 Input A

C1INB       4        7    3                   6   1       1       I            ANA     Comparator 1 Input B

C1INC       2        5    2                   5   36      39      I            ANA     Comparator 1 Input C

C1IND       1        4    1                   4   35      38      I            ANA     Comparator 1 Input D

C1OUT       14       17   22                  25  28      31      O            DIG     Comparator 1 output

C2INA       2        5    2                   5   36      39      I            ANA     Comparator 2 Input A

C2INB       1        4    1                   4   35      38      I            ANA     Comparator 2 Input B

C2OUT       10       13   15                  18  19      20      O            DIG     Comparator 2 output

CLKI        4        7    6                   9   7       7       I            ST      External Clock input (EC mode)

CLKO        5        8    7                   10  8       8       O            DIG     System clock output

CDAC1       14       17   22                  25  28      31      O            ANA     Digital-to-Analog Converter output

FSYNC1      15       18   23                  26  29      32      I/O          ST/DIG  SPI1 frame signal input or output

INT0        15       18   23                  26  29      32      I            ST      External Interrupt 0

INT1        14       17   22                  25  28      31      I            ST      External Interrupt 1

INT2        10       13   15                  18  19      20      I            ST      External Interrupt 2

INT3        19       2    27                  2   33      36      I            ST      External Interrupt 3

LVDIN       12       15   20                  23  26      29      I            ANA     High/Low-Voltage Detect input

MCLR        18       1    26                  1   32      35      I            ST      Master Clear (device Reset)

OCM1A       9        12   14                  17  18      18      O            DIG     MCCP1 Output A

OCM1B       10       13   15                  18  19      20      O            DIG     MCCP1 Output B

OCM1C       4        7    6                   9   7       7       O            DIG     MCCP1 Output C

OCM1D       5        8    7                   10  8       8       O            DIG     MCCP1 Output D

OCM1E       19       2    27                  2   33      36      O            DIG     MCCP1 Output E

OCM1F       20       3    28                  3   34      37      O            DIG     MCCP1 Output F

OSC1        4        7    6                   9   7       7       —            —       Primary Oscillator crystal

OSC2        5        8    7                   10  8       8       —            —       Primary Oscillator crystal

Legend:   ST = Schmitt Trigger input  buffer      DIG =  Digital input/output          ANA = Analog level input/output

DS60001324B-page 14                                                                     2015-2016 Microchip Technology Inc.
                                                 PIC32MM0064GPL036 FAMILY

TABLE 1-1:        PIC32MM0064GPL036 FAMILY PINOUT DESCRIPTION (CONTINUED)

                             Pin Number

Pin Name                  28-Pin       28-Pin                     Pin         Buffer  Description

          20-Pin  20-Pin  QFN/         SPDIP/     36-Pin  40-Pin  Type        Type

            QFN   SSOP    UQFN         SSOP/SOIC  VQFN    UQFN

PGEC1       2     5       2                  5    36      39      I           ST      ICSP Port 1 programming clock input

PGEC2       19    2       19                 22   25      28      I           ST      ICSP Port 2 programming clock input

PGEC3       7     10      12                 15   16      16      I           ST      ICSP Port 3 programming clock input

PGED1       1     4       1                  4    35      38      I/O         ST/DIG  ICSP Port 1 programming data

PGED2       20    3       18                 21   24      27      I/O         ST/DIG  ICSP Port 2 programming data

PGED3       6     9       11                 14   15      15      I/O         ST/DIG  ICSP Port 3 programming data

PWRLCLK     7     10      9                  12   10      10      I           ST      Real-Time Clock 50/60 Hz clock input

RA0         19    2       27                 2    33      36      I/O         ST/DIG  PORTA digital I/O

RA1         20    3       28                 3    34      37      I/O         ST/DIG  PORTA digital I/O

RA2         4     7       6                  9    7       7       I/O         ST/DIG  PORTA digital I/O

RA3         5     8       7                  10   8       8       I/O         ST/DIG  PORTA digital I/O

RA4         7     10      9                  12   10      10      I/O         ST/DIG  PORTA digital I/O

RA9         —     —       —                  —    11      11      I/O         ST/DIG  PORTA digital I/O

RB0         1     4       1                  4    35      38      I/O         ST/DIG  PORTB digital I/O

RB1         2     5       2                  5    36      39      I/O         ST/DIG  PORTB digital I/O

RB2         3     6       3                  6    1       1       I/O         ST/DIG  PORTB digital I/O

RB3         —     —       4                  7    2       2       I/O         ST/DIG  PORTB digital I/O

RB4         6     9       8                  11   9       9       I/O         ST/DIG  PORTB digital I/O

RB5         —     —       11                 14   15      15      I/O         ST/DIG  PORTB digital I/O

RB6         —     —       12                 15   16      16      I/O         ST/DIG  PORTB digital I/O

RB7         8     11      13                 16   17      17      I/O         ST/DIG  PORTB digital I/O

RB8         9     12      14                 17   18      18      I/O         ST/DIG  PORTB digital I/O

RB9         10    13      15                 18   19      20      I/O         ST/DIG  PORTB digital I/O

RB10        —     —       18                 21   24      27      I/O         ST/DIG  PORTB digital I/O

RB11        —     —       19                 22   25      28      I/O         ST/DIG  PORTB digital I/O

RB12        12    15      20                 23   26      29      I/O         ST/DIG  PORTB digital I/O

RB13        13    16      21                 24   27      30      I/O         ST/DIG  PORTB digital I/O

RB14        14    17      22                 25   28      31      I/O         ST/DIG  PORTB digital I/O

RB15        15    18      23                 26   29      32      I/O         ST/DIG  PORTB digital I/O

RC0         —     —       —                  —    3       3       I/O         ST/DIG  PORTC digital I/O

RC1         —     —       —                  —    4       4       I/O         ST/DIG  PORTC digital I/O

RC2         —     —       —                  —    5       5       I/O         ST/DIG  PORTC digital I/O

RC3         —     —       —                  —    14      14      I/O         ST/DIG  PORTC digital I/O

RC8         —     —       —                  —    20      21      I/O         ST/DIG  PORTC digital I/O

RC9         —     —       16                 19   21      22      I/O         ST/DIG  PORTC digital I/O

REFCLKI     10    13      15                 18   19      20      I           ST      Reference clock input

REFCLKO     15    18      23                 26   29      32      O           DIG     Reference clock output

Legend:   ST = Schmitt Trigger input buffer       DIG = Digital input/output          ANA = Analog level input/output

 2015-2016 Microchip Technology Inc.                                                                    DS60001324B-page 15
PIC32MM0064GPL036 FAMILY

TABLE 1-1:        PIC32MM0064GPL036 FAMILY PINOUT DESCRIPTION (CONTINUED)

                             Pin Number

Pin Name                  28-Pin      28-Pin                      Pin          Buffer                   Description

          20-Pin  20-Pin  QFN/        SPDIP/      36-Pin  40-Pin  Type         Type

            QFN   SSOP    UQFN        SSOP/SOIC   VQFN    UQFN

RP1         19       2    27                  2   33      36      I/O          ST/DIG  Remappable peripherals (input or output)

RP2         20       3    28                  3   34      37      I/O          ST/DIG

RP3         4        7    6                   9   7       7       I/O          ST/DIG

RP4         5        8    7                   10  8       8       I/O          ST/DIG

RP5         6        9    8                   11  9       9       I/O          ST/DIG

RP6         7        10   9                   12  10      10      I/O          ST/DIG

RP7         9        12   14                  17  18      18      I/O          ST/DIG

RP8         10       13   15                  18  19      20      I/O          ST/DIG

RP9         14       17   22                  25  28      31      I/O          ST/DIG

RP10        15       18   23                  26  29      32      I/O          ST/DIG

RP11        8        11   13                  16  17      17      I/O          ST/DIG

RP12        12       15   20                  23  26      29      I/O          ST/DIG

RP13        13       16   21                  24  27      30      I/O          ST/DIG

RP14        1        4    1                   4   35      38      I/O          ST/DIG

RP15        2        5    2                   5   36      39      I/O          ST/DIG

RP16        3        6    3                   6   1       1       I/O          ST/DIG

RP17        —        —    18                  21  24      27      I/O          ST/DIG

RP18        —        —    19                  22  25      28      I/O          ST/DIG

RP19        —        —    16                  19  21      22      I/O          ST/DIG

RP20        —        —    —                   —   11      11      I/O          ST/DIG

RTCC        14       17   22                  25  28      31      O            DIG     Real-Time Clock alarm/seconds output

SCK1        9        12   14                  17  18      18      I/O          ST/DIG  SPI1 clock (input or output)

SCLKI       7        10   9                   12  10      10      I            ST      Secondary Oscillator external clock input

SDI1        14       17   22                  25  28      31      I            ST      SPI1 data input

SDO1        10       13   15                  18  19      20      O            DIG     SPI1 data output

SOSCI       6        9    8                   11  9       9       —            —       Secondary Oscillator crystal

SOSCO       7        10   9                   12  10      10      —            —       Secondary Oscillator crystal

SS1         15       18   23                  26  29      32      I            ST      SPI1 slave select input

T1CK        10       13   15                  18  19      20      I            ST      Timer1 external clock input

T1G         10       13   15                  18  19      20      I            ST      Timer1 clock gate input

TCK         9        12   14                  17  18      18      I            ST      JTAG clock input

TDI         13       16   19                  22  25      28      I            ST      JTAG data input

TDO         12       15   18                  21  24      27      O            DIG     JTAG data output

TMS         10       13   15                  18  19      20      I            ST      JTAG mode select input

U1BCLK      10       13   15                  18  19      20      O            DIG     UART1 IrDA® 16x baud clock output

U1CTS       9        12   14                  17  18      18      I            ST      UART1 transmission control input

U1RTS       10       13   15                  18  19      20      O            DIG     UART1 reception control output

U1RX        15       18   23                  26  29      32      I            ST      UART1 receive data input

U1TX        14       17   22                  25  28      31      O            DIG     UART1 transmit data output

Legend:   ST = Schmitt Trigger input  buffer      DIG =  Digital input/output          ANA = Analog level input/output

DS60001324B-page 16                                                                     2015-2016 Microchip Technology Inc.
                                                   PIC32MM0064GPL036 FAMILY

TABLE 1-1:        PIC32MM0064GPL036 FAMILY PINOUT DESCRIPTION (CONTINUED)

                          Pin Number

Pin Name                  28-Pin       28-Pin                        Pin       Buffer              Description

          20-Pin  20-Pin  QFN/         SPDIP/      36-Pin    40-Pin  Type      Type

            QFN   SSOP    UQFN         SSOP/SOIC   VQFN      UQFN

VCAP        11    14      17                 20    22        24      P         —       Core voltage regulator filter capacitor  

                                                                                       connection

VDD         17    20      10,25        13,28       13,23,31  13,26,  P         —       Digital modules power supply

                                                             34

VREF-       20    3       28                 3     34        37      I         ANA     ADC negative reference

VREF+       19    2       27                 2     33        36      I         ANA     ADC and DAC positive reference

VSS         16    19      5,24               8,27  6,12,30   6,12,   P         —       Digital modules ground

                                                             33

Legend:   ST = Schmitt Trigger input buffer        DIG = Digital input/output          ANA = Analog level input/output

 2015-2016 Microchip Technology Inc.                                                              DS60001324B-page 17
PIC32MM0064GPL036    FAMILY

NOTES:

DS60001324B-page 18           2015-2016 Microchip Technology Inc.
                                                   PIC32MM0064GPL036 FAMILY

2.0       GUIDELINES FOR GETTING                               2.2       Decoupling Capacitors

          STARTED WITH 32-BIT                                  The  use  of  decoupling  capacitors  on  power      supply

          MICROCONTROLLERS                                     pins, such as VDD, VSS, AVDD and AVSS, is required.

                                                               See Figure 2-1.

   Note:  This data sheet summarizes the features              Consider the following criteria when using decoupling

          of the PIC32MM0064GPL036                family of    capacitors:

          devices. It is not intended to be a compre-          •  Value and type of capacitor: A value of 0.1 µF

          hensive reference source. To complement                 (100 nF), 10-20V is recommended. The capacitor

          the information in this data sheet, refer to            should be a low Equivalent Series Resistance 

          the    “PIC32    Family  Reference      Manual”,        (low-ESR) capacitor and have resonance frequency

          which  is     available  from      the  Microchip       in the range of 20 MHz and higher. It is further

          web    site      (www.microchip.com/PIC32).             recommended that ceramic capacitors be used.

          The    information       in  this  data  sheet

          supersedes the information in the FRM.               •  Placement on the printed circuit board: The

                                                                  decoupling capacitors should be placed as close to

2.1       Basic Connection Requirements                           the pins as possible. It is recommended that the

Getting started with the PIC32MM0064GPL036             family     capacitors be placed on the same side of the board

of 32-bit Microcontrollers (MCUs) requires attention to           as the device. If space is constricted, the capacitor

a minimal set of device pin connections before pro-               can be placed on another layer on the PCB using a

ceeding with development. The following is a list of pin          via; however, ensure that the trace length from the

names, which must always be connected:                            pin to the capacitor is within one-quarter inch

                                                                  (6 mm) in length.

•  All VDD and VSS pins                                       •  Handling high-frequency noise: If the board is

   (see Section 2.2 “Decoupling Capacitors”)                      experiencing high-frequency noise, upward of tens

•  All AVDD and AVSS pins, even if the ADC module                 of MHz, add a second ceramic-type capacitor in par-

   is not used (see Section 2.2 “Decoupling                       allel to the above described decoupling capacitor.

   Capacitors”)                                                   The value of the second capacitor can be in the

•  MCLR pin (see Section 2.3 “Master Clear                        range of 0.01 µF to 0.001 µF. Place this second

   (MCLR) Pin”)                                                   capacitor next to the primary decoupling capacitor.

•  VCAP pin (see Section 2.4 “Capacitor on                        In high-speed circuit designs, consider implement-

   Internal Voltage Regulator (VCAP)”)                            ing a decade pair of capacitances, as close to the

•  PGECx/PGEDx pins, used for In-Circuit Serial                   power and ground pins as possible. For example,

   Programming™ (ICSP™) and debugging                            0.1 µF in parallel with 0.001 µF.

   purposes (see Section 2.5 “ICSP Pins”)                      •  Maximizing performance: On the board layout

•  OSC1 and OSC2 pins, when external oscillator                   from the power supply circuit, run the power and

   source is used (see Section 2.7 “External                      return traces to the decoupling capacitors first, and

   Oscillator Pins”)                                              then to the device pins. This ensures that the 

                                                                  decoupling capacitors are first in the power chain.

The following pin(s) may be required as well:                     Equally important is to keep the trace length

   VREF+/VREF-   pins,  used    when   external   voltage         between the capacitor and the power pins to a 

   reference for the ADC module is implemented.                   minimum, thereby reducing PCB track inductance.

   Note:  The    AVDD      and  AVSS       pins   must  be

          connected,       regardless  of    ADC  use   and

          the ADC voltage reference source.

 2015-2016 Microchip Technology Inc.                                                                DS60001324B-page 19
PIC32MM0064GPL036 FAMILY

FIGURE 2-1:                        RECOMMENDED                                     Place the components illustrated in Figure 2-2 within

                                   MINIMUM CONNECTION                              one-quarter inch (6 mm) from the MCLR pin.

    VDD                                                          0.1 µF            FIGURE 2-2:                    EXAMPLE OF MCLR PIN

                                            10 µF                Ceramic                                          CONNECTIONS(1,2,3)

                                            CEFC

        R                             VCAP             VDD  VSS                                         VDD

           R1      MCLR

                                                                                                        R    10k  R1(1)

        C                                                                                                                     MCLR

                                                                                             0.1 µF(2)       C    1 k

                                            PIC32           VDD                                                                     PIC32

                                                                                                1

                   VSS                                      VSS                                 5                             PGECx(3)

                                                                      0.1 µF             ICSP™  4                             PGEDx(3)

                   VDD                                                Ceramic                   2   VDD

        0.1 µF               AVDD     AVSS             VDD                                      3   VSS

     Ceramic                                                VSS                                 6   NC

                                            0.1 µF               0.1 µF            Note  1:        470 R1  1 k will limit any current flowing into

                                            Ceramic              Ceramic                           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

2.2.1           BULK CAPACITORS                                                                    interfering with the debug/programmer tools.

The use of a bulk capacitor is recommended to improve                                    2:        The capacitor can be sized to prevent unintentional

                                                                                                   Resets from brief glitches or to extend the device

power supply stability. Typical values range from 4.7 µF                                           Reset period during POR.

to 47 µF. This capacitor should be located as close to                                   3:        No pull-ups or bypass capacitors are allowed on active

the device as possible.                                                                            debug/program PGECx/PGEDx pins.

2.3        Master Clear (MCLR) Pin                                                 2.4          Capacitor on Internal Voltage

The     MCLR       pin   provides           for     two     specific     device                 Regulator (VCAP)

functions:                                                                         A low-ESR (<1 Ohm) capacitor is required on the VCAP

•   Device Reset                                                                   pin, which is used to stabilize the internal voltage regu-

•   Device Programming and Debugging                                               lator output. The VCAP pin must not be connected to

Pulling The MCLR pin low generates a device Reset.                                 VDD and must have a CEFC capacitor, with at least a 6V

Figure 2-2      illustrates        a  typical      MCLR     circuit.     During    rating, connected to ground. The type can be ceramic

device     programming             and      debugging,      the  resistance        or  tantalum.        The  recommended      value      of      the     CEFC

and capacitance that can be added to the pin must                                  capacitor is 10 μF. On the printed circuit board, it should

be considered. Device programmers and debuggers                                    be placed as close to the VCAP pin as possible. If the

drive   the     MCLR     pin.      Consequently,            specific     voltage   board is experiencing high-frequency noise, upward of

levels (VIH and VIL) and fast signal transitions must                              tens of MHz, add a second ceramic-type capacitor in

not be adversely affected. Therefore, specific values                              parallel     to  this   capacitor.    The  value  of  the           second

of   R  and     C  will  need         to    be  adjusted    based        on   the  capacitor can be in the range of 0.01 μF to 0.001 μF.

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.

DS60001324B-page 20                                                                                           2015-2016 Microchip Technology Inc.
                                                           PIC32MM0064GPL036 FAMILY

2.5         ICSP Pins                                                  2.7       External Oscillator Pins

The PGECx and PGEDx pins are used for In-Circuit                       The PIC32MM0064GPL036 family has options for two

Serial Programming™ (ICSP™) and debugging pur-                         external oscillators: a high-frequency primary oscillator

poses.  It  is    recommended     to  keep       the  trace  length    and    a  low-frequency   secondary       oscillator  (refer  to

between the ICSP connector and the ICSP pins on                        Section 8.0 “Oscillator Configuration” for details).

the device as short as possible. If the ICSP connec-                   The oscillator circuit should be placed on the same side

tor is expected to experience an ESD event, a series                   of the board as the device. Also, place the oscillator

resistor is recommended, with the value in the range                   circuit   close  to  the  respective    oscillator    pins,   not

of a few tens of Ohms, not to exceed 100 Ohms.                         exceeding    one-half     inch  (12  mm)  distance    between

Pull-up resistors, series diodes and capacitors on the                 them. The load capacitors should be placed next to the

PGECx and PGEDx pins are not recommended as they                       oscillator itself, on the same side of the board. Use a

will interfere with the programmer/debugger communi-                   grounded copper pour around the oscillator circuit to

cations to the device. If such discrete components are                 isolate them from surrounding circuits. The grounded

an application requirement, they should be removed                     copper    pour   should   be    routed  directly  to  the     MCU

from the circuit during programming and debugging.                     ground. Do not run any signal traces or power traces

Alternatively, refer to the AC/DC characteristics and                  inside the ground pour. Also, if using a two-sided board,

timing  requirements         information     in  the       respective  avoid any traces on the other side of the board where

device Flash programming specification for information                 the crystal is placed. A suggested layout is illustrated in

on capacitive loading limits and pin Input Voltage High                Figure 2-3.

(VIH) and Input Voltage Low (VIL) requirements.

Ensure      that  the    “Communication      Channel         Select”   FIGURE 2-3:            SUGGESTED OSCILLATOR

(i.e., PGECx/PGEDx pins) programmed into the device                                           CIRCUIT PLACEMENT

matches     the   physical      connections      for  the  ICSP  to
MPLAB®
            ICD      3   or  MPLAB    REAL       ICE™      In-Circuit

Emulator.

For more information on MPLAB ICD 3 and REAL ICE

connection        requirements,   refer      to       the  following                                                     Oscillator

documents that are available from the Microchip web site.                                                        Secondary

•  “Using MPLAB® ICD 3 In-Circuit Debugger”                                                                      Guard Trace

   (poster) (DS51765)

•  “Development Tools Design Advisory” (DS51764)                                                                 Guard Ring

•  “MPLAB® REAL ICE™ In-Circuit Emulator User’s

   Guide” (DS51616)                                                                                              Main Oscillator

•  “Using MPLAB® REAL ICE™ In-Circuit Emulator”

   (poster) (DS51749)

2.6         JTAG                                                       2.8       Unused I/Os

The TMS, TDO, TDI and TCK pins are used for testing                    To     minimize  power    consumption,    unused      I/O     pins

and debugging according to the Joint Test Action Group                 should not be allowed to float as inputs. They can be

(JTAG) standard. It is recommended to keep the trace                   configured as outputs and driven to a logic low or logic

length between the JTAG connector, and the JTAG pins                   high state.

on the device, as short as possible. If the JTAG connector             Alternatively, inputs can be reserved by ensuring the

is expected to experience an ESD event, a series resistor              pin is always configured as an input and externally con-

is recommended, with the value in the range of a few tens              necting the pin to VSS or VDD. A current-limiting resistor

of Ohms, not to exceed 100 Ohms.                                       may be used to create this connection if there is any

Pull-up resistors, series diodes and capacitors on the                 risk of inadvertently configuring the pin as an output

TMS, TDO, TDI and TCK pins are not recommended as                      with the logic output state opposite of the chosen power

they will interfere with the programmer/debugger com-                  rail.

munications 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 (VIH)

and Input Voltage Low (VIL) requirements.

 2015-2016 Microchip Technology Inc.                                                                          DS60001324B-page 21
PIC32MM0064GPL036    FAMILY

NOTES:

DS60001324B-page 22           2015-2016 Microchip Technology Inc.
                                                         PIC32MM0064GPL036 FAMILY

3.0       CPU                                                         •  Memory Management Unit with Simple Fixed

                                                                         Mapping Translation (FMT) Mechanism

   Note:     This data sheet summarizes the features                  •  Multiply/Divide Unit (MDU):

             of   the  PIC32MM0064GPL036                 family  of      -  Configurable using high-performance 

             devices.        It  is   not  intended      to  be  a          multiplier array.

             comprehensive            reference     source.      To      -  Maximum issue rate of one 32x16 multiply

             complement the information in this data                        per clock.

             sheet,    refer     to   Section       50.  “CPU    for     -  Maximum issue rate of one 32x32 multiply

             Devices         with     MIPS32®       microAptiv™             every other clock.

             and     M-Class          Cores”    (DS60001192)     in

             the     “PIC32      Family    Reference     Manual”,        -  Early-in iterative divide. Minimum 11 and

             which     is    available     from     the  Microchip          maximum 33 clock latency (dividend (rs) sign

             web       site      (www.microchip.com/PIC32).                 extension dependent).

             MIPS32® microAptiv™ UC microproces-                      •  Power Control:

             sor     core    resources         are  available    at:     -  No minimum frequency: 0 MHz.

             www.imgtec.com. The information in this                     -  Power-Down mode (triggered by WAIT

             data sheet supersedes the information in                       instruction).

             the FRM.                                                 •  EJTAG Debug/Profiling:

The MIPS32® microAptiv™ UC microprocessor core is                        -  CPU control with start, stop and single

the heart of the PIC32MM0064GPL036 family devices.                          stepping.

The   CPU         fetches        instructions,      decodes    each      -  Software breakpoints via the SDBBP

instruction, fetches source operands, executes each                         instruction.

instruction  and     writes      the  results   of  the  instruction     -  Optional simple hardware breakpoints on

execution to the proper destinations.                                       virtual addresses, 4 instruction and 2 data

3.1       Features                                                          breakpoints.

                                                                         -  PC and/or load/store address sampling for

The PIC32MM0064GPL036 family processor core                      key        profiling.

features include:                                                        -  Performance counters.

•  5-Stage Pipeline                                                      -  Supports Fast Debug Channel (FDC).

•  32-Bit Address and Data Paths                                      A block diagram of the PIC32MM0064GPL036 family

•  MIPS32 Enhanced Architecture:                                      processor core is shown in Figure 3-1.

   -  Multiply-add and multiply-subtract instructions

   -  Targeted multiply instruction

   -  Zero and one detect instructions

   -  WAIT instruction

   -  Conditional move instructions

   -  Vectored interrupts

   -  Atomic interrupt enable/disable

   -  One GPR shadow set to minimize latency of

      interrupts

   -  Bit field manipulation instructions

•  microMIPS™ Instruction Set:

   -  microMIPS allows improving the code size

      density over MIPS32, while maintaining

      MIPS32 performance.

   -  microMIPS supports all MIPS32 instructions

      (except for branch-likely instructions) with

      new optimized 32-bit encoding. Frequent

      MIPS32 instructions are available as 16-bit

      instructions.

   -  Added seventeen new and thirty-five
      MIPS32® corresponding commonly used

      instructions in 16-bit opcode format.

   -  Stack Pointer implicit in instruction.

   -  MIPS32 assembly and ABI compatible.

 2015-2016 Microchip Technology Inc.                                                                 DS60001324B-page 23
PIC32MM0064GPL036 FAMILY

FIGURE  3-1:         PIC32MM0064GPL036 FAMILY MICROPROCESSOR CORE        BLOCK DIAGRAM

                     MIPS32® microAptiv™ UC Microprocessor  Core

        SYSCLK       Decode                                       MMU    System Bus

                     (microMIPS™)

                                     GPR
                                     (2 sets)

                     Execution Unit

                     ALU/Shift       Enhanced MDU

                     Atomic/LdSt

                     MCU ASE

        System       System          Debug/Profiling              Power

        Interface    Coprocessor     Breakpoints            Management
                                     Fast Debug Channel
                                     Performance Counters
        Interrupt
        Interface

                     2-Wire Debug    EJTAG

DS60001324B-page 24                                                     2015-2016 Microchip Technology Inc.
                                                      PIC32MM0064GPL036 FAMILY

3.2      Architecture Overview                                          3.2.2        MULTIPLY/DIVIDE UNIT (MDU)

The MIPS32® microAptiv™ UC microprocessor core in                       The microAptiv UC core includes a Multiply/Divide Unit

the  PIC32MM0064GPL036           family      devices  contains          (MDU) that contains a separate pipeline for multiply

several logic blocks, working together in parallel, pro-                and divide operations. This pipeline operates in parallel

viding an efficient high-performance computing engine.                  with the Integer Unit (IU) pipeline and does not stall

The following blocks are included with the core:                        when    the  IU   pipeline     stalls.  This       allows  the  long-

•  Execution Unit                                                       running      MDU  operations    to      be  partially      masked  by

•  General Purpose Register (GPR)                                       system Stalls and/or other Integer Unit instructions.

•  Multiply/Divide Unit (MDU)                                           The high-performance MDU consists of a 32x16 booth

•  System Control Coprocessor (CP0)                                     recoded multiplier, Result/Accumulation registers (HI

•  Memory Management Unit (MMU)                                         and LO), a divide state machine, and the necessary

•  Power Management                                                     multiplexers and control logic. The first number shown

•  microMIPS Instructions Decoder                                       (‘32’ of 32x16) represents the rs operand. The second

                                                                        number (‘16’ of 32x16) represents the rt operand. The

•  Enhanced JTAG (EJTAG) Controller                                     microAptiv UC core only checks the value of the rt

3.2.1        EXECUTION UNIT                                             operand to determine how many times the operation

                                                                        must pass through the multiplier. The 16x16 and 32x16

The processor core execution unit implements a load/                    operations pass through the multiplier once. A 32x32

store  architecture   with     single-cycle  ALU      operations        operation passes through the multiplier twice.

(logical, shift, add, subtract) and an autonomous Multiply/             The MDU supports execution of one 16x16 or 32x16

Divide Unit (MDU). The core contains thirty-two 32-bit                  multiply     operation  every   clock       cycle;  32x32      multiply

General  Purpose      Registers  (GPRs)      used  for  integer         operations can be issued every other clock cycle. Appro-

operations   and      address  calculation.  One      additional        priate interlocks are implemented to stall the issuance of

register file shadow set (containing thirty-two registers) is           back-to-back, 32x32 multiply operations. The multiply

added to minimize context switching overhead during                     operand size is automatically determined by logic built

interrupt/exception processing. The register file consists              into the MDU. Divide operations are implemented with a

of two read ports and one write port, and is fully bypassed             simple    1-bit-per-clock   iterative   algorithm.         An   early-in

to minimize operation latency in the pipeline.                          detection checks the sign extension of the dividend (rs)

The execution unit includes:                                            operand. If rs is 8 bits wide, 23 iterations are skipped.

•  32-bit adder used for calculating the data address                   For a 16-bit wide rs, 15 iterations are skipped, and for a

•  Address unit for calculating the next instruction address            24-bit wide rs, 7 iterations are skipped. Any attempt to

•  Logic for branch determination and branch target                     issue a subsequent MDU instruction while a divide is still

   address calculation                                                  active    causes  an    IU  pipeline        Stall   until  the  divide

•  Load aligner                                                         operation has completed.

•  Bypass multiplexers used to avoid Stalls when                        Table 3-1 lists the repeat rate (peak issue rate of cycles

   executing instruction streams where data produc-                     until   the  operation  can     be      re-issued),    and      latency

   ing instructions are followed closely by consumers                   (number of cycles until a result is available) for the

   for their results                                                    microAptiv UC core multiply and divide instructions.

•  Leading zero/one detect unit for implementing the                    The approximate latency and repeat rates are listed in

   CLZ and CLO instructions                                             terms of pipeline clocks.

•  Arithmetic Logic Unit (ALU) for performing 

   arithmetic and bitwise logical operations

•  Shifter and store aligner

TABLE 3-1:            MULTIPLY/DIVIDE         UNIT LATENCIES AND REPEAT                   RATES

                 Opcode                         Operand Size (mul rt) (div rs)                  Latency                     Repeat Rate

   MULT/MULTU, MADD/MADDU,                                     16 bits                              1                              1

   MSUB/MSUBU                                                  32 bits                              2                              2

   MUL (GPR destination)                                       16 bits                              2                              1

                                                               32 bits                              3                              2

   DIV/DIVU                                                    8 bits                               12                             11

                                                               16 bits                              19                             18

                                                               24 bits                              26                             25

                                                               32 bits                              33                             32

 2015-2016 Microchip Technology Inc.                                                                               DS60001324B-page 25
PIC32MM0064GPL036 FAMILY

The  MIPS®      architecture   defines  that  the  result  of  a  3.2.3       SYSTEM CONTROL 

multiply or divide operation be placed in the HI and LO                       COPROCESSOR (CP0)

registers. Using the Move-From-HI (MFHI) and Move-                In the MIPS architecture, CP0 is responsible for the

From-LO  (MFLO)       instructions,  these    values  can    be   virtual-to-physical    address  translation,  the  exception

transferred to the General Purpose Register file.                 control system, the processor’s diagnostics capability,

In addition to the HI/LO targeted operations, the MIPS            the operating modes (Kernel, User and Debug) and

architecture    also  defines  a  Multiply  instruction,   MUL,   whether    interrupts  are  enabled   or  disabled.  These

which places the least significant results in the primary         configuration options and other system information is

register file instead of the HI/LO register pair. By avoid-       available   by  accessing   the  CP0  registers    listed     in

ing the explicit MFLO instruction, required when using the        Table 3-2.

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.

The MADD instruction multiplies two numbers and then

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.

DS60001324B-page 26                                                                       2015-2016 Microchip Technology Inc.
                                       PIC32MM0064GPL036 FAMILY

TABLE 3-2:         COPROCESSOR 0 REGISTERS

Register    Register                                             Function

Number            Name

0-3       Reserved           Reserved in the microAptiv™ UC.

4         UserLocal          User information that can be written by privileged software and read via 

                             RDHWR, Register 29.

5-6       Reserved           Reserved in the microAptiv UC.

7         HWREna             Enables access via the RDHWR instruction to selected hardware registers in 

                             Non-Privileged mode.

8         BadVAddr(1)        Reports the address for the most recent address related exception.

9         Count(1)           Processor cycle count.

10        Reserved           Reserved in the microAptiv UC.

11        Compare(1)         Timer interrupt control.

12        Status/            Processor status and control; interrupt control and shadow set control.

          IntCtl/

          SRSCtl/

          SRSMap1/

          View_IPL/

          SRSMAP2

13        Cause(1)/          Cause of last exception.

          View_RIPL

14        EPC(1)             Program Counter at last exception.

15        PRId/              Processor identification and revision; exception  base  address;  Common      Device  

          EBase/             Memory Map Base register.

          CDMMBase

16        CONFIG/            Configuration registers.

          CONFIG1/

          CONFIG2/

          CONFIG3/

          CONFIG7

7-22      Reserved           Reserved in the microAptiv UC.

23        Debug/             EJTAG Debug register.

          Debug2/            EJTAG Debug Register 2.

          TraceControl/      EJTAG Trace Control register.

          TraceControl2/     EJTAG Trace Control Register 2.

          UserTraceData1/    EJTAG User Trace Data 1 register.

          TraceBPC(2)        EJTAG Trace Breakpoint register.

24        DEPC(2)/           Program Counter at last debug exception.

          UserTraceData2     EJTAG User Trace Data 2 register.

25        PerfCtl0/          Performance Counter 0 control.

          PerfCnt0/          Performance Counter 0.

          PerfCtl1/          Performance Counter 1 control.

          PerfCnt1           Performance Counter 1.

26        ErrCtl             Software parity check enable.

27        CacheErr           Records information about SRAM parity errors.

28-29     Reserved           Reserved in the PIC32 core.

30        ErrorEPC(1)        Program Counter at last error.

31        DeSAVE(2)          Debug Handler Scratchpad register.

Note  1:  Registers used in  exception processing.

      2:  Registers used in  debug.

 2015-2016 Microchip Technology Inc.                                                            DS60001324B-page 27
PIC32MM0064GPL036 FAMILY

3.3       Power Management                                       The    EJTAG   interface  operates    through  the  Test

The  processor     core     offers  a  number      of   power    Access Port (TAP), a serial communication port used

management       features,  including    low-power      design,  for transferring test data in and out of the microAptiv

active power management and Power-Down modes                     UC core. In addition to the standard JTAG instructions,

of   operation.  The    core   is   a  static      design  that  special instructions defined in the EJTAG specification

supports slowing or halting the clocks, which reduces            specify which registers are selected and how they are

system power consumption during Idle periods.                    used.

The  mechanism     for   invoking   Power-Down      mode   is    3.5    MIPS32® microAptiv™ UC Core

implemented      through      execution        of  the     WAIT         Configuration

instruction. The majority of the power consumed by               Register 3-1   through  Register 3-4  show     the  default

the processor core is in the clock tree and clocking             configuration  of  the  microAptiv  UC  core,  which      is

registers. The PIC32MM family makes extensive use                included on PIC32MM0064GPL036 family devices.

of local gated clocks to reduce this dynamic power

consumption.

3.4       EJTAG Debug Support

The  microAptiv    UC    core  has     an  Enhanced        JTAG

(EJTAG) interface for use in the software debug. In

addition  to  the  standard    mode        of  operation,  the

microAptiv UC core provides a Debug mode that is

entered after a debug exception (derived from a hard-

ware 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.

DS60001324B-page 28                                                                  2015-2016 Microchip Technology Inc.
                                                PIC32MM0064GPL036 FAMILY

REGISTER 3-1:           CONFIG: CONFIGURATION REGISTER; CP0 REGISTER 16,                            SELECT 0

     Bit    Bit                Bit              Bit          Bit         Bit                   Bit  Bit                Bit

Range       31/23/15/7    30/22/14/6       29/21/13/5        28/20/12/4  27/19/11/3  26/18/10/2     25/17/9/1  24/16/8/0

31:24       r-1                R/W-0            R/W-1        R/W-0       R/W-0       R/W-1          R/W-0               r-0

            —                              K23<2:0>                                  KU<2:0>                            —

23:16       r-0                R-0              R-1          R-0         r-0                   r-0  r-0                R-1

            —                  UDI              SB           MDU         —                     —    —                  DS

15:8        R-0                R-0              R-0          R-0         R-0                   R-1  R-0                R-1

            BE                         AT<1:0>                           AR<2:0>                              MT<2:1>

     7:0    R-1                r-0              r-0          r-0         r-0         R/W-0          R/W-1      R/W-0

            MT<0>              —                —            —           —                          K0<2:0>

Legend:                                    r = Reserved bit

R = Readable bit                           W = Writable bit              U = Unimplemented bit, read as ‘0’

-n = Value at POR                          ‘1’ = Bit is set              ‘0’ = Bit is cleared       x = Bit is unknown

bit  31     Reserved: This bit is hardwired to ‘1’ to indicate the presence of the CONFIG1          register

bit  30-28  K23<2:0>: Cacheability of the kseg2 and kseg3 Segments bits

            010 = Cache is not implemented

bit  27-25  KU<2:0>: Cacheability of the kuseg and useg Segments bits

            010 = Cache is not implemented

bit  24-23  Reserved: Must be written as zeros; returns zeros on reads

bit  22     UDI: User-Defined bit

            0 = CorExtend user-defined instructions are not implemented

bit  21     SB: SimpleBE bit

            1 = Only simple byte enables are allowed on the internal bus interface

bit  20     MDU: Multiply/Divide Unit bit

            0 = Fast, high-performance MDU

bit  19-17  Reserved: Must be written as zeros; returns zeros on reads

bit  16     DS: Dual SRAM Interface bit

            1 = Dual instruction/data SRAM interface

bit  15     BE: Endian Mode bit

            0 = Little-endian

bit  14-13  AT<1:0>: Architecture Type bits

            00 = MIPS32®

bit  12-10  AR<2:0>: Architecture Revision Level bits

            001 = MIPS32 Release 2

bit  9-7    MT<2:0>: MMU Type bits

            011 = Fixed mapping

bit  6-3    Reserved: Must be written as zeros; returns zeros on reads

bit  2-0    K0<2:0>: kseg0 Coherency Algorithm bits

            010 = Cache is not implemented

 2015-2016 Microchip Technology Inc.                                                               DS60001324B-page 29
PIC32MM0064GPL036 FAMILY

REGISTER 3-2:          CONFIG1: CONFIGURATION REGISTER 1; CP0                     REGISTER       16, SELECT 1

     Bit   Bit         Bit                  Bit           Bit         Bit                   Bit  Bit           Bit

Range      31/23/15/7  30/22/14/6       29/21/13/5        28/20/12/4  27/19/11/3  26/18/10/2     25/17/9/1  24/16/8/0

31:24      r-1         U-0                  U-0           U-0         U-0                   U-0  U-0           U-0

           —           —                    —             —           —                     —    —                   —

23:16      U-0         U-0                  U-0           U-0         U-0                   U-0  U-0           U-0

           —           —                    —             —           —                     —    —                   —

15:8       U-0         U-0                  U-0           U-0         U-0                   U-0  U-0           U-0

           —           —                    —             —           —                     —    —                   —

     7:0   U-0         U-0                  U-0           R-1         R-0                   R-0  R-1           R-0

           —           —                    —             PC          WR                    CA   EP            FP

Legend:                                 r = Reserved bit

R = Readable bit                        W = Writable bit              U = Unimplemented bit, read as ‘0’

-n = Value at POR                       ‘1’ = Bit is set              ‘0’ = Bit is cleared       x = Bit is unknown

bit  31    Reserved: This bit is hardwired to a ‘1’ to indicate the presence  of  the  CONFIG2   register

bit  30-5  Unimplemented: Read as ‘0’

bit  4     PC: Performance Counter bit

           1 = The processor core contains performance counters

bit  3     WR: Watch Register Presence bit

           0 = No Watch registers are present

bit  2     CA: Code Compression Implemented bit

           0 = No MIPS16e® are present

bit  1     EP: EJTAG Present bit

           1 = Core implements EJTAG

bit  0     FP: Floating-Point Unit bit

           0 = Floating-Point Unit is not implemented

DS60001324B-page 30                                                                     2015-2016 Microchip Technology Inc.
                                                PIC32MM0064GPL036 FAMILY

REGISTER 3-3:          CONFIG3: CONFIGURATION REGISTER 3; CP0 REGISTER                           16, SELECT 3

     Bit    Bit                  Bit           Bit          Bit         Bit                 Bit  Bit                 Bit

Range       31/23/15/7  30/22/14/6      29/21/13/5        28/20/12/4  27/19/11/3  26/18/10/2     25/17/9/1  24/16/8/0

31:24             r-0            U-0           U-0          U-0         U-0                 U-0  U-0                 U-0

                  —              —             —            —           —                   —    —                   —

23:16       U-0                  R-0           R-1          R-0         R-0                 R-0  R-1                 R-1

                  —                 IPLW<1:0>                         MMAR<2:0>                  MCU        ISAONEXC

     15:8   R-0                  R-1           R-1          R-1         U-0                 U-0  U-0                 R-0

                       ISA<1:0>         ULRI                RXI         —                   —    —                   ITL

     7:0    U-0                  R-1           R-1          R-0         R-1                 U-0  U-0                 R-0

                  —          VEIC       VINT                SP        CDMM                  —    —                   TL

Legend:                                 r = Reserved bit

R = Readable bit                        W = Writable bit              U = Unimplemented bit, read as ‘0’

-n = Value at POR                       ‘1’ = Bit is set              ‘0’ = Bit is cleared       x = Bit is unknown

bit  31     Reserved: This bit is hardwired as ‘0’

bit  30-23  Unimplemented: Read as ‘0’

bit  22-21  IPLW<1:0>: Width of the Status IPL and Cause RIPL bits

            01 = IPL and RIPL bits are 8 bits in width

bit  20-18  MMAR<2:0>: microMIPS™ Architecture Revision Level bits

            000 = Release 1

bit  17     MCU: MIPS® MCU ASE Implemented bit

            1 = MCU ASE is implemented

bit  16     ISAONEXC: ISA on Exception bit

            1 = microMIPS is used on entrance to an exception vector

bit  15-14  ISA<1:0>: Instruction Set Availability bits

            01 = Only microMIPS is implemented

bit  13     ULRI: UserLocal Register Implemented bit

            1 = UserLocal Coprocessor 0 register is implemented

bit  12     RXI: RIE and XIE Implemented in PageGrain bit

            1 = RIE and XIE bits are implemented

bit  11-9   Unimplemented: Read as ‘0’

bit  8      ITL: Indicates that iFlowtrace™ Hardware is Present bit

            0 = The iFlowtrace hardware is not implemented in the core

bit  7      Unimplemented: Read as ‘0’

bit  6      VEIC: External Vector Interrupt Controller bit

            1 = Support for an external interrupt controller is implemented.

bit  5      VINT: Vector Interrupt bit

            1 = Vector interrupts are implemented

bit  4      SP: Small Page bit

            0 = 4-Kbyte page size

bit  3      CDMM: Common Device Memory Map bit

            1 = CDMM is implemented

bit  2-1    Unimplemented: Read as ‘0’

bit  0      TL: Trace Logic bit

            0 = Trace logic is not implemented

 2015-2016 Microchip Technology Inc.                                                            DS60001324B-page 31
PIC32MM0064GPL036 FAMILY

REGISTER 3-4:         CONFIG5: CONFIGURATION REGISTER 5; CP0                 REGISTER       16, SELECT 5

Bit       Bit         Bit             Bit            Bit         Bit                   Bit  Bit           Bit

Range     31/23/15/7  30/22/14/6      29/21/13/5     28/20/12/4  27/19/11/3  26/18/10/2     25/17/9/1  24/16/8/0

31:24     U-0         U-0             U-0            U-0         U-0                   U-0  U-0           U-0

          —                     —     —              —           —                     —    —                   —

23:16     U-0         U-0             U-0            U-0         U-0                   U-0  U-0           U-0

          —                     —     —              —           —                     —    —                   —

15:8      U-0         U-0             U-0            U-0         U-0                   U-0  U-0           U-0

          —                     —     —              —           —                     —    —                   —

7:0       U-0         U-0             U-0            U-0         U-0                   U-0  U-0           R-1

          —                     —     —              —           —                     —    —             NF

Legend:

R = Readable bit                   W = Writable bit              U = Unimplemented bit, read as ‘0’

-n = Value at POR                  ‘1’ = Bit is set              ‘0’ = Bit is cleared       x = Bit is unknown

bit 31-1  Unimplemented: Read as ‘0’

bit 0     NF: Nested Fault bit

          1 = Nested Fault feature is implemented

DS60001324B-page 32                                                           2015-2016 Microchip Technology Inc.
                                                       PIC32MM0064GPL036 FAMILY

4.0   MEMORY ORGANIZATION                                         The Fixed Mapping Translation (FMT) unit translates

PIC32MM microcontrollers provide 4 Gbytes of unified              the  memory      segments    into  corresponding       physical

virtual memory address space. All memory regions,                 address regions. Figure 4-1 through Figure 4-3 illus-

including program, data memory, SFRs and Configura-               trate the fixed mapping scheme, implemented by the

tion  registers,  reside  in  this  address  space     at  their  PIC32MM0064GPL036 family core, between the virtual

respective unique addresses. The data memory can be               and physical address space.

made executable, allowing the CPU to execute code                 The mapping of the memory segments depends on the

from data memory.                                                 CPU error level, set by the ERL bit in the CPU STATUS

Key features include:                                             Register (SR). Error level is set (ERL = 1) by the CPU

                                                                  on a Reset, Soft Reset or NMI. In this mode, the CPU

•  32-Bit Native Data Width                                       can  access      memory  by  the   physical   address.      This
                                                                  mode is provided for compatibility with other MIPS®
•  Separate Boot Flash Memory (BFM) for 
                                                                  processor cores that use a TLB-based MMU. The C
   Protected Code
                                                                  start-up code clears the ERL bit to zero, so that when
•  Robust Bus Exception Handling to Intercept 
                                                                  application software starts up, it sees the proper virtual
   Runaway Code
                                                                  to physical memory mapping.
•  Simple Memory Mapping with Fixed Mapping

   Translation (FMT) Unit                                         4.1         Alternate Configuration Bits

The PIC32MM0064GPL036 family devices implement                                Space

two address spaces: virtual and physical. All hardware

resources, such as program memory, data memory and                Every Configuration Word has an associated Alternate

peripherals,  are  located    at    their  respective  physical   Word (designated by the letter A as the first letter in the

addresses. Virtual addresses are exclusively used by the          name    of  the  word).  During    device  start-up,   Primary

CPU to fetch and execute instructions. Physical address-          Words are read, and if uncorrectable ECC errors are

es are used by peripherals, such as Flash controllers,            found,  the  BCFGERR       (RCON<27>)        flag  is  set  and

that access memory independently of the CPU.                      Alternate Words are used. If uncorrectable ECC errors

The virtual address space is divided into two segments            are  found   in  Primary     and   Alternate       Words,   the

of 512 Mbytes each, labeled kseg0 and kseg1. The                  BCFGFAIL (RCON<26>) flag is set, and the default

Program Flash Memory (PFM) and Data RAM Memory                    configuration is used. The Primary Configuration bits

(DRM) are accessible from either kseg0 or kseg1, while            area is located at the address range, from 0x1FC01780

the Boot Flash Memory (BFM) and peripheral SFRs are               to 0x1FC017E8. The Alternate Configuration bits area

accessible only from kseg1.                                       is located at the address range, from 0x1FC01700 to

                                                                  0x1FC01768.

 2015-2016 Microchip Technology Inc.                                                                DS60001324B-page 33
PIC32MM0064GPL036 FAMILY

FIGURE  4-1:           MEMORY MAP FOR DEVICES WITH 16 Kbytes OF PROGRAM MEMORY(1)

                          Virtual

                          Memory Map

              0x00000000  Reserved

              0x7FFFFFFF

              0x80000000  4 Kbytes RAM

              0x80000FFF

              0x80001000  Reserved

              0x9CFFFFFF

              0x9D000000  16 Kbytes Flash

              0x9D003FFF

              0x9D004000  Reserved                 kseg0                      Physical

              0x9F7FFFFF                                                      Memory Map

              0x9F800000  SFRs(2)                                             4 Kbytes RAM              0x00000000

              0x9F80FFFF                                                                                0x00000FFF

              0x9F810000  Reserved                                            Reserved                  0x00001000

              0x9FBFFFFF                                                                                0x1CFFFFFF

              0x9FC00000  Boot Flash(2)                                       16 Kbytes Flash           0x1D000000

              0x9FC016FF                                                                                0x1D003FFF

              0x9FC01700  Configuration Bits(2,3)                             Reserved                  0x1D004000

              0x9FC017FF                                                                                0x1F7FFFFF

              0x9FC01800  Reserved                                            SFRs                      0x1F800000

              0x9FFFFFFF                                                                                0x1F80FFFF

              0xA0000000  4 Kbytes RAM                                        Reserved                  0x1F810000

              0xA0000FFF                                                                                0x1FBFFFFF

              0xA0001000  Reserved                                            Boot Flash                0x1FC00000

              0xBCFFFFFF                                                                                0x1FC016FF

              0xBD000000  16 Kbytes Flash                                     Configuration Bits(3)     0x1FC01700

              0xBD003FFF                                                                                0x1FC017FF

              0xBD004000  Reserved                 kseg1                      Reserved                  0x1FC01800

              0xBF7FFFFF                                                                                0xFFFFFFFF

              0xBF800000  SFRs

              0xBF80FFFF

              0xBF810000  Reserved

              0xBFBFFFFF

              0xBFC00000  Boot Flash

              0xBFC016FF

              0xBFC01700  Configuration Bits(3)

              0xBFC017FF

              0xBFC01800  Reserved

              0xFFFFFFFF

              Note 1:  Memory areas are not shown to scale.

              2:       This region should be accessed from kseg1 space only.

              3:       Primary Configuration bits area is located at the address range, from 0x1FC01780 to 0x1FC017E8.

                       Alternate Configuration bits area is located at the address range, from 0x1FC01700 to 0x1FC01768.

                       Refer to Section 4.1 “Alternate Configuration Bits Space” for more information.

DS60001324B-page 34                                                                        2015-2016 Microchip Technology  Inc.
                                                   PIC32MM0064GPL036 FAMILY

FIGURE  4-2:           MEMORY MAP FOR DEVICES WITH 32 Kbytes OF PROGRAM MEMORY(1)

                          Virtual

                          Memory Map

              0x00000000  Reserved

              0x7FFFFFFF

              0x80000000  8 Kbytes RAM

              0x80001FFF

              0x80002000  Reserved

              0x9CFFFFFF

              0x9D000000  32 Kbytes Flash

              0x9D007FFF

              0x9D008000  Reserved                                            Physical

              0x9F7FFFFF                           kseg0                      Memory Map

              0x9F800000  SFRs(2)                                             8 Kbytes RAM              0x00000000

              0x9F80FFFF                                                                                0x00001FFF

              0x9F810000  Reserved                                            Reserved                  0x00002000

              0x9FBFFFFF                                                                                0x1CFFFFFF

              0x9FC00000  Boot Flash(2)                                       32 Kbytes Flash           0x1D000000

              0x9FC016FF                                                                                0x1D007FFF

              0x9FC01700  Configuration Bits(2,3)                             Reserved                  0x1D008000

              0x9FC017FF                                                                                0x1F7FFFFF

              0x9FC01800  Reserved                                            SFRs                      0x1F800000

              0x9FFFFFFF                                                                                0x1F80FFFF

              0xA0000000  8 Kbytes RAM                                        Reserved                  0x1F810000

              0xA0001FFF                                                                                0x1FBFFFFF

              0xA0002000  Reserved                                            Boot Flash                0x1FC00000

              0xBCFFFFFF                                                                                0x1FC016FF

              0xBD000000  32 Kbytes Flash                                     Configuration Bits(3)     0x1FC01700

              0xBD007FFF                                                                                0x1FC017FF

              0xBD008000  Reserved                                            Reserved                  0x1FC01800

              0xBF7FFFFF                           kseg1                                                0xFFFFFFFF

              0xBF800000  SFRs

              0xBF80FFFF

              0xBF810000  Reserved

              0xBFBFFFFF

              0xBFC00000  Boot Flash

              0xBFC016FF

              0xBFC01700  Configuration Bits(3)

              0xBFC017FF

              0xBFC01800  Reserved

              0xFFFFFFFF

              Note 1:  Memory areas are not shown to scale.

              2:       This region should be accessed from kseg1 space only.

              3:       Primary Configuration bits area is located at the address range, from 0x1FC01780 to 0x1FC017E8.

                       Alternate Configuration bits area is located at the address range, from 0x1FC01700 to 0x1FC01768.

                       Refer to Section 4.1 “Alternate Configuration Bits Space” for more information.

 2015-2016 Microchip Technology Inc.                                                                                   DS60001324B-page 35
PIC32MM0064GPL036 FAMILY

FIGURE  4-3:           MEMORY MAP FOR DEVICES WITH 64 Kbytes OF PROGRAM MEMORY(1)

                          Virtual

                          Memory Map

              0x00000000  Reserved

              0x7FFFFFFF

              0x80000000  8 Kbytes RAM

              0x80001FFF

              0x80002000  Reserved

              0x9CFFFFFF

              0x9D000000  64 Kbytes Flash

              0x9D00FFFF

              0x9D010000  Reserved                                            Physical

              0x9F7FFFFF                           kseg0                      Memory Map

              0x9F800000  SFRs(2)                                             8 Kbytes RAM              0x00000000

              0x9F80FFFF                                                                                0x00001FFF

              0x9F810000  Reserved                                            Reserved                  0x00002000

              0x9FBFFFFF                                                                                0x1CFFFFFF

              0x9FC00000  Boot Flash(2)                                       64 Kbytes Flash           0x1D000000

              0x9FC016FF                                                                                0x1D00FFFF

              0x9FC01700  Configuration Bits(2,3)                             Reserved                  0x1D010000

              0x9FC017FF                                                                                0x1F7FFFFF

              0x9FC01800  Reserved                                            SFRs                      0x1F800000

              0x9FFFFFFF                                                                                0x1F80FFFF

              0xA0000000  8 Kbytes RAM                                        Reserved                  0x1F810000

              0xA0001FFF                                                                                0x1FBFFFFF

              0xA0002000  Reserved                                            Boot Flash                0x1FC00000

              0xBCFFFFFF                                                                                0x1FC016FF

              0xBD000000  64 Kbytes Flash                                     Configuration Bits(3)     0x1FC01700

              0xBD00FFFF                                                                                0x1FC017FF

              0xBD010000  Reserved                                            Reserved                  0x1FC01800

              0xBF7FFFFF                           kseg1                                                0xFFFFFFFF

              0xBF800000  SFRs

              0xBF80FFFF

              0xBF810000  Reserved

              0xBFBFFFFF

              0xBFC00000  Boot Flash

              0xBFC016FF

              0xBFC01700  Configuration Bits(3)

              0xBFC017FF

              0xBFC01800  Reserved

              0xFFFFFFFF

              Note 1:  Memory areas are not shown to scale.

              2:       This region should be accessed from kseg1 space only.

              3:       Primary Configuration bits area is located at the address range, from 0x1FC01780 to 0x1FC017E8.

                       Alternate Configuration bits area is located at the address range, from 0x1FC01700 to 0x1FC01768.

                       Refer to Section 4.1 “Alternate Configuration Bits Space” for more information.

DS60001324B-page 36                                                                        2015-2016 Microchip Technology  Inc.
                                                        PIC32MM0064GPL036 FAMILY

5.0       FLASH PROGRAM MEMORY                                         There  are    three     methods      by  which  the  user  can

                                                                       program this memory:

Note:       This data sheet summarizes the features                    •   Run-Time Self-Programming (RTSP)

            of    the  PIC32MM0064GPL036                family   of    •   EJTAG Programming

            devices.   It     is   not   intended       to   be  a     •   In-Circuit Serial Programming™ (ICSP™)

            comprehensive reference source. To com-

            plement the information in this data sheet,                RTSP is performed by software executing from either

            refer to Section 5. “Flash Programming”                    Flash or RAM memory. Information about RTSP tech-

            (DS60001121) in the “PIC32 Family Refer-                   niques is described in Section 5. “Flash Program-

            ence Manual”, which is available from the                  ming”     in  the  “PIC32        Family  Reference   Manual”.

            Microchip         web  site  (www.microchip.com/           EJTAG programming is performed using the JTAG port

            PIC32). The information in this data sheet                 of the device. ICSP programming requires fewer con-

            supersedes the information in the FRM.                     nections  than     for  EJTAG    programming.   The  EJTAG

PIC32MM0064GPL036             family     devices        contain  an    and ICSP methods are described in the “PIC32 Flash

internal  Flash   program     memory         for  executing      user  Programming        Specification”    (DS60001145),   which    is

code. The Program and Boot Flash Memory can be                         available for download from the Microchip web site.

write-protected.  The  erase           page   size  is  512  32-bit    5.1       Flash Controller Registers Write

words. The program row size is 64 32-bit words. The                              Protection

memory can be programmed by rows or by two 32-bit

words.                                                                 The NVMPWP and NVMBWP registers, and the WR bit

The  devices     implement         an  Error  Correcting     Code      in the NVMCON register are protected (locked) from an

(ECC). The memory control block contains a logic to                    accidental write. A special unlock sequence is required

write and read ECC bits to and from the Flash memory.                  to modify the content of these registers or bits.

The Flash is programmed at the same time as the cor-                   To unlock, the following steps should be done:

responding  ECC        bits.  The      ECC   provides   improved       1.   Disable interrupts prior to the unlock sequence.

resistance to Flash errors. The ECC single-bit error will

be transparently corrected. The ECC double-bit error                   2.   Execute the system unlock sequence by writing

results in a bus error exception.                                           the      key    values      of      0xAA996655      and

                                                                            0x556699AA         to  the  NVMKEY  register    in  two

                                                                            back-to-back Assembly or ‘C’ instructions.

                                                                       3.   Write the new value to the required bits.

                                                                       4.   Re-enable interrupts.

 2015-2016 Microchip Technology Inc.                                                                           DS60001324B-page 37
DS60001324B-page 38                    5.2                        Flash Control Registers                                                                                                                                                                PIC32MM0064GPL036

                                       TABLE 5-1:                                 FLASH CONTROLLER REGISTER MAP

                                       Virtual Address                                                                                                                   Bits

                                                        (BF80_#)  Register  Name  Bit Range  31/15     30/14  29/13  28/12   27/11                26/10  25/9      24/8        23/7        22/6  21/5          20/4  19/3  18/2  17/1  16/0  All Resets

                                       2380                       NVMCON(1)       31:16      —         —      —      —       —                    —      —         —           —           —     —             —     —     —     —     —     0000

                                                                                  15:0       WR        WREN   WRERR  LVDERR  —                    —      —         —           —           —     —             —           NVMOP<3:0>        0000

                                       2390                       NVMKEY          31:16                                                                            NVMKEY<31:0>                                                              0000

                                                                                  15:0                                                                                                                                                       0000

                                       23A0                       NVMADDR(1)      31:16                                                                            NVMADDR<31:0>                                                             0000

                                                                                  15:0                                                                                                                                                       0000

                                       23B0                       NVMDATA0        31:16                                                                            NVMDATA0<31:0>                                                            0000

                                                                                  15:0                                                                                                                                                       0000

                                       23C0                       NVMDATA1        31:16                                                                            NVMDATA1<31:0>                                                            0000

                                                                                  15:0                                                                                                                                                       0000

                                       23D0                       NVMSRCADDR      31:16                                                                        NVMSRCADDR<31:0>                                                              0000        FAMILY

                                                                                  15:0                                                                                                                                                       0000

                                       23E0                       NVMPWP(1)       31:16      PWPULOCK  —      —      —       —                    —      —         —                                           PWP<23:16>                    8000

                                                                                  15:0                                                                             PWP<15:0>                                                                 0000

                                       23F0                       NVMBWP(1)       31:16      —         —      —      —       —                    —      —         —           —           —     —             —     —     —     —     —     0000

                                                                                  15:0       BWPULOCK  —      —      —       —                           BWP<2:0>              —           —     —             —     —     —     —     —     8700

                                       Legend:                    — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.

                                       Note 1:                    These registers have corresponding CLR, SET and INV registers at their virtual  addresses, plus offsets of 0x4, 0x8 and  0xC, respectively.

 2015-2016 Microchip Technology Inc.
                                                  PIC32MM0064GPL036 FAMILY

REGISTER 5-1:           NVMCON:         NVM PROGRAMMING CONTROL REGISTER

Bit         Bit         Bit                  Bit          Bit            Bit                 Bit    Bit               Bit

Range       31/23/15/7  30/22/14/6       29/21/13/5       28/20/12/4   27/19/11/3   26/18/10/2      25/17/9/1     24/16/8/0

31:24       U-0         U-0                  U-0          U-0            U-0                 U-0    U-0               U-0

            —           —                    —               —           —                   —      —                 —

23:16       U-0         U-0                  U-0          U-0            U-0                 U-0    U-0               U-0

            —           —                    —               —           —                   —      —                 —

15:8        R/W-0, HC   R/W-0            R-0, HS, HC      R-0, HS, HC    r-0                 U-0    U-0               U-0

            WR(1,4)     WREN(1)         WRERR(1,2)        LVDERR(1,2)    —                   —      —                 —

7:0         U-0         U-0                  U-0          U-0            R/W-0               R/W-0  R/W-0             R/W-0

            —           —                    —               —                               NVMOP<3:0>(3)

Legend:                                 HS = Hardware Settable bit     HC = Hardware Clearable bit

R = Readable bit                        W = Writable bit               U = Unimplemented bit, read as ‘0’

-n = Value at POR                       ‘1’ = Bit is set               ‘0’ = Bit is cleared         r = Reserved bit

bit 31-16   Unimplemented: Read as ‘0’

bit 15      WR: Write Control bit(1,4)

            This bit cannot be cleared and can be set only when WREN = 1, and the unlock sequence has been performed.

            1 = Initiates a Flash operation

            0 = Flash operation is complete or inactive

bit 14      WREN: Write Enable bit(1)

            1 = Enables writes to the WR bit and disables writes to the NVMOP<3:0> bits

            0 = Disables writes to the WR bit and enables writes to the NVMOP<3:0> bits

bit 13      WRERR: Write Error bit(1,2)

            This bit can be cleared only by setting the NVMOP<3:0> bits = 0000 and initiating a Flash operation.

            1 = Program or erase sequence did not complete successfully

            0 = Program or erase sequence completed normally

bit 12      LVDERR: Low-Voltage Detect Error bit(1,2)

            This bit can be cleared only by setting the NVMOP<3:0> bits = 0000 and initiating a Flash operation.

            1 = Low voltage is detected (possible data corruption if WRERR is set)

            0 = Voltage level is acceptable for programming

bit 11      Reserved: Maintain as ‘0’

bit 10-4    Unimplemented: Read as ‘0’

Note    1:  These bits are only reset by a Power-on Reset (POR) and are not affected by other Reset sources.

        2:  These bits are cleared by setting NVMOP<3:0> = 0000 and initiating a Flash operation (i.e., WR).

        3:  NVMOP<3:0> bits are write-protected if the WREN bit is set.

        4:  Writes to the WR bit require an unlock sequence. Refer to Section 5.1 “Flash Controller Registers Write

            Protection” for details.

 2015-2016 Microchip Technology Inc.                                                               DS60001324B-page 39
PIC32MM0064GPL036 FAMILY

REGISTER 5-1:        NVMCON: NVM PROGRAMMING CONTROL REGISTER (CONTINUED)

bit 3-0      NVMOP<3:0>: NVM Operation bits(3)

             These bits are only writable when WREN = 0.

             1111 = Reserved

             •

             •

             •

             1000 = Reserved

             0111 = Program Erase Operation: Erases all of Program Flash Memory (all pages must be unprotected in

                the NVMPWP register, Boot Flash Memory is not erased)

             0110 = Reserved

             0101 = Reserved

             0100 = Page Erase Operation: Erases page selected by NVMADDR (erases Boot or Program Flash

                Memory, page must be unprotected in the NVMBWP or NVMPWP register)

             0011 = Row Program Operation: Programs row selected by NVMADDR (programs Boot or Program Flash

                Memory, page must be unprotected in the NVMBWP or NVMPWP register)

             0010 = Double-Word Program Operation: Programs two words to the address selected by NVMADDR

                (programs Boot or Program Flash Memory, page must be unprotected in the NVMBWP or

                NVMPWP register)

             0001 = Reserved

             0000 = No operation, clears WRERR and LVDERR bits

Note     1:  These bits are only reset by a Power-on Reset (POR) and are not affected by other Reset sources.

         2:  These bits are cleared by setting NVMOP<3:0> = 0000 and initiating a Flash operation (i.e., WR).

         3:  NVMOP<3:0> bits are write-protected if the WREN bit is set.

         4:  Writes to the WR bit require an unlock sequence. Refer to Section 5.1 “Flash Controller Registers Write

             Protection” for details.

DS60001324B-page 40                                                        2015-2016 Microchip Technology Inc.
                                            PIC32MM0064GPL036 FAMILY

REGISTER 5-2:         NVMKEY: NVM PROGRAMMING UNLOCK REGISTER

Bit       Bit                Bit       Bit               Bit         Bit                   Bit    Bit                 Bit

Range     31/23/15/7   30/22/14/6      29/21/13/5        28/20/12/4  27/19/11/3  26/18/10/2       25/17/9/1  24/16/8/0

31:24     W-0                W-0       W-0               W-0         W-0                   W-0    W-0                 W-0

                                                         NVMKEY<31:24>

23:16     W-0                W-0       W-0               W-0         W-0                   W-0    W-0                 W-0

                                                         NVMKEY<23:16>

15:8      W-0                W-0       W-0               W-0         W-0                   W-0    W-0                 W-0

                                                         NVMKEY<15:8>

7:0       W-0                W-0       W-0               W-0         W-0                   W-0    W-0                 W-0

                                                         NVMKEY<7:0>

Legend:

R = Readable bit                       W = Writable bit              U = Unimplemented bit, read as ‘0’

-n = Value at POR                      ‘1’ = Bit is set              ‘0’ = Bit is cleared         x = Bit is unknown

bit 31-0  NVMKEY<31:0>: NVM Unlock Register bits

          These bits are write-only and read as ‘0’ on any read.

REGISTER 5-3:         NVMADDR:         NVM FLASH ADDRESS REGISTER

Bit       Bit                Bit       Bit               Bit         Bit                   Bit    Bit                 Bit

Range     31/23/15/7   30/22/14/6      29/21/13/5        28/20/12/4  27/19/11/3  26/18/10/2       25/17/9/1  24/16/8/0

31:24     R/W-0              R/W-0     R/W-0             R/W-0       R/W-0                 R/W-0  R/W-0               R/W-0

                                                         NVMADDR<31:24>

23:16     R/W-0              R/W-0     R/W-0             R/W-0       R/W-0                 R/W-0  R/W-0               R/W-0

                                                         NVMADDR<23:16>

15:8      R/W-0              R/W-0     R/W-0             R/W-0       R/W-0                 R/W-0  R/W-0               R/W-0

                                                         NVMADDR<15:8>

7:0       R/W-0              R/W-0     R/W-0             R/W-0       R/W-0                 R/W-0  R/W-0               R/W-0

                                                         NVMADDR<7:0>

Legend:

R = Readable bit                       W = Writable bit              U = Unimplemented bit, read as ‘0’

-n = Value at POR                      ‘1’ = Bit is set              ‘0’ = Bit is cleared         x = Bit is unknown

bit 31-0  NVMADDR<31:0>: NVM Flash Address bits

          NVMOP<3:0>                                     Flash Address Bits (NVMADDR<31:0>)

                  Selection

          Page Erase                   Address identifies the page to erase (NVMADDR<10:0> are ignored).

          Row Program                  Address identifies the row to program (NVMADDR<7:0> are ignored).

          Double-Word Program          Address identifies the double-word (64-bit) to program (NVMADDR<1:0> bits are ignored).

 2015-2016 Microchip Technology Inc.                                                             DS60001324B-page 41
PIC32MM0064GPL036 FAMILY

REGISTER 5-4:         NVMDATAx:   NVM FLASH DATA x REGISTER                 (x = 0-1)

Bit       Bit         Bit         Bit               Bit              Bit              Bit  Bit                 Bit

Range     31/23/15/7  30/22/14/6  29/21/13/5        28/20/12/4  27/19/11/3  26/18/10/2     25/17/9/1  24/16/8/0

31:24     R/W-0       R/W-0       R/W-0             R/W-0            R/W-0  R/W-0          R/W-0            R/W-0

                                                    NVMDATAx<31:24>

23:16     R/W-0       R/W-0       R/W-0             R/W-0            R/W-0  R/W-0          R/W-0            R/W-0

                                                    NVMDATAx<23:16>

15:8      R/W-0       R/W-0       R/W-0             R/W-0            R/W-0  R/W-0          R/W-0            R/W-0

                                                    NVMDATAx<15:8>

7:0       R/W-0       R/W-0       R/W-0             R/W-0            R/W-0  R/W-0          R/W-0            R/W-0

                                                    NVMDATAx<7:0>

Legend:

R = Readable bit                  W = Writable bit              U = Unimplemented bit, read as ‘0’

-n = Value at POR                 ‘1’ = Bit is set              ‘0’ = Bit is cleared       x = Bit is unknown

bit 31-0  NVMDATAx<31:0>: NVM Flash Data x bits

          Double-Word Program: Writes NVMDATA1:NVMDATA0 to the target Flash address defined in NVMADDR.

          NVMDATA0 contains the least significant instruction word.

REGISTER 5-5:         NVMSRCADDR: NVM SOURCE DATA ADDRESS REGISTER

Bit       Bit         Bit         Bit               Bit              Bit              Bit  Bit                 Bit

Range     31/23/15/7  30/22/14/6  29/21/13/5        28/20/12/4  27/19/11/3  26/18/10/2     25/17/9/1  24/16/8/0

31:24     R/W-0       R/W-0       R/W-0             R/W-0            R/W-0  R/W-0          R/W-0            R/W-0

                                                    NVMSRCADDR<31:24>

23:16     R/W-0       R/W-0       R/W-0             R/W-0            R/W-0  R/W-0          R/W-0            R/W-0

                                                    NVMSRCADDR<23:16>

15:8      R/W-0       R/W-0       R/W-0             R/W-0            R/W-0  R/W-0          R/W-0            R/W-0

                                                    NVMSRCADDR<15:8>

7:0       R/W-0       R/W-0       R/W-0             R/W-0            R/W-0  R/W-0          R/W-0            R/W-0

                                                    NVMSRCADDR<7:0>

Legend:

R = Readable bit                  W = Writable bit              U = Unimplemented bit, read as ‘0’

-n = Value at POR                 ‘1’ = Bit is set              ‘0’ = Bit is cleared       x = Bit is unknown

bit 31-0  NVMSRCADDR<31:0>: NVM Source Data Address bits

          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.

DS60001324B-page 42                                                                    2015-2016 Microchip Technology Inc.
                                                 PIC32MM0064GPL036 FAMILY

REGISTER 5-6:          NVMPWP: NVM PROGRAM FLASH WRITE-PROTECT REGISTER(1)

Bit               Bit          Bit               Bit        Bit        Bit                   Bit    Bit                 Bit

Range       31/23/15/7  30/22/14/6      29/21/13/5        28/20/12/4   27/19/11/3  26/18/10/2       25/17/9/1     24/16/8/0

31:24       R/W-1              U-0               U-0        U-0        U-0                   U-0    U-0                 U-0

            PWPULOCK           —                 —          —          —                     —      —                   —

23:16       R/W-0              R/W-0             R/W-0      R/W-0      R/W-0             R/W-0      R/W-0         R/W-0

                                                            PWP<23:16>(2)

15:8        R/W-0              R/W-0             R/W-0      R/W-0      R/W-0             R/W-0      R/W-0         R/W-0

                                                            PWP<15:8>(2)

7:0         R/W-0              R/W-0             R/W-0      R/W-0      R/W-0             R/W-0      R/W-0         R/W-0

                                                            PWP<7:0>(2)

Legend:

R = Readable bit                        W = Writable bit               U = Unimplemented bit, read as ‘0’

-n = Value at POR                       ‘1’ = Bit is set               ‘0’ = Bit is cleared         x = Bit is unknown

bit 31      PWPULOCK: Program Flash Memory Page Write-Protect Unlock bit

            1 = Register is not locked and can be modified

            0 = Register is locked and cannot be modified

            This bit is only clearable and cannot be set except by any Reset.

bit 30-24   Unimplemented: Read as ‘0’

bit 23-0    PWP<23:0>: Flash Program Write-Protect (Page) Address bits(2)

            Physical   memory  below   address,     0x1DXXXXXX,    is  write-protected,      where  ‘XXXXXX’  is  specified  by

            PWP<23:0>. When the PWP<23:0> bits have a value of ‘0’, write protection is disabled for the entire

            Program Flash Memory. If the specified address falls within the page, the entire page and all pages below

            the current page will be protected.

Note    1:  Writes to this register require an NVMKEY unlock sequence. Refer to Section 5.1 “Flash Controller

            Registers Write Protection” for details.

        2:  These bits can be modified only when the unlock bit (PWPULOCK) is set.

 2015-2016 Microchip Technology Inc.                                                               DS60001324B-page 43
PIC32MM0064GPL036 FAMILY

REGISTER 5-7:            NVMBWP: NVM BOOT FLASH (PAGE) WRITE-PROTECT                          REGISTER(1)

Bit          Bit         Bit             Bit               Bit     Bit                   Bit      Bit                 Bit

Range        31/23/15/7  30/22/14/6  29/21/13/5        28/20/12/4  27/19/11/3   26/18/10/2        25/17/9/1  24/16/8/0

31:24        U-0         U-0             U-0               U-0     U-0                   U-0      U-0                 U-0

             —           —               —                 —       —                     —           —                —

23:16        U-0         U-0             U-0               U-0     U-0                   U-0      U-0                 U-0

             —           —               —                 —       —                     —           —                —

15:8         R/W-1       U-0             U-0               U-0     U-0          R/W-1             R/W-1      R/W-1

             BWPULOCK    —               —                 —       —            BWP2(2)           BWP1(2)    BWP0(2)

7:0          U-0         U-0             U-0               U-0     U-0                   U-0      U-0                 U-0

             —           —               —                 —       —                     —           —                —

Legend:

R = Readable bit                     W = Writable bit              U = Unimplemented bit, read as ‘0’

-n = Value at POR                    ‘1’ = Bit is set              ‘0’ = Bit is cleared           x = Bit is unknown

bit 31-16    Unimplemented: Read as ‘0’

bit 15       BWPULOCK: Boot Alias Write-Protect Unlock bit

             1 = BWPx bits are not locked and can be modified

             0 = BWPx bits are locked and cannot be modified

             This bit is only clearable and cannot be set except by any Reset.

bit 14-11    Unimplemented: Read as ‘0’

bit 10       BWP2: Boot Alias Page 2 Write-Protect bit(2)

             1 = Write protection for physical address, 0x1FC00000 through 0x1FC007FF,        is  enabled

             0 = Write protection for physical address, 0x1FC00000 through 0x1FC007FF,        is  disabled

bit 9        BWP1: Boot Alias Page 1 Write-Protect bit(2)

             1 = Write protection for physical address, 0x1FC00800 through 0x1FC00FFF,        is  enabled

             0 = Write protection for physical address, 0x1FC00800 through 0x1FC00FFF,        is  disabled

bit 8        BWP0: Boot Alias Page 0 Write-Protect bit(2)

             1 = Write protection for physical address, 0x1FC01000 through 0x1FC017FF,        is  enabled

             0 = Write protection for physical address, 0x1FC01000 through 0x1FC017FF,        is  disabled

bit 7-0      Unimplemented: Read as ‘0’

Note     1:  Writes to this register require an NVMKEY unlock sequence. Refer to Section 5.1 “Flash         Controller

             Registers Write Protection” for details.

         2:  These bits can be modified only when the associated unlock bit (BWPULOCK) is set.

DS60001324B-page 44                                                                       2015-2016 Microchip Technology Inc.
                                                      PIC32MM0064GPL036 FAMILY

6.0    RESETS                                                      The Reset module combines all Reset sources and

                                                                   controls the device Master Reset Signal, SYSRST. The

Note:  This data sheet summarizes the features of                  device Reset sources are as follows:

       the       PIC32MM0064GPL036                  family     of  •  Power-on Reset (POR)

       devices.         It  is  not       intended   to    be  a   •  Master Clear Reset Pin (MCLR)

       comprehensive reference source. To com-                     •  Software Reset (SWR)

       plement the information in this data sheet,

       refer to Section 7. “Resets” (DS60001118)                   •  Watchdog Timer Reset (WDTR)

       in the “PIC32 Family Reference Manual”,                     •  Brown-out Reset (BOR)

       which        is  available     from  the     Microchip      •  Configuration Mismatch Reset (CMR)

       web       site   (www.microchip.com/PIC32).                 A  simplified  block  diagram  of  the  Reset  module  is

       The       information          in  this  data       sheet   illustrated in Figure 6-1.

       supersedes the information in the FRM.

FIGURE 6-1:             SYSTEM RESET BLOCK DIAGRAM

     MCLR                                                             MCLR

                                            Glitch Filter

     Sleep or Idle                                                    WDTR

       WDT                  NMI
       Time-out             Time-out

     Voltage Regulator

     Enabled                              Power-up                    POR

                                            Timer                                                          SYSRST

       VDD

                        VDD Rise

                        Detect

                                          Brown-out                   BOR

                                          Reset

     Configuration                                                    CMR
     Mismatch
     Reset

     Software Reset                                                   SWR

 2015-2016 Microchip Technology Inc.                                                                 DS60001324B-page 45
DS60001324B-page 46                    6.1                        Reset Control Registers                                                                                                                                                                                 PIC32MM0064GPL036

                                       TABLE 6-1:                                    RESETS REGISTER MAP

                                       Virtual Address                                                                                                                  Bits

                                                        (BF80_#)  Register  Name(1)  Bit Range  31/15  30/14    29/13  28/12     27/11             26/10          25/9  24/8  23/7                 22/6           21/5  20/4     19/3   18/2    17/1   16/0   All Resets

                                       1240                       RCON               31:16      PORIO  PORCORE  —      —         BCFGERR           BCFGFAIL       —     —     —                    —              —     —        —      —       —      —      C000

                                                                                     15:0       —      —        —      —         —                 —              CMR   —     EXTR                 SWR            —     WDTO     SLEEP  IDLE    BOR    POR    0003

                                       1250                       RSWRST             31:16      —      —        —      —         —                 —              —     —     —                    —              —     —        —      —       —      —      0000

                                                                                     15:0       —      —        —      —         —                 —              —     —     —                    —              —     —        —      —       —      SWRST  0000

                                       1260                       RNMICON            31:16      —      —        —      —         —                 —              —     WDTR  SWNMI                —              —     —        GNMI   —       CF     WDTS   0000

                                                                                     15:0                                                                               NMICNT<15:0>                                                                          0000

                                       1270                       PWRCON             31:16      —      —        —      —         —                 —              —     —     —                    —              —     —        —      —       —      —      0000

                                                                                     15:0       —      —        —      —         —                 —              —     —     —                    —              —     —        —      SBOREN  RETEN  VREGS  0000

                                       Legend:                    — = 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.

                                                                                                                                                                                                                                                                          FAMILY

 2015-2016 Microchip Technology Inc.
                                                  PIC32MM0064GPL036 FAMILY

REGISTER 6-1:             RCON: RESET CONTROL REGISTER(1)

     Bit      Bit         Bit                Bit             Bit         Bit               Bit        Bit        Bit

Range         31/23/15/7  30/22/14/6   29/21/13/5        28/20/12/4    27/19/11/3         26/18/10/2  25/17/9/1  24/16/8/0

31:24         R/W-1, HS   R/W-1, HS          U-0             U-0         R/W-0, HS        R/W-0, HS   U-0        U-0

              PORIO       PORCORE            —               —         BCFGERR            BCFGFAIL    —          —

23:16         U-0         U-0                U-0             U-0         U-0               U-0        U-0        U-0

              —           —                  —               —           —                 —          —          —

     15:8     U-0         U-0                U-0             U-0         U-0               U-0        R/W-0, HS  U-0

              —           —                  —               —           —                 —          CMR        —

     7:0      R/W-0, HS   R/W-0, HS          U-0         R/W-0, HS       R/W-0, HS        R/W-0, HS   R/W-1, HS  R/W-1, HS

              EXTR        SWR                —            WDTO           SLEEP            IDLE(2)     BOR        POR

Legend:                                HS = Hardware Settable bit

R = Readable bit                       W = Writable bit              U = Unimplemented bit, read as ‘0’

-n = Value at POR                      ‘1’ = Bit is set              ‘0’ = Bit is cleared             x = Bit is unknown

bit 31        PORIO: VDD POR Flag bit

              Set by hardware at detection of a VDD POR event.

              1 = A Power-on Reset has occurred due to VDD voltage

              0 = A Power-on Reset has not occurred due to VDD voltage

bit 30        PORCORE: Core Voltage POR Flag bit

              Set by hardware at detection of a core POR event.

              1 = A Power-on Reset has occurred due to core voltage

              0 = A Power-on Reset has not occurred due to core voltage

bit  29-28    Unimplemented: Read as ‘0’

bit  27       BCFGERR: Primary Configuration Registers Error Flag bit

              1 = An error occurred during a read of the Primary Configuration registers

              0 = No error occurred during a read of the Primary Configuration registers

bit  26       BCFGFAIL: Primary/Secondary Configuration Registers Error Flag bit

              1 = An error occurred during a read of the Primary and Alternate Configuration         registers

              0 = No error occurred during a read of the Primary and Alternate Configuration         registers

bit  25-10    Unimplemented: Read as ‘0’

bit  9        CMR: Configuration Mismatch Reset Flag bit

              1 = A Configuration Mismatch Reset has occurred

              0 = A Configuration Mismatch Reset has not occurred

bit  8        Unimplemented: Read as ‘0’

bit  7        EXTR: External Reset (MCLR) Pin Flag bit

              1 = Master Clear (pin) Reset has occurred

              0 = Master Clear (pin) Reset has not occurred

bit  6        SWR: Software Reset Flag bit

              1 = Software Reset was executed

              0 = Software Reset was not executed

bit  5        Unimplemented: Read as ‘0’

bit  4        WDTO: Watchdog Timer Time-out Flag bit

              1 = WDT time-out has occurred

              0 = WDT time-out has not occurred

Note      1:  User software must clear bits in this register to view the next detection.

          2:  The IDLE bit will also be set when the device wakes from Sleep mode.

 2015-2016 Microchip Technology Inc.                                                                 DS60001324B-page 47
PIC32MM0064GPL036 FAMILY

REGISTER 6-1:             RCON: RESET CONTROL REGISTER(1) (CONTINUED)

bit  3        SLEEP: Wake from Sleep Flag bit

              1 = Device was in Sleep mode

              0 = Device was not in Sleep mode

bit  2        IDLE: Wake from Idle Flag bit(2)

              1 = Device was in Idle mode

              0 = Device was not in Idle mode

bit  1        BOR: Brown-out Reset Flag bit

              1 = Brown-out Reset has occurred

              0 = Brown-out Reset has not occurred

bit  0        POR: Power-on Reset Flag bit

              1 = Power-on Reset has occurred

              0 = Power-on Reset has not occurred

Note      1:  User software must clear bits in this register to view the next detection.

          2:  The IDLE bit will also be set when the device wakes from Sleep mode.

REGISTER 6-2:             RSWRST: SOFTWARE            RESET REGISTER

     Bit      Bit            Bit                Bit        Bit         Bit                   Bit  Bit                 Bit

Range         31/23/15/7     30/22/14/6  29/21/13/5        28/20/12/4  27/19/11/3  26/18/10/2     25/17/9/1  24/16/8/0

31:24         U-0            U-0                U-0        U-0         U-0                   U-0  U-0                 U-0

              —              —                  —          —           —                     —    —                   —

23:16         U-0            U-0                U-0        U-0         U-0                   U-0  U-0                 U-0

              —              —                  —          —           —                     —    —                   —

15:8          U-0            U-0                U-0        U-0         U-0                   U-0  U-0                 U-0

              —              —                  —          —           —                     —    —                   —

     7:0      U-0            U-0                U-0        U-0         U-0                   U-0  U-0        W-0, HC

              —              —                  —          —           —                     —    —          SWRST(1,2)

Legend:                                  HC = Hardware Clearable bit

R = Readable bit                         W = Writable bit              U = Unimplemented bit, read as ‘0’

-n = Value at POR                        ‘1’ = Bit is set              ‘0’ = Bit is cleared       x = Bit is unknown

bit 31-1      Unimplemented: Read as ‘0’

bit 0         SWRST: Software Reset Trigger bit(1,2)

              1 = Enables Software Reset event

              0 = No effect

Note      1:  The system unlock sequence must be performed before the SWRST bit can be written. Refer to

              Section 23.4 “System Registers Write Protection” for details.

          2:  Once this bit is set, any read of the RSWRST register will cause a Reset to occur.

DS60001324B-page 48                                                                           2015-2016 Microchip Technology Inc.
                                                  PIC32MM0064GPL036 FAMILY

REGISTER 6-3:             RNMICON:       NON-MASKABLE INTERRUPT (NMI) CONTROL                     REGISTER(1)

     Bit      Bit         Bit                Bit           Bit         Bit                   Bit         Bit          Bit

Range         31/23/15/7  30/22/14/6     29/21/13/5        28/20/12/4  27/19/11/3  26/18/10/2     25/17/9/1     24/16/8/0

31:24         U-0         U-0                U-0           U-0         U-0                   U-0         U-0    R/W-0

              —           —                  —             —           —                     —           —      WDTR

23:16         R/W-0       U-0                U-0           U-0         R/W-0                 U-0         R/W-0  R/W-0

              SWNMI       —                  —             —           GNMI                  —           CF     WDTS

15:8          R/W-0       R/W-0             R/W-0          R/W-0       R/W-0       R/W-0                 R/W-0  R/W-0

                                                           NMICNT<15:8>

     7:0      R/W-0       R/W-0             R/W-0          R/W-0       R/W-0       R/W-0                 R/W-0  R/W-0

                                                           NMICNT<7:0>

Legend:

R = Readable bit                         W = Writable bit              U = Unimplemented bit, read as ‘0’

-n = Value at POR                        ‘1’ = Bit is set              ‘0’ = Bit is cleared       x = Bit is unknown

bit  31-25    Unimplemented: Read as ‘0’

bit  24       WDTR: Watchdog Timer Time-out in Run Mode Flag bit

              1 = A Run mode WDT time-out has occurred and caused an NMI

              0 = WDT time-out has not occurred

              Setting this bit will cause a WDT NMI event and NMICNT<15:0> will begin counting.

bit  23       SWNMI: Software NMI Trigger bit

              1 = An NMI has been generated

              0 = An NMI was not generated

bit  22-20    Unimplemented: Read as ‘0’

bit  19       GNMI: Software General NMI Trigger bit

              1 = A general NMI has been generated

              0 = A general NMI was not generated

bit  18       Unimplemented: Read as ‘0’

bit  17       CF: Clock Fail Detect bit

              1 = FSCM has detected clock failure and caused an NMI

              0 = FSCM has not detected clock failure

              Setting this bit will cause a CF NMI event, but will not cause a clock switch to the FRC.

bit  16       WDTS: Watchdog Timer Time-out in Sleep Mode Flag bit

              1 = WDT time-out has occurred during Sleep mode and caused a wake-up from Sleep

              0 = WDT time-out has not occurred during Sleep mode

              Setting this bit will cause a WDT NMI.

bit  15-0     NMICNT<15:0>: NMI Reset Counter Value bits

              These bits specify the reload value used by the NMI Reset counter.

              FFFFh-0001h = Number of SYSCLK cycles before a device Reset occurs(2)

              0000h = No delay between NMI assertion and device Reset event

Note      1:  Writes to this register require an unlock sequence. Refer to Section 23.4 “System Registers Write

              Protection” for details.

          2:  If a Watchdog Timer NMI event (when not in Sleep mode) is cleared before this counter reaches ‘0’, no

              device Reset is asserted. This NMI Reset counter is only applicable to the Watchdog Timer NMI event.

 2015-2016 Microchip Technology Inc.                                                                    DS60001324B-page 49
PIC32MM0064GPL036 FAMILY

REGISTER 6-4:          PWRCON: POWER CONTROL REGISTER(1)

Bit        Bit         Bit             Bit                    Bit      Bit               Bit              Bit            Bit

Range      31/23/15/7  30/22/14/6    29/21/13/5        28/20/12/4  27/19/11/3          26/18/10/2  25/17/9/1      24/16/8/0

31:24      U-0         U-0             U-0                    U-0      U-0               U-0              U-0            U-0

           —           —               —                      —        —                 —                —              —

23:16      U-0         U-0             U-0                    U-0      U-0               U-0              U-0            U-0

           —           —               —                      —        —                 —                —              —

15:8       U-0         U-0             U-0                    U-0      U-0               U-0              U-0            U-0

           —           —               —                      —        —                 —                —              —

7:0        U-0         U-0             U-0                    U-0      U-0             R/W-0       R/W-0          R/W-0

           —           —               —                      —        —               SBOREN(3)   RETEN(2)       VREGS(2)

Legend:

R = Readable bit                     W = Writable bit              U = Unimplemented bit, read as ‘0’

-n = Value at POR                    ‘1’ = Bit is set              ‘0’ = Bit is cleared            x = Bit is unknown

bit 31-3   Unimplemented: Read as ‘0’

bit 2      SBOREN: BOR During Sleep Control bit(3)

           1 = BOR is turned on

           0 = BOR is turned off

bit 1      RETEN: Output Level of the Regulator During Sleep Selection bit(2)

           1 = Writing a ‘1’ to this bit will cause the main regulator to be put in a  low-power   state  during  Sleep  mode

           0 = Writing a ‘0’ to this bit will have no effect

bit 0      VREGS: Voltage Regulator Standby Enable bit(2)

           1 = Voltage regulator will remain active during Sleep mode

           0 = Voltage regulator will go to Standby mode during Sleep mode

Note   1:  Writes to this register require an unlock sequence. Refer to Section 23.4 “System Registers                   Write

           Protection” for details.

       2:  Refer to Section 22.4 “On-Chip Voltage Regulator Low-Power Modes” for details.

       3:  This bit is enabled only when the BOREN<1:0> Configuration bits (FPOR<1:0>) are set to ‘01’.

DS60001324B-page 50                                                                       2015-2016 Microchip Technology Inc.
                                                                      PIC32MM0064GPL036 FAMILY

7.0    CPU EXCEPTIONS AND                                                          The             PIC32MM0064GPL036  family  device  interrupt

       INTERRUPT CONTROLLER                                                        module includes the following features:

                                                                                   •  Single Vector or Multivector mode Operation

Note:  This data sheet summarizes the features                                     •  Five External Interrupts with Edge Polarity Control

       of       the                     PIC32MM0064GPL036          family     of   •  Interrupt Proximity Timer

       devices.                         It    is  not   intended   to  be     a    •  Module Freeze in Debug mode

       comprehensive reference source. To com-                                     •  Seven User-Selectable Priority Levels for each

       plement the information in this data sheet,                                    Vector

       refer         to                       Section      8.      “Interrupts”

       (DS60001108) and Section 50. “CPU for                                       •  Four User-Selectable Subpriority Levels within

       Devices with MIPS32® microAptiv™ and                                           each Priority

       M-Class                          Cores”          (DS60001192)   in     the  •  One Shadow Register Set that can be used for

       “PIC32 Family Reference Manual”, which is                                      any Priority Level, Eliminating Software Context

       available                        from      the   Microchip  web     site       Switching and Reducing Interrupt Latency

       (www.microchip.com/PIC32). The informa-                                     •  Software can Generate any Interrupt

       tion     in                      this  data  sheet      supersedes     the  •  User-Configurable Interrupt Vectors’ Offset and

       information in the FRM                                                         Vector Table Location

PIC32MM0064GPL036 family devices generate inter-                                   Figure 7-1 shows the block diagram for the interrupt

rupt  requests  in   response                       to  interrupt  events  from    controller and CPU exceptions.

peripheral modules. The interrupt control module exists

externally to the CPU logic and prioritizes the interrupt

events before presenting them to the CPU.

The CPU handles interrupt events as part of the excep-

tion  handling  mechanism,                          which      is  described  in

Section 7.1 “CPU Exceptions”.

FIGURE 7-1:                             CPU EXCEPTIONS AND INTERRUPT CONTROLLER MODULE BLOCK DIAGRAM

                    Interrupt Requests                                             Vector Number and Offset

                                                        Interrupt Controller       Priority Level                CPU Core

                                                                                                             (Exception Handling)

                                                                                   Shadow Set Number

       SYSCLK

 2015-2016 Microchip Technology Inc.                                                                                 DS60001324B-page 51
DS60001324B-page 52                    7.1        CPU Exceptions                                                                                                                                            PIC32MM0064GPL036

                                       CPU Coprocessor 0 contains the logic for identifying and managing exceptions. Exceptions can be caused by a variety of sources,   including boundary cases in data,

                                       external events or program errors. Table 7-1 lists the exception types in order of priority.

                                       TABLE 7-1:      MIPS32® microAptiv™ UC MICROPROCESSOR CORE EXCEPTION TYPES

                                       Exception Type                                                                                Status     Debug Bits

                                       (In Order of                        Description                  Branches to                  Bits Set   Set         EXCCODE      XC32       Function  Name

                                            Priority)

                                                                                                        Highest Priority

                                       Reset           Assertion of MCLR.                               0xBFC0_0000                  BEV, ERL   —           —            _on_reset

                                       Soft Reset      Execution of a RESET instruction.                0xBFC0_0000                  BEV, SR,   —           —            _on_reset

                                                                                                                                     ERL

                                       DSS             EJTAG debug single step.                         0xBFC0_0480                  —          DSS         —                           —

                                                                                                        (ProbEn = 0 in ECR)

                                                                                                        0xBFC0_0200

                                                                                                        (ProbEn = 1 in ECR)

                                       DINT            EJTAG debug interrupt. Caused by setting the     0xBFC0_0480                  —          DINT        —                           —

                                                       EjtagBrk bit in the ECR register.                (ProbEn = 0 in ECR)                                                                                 FAMILY

                                                                                                        0xBFC0_0200

                                                                                                        (ProbEn = 1 in ECR)

                                       NMI             Non-maskable interrupt.                          0xBFC0_0000                  BEV, NMI,  —           —            _nmi_handler

                                                                                                                                     ERL

                                       Interrupt       Assertion of unmasked hardware or software      See Table 7-2                IPL<2:0>   —           Int (0x00)   See Table 7-2

                                                       interrupt signal.

                                       DIB             EJTAG debug hardware instruction break matched.  0xBFC0_0480                  —          DIB         —                           —

                                                                                                        (ProbEn = 0 in ECR)

                                                                                                        0xBFC0_0200

 2015-2016 Microchip Technology Inc.                                                                   (ProbEn = 1 in ECR)

                                       AdEL            Load address alignment error.                    EBASE + 0x180                EXL        —           ADEL (0x04)  _general_exception_handler

                                       IBE             Instruction fetch bus error.                     EBASE + 0x180                EXL        —           IBE (0x06)   _general_exception_handler

                                       DBp             EJTAG breakpoint (execution of SDBBP            0xBFC0_0480                  DBp        —           —                           —

                                                       instruction).                                    (ProbEn = 0 in ECR)

                                                                                                        0xBFC0_0200

                                                                                                        (ProbEn = 1 in ECR)

                                       Sys             Execution of SYSCALL instruction.                EBASE + 0x180                EXL        —           Sys (0x08)   _general_exception_handler

                                       Bp              Execution of BREAK instruction.                  EBASE + 0x180                EXL        —           Bp (0x09)    _general_exception_handler
 2015-2016 Microchip Technology Inc.  TABLE 7-1:        MIPS32® microAptiv™ UC MICROPROCESSOR CORE EXCEPTION TYPES (CONTINUED)

                                       Exception Type                                                                             Status    Debug Bits

                                           (In Order of               Description                            Branches to          Bits Set  Set          EXCCODE     XC32 Function Name

                                            Priority)

                                       CpU               Execution of a coprocessor instruction for a       EBASE + 0x180        CU, EXL   —            CpU (0x0B)  _general_exception_handler

                                                         coprocessor that is not enabled.

                                       RI                Execution of a reserved instruction.                EBASE + 0x180        EXL       —            RI (0x0A)   _general_exception_handler

                                       Ov                Execution of an arithmetic instruction that        EBASE + 0x180        EXL       —            Ov (0x0C)   _general_exception_handler

                                                         overflowed.

                                       Tr                Execution of a trap (when trap condition is true).  EBASE + 0x180        EXL       —            Tr (0x0D)   _general_exception_handler

                                       DDBL              EJTAG data address break (address only) or          0xBFC0_0480          —         DDBL for a   —           —

                                                         EJTAG data value break on load (address and         (ProbEn = 0 in ECR)            load

                                                         value).                                             0xBFC0_0200                    instruction

                                                                                                             (ProbEn = 1 in ECR)            or DDBS for                                          PIC32MM0064GPL036 FAMILY

                                                                                                                                            a store

                                                                                                                                            instruction

                                       DDBS              EJTAG data address break (address only) or          0xBFC0_0480          —         DDBL for a   —           —

                                                         EJTAG data value break on store (address and        (ProbEn = 0 in ECR)            load

                                                         value).                                             0xBFC0_0200                    instruction

                                                                                                             (ProbEn = 1 in ECR)            or DDBS for

                                                                                                                                            a store

                                                                                                                                            instruction

                                       AdES              Store address alignment error.                      EBASE + 0x180        EXL       —            ADES        _general_exception_handler

                                                                                                                                                         (0x05)

                                       DBE               Load or store bus error.                            EBASE + 0x180        EXL       —            DBE (0x07)  _general_exception_handler

                                       CBrk              EJTAG complex breakpoint.                           0xBFC0_0480          —         DIBImpr,     —           —

                                                                                                             (ProbEn = 0 in ECR)            DDBLImpr

                                                                                                             0xBFC0_0200                    and/or

                                                                                                             (ProbEn = 1 in ECR)            DDBSImpr

                                                                                                             Lowest Priority

DS60001324B-page 53
DS60001324B-page 54                    7.2     Interrupts                                                                                                                                                      PIC32MM0064GPL036

                                       The PIC32MM0064GPL036 family uses          fixed offset for vector spacing. For details, refer to  Section 8. “Interrupts” (DS60001108) in the “PIC32 Family Reference

                                       Manual”. Table 7-2 provides the interrupt  related vectors and bits information.

                                       TABLE 7-2:       INTERRUPTS

                                                                                  MPLAB® XC32 Vector Name                Vector                     Interrupt Related Bits Location               Persistent

                                                   Interrupt Source                                                      Number                                                                   Interrupt

                                                                                                                                          Flag      Enable    Priority               Subpriority

                                       Core Timer                                 _CORE_TIMER_VECTOR                     0                IFS0<0>   IEC0<0>   IPC0<4:2>              IPC0<1:0>    No

                                       Core Software 0                            _CORE_SOFTWARE_0_VECTOR                1                IFS0<1>   IEC0<1>   IPC0<12:10>            IPC0<9:8>    No

                                       Core Software 1                            _CORE_SOFTWARE_1_VECTOR                2                IFS0<2>   IEC0<2>   IPC0<20:18>            IPC0<17:16>  No

                                       External 0                                 _EXTERNAL_0_VECTOR                     3                IFS0<3>   IEC0<3>   IPC0<28:26>            IPC0<25:24>  No

                                       External 1                                 _EXTERNAL_1_VECTOR                     4                IFS0<4>   IEC0<4>   IPC1<4:2>              IPC1<1:0>    No

                                       External 2                                 _EXTERNAL_2_VECTOR                     5                IFS0<5>   IEC0<5>   IPC1<12:10>            IPC1<9:8>    No

                                       External 3                                 _EXTERNAL_3_VECTOR                     6                IFS0<6>   IEC0<6>   IPC1<20:18>            IPC1<17:16>  No

                                       External 4                                 _EXTERNAL_4_VECTOR                     7                IFS0<7>   IEC0<7>   IPC1<28:26>            IPC1<25:24>  No

                                       PORTA Change Notification                  _CHANGE_NOTICE_A_VECTOR                8                IFS0<8>   IEC0<8>   IPC2<4:2>              IPC2<1:0>    No           FAMILY

                                       PORTB Change Notification                  _CHANGE_NOTICE_B_VECTOR                9                IFS0<9>   IEC0<9>   IPC2<12:10>            IPC2<9:8>    No

                                       PORTC Change Notification                  _CHANGE_NOTICE_C_VECTOR                10               IFS0<10>  IEC0<10>  IPC2<20:18>            IPC2<17:16>  No

                                       Timer1                                     _TIMER_1_VECTOR                        11               IFS0<11>  IEC0<11>  IPC2<28:26>            IPC2<25:24>  No

                                       Comparator 1                               _COMPARATOR_1_VECTOR                   12               IFS0<12>  IEC0<12>  IPC3<4:2>              IPC3<1:0>    No

                                       Comparator 2                               _COMPARATOR_2_VECTOR                   13               IFS0<13>  IEC0<13>  IPC3<12:10>            IPC3<9:8>    No

                                       Real-Time Clock Alarm                      _RTCC_VECTOR                           14               IFS0<14>  IEC0<14>  IPC3<20:18>            IPC3<17:16>  No

                                       ADC Conversion                             _ADC_VECTOR                            15               IFS0<15>  IEC0<15>  IPC3<28:26>            IPC3<25:24>  No

 2015-2016 Microchip Technology Inc.  CRC                                        _CRC_VECTOR                            16               IFS0<16>  IEC0<16>  IPC4<4:2>              IPC4<1:0>    Yes

                                       High/Low-Voltage Detect                    _HLVD_VECTOR                           17               IFS0<17>  IEC0<17>  IPC4<12:10>            IPC4<9:8>    Yes

                                       Logic Cell 1                               _CLC1_VECTOR                           18               IFS0<18>  IEC0<18>  IPC4<20:18>            IPC4<17:16>  No

                                       Logic Cell 2                               _CLC2_VECTOR                           19               IFS0<19>  IEC0<19>  IPC4<28:26>            IPC4<25:24>  No

                                       SPI1 Error                                 _SPI1_ERR_VECTOR                       20               IFS0<20>  IEC0<20>  IPC5<4:2>              IPC5<1:0>    Yes

                                       SPI1 Transmission                          _SPI1_TX_VECTOR                        21               IFS0<21>  IEC0<21>  IPC5<12:10>            IPC5<9:8>    Yes

                                       SPI1 Reception                             _SPI1_RX_VECTOR                        22               IFS0<22>  IEC0<22>  IPC5<20:18>            IPC5<17:16>  Yes
 2015-2016 Microchip Technology Inc.  TABLE 7-2:       INTERRUPTS (CONTINUED)

                                                                             MPLAB® XC32 Vector Name      Vector            Interrupt Related Bits Location                Persistent

                                                   Interrupt Source                                       Number                                                           Interrupt

                                                                                                                  Flag      Enable    Priority               Subpriority

                                       UART1 Reception                          _UART1_RX_VECTOR          23      IFS0<23>  IEC0<23>  IPC5<28:26>            IPC5<25:24>   Yes

                                       UART1 Transmission                       _UART1_TX_VECTOR          24      IFS0<24>  IEC0<24>  IPC6<4:2>              IPC6<1:0>     Yes

                                       UART1 Error                           _UART1_ERR_VECTOR            25      IFS0<25>  IEC0<25>  IPC6<12:10>            IPC6<9:8>     Yes

                                       CCP1 Input Capture or Output Compare     _CCP1_VECTOR              29      IFS0<29>  IEC0<29>  IPC7<12:10>            IPC7<9:8>     No

                                       CCP1 Timer                               _CCT1_VECTOR              30      IFS0<30>  IEC0<30>  IPC7<20:18>            IPC7<17:16>   No

                                       CCP2 Input Capture or Output Compare     _CCP2_VECTOR              31      IFS0<31>  IEC0<31>  IPC7<28:26>            IPC7<25:24>   No

                                       CCP2 Timer                               _CCT2_VECTOR              32      IFS1<0>   IEC1<0>   IPC8<4:2>              IPC8<1:0>     No

                                       CCP3 Input Capture or Output Compare     _CCP3_VECTOR              33      IFS1<1>   IEC1<1>   IPC8<12:10>            IPC8<9:8>     No

                                       CCP3 Timer                               _CCT3_VECTOR              34      IFS1<2>   IEC1<2>   IPC8<20:18>            IPC8<17:16>   No

                                       RESERVED                                 —                         35      —         —         —                      —             —           PIC32MM0064GPL036 FAMILY

                                       RESERVED                                 —                         36      —         —         —                      —             —

                                       SPI2 Error                               _SPI2_ERR_VECTOR          37      IFS1<5>   IEC1<5>   IPC9<12:10>            IPC9<9:8>     Yes

                                       SPI2 Transmission                        _SPI2_TX_VECTOR           38      IFS1<6>   IEC1<6>   IPC9<20:18>            IPC9<17:16>   Yes

                                       SPI2 Reception                           _SPI2_RX_VECTOR           39      IFS1<7>   IEC1<7>   IPC9<28:26>            IPC9<25:24>   Yes

                                       UART2 Reception                          _UART2_RX_VECTOR          40      IFS1<8>   IEC1<8>   IPC10<4:2>             IPC10<1:0>    Yes

                                       UART2 Transmission                       _UART2_TX_VECTOR          41      IFS1<9>   IEC1<9>   IPC10<12:10>           IPC10<9:8>    Yes

                                       UART2 Error                           _UART2_ERR_VECTOR            42      IFS1<10>  IEC1<10>  IPC10<20:18>           IPC10<17:16>  Yes

                                       NVM Program or Erase Complete            _NVM_VECTOR               46      IFS1<14>  IEC1<14>  IPC11<20:18>           IPC11<17:16>  Yes

                                       Core Performance Counter              _PERFORMANCE_COUNTER_VECTOR  47      IFS1<15>  IEC1<15>  IPC11<28:26>           IPC11<25:24>  No

DS60001324B-page 55
DS60001324B-page 56                    TABLE 7-3:                                        INTERRUPT REGISTER MAP                                                                                                                                                                                       PIC32MM0064GPL036

                                       Virtual Address                                   Bit Range                                                                               Bits                                                                                                     All Resets

                                                        (BF80_#)      Register  Name(1)             31/15   30/14   29/13   28/12   27/11          26/10     25/9        24/8          23/7      22/6                        21/5      20/4       19/3         18/2    17/1    16/0

                                       F000                           INTCON             31:16      —       —       —       —       —              —            —             —        —                                                        VS<6:0>                                   0000

                                                                                         15:0       —       —       —       MVEC    —                        TPC<2:0>                  —         —                           —         INT4EP   INT3EP         INT2EP  INT1EP  INT0EP     0000

                                       F010                           PRISS              31:16              PRI7SS<3:0>                            PRI6SS<3:0>                                   PRI5SS<3:0>                                                   PRI4SS<3:0>                0000

                                                                                         15:0               PRI3SS<3:0>                            PRI2SS<3:0>                                   PRI1SS<3:0>                                      —            —       —       SS0        0000

                                       F020                           INTSTAT            31:16      —       —       —       —       —              —            —             —        —         —                           —         —          —            —       —               —  0000

                                                                                         15:0       —       —       —       —       —                        SRIPL<2:0>                                                                SIRQ<7:0>                                          0000

                                       F030                           IPTMR              31:16                                                                           IPTMR<31:0>                                                                                                      0000

                                                                                         15:0                                                                                                                                                                                             0000

                                       F040                           IFS0               31:16      CCP2IF  CCT1IF  CCP1IF  —       —              —         U1EIF       U1TXIF        U1RXIF    SPI1RXIF                    SPI1TXIF  SPI1EIF  CLC2IF         CLC1IF  LVDIF   CRCIF      0000

                                                                                         15:0       AD1IF   RTCCIF  CMP2IF  CMP1IF  T1IF           CNCIF(2)  CNBIF       CNAIF         INT4IF    INT3IF                      INT2IF    INT1IF   INT0IF         CS1IF   CS0IF   CTIF       0000

                                       F050                           IFS1               31:16      —       —       —       —       —              —            —             —        —         —                           —         —          —            —       —               —  0000

                                                                                         15:0       CPCIF   NVMIF   —       —       —              U2EIF     U2TXIF      U2RXIF        SPI2RXIF  SPI2TXIF                    SPI2EIF   —          —            CCT3IF  CCP3IF  CCT2IF     0000

                                       F0C0                           IEC0               31:16      CCP2IE  CCT1IE  CCP1IE  —       —              —         U1EIE       U1TXIE        U1RXIE    SPI1RXIE                    SPI1TXIE  SPI1EIE  CLC2IE         CLC1IE  LVDIE   CRCIE      0000

                                                                                         15:0       AD1IE   RTCCIE  CMP2IE  CMP1IE  T1IE           CNCIE(2)  CNBIE       CNAIE         INT4IE    INT3IE                      INT2IE    INT1IE   INT0IE         CS1IE   CS0IE   CTIE       0000        FAMILY

                                       F0D0                           IEC1               31:16      —       —       —       —       —              —            —             —        —         —                           —         —          —            —       —               —  0000

                                                                                         15:0       CPCIE   NVMIE   —       —       —              U2EIE     U2TXIE      U2RXIE        SPI2RXIE  SPI2TXIE                    SPI2EIE   —          —            CCT3IE  CCP3IE  CCT2IE     0000

                                       F140                           IPC0               31:16      —       —       —               INT0IP<2:0>                 INT0IS<1:0>            —         —                           —                  CS1IP<2:0>             CS1IS<1:0>         0000

                                                                                         15:0       —       —       —               CS0IP<2:0>                  CS0IS<1:0>             —         —                           —                  CTIP<2:0>                   CTIS<1:0>     0000

                                       F150                           IPC1               31:16      —       —       —               INT4IP<2:0>                 INT4IS<1:0>            —         —                           —                  INT3IP<2:0>            INT3IS<1:0>        0000

                                                                                         15:0       —       —       —               INT2IP<2:0>                 INT2IS<1:0>            —         —                           —                  INT1IP<2:0>            INT1IS<1:0>        0000

                                       F160                           IPC2               31:16      —       —       —               T1IP<2:0>                      T1IS<1:0>           —         —                           —                  CNCIP<2:0>(2)          CNCIS<1:0>(2)      0000

                                                                                         15:0       —       —       —               CNBIP<2:0>                  CNBIS<1:0>             —         —                           —                  CNAIP<2:0>             CNAIS<1:0>         0000

 2015-2016 Microchip Technology Inc.  F170                           IPC3               31:16      —       —       —               AD1IP<2:0>                  AD1IS<1:0>             —         —                           —                  RTCCIP<2:0>            RTCCIS<1:0>        0000

                                                                                         15:0       —       —       —               CMP2IP<2:0>                 CMP2IS<1:0>            —         —                           —                  CMP1IP<2:0>            CMP1IS<1:0>        0000

                                       F180                           IPC4               31:16      —       —       —               CLC2IP<2:0>                 CLC2IS<1:0>            —         —                           —                  CLC1IP<2:0>            CLC1IS<1:0>        0000

                                                                                         15:0       —       —       —               LVDIP<2:0>                  LVDIS<1:0>             —         —                           —                  CRCIP<2:0>             CRCIS<1:0>         0000

                                       F190                           IPC5               31:16      —       —       —               U1RXIP<2:0>                 U1RXIS<1:0>            —         —                           —                  SPI1RXIP<2:0>          SPI1RXIS<1:0>      0000

                                                                                         15:0       —       —       —               SPI1TXIP<2:0>            SPI1TXIS<1:0>             —         —                           —                  SPI1EIP<2:0>           SPI1EIS<1:0>       0000

                                       F1A0                           IPC6               31:16      —       —       —       —       —              —            —             —        —         —                           —         —          —            —       —               —  0000

                                                                                         15:0       —       —       —               U1EIP<2:0>                  U1EIS<1:0>             —         —                           —                  U1TXIP<2:0>            U1TXIS<1:0>        0000

                                       F1B0                           IPC7               31:16                                      CCP2IP<2:0>                 CCP2IS<1:0>            —         —                           —                  CCT1IP<2:0>            CCT1IS<1:0>        0000

                                                                                         15:0       —       —       —               CCP1IP<2:0>                 CCP1IS<1:0>            —         —                           —         —          —            —       —               —  0000

                                       Legend:                        — = 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 address, plus an offset of 0x4, 0x8 and 0xC, respectively.

                                                                  2:  These bits are not available on 20-pin devices.
 2015-2016 Microchip Technology Inc.  TABLE 7-3:                                        INTERRUPT REGISTER MAP (CONTINUED)

                                       Virtual Address                                   Bit Range                                                                   Bits                                                                                                    All Resets

                                                        (BF80_#)      Register  Name(1)             31/15  30/14  29/13  28/12  27/11          26/10  25/9  24/8           23/7  22/6                                        21/5  20/4  19/3           18/2  17/1  16/0

                                       F1C0                           IPC8               31:16      —      —      —      —      —              —      —           —        —     —                                           —           CCT3IP<2:0>          CCT3IS<1:0>    0000

                                                                                         15:0       —      —      —             CCP3IP<2:0>           CCP3IS<1:0>          —     —                                           —           CCT2IP<2:0>          CCT2IS<1:0>    0000

                                       F1D0                           IPC9               31:16      —      —      —             SPI2RXIP<2:0>         SPI2RXIS<1:0>        —     —                                           —           SPI2TXIP<2:0>        SPI2TXIS<1:0>  0000

                                                                                         15:0       —      —      —             SPI2EIP<2:0>          SPI2EIS<1:0>         —     —                                           —     —     —              —     —           —  0000

                                       F1E0                           IPC10              31:16      —      —      —      —      —              —      —           —        —     —                                           —           U2EIP<2:0>           U2EIS<1:0>     0000

                                                                                         15:0       —      —      —             U2TXIP<2:0>           U2TXIS<1:0>          —     —                                           —           U2RXIP<2:0>          U2RXIS<1:0>    0000

                                       F1F0                           IPC11              31:16      —      —      —             CPCIP<2:0>            CPCIS<1:0>           —     —                                           —           NVMIP<2:0>           NVMIS<1:0>     0000

                                                                                         15:0       —      —      —      —      —              —      —           —        —     —                                           —     —     —              —     —           —  0000

                                       Legend:                        — = 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 address, plus an offset of 0x4, 0x8 and 0xC, respectively.

                                                                  2:  These bits are not available on 20-pin devices.                                                                                                                                                                    PIC32MM0064GPL036 FAMILY

DS60001324B-page 57
PIC32MM0064GPL036 FAMILY

REGISTER 7-1:           INTCON: INTERRUPT CONTROL REGISTER

     Bit         Bit          Bit              Bit            Bit        Bit                    Bit              Bit        Bit

Range       31/23/15/7  30/22/14/6    29/21/13/5         28/20/12/4      27/19/11/3  26/18/10/2        25/17/9/1            24/16/8/0

31:24            U-0          U-0              U-0            U-0        U-0                    U-0              U-0        U-0

                 —            —                —              —           —                     —                —          —

23:16            U-0          R/W-0            R/W-0          R/W-0      R/W-0           R/W-0                   R/W-0      R/W-0

                 —                                                       VS<6:0>

15:8             U-0          U-0              U-0            R/W-0      U-0             R/W-0                   R/W-0      R/W-0

                 —            —                —              MVEC        —                            TPC<2:0>

     7:0         U-0          U-0              U-0            R/W-0      R/W-0           R/W-0                   R/W-0      R/W-0

                 —            —                —         INT4EP          INT3EP          INT2EP        INT1EP               INT0EP

Legend:

R = Readable bit                      W = Writable bit                   U = Unimplemented bit, read as ‘0’

-n = Value at POR                     ‘1’ = Bit is set                   ‘0’ = Bit is cleared          x = Bit is unknown

bit  31-23  Unimplemented: Read as ‘0’

bit  22-16  VS<6:0>: Vector Spacing bits

            Spacing Between Vectors:

            0000000 = 0 Bytes

            0000001 = 8 Bytes

            0000010 = 16 Bytes

            0000100 = 32 Bytes

            0001000 = 64 Bytes

            0010000 = 128 Bytes

            0100000 = 256 Bytes

            1000000 = 512 Bytes

            All other values are reserved.     The operation  of   this  device  is  undefined  if  a  reserved  value  is  written  to  this

            field. If MVEC = 0, this field is  ignored.

bit  15-13  Unimplemented: Read as ‘0’

bit  12     MVEC: Multivector Configuration bit

            1 = Interrupt controller configured for Multivectored mode

            0 = Interrupt controller configured for Single Vectored mode

bit  11     Unimplemented: Read as ‘0’

bit  10-8   TPC<2:0>: Interrupt Proximity Timer Control bits

            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

bit  7-5    Unimplemented: Read as ‘0’

bit  4      INT4EP: External Interrupt 4 Edge Polarity Control bit

            1 = Rising edge

            0 = Falling edge

bit  3      INT3EP: External Interrupt 3 Edge Polarity Control bit

            1 = Rising edge

            0 = Falling edge

DS60001324B-page 58                                                                              2015-2016 Microchip Technology Inc.
                                             PIC32MM0064GPL036                                                      FAMILY

REGISTER 7-1:          INTCON: INTERRUPT CONTROL                     REGISTER    (CONTINUED)

bit 2      INT2EP: External Interrupt 2 Edge Polarity Control        bit

           1 = Rising edge

           0 = Falling edge

bit 1      INT1EP: External Interrupt 1 Edge Polarity Control        bit

           1 = Rising edge

           0 = Falling edge

bit 0      INT0EP: External Interrupt 0 Edge Polarity Control        bit

           1 = Rising edge

           0 = Falling edge

REGISTER 7-2:          PRISS: PRIORITY SHADOW SELECT REGISTER

Bit           Bit            Bit       Bit               Bit              Bit              Bit              Bit                Bit

Range      31/23/15/7  30/22/14/6      29/21/13/5        28/20/12/4  27/19/11/3  26/18/10/2                 25/17/9/1  24/16/8/0

31:24         R/W-0          R/W-0     R/W-0             R/W-0            R/W-0  R/W-0                      R/W-0      R/W-0

                             PRI7SS<3:0>(1)                                                PRI6SS<3:0>(1)

23:16         R/W-0          R/W-0     R/W-0             R/W-0            R/W-0  R/W-0                      R/W-0      R/W-0

                             PRI5SS<3:0>(1)                                                PRI4SS<3:0>(1)

15:8          R/W-0          R/W-0     R/W-0             R/W-0            R/W-0  R/W-0                      R/W-0      R/W-0

                             PRI3SS<3:0>(1)                                                PRI2SS<3:0>(1)

7:0           R/W-0          R/W-0     R/W-0             R/W-0            U-0              U-0              U-0        R/W-0

                             PRI1SS<3:0>(1)                               —                —                —          SS0

Legend:

R = Readable bit                       W = Writable bit              U = Unimplemented          bit,  read  as ‘0’

-n = Value at POR                      ‘1’ = Bit is set              ‘0’ = Bit is cleared             x     = Bit is  unknown

bit 31-28  PRI7SS<3:0>: Interrupt with Priority Level 7 Shadow Set bits(1)

           11111 = Reserved

           •

           •

           •

           0010 = Reserved

           0001 = Interrupt with a priority level of 7 uses Shadow Set 1

           0000 = Interrupt with a priority level of 7 uses Shadow Set 0

bit 27-24  PRI6SS<3:0>: Interrupt with Priority Level 6 Shadow Set bits(1)

           1111 = Reserved

           •

           •

           •

           0010 = Reserved

           0001 = Interrupt with a priority level of 6 uses Shadow Set 1

           0000 = Interrupt with a priority level of 6 uses Shadow Set 0

Note   1:  These bits are ignored if the MVEC bit (INTCON<12>) = 0.

 2015-2016 Microchip Technology Inc.                                                                       DS60001324B-page 59
PIC32MM0064GPL036 FAMILY

REGISTER 7-2:        PRISS: PRIORITY SHADOW SELECT REGISTER                    (CONTINUED)

bit  23-20    PRI5SS<3:0>: Interrupt with Priority Level 5 Shadow Set bits(1)

              1111 = Reserved

              •

              •

              •

              0010 = Reserved

              0001 = Interrupt with a priority level of 5 uses Shadow Set 1

              0000 = Interrupt with a priority level of 5 uses Shadow Set 0

bit  19-16    PRI4SS<3:0>: Interrupt with Priority Level 4 Shadow Set bits(1)

              1111 = Reserved

              •

              •

              •

              0010 = Reserved

              0001 = Interrupt with a priority level of 4 uses Shadow Set 1

              0000 = Interrupt with a priority level of 4 uses Shadow Set 0

bit  15-12    PRI3SS<3:0>: Interrupt with Priority Level 3 Shadow Set bits(1)

              1111 = Reserved

              •

              •

              •

              0010 = Reserved

              0001 = Interrupt with a priority level of 3 uses Shadow Set 1

              0000 = Interrupt with a priority level of 3 uses Shadow Set 0

bit  11-8     PRI2SS<3:0>: Interrupt with Priority Level 2 Shadow Set bits(1)

              1111 = Reserved

              •

              •

              •

              0010 = Reserved

              0001 = Interrupt with a priority level of 2 uses Shadow Set 1

              0000 = Interrupt with a priority level of 2 uses Shadow Set 0

bit  7-4      PRI1SS<3:0>: Interrupt with Priority Level 1 Shadow Set bits(1)

              1111 = Reserved

              •

              •

              •

              0010 = Reserved

              0001 = Interrupt with a priority level of 1 uses Shadow Set 1

              0000 = Interrupt with a priority level of 1 uses Shadow Set 0

bit  3-1      Unimplemented: Read as ‘0’

bit  0        SS0: Single Vector Shadow Register Set bit

              1 = Single vector is presented with a shadow set

              0 = Single vector is not presented with a shadow set

Note      1:  These bits are ignored if the MVEC bit (INTCON<12>) = 0.

DS60001324B-page 60                                                             2015-2016 Microchip  Technology  Inc.
                                              PIC32MM0064GPL036 FAMILY

REGISTER 7-3:             INTSTAT: INTERRUPT             STATUS REGISTER

Bit          Bit               Bit       Bit             Bit             Bit                Bit           Bit             Bit

Range        31/23/15/7   30/22/14/6   29/21/13/5        28/20/12/4   27/19/11/3        26/18/10/2    25/17/9/1      24/16/8/0

31:24        U-0               U-0       U-0             U-0               U-0              U-0           U-0             U-0

             —                 —         —               —                 —                —             —               —

23:16        U-0               U-0       U-0             U-0               U-0              U-0           U-0             U-0

             —                 —         —               —                 —                —             —               —

15:8         U-0               U-0       U-0             U-0               U-0          R-0, HS,  HC  R-0, HS, HC    R-0, HS, HC

             —                 —         —               —                 —                          SRIPL<2:0>(1)

7:0          R-0, HS, HC  R-0, HS, HC  R-0, HS, HC       R-0, HS, HC  R-0, HS, HC       R-0, HS,  HC  R-0, HS, HC    R-0, HS, HC

                                                              SIRQ<7:0>

Legend:                                HS = Hardware Settable bit     HC = Hardware Clearable bit

R = Readable bit                       W = Writable bit               U = Unimplemented bit, read as ‘0’

-n = Value at POR                      ‘1’ = Bit is set               ‘0’ = Bit is cleared            x = Bit is unknown

bit 31-11    Unimplemented: Read as ‘0’

bit 10-8     SRIPL<2:0>: Requested Priority Level for Single Vector Mode bits(1)

             111-000 = The priority level of the latest interrupt presented to the CPU

bit 7-0      SIRQ<7:0>: Last Interrupt Request Serviced Status bits

             11111111-00000000 = The last interrupt request number serviced by the CPU

Note     1:  This value should only be used when the interrupt controller is configured for Single Vector mode.

REGISTER 7-4:             IPTMR: INTERRUPT PROXIMITY TIMER REGISTER

Bit          Bit               Bit       Bit             Bit          Bit                   Bit       Bit                 Bit

Range        31/23/15/7   30/22/14/6   29/21/13/5        28/20/12/4   27/19/11/3   26/18/10/2         25/17/9/1      24/16/8/0

31:24        R/W-0             R/W-0     R/W-0           R/W-0        R/W-0             R/W-0         R/W-0          R/W-0

                                                         IPTMR<31:24>

23:16        R/W-0             R/W-0     R/W-0           R/W-0        R/W-0             R/W-0         R/W-0          R/W-0

                                                         IPTMR<23:16>

15:8         R/W-0             R/W-0     R/W-0           R/W-0        R/W-0             R/W-0         R/W-0          R/W-0

                                                         IPTMR<15:8>

7:0          R/W-0             R/W-0     R/W-0           R/W-0        R/W-0             R/W-0         R/W-0          R/W-0

                                                         IPTMR<7:0>

Legend:

R = Readable bit                       W = Writable bit               U = Unimplemented bit, read as ‘0’

-n = Value at POR                      ‘1’ = Bit is set               ‘0’ = Bit is cleared            x = Bit is unknown

bit 31-0     IPTMR<31:0>: Interrupt Proximity Timer Reload bits

             Used by the interrupt proximity timer as a reload value when the interrupt proximity timer is triggered by an

             interrupt event.

 2015-2016 Microchip Technology Inc.                                                                 DS60001324B-page 61
PIC32MM0064GPL036 FAMILY

REGISTER 7-5:           IFSx: INTERRUPT FLAG STATUS REGISTER                   x(1)

Bit       Bit           Bit          Bit                 Bit       Bit                   Bit  Bit                          Bit

Range     31/23/15/7    30/22/14/6   29/21/13/5        28/20/12/4  27/19/11/3  26/18/10/2     25/17/9/1       24/16/8/0

31:24     R/W-0         R/W-0        R/W-0               R/W-0     R/W-0             R/W-0    R/W-0                        R/W-0

                                                              IFS<31:24>

23:16     R/W-0         R/W-0        R/W-0               R/W-0     R/W-0             R/W-0    R/W-0                        R/W-0

                                                              IFS<23:16>

15:8      R/W-0         R/W-0        R/W-0               R/W-0     R/W-0             R/W-0    R/W-0                        R/W-0

                                                              IFS<15:8>

7:0       R/W-0         R/W-0        R/W-0               R/W-0     R/W-0             R/W-0    R/W-0                        R/W-0

                                                                IFS<7:0>

Legend:

R = Readable bit                     W = Writable bit              U = Unimplemented        bit, read as ‘0’

-n = Value at POR                    ‘1’ = Bit is set              ‘0’ = Bit is cleared       x = Bit is unknown

bit 31-0  IFS<31:0>: Interrupt Flag Status bits

          1 = Interrupt request has occurred

          0 = No interrupt request has occurred

Note  1:  This register represents a generic definition  of   the  IFSx register. Refer to    Table 7-3 for the exact bit

          definitions.

REGISTER 7-6:           IECx: INTERRUPT ENABLE CONTROL REGISTER x(1)

Bit       Bit           Bit          Bit                 Bit       Bit                   Bit  Bit                          Bit

Range     31/23/15/7    30/22/14/6   29/21/13/5        28/20/12/4  27/19/11/3  26/18/10/2     25/17/9/1       24/16/8/0

31:24     R/W-0         R/W-0        R/W-0               R/W-0     R/W-0             R/W-0    R/W-0                        R/W-0

                                                              IEC<31:24>

23:16     R/W-0         R/W-0        R/W-0               R/W-0     R/W-0             R/W-0    R/W-0                        R/W-0

                                                              IEC<23:16>

15:8      R/W-0         R/W-0        R/W-0               R/W-0     R/W-0             R/W-0    R/W-0                        R/W-0

                                                              IEC<15:8>

7:0       R/W-0         R/W-0        R/W-0               R/W-0     R/W-0             R/W-0    R/W-0                        R/W-0

                                                                IEC<7:0>

Legend:

R = Readable bit                     W = Writable bit              U = Unimplemented        bit, read as ‘0’

-n = Value at POR                    ‘1’ = Bit is set              ‘0’ = Bit is cleared       x = Bit is unknown

bit 31-0  IEC<31-0>: Interrupt Enable bits

          1 = Interrupt is enabled

          0 = Interrupt is disabled

Note  1:  This register represents a generic definition  of   the  IECx register. Refer to    Table 7-3 for the exact bit

          definitions.

DS60001324B-page 62                                                                       2015-2016 Microchip Technology Inc.
                                                   PIC32MM0064GPL036 FAMILY

REGISTER 7-7:            IPCx: INTERRUPT PRIORITY CONTROL REGISTER x(1)

Bit           Bit        Bit                  Bit              Bit             Bit               Bit              Bit              Bit

Range      31/23/15/7    30/22/14/6       29/21/13/5        28/20/12/4   27/19/11/3       26/18/10/2         25/17/9/1      24/16/8/0

31:24         U-0        U-0                  U-0           R/W-0              R/W-0      R/W-0                   R/W-0            R/W-0

              —          —                    —                          IP3<2:0>                                        IS3<1:0>

23:16         U-0        U-0                  U-0           R/W-0              R/W-0      R/W-0                   R/W-0            R/W-0

              —          —                    —                          IP2<2:0>                                        IS2<1:0>

15:8          U-0        U-0                  U-0           R/W-0              R/W-0      R/W-0                   R/W-0            R/W-0

              —          —                    —                          IP1<2:0>                                        IS1<1:0>

7:0           U-0        U-0                  U-0           R/W-0              R/W-0      R/W-0                   R/W-0            R/W-0

              —          —                    —                          IP0<2:0>                                        IS0<1:0>

Legend:

R = Readable bit                          W = Writable bit               U = Unimplemented bit, read as ‘0’

-n = Value at POR                         ‘1’ = Bit is set               ‘0’ = Bit is cleared                x = Bit is unknown

bit 31-29  Unimplemented: Read as ‘0’

bit 28-26  IP3<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 25-24  IS3<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 23-21  Unimplemented: Read as ‘0’

bit 20-18  IP2<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 17-16  IS2<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 15-13  Unimplemented: Read as ‘0’

Note  1:   This register represents a generic      definition  of   the  IPCx  register.  Refer  to   Table  7-3  for  the  exact  bit

           definitions.

 2015-2016 Microchip Technology Inc.                                                                             DS60001324B-page 63
PIC32MM0064GPL036 FAMILY

REGISTER 7-7:               IPCx: INTERRUPT PRIORITY CONTROL REGISTER x(1) (CONTINUED)

bit  12-10    IP1<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  9-8      IS1<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-5      Unimplemented: Read as ‘0’

bit  4-2      IP0<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-0      IS0<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      1:  This register represents a generic definition of the IPCx register. Refer to Table 7-3 for the exact  bit

              definitions.

DS60001324B-page 64                                  2015-2016 Microchip Technology                                     Inc.
                                                PIC32MM0064GPL036 FAMILY

8.0       OSCILLATOR                                          8.1  Fail-Safe Clock Monitor (FSCM)

          CONFIGURATION                                       The  PIC32MM0064GPL036  family  oscillator  system

   Note:     This data sheet summarizes the features          includes a Fail-Safe Clock Monitor (FSCM). The FSCM

             of  the   PIC32MM0064GPL036        family    of  monitors the SYSCLK for continuous operation. If it

             devices.  It    is  not  intended  to    be  a   detects that the SYSCLK has failed, it switches the

             comprehensive        reference  source.      To  SYSCLK over to the FRC oscillator and triggers a Non-

             complement the information in this data          Maskable Interrupt (NMI). When the NMI is executed,

             sheet, refer to Section 59. “Oscillators         software can attempt to restart the main oscillator or

             with DCO” (DS60001329) in the “PIC32             shut down the system.

             Family Reference Manual”, which is avail-        In Sleep mode, both the SYSCLK and the FSCM halt,

             able      from  the  Microchip     web     site  which prevents FSCM detection.

             (www.microchip.com/PIC32).         The   infor-

             mation in this data sheet supersedes the

             information in the FRM.

The  PIC32MM0064GPL036            family  oscillator  system

has the following modules and features:

•  On-Chip PLL with User-Selectable Multiplier and

   Output Divider to Boost Operating Frequency on

   Select Internal and External Oscillator Sources

•  Primary High-Frequency Crystal Oscillator

•  Secondary Low-Frequency and Low-Power 

   Crystal Oscillator

•  On-Chip Fast RC (FRC) Oscillator with 

   User-Selectable Output Divider

•  Software-Controllable Switching between Various

   Clock Sources

•  Fail-Safe Clock Monitor (FSCM) that Detects

   Clock Failure and Permits Safe Application

   Recovery or Shutdown

•  Flexible Reference Clock Output (REFO)

A block diagram of the oscillator system is provided in

Figure 8-1.

 2015-2016 Microchip Technology Inc.                                                         DS60001324B-page 65
PIC32MM0064GPL036 FAMILY

FIGURE 8-1:          PIC32MM0064GPL036 FAMILY OSCILLATOR DIAGRAM

                                                                                                                  Reference Clock

                         2 MHz ≤ FIN ≤ 24 MHz                                                          REFO1CON                     REFO1TRIM

                         16 MHz ≤ FVCO ≤ 96 MHz                                                        ROTRIM<8:0> (M)

                                                                         REFCLKI                                                    OE

                                                                                  POSC

             System PLL                                                           FRC                   2  N + 5---M-1---2--

                                                                                  LPRC

                         FIN(1)  PLL x M     Fvco(1)                     SPLLVCO SOSC                                               REFCLKO

                                                      PLLODIV<2:0>       SYSCLK                        RODIV<14:0> (N)
                                                      (N)
                              PLLMULT<6:0>                                                                        To MCCP, SCCP

             PLLICLK             (M)                  N  FPLL(1)                                                          and SPIx

                                                                                               ROSEL<3:0>

                     Primary                                                      SPLL

             Oscillator (POSC)

                                                                         POSC (HS, EC)

             OSC1/
             CLKI

                                 POSCMOD<1:0>

             OSC2                                                        To ADC, WDT, UART

                                                                         and Flash Controller

             FRC                 8 MHz                                            FRCDIV                          SYSCLK (FSYS)

             Oscillator                               Postscaler N

             TUN<5:0>                                 FRCDIV<2:0>
                                                                    (N)

             LPRC                32 kHz                                           LPRC                                              PBCLK (FPB)

             Oscillator

Secondary Oscillator (SOSC)

                                 32.768 kHz                                       SOSC

SOSCO/                        SOSCEN

SCLKI                SOSCSEL                                                                           Clock Control Logic

SOSCI                                                                                                  Fail-Safe
                                                                                                       Clock
                                                                                                       Monitor

                                                                                  FNOSC<2:0>           NOSC<2:0>
                                                                                                       COSC<2:0>

                                                                                               FCKSM<1:0>         OSWEN

                                                                                                           To Timer1, WDT, RTCC

                                                                                        To Timer1, RTCC, MCCP/SCCP and CLC

Note 1:  Refer to Table 26-18 in Section 26.0 “Electrical Characteristics” for frequency limitations.

DS60001324B-page 66                                                                                     2015-2016 Microchip Technology          Inc.
 2015-2016 Microchip Technology Inc.  8.2                            Oscillator Control Registers

                                       TABLE 8-1:                                        OSCILLATOR CONFIGURATION REGISTER MAP

                                       Virtual Address                                                                                                                          Bits                                                                                        All Resets(1)

                                                        (BF80_#)      Register  Name(2)  Bit Range  31/15  30/14  29/13      28/12  27/11        26/10     25/9           24/8        23/7                22/6  21/5           20/4     19/3        18/2  17/1      16/0

                                       2000                           OSCCON             31:16      —      —      —          —      —                      FRCDIV<2:0>                —                   —     —              —        —           —     —         —       0000

                                                                                         15:0       —             COSC<2:0>         —                      NOSC<2:0>              CLKLOCK                 —     —              SLPEN    CF          —     SOSCEN    OSWEN   xx0x

                                       2020                       SPLLCON                31:16      —      —      —          —      —                      PLLODIV<2:0>               —                                               PLLMULT<6:0>                          0001

                                                                                         15:0       —      —      —          —      —            —         —              —       PLLICLK                 —     —              —        —           —     —         —       0000

                                       20A0                       REFO1CON               31:16      —                                                                             RODIV<14:0>                                                                               0000

                                                                                         15:0       ON     —      SIDL       OE     RSLP         —         DIVSWEN        ACTIVE      —                   —     —              —                    ROSEL<3:0>              0000

                                       20B0                       REFO1TRIM              31:16                                      ROTRIM<8:0>                                                           —     —              —        —           —     —         —       0000

                                                                                         15:0       —      —      —          —      —            —         —              —           —                   —     —              —        —           —     —         —       0000

                                       21D0                           CLKSTAT            31:16      —      —      —          —      —            —         —              —           —                   —     —              —        —           —     —         —       0000           PIC32MM0064GPL036 FAMILY

                                                                                         15:0       —      —      —          —      —            —         —              —       SPLLRDY                 —     LPRCRDY        SOSCRDY  —     POSCRDY     SPDIVRDY  FRCRDY  0000

                                       2200                           OSCTUN             31:16      —      —      —          —      —            —         —              —           —                   —     —              —        —           —     —         —       0000

                                                                                         15:0       —      —      —          —      —            —         —              —           —                   —                             TUN<5:0>                            0000

                                       Legend:                        x = unknown value on Reset; — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.

                                       Note                       1:  Reset values are dependent on the FOSCSEL Configuration bits and the type of Reset.

                                                                  2:  All registers in this table have corresponding CLR, SET and INV registers at their virtual address, plus an offset of 0x4, 0x8 and  0xC,  respectively.

DS60001324B-page 67
PIC32MM0064GPL036 FAMILY

REGISTER 8-1:              OSCCON:      OSCILLATOR CONTROL                REGISTER(1)

Bit              Bit           Bit           Bit              Bit         Bit                   Bit  Bit                  Bit

Range       31/23/15/7     30/22/14/6       29/21/13/5        28/20/12/4  27/19/11/3  26/18/10/2     25/17/9/1     24/16/8/0

31:24            U-0           U-0           U-0              U-0         U-0          R/W-0         R/W-0                R/W-0

                 —             —             —                —           —                          FRCDIV<2:0>

23:16            U-0           U-0           U-0              U-0         U-0                   U-0  U-0                  U-0

                 —             —             —                —           —                     —    —                    —

15:8             U-0           R-y           R-y              R-y         U-0          R/W-y         R/W-y                R/W-y

                 —                         COSC<2:0>(3)                   —                          NOSC<2:0>(3)

7:0         R/W-0              U-0           U-0              R/W-0       R/W-0, HS             U-0  R/W-y                R/W-y

            CLKLOCK            —             —                SLPEN       CF                    —    SOSCEN(4)     OSWEN(2)

Legend:                                    HS = Hardware Settable bit     y = Value set from Configuration bits on Reset

R = Readable bit                           W = Writable bit               U = Unimplemented bit, read as ‘0’

-n = Value at POR                          ‘1’ = Bit is set               ‘0’ = Bit is cleared       x = Bit is unknown

bit 31-27   Unimplemented: Read as ‘0’

bit 26-24   FRCDIV<2:0>: Internal Fast RC (FRC) Oscillator Clock Divider bits

            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

            000    =  FRC  divided  by  1 (default  setting)

bit 23-15   Unimplemented: Read as ‘0’

bit 14-12   COSC<2:0>: Current Oscillator Selection bits(3)

            111    and  110 =  Reserved (selects internal Fast RC (FRC) Oscillator divided by        the      FRCDIV<2:0>      bits

                               (FRCDIV))

            101 = Internal Low-Power RC (LPRC) Oscillator

            100 = Secondary Oscillator (SOSC)

            011 = Reserved

            010 = Primary Oscillator (POSC) (XT, HS or EC)

            001 = System PLL (SPLL)

            000 = Internal Fast RC (FRC) Oscillator divided by FRCDIV<2:0> bits (FRCDIV)

bit 11      Unimplemented: Read as ‘0’

Note    1:  Writes to this register require an unlock sequence. Refer to Section 23.4 “System Registers Write

            Protection” for details.

        2:  The Reset value for this bit depends on the setting of the IESO (FOSCSEL<7>) Configuration bit. When

            IESO = 1, the Reset value is ‘1’. When IESO = 0, the Reset value is ‘0’.

        3:  The Reset value for these bits matches the setting of the FNOSC<2:0> (FOSCSEL<2:0>) Configuration

            bits.

        4:  The Reset value for this bit matches the setting of the SOSCEN (FOSCSEL<6>) Configuration bit.

DS60001324B-page 68                                                                              2015-2016 Microchip Technology Inc.
                                                 PIC32MM0064GPL036 FAMILY

REGISTER 8-1:             OSCCON: OSCILLATOR CONTROL REGISTER(1) (CONTINUED)

bit  10-8     NOSC<2:0>: New Oscillator Selection bits(3)

              111    and  110 =  Reserved   (selects  internal  Fast  RC  (FRC)  Oscillator  divided  by  FRCDIV<2:0>  bits

                                 (FRCDIV))

              101 = Internal Low-Power RC (LPRC) Oscillator

              100 = Secondary Oscillator (SOSC)

              011 = Reserved

              010 = Primary Oscillator (POSC) (XT, HS or EC)

              001 = System PLL (SPLL)

              000 = Internal Fast RC (FRC) Oscillator divided by FRCDIV<2:0> bits (FRCDIV)

              On Reset, these bits are set to the value of the FNOSC<2:0> Configuration bits (FOSCSEL<2:0>).

bit  7        CLKLOCK: Clock Selection Lock Enable bit

              1 = Clock and PLL selections are locked

              0 = Clock and PLL selections are not locked and may be modified

bit  6-5      Unimplemented: Read as ‘0’

bit  4        SLPEN: Sleep Mode Enable bit

              1 = Device will enter Sleep mode when a WAIT instruction is executed

              0 = Device will enter Idle mode when a WAIT instruction is executed

bit  3        CF: Clock Fail Detect bit

              1 = FSCM has detected a clock failure

              0 = No clock failure has been detected

bit  2        Unimplemented: Read as ‘0’

bit  1        SOSCEN: Secondary Oscillator (SOSC) Enable bit(4)

              1 = Enables Secondary Oscillator

              0 = Disables Secondary Oscillator

bit  0        OSWEN: Oscillator Switch Enable bit(2)

              1 = Initiates an oscillator switch to a selection specified by the NOSC<2:0> bits

              0 = Oscillator switch is complete

Note      1:  Writes to this register require an unlock sequence. Refer to Section 23.4 “System Registers Write

              Protection” for details.

          2:  The Reset value for this bit depends on the setting of the IESO (FOSCSEL<7>) Configuration bit. When

              IESO = 1, the Reset value is ‘1’. When IESO = 0, the Reset value is ‘0’.

          3:  The Reset value for these bits matches the setting of the FNOSC<2:0> (FOSCSEL<2:0>) Configuration

              bits.

          4:  The Reset value for this bit matches the setting of the SOSCEN (FOSCSEL<6>) Configuration bit.

 2015-2016 Microchip Technology Inc.                                                                 DS60001324B-page 69
PIC32MM0064GPL036 FAMILY

REGISTER 8-2:          SPLLCON:      SYSTEM PLL CONTROL REGISTER(1)

Bit        Bit            Bit              Bit         Bit         Bit                   Bit  Bit                 Bit

Range      31/23/15/7    30/22/14/6  29/21/13/5        28/20/12/4  27/19/11/3    26/18/10/2   25/17/9/1           24/16/8/0

31:24      U-0            U-0              U-0         U-0         U-0             R/W-0      R/W-0               R/W-0

           —              —                —           —           —                          PLLODIV<2:0>

23:16      U-0            R/W-0            R/W-0       R/W-0       R/W-0           R/W-0      R/W-0               R/W-1

           —                                                       PLLMULT<6:0>

15:8       U-0            U-0              U-0         U-0         U-0                   U-0  U-0                 U-0

           —              —                —           —           —                     —             —          —

7:0        R/W-y          U-0              U-0         U-0         U-0                   U-0  U-0                 U-0

           PLLICLK        —                —           —           —                     —             —          —

Legend:                              y = Values set from Configuration bits on Reset

R = Readable bit                     W = Writable bit              U = Unimplemented bit, read as ‘0’

-n = Value at POR                    ‘1’ = Bit is set              ‘0’ = Bit is cleared       x = Bit is unknown

bit 31-27  Unimplemented: Read as ‘0’

bit 26-24  PLLODIV<2:0>: System PLL Output Clock Divider bits

           111 = PLL divide-by-256

           110 = PLL divide-by-64

           101 = PLL divide-by-32

           100 = PLL divide-by-16

           011 = PLL divide-by-8

           010 = PLL divide-by-4

           001 = PLL divide-by-2

           000 = PLL divide-by-1 (default setting)

bit 23     Unimplemented: Read as ‘0’

bit 22-16  PLLMULT<6:0>: System PLL Multiplier bits

           111111-0000111 = Reserved

           0000110 = 24x

           0000101 = 12x

           0000100 = 8x

           0000011 = 6x

           0000010 = 4x

           0000001 = 3x (default setting)

           0000000 = 2x

bit 15-8   Unimplemented: Read as ‘0’

bit 7      PLLICLK: System PLL Input Clock Source bit

           1 = FRC is selected as the input to the system PLL (not divided)

           0 = POSC is selected as the input to the system PLL

           The POR default value is specified by the PLLSRC Configuration bit in the          FOSCSEL  register.  Refer  to

           Register 23-9 in Section 23.0 “Special Features” for more information.

bit 6-0    Unimplemented: Read as ‘0’

Note 1:    Writes to this register require an unlock sequence. Refer to Section 23.4 “System Registers Write

           Protection” for details. All bits in this register must be modified only if the PLL is not used.

DS60001324B-page 70                                                                       2015-2016 Microchip Technology Inc.
                                                    PIC32MM0064GPL036 FAMILY

REGISTER 8-3:            REFO1CON: REFERENCE OSCILLATOR CONTROL REGISTER

Bit          Bit         Bit                 Bit            Bit           Bit               Bit               Bit               Bit

Range        31/23/15/7  30/22/14/6    29/21/13/5         28/20/12/4  27/19/11/3     26/18/10/2           25/17/9/1         24/16/8/0

31:24        U-0         R/W-0               R/W-0          R/W-0         R/W-0             R/W-0         R/W-0             R/W-0

             —                                                        RODIV<14:8>

23:16        R/W-0       R/W-0               R/W-0          R/W-0         R/W-0             R/W-0         R/W-0             R/W-0

                                                            RODIV<7:0>

15:8         R/W-0       U-0                 R/W-0          R/W-0         R/W-0             U-0           R/W-0, HC         R-0, HS, HC

             ON(1)       —                   SIDL           OE            RSLP(2)           —      DIVSWEN                  ACTIVE(1)

7:0          U-0         U-0                 U-0            U-0           R/W-0             R/W-0         R/W-0             R/W-0

             —           —                      —           —                               ROSEL<3:0>(3)

Legend:                                HC = Hardware Clearable bit    HS = Hardware Settable bit

R = Readable bit                       W = Writable bit               U = Unimplemented bit, read as ‘0’

-n = Value at POR                      ‘1’ = Bit is set               ‘0’ = Bit is cleared         x = Bit is unknown

bit 31       Unimplemented: Read as ‘0’

bit 30-16    RODIV<14:0> Reference Clock Divider bits

             The value selects the reference clock divider bits (see Figure 8-1 for  details).  A  value  of  ‘0’  selects  no  divider.

bit 15       ON: Reference Oscillator Output Enable bit(1)

             1 = Reference oscillator module is enabled

             0 = Reference oscillator module is disabled

bit 14       Unimplemented: Read as ‘0’

bit 13       SIDL: Peripheral Stop in Idle Mode bit

             1 = Discontinues module operation when device enters Idle mode

             0 = Continues module operation in Idle mode

bit 12       OE: Reference Clock Output Enable bit

             1 = Reference clock is driven out on the REFCLKO pin

             0 = Reference clock is not driven out on the REFCLKO pin

bit 11       RSLP: Reference Oscillator Module Run in Sleep bit(2)

             1 = Reference oscillator module output continues to run in Sleep

             0 = Reference oscillator module output is disabled in Sleep

bit 10       Unimplemented: Read as ‘0’

bit 9        DIVSWEN: Divider Switch Enable bit

             1 = Divider switch is in progress

             0 = Divider switch is complete

bit 8        ACTIVE: Reference Clock Request Status bit(1)

             1 = Reference clock request is active

             0 = Reference clock request is not active

bit 7-4      Unimplemented: Read as ‘0’

Note     1:  Do not write to this register when the ON bit is not equal to the ACTIVE bit.

         2:  This bit is ignored when the ROSEL<3:0> bits = 0000.

         3:  The ROSEL<3:0> bits should not be written while the ACTIVE bit is ‘1’, as undefined behavior may result.

 2015-2016 Microchip Technology Inc.                                                                         DS60001324B-page 71
PIC32MM0064GPL036 FAMILY

REGISTER 8-3:         REFO1CON: REFERENCE OSCILLATOR CONTROL REGISTER (CONTINUED)

bit 3-0      ROSEL<3:0>: Reference Clock Source Select   bits(3)

             1111 = Reserved

             •

             •

             •

             1010  =  Reserved

             1001  =  REFCLKI pin

             1000  =  Reserved

             0111  =  System PLL output (not divided)

             0110  =  Reserved

             0101  =  Secondary Oscillator (SOSC)

             0100  =  Low-Power RC Oscillator (LPRC)

             0011  =  Fast RC Oscillator (FRC)

             0010  =  Primary Oscillator (POSC)

             0001  =  Instruction/System Clock (SYSCLK)

             0000  =  Instruction/System Clock (SYSCLK)

Note     1:  Do not write to this register when the ON bit is not equal to the ACTIVE bit.

         2:  This bit is ignored when the ROSEL<3:0> bits = 0000.

         3:  The ROSEL<3:0> bits should not be written while the ACTIVE bit is ‘1’, as undefined behavior may result.

DS60001324B-page 72                                                 2015-2016 Microchip Technology Inc.
                                         PIC32MM0064GPL036 FAMILY

REGISTER 8-4:             REFO1TRIM:     REFERENCE OSCILLATOR TRIM                 REGISTER(1,2,3)

Bit           Bit               Bit      Bit               Bit          Bit                  Bit  Bit                 Bit

Range         31/23/15/7     30/22/14/6  29/21/13/5        28/20/12/4  27/19/11/3  26/18/10/2     25/17/9/1  24/16/8/0

31:24         R/W-0             R/W-0    R/W-0             R/W-0        R/W-0      R/W-0          R/W-0      R/W-0

                                                           ROTRIM<8:1>

23:16         R/W-0             U-0      U-0               U-0          U-0                  U-0  U-0                 U-0

           ROTRIM<0>            —        —                 —            —                    —      —                 —

15:8          U-0               U-0      U-0               U-0          U-0                  U-0  U-0                 U-0

              —                 —        —                 —            —                    —      —                 —

7:0           U-0               U-0      U-0               U-0          U-0                  U-0  U-0                 U-0

              —                 —        —                 —            —                    —      —                 —

Legend:

R = Readable bit                         W = Writable bit              U = Unimplemented bit, read as ‘0’

-n = Value at POR                        ‘1’ = Bit is set              ‘0’ = Bit is cleared       x = Bit is unknown

bit 31-23  ROTRIM<8:0>: Reference Oscillator Trim bits

           111111111      =  511/512 divisor added to the RODIVx value

           111111110      =  510/512 divisor added to the RODIVx value

           •

           •

           •

           100000000      =  256/512 divisor added to the RODIVx value

           •

           •

           •

           000000010      =  2/512 divisor added to the RODIVx value

           000000001      =  1/512 divisor added to the RODIVx value

           000000000      =  0 divisor added to the RODIVx value

bit 22-0   Unimplemented: Read as ‘0’

Note  1:   While the ON bit (REFO1CON<15>) is ‘1’, writes to this register do not take effect until the DIVSWEN bit

           is also set to ‘1’.

      2:   Do not write to this register when the ON bit (REFO1CON<15>) is not equal to the ACTIVE bit

           (REFO1CON<8>).

      3:   Specified values in this register do not take effect if RODIV<14:0> (REFO1CON<30:16>) = 0.

 2015-2016 Microchip Technology Inc.                                                               DS60001324B-page 73
PIC32MM0064GPL036 FAMILY

REGISTER 8-5:           CLKSTAT:   CLOCK STATUS REGISTER

     Bit   Bit          Bit                  Bit       Bit               Bit            Bit    Bit               Bit

Range      31/23/15/7   30/22/14/     29/21/13/5     28/20/12/4   27/19/11/3    26/18/10/2     25/17/9/1    24/16/8/0

                        6

31:24      U-0          U-0                  U-0       U-0               U-0            U-0    U-0               U-0

           —            —                    —         —                 —              —      —                 —

23:16      U-0          U-0                  U-0       U-0               U-0            U-0    U-0               U-0

           —            —                    —         —                 —              —      —                 —

15:8       U-0          U-0                  U-0       U-0               U-0            U-0    U-0               U-0

           —            —                    —         —                 —              —      —                 —

     7:0   R-0, HS, HC  U-0           R-0, HS, HC    R-0, HS, HC         U-0    R-0, HS, HC    R-0, HS, HC  R-0, HS, HC

           SPLLRDY      —             LPRCRDY        SOSCRDY             —      POSCRDY      SPDIVRDY       FRCRDY

Legend:                            HS = Hardware Settable bit     HC = Hardware Clearable bit

R = Readable bit                   W = Writable bit               U = Unimplemented bit, read as ‘0’

-n = Value at POR                  ‘1’ = Bit is set               ‘0’ = Bit is cleared       x = Bit is unknown

bit  31-8  Unimplemented: Read as ‘0’

bit  7     SPLLRDY: PLL Lock bit

           1 = PLL is locked and ready

           0 = PLL is not locked

bit  6     Unimplemented: Read as ‘0’

bit  5     LPRCRDY: LPRC Oscillator Ready bit

           1 = LPRC oscillator is stable and ready

           0 = LPRC oscillator is not stable

bit  4     SOSCRDY: Secondary Oscillator (SOSC) Ready bit

           1 = SOSC is stable and ready

           0 = SOSC is not stable

bit  3     Unimplemented: Read as ‘0’

bit  2     POSCRDY: Primary Oscillator (POSC) Ready bit

           1 = POSC is stable and ready

           0 = POSC is not stable

bit  1     SPDIVRDY: System PLL (with postscaler, SPLLDIV)        Clock  Ready  Status  bit

           1 = SPLLDIV is stable and ready

           0 = SPLLDIV is not stable

bit  0     FRCRDY: Fast RC (FRC) Oscillator Ready bit

           1 = FRC oscillator is stable and ready

           0 = FRC oscillator is not stable

DS60001324B-page 74                                                              2015-2016 Microchip Technology Inc.
                                                   PIC32MM0064GPL036 FAMILY

REGISTER 8-6:            OSCTUN: FRC TUNING              REGISTER(1)

Bit             Bit      Bit             Bit             Bit          Bit                  Bit  Bit                 Bit

Range        31/23/15/7  30/22/14/6    29/21/13/5        28/20/12/4   27/19/11/3  26/18/10/2    25/17/9/1      24/16/8/0

31:24           U-0      U-0             U-0             U-0          U-0                  U-0  U-0                 U-0

                —        —                      —        —            —                    —    —                   —

23:16           U-0      U-0             U-0             U-0          U-0                  U-0  U-0                 U-0

                —        —                      —        —            —                    —    —                   —

15:8            U-0      U-0             U-0             U-0          U-0                  U-0  U-0                 U-0

                —        —                      —        —            —                    —    —                   —

7:0             U-0      U-0             R/W-0           R/W-0        R/W-0       R/W-0         R/W-0          R/W-0

                —        —                                            TUN<5:0>(2)

Legend:

R = Readable bit                       W = Writable bit              U = Unimplemented bit, read as ‘0’

-n = Value at POR                      ‘1’ = Bit is set              ‘0’ = Bit is cleared       x = Bit is unknown

bit 31-6     Unimplemented: Read as ‘0’

bit 5-0      TUN<5:0>: FRC Oscillator Tuning bits(2)

             100000 = Center frequency – 1.5%

             100001

             •

             •

             •

             111111

             000000 = Center frequency; oscillator runs  at  8  MHz

             000001

             •

             •

             •

             011110

             011111 = Center frequency + 1.5%

Note     1:  Writes to this register require an unlock sequence. Refer to Section 23.4 “System Registers Write

             Protection” for details.

         2:  OSCTUN functionality has been provided to help customers compensate for temperature effects on the

             FRC frequency over a wide range of temperatures. The tuning step-size is an approximation and is

             neither characterized nor tested.

 2015-2016 Microchip Technology Inc.                                                           DS60001324B-page 75
PIC32MM0064GPL036    FAMILY

NOTES:

DS60001324B-page 76           2015-2016 Microchip Technology Inc.
                                                     PIC32MM0064GPL036 FAMILY

9.0    I/O PORTS                                                 Many of the device pins are shared among the periph-

                                                                 erals and the Parallel I/O (PIO) ports. All I/O input ports

Note:  This data sheet summarizes the features                   feature              Schmitt  Trigger     inputs        for  improved  noise

       of    the  PIC32MM0064GPL036                  family  of  immunity. Some pins in the devices are 5V tolerant

       devices.    It  is  not   intended            to  be  a   pins. Some of the key features of the I/O ports are:

       comprehensive       reference             source.     To  •     Individual Output Pin Open-Drain Enable/Disable

       complement the information in this data                   •     Individual Input Pin Weak Pull-up and Pull-Down

       sheet, refer to Section 12. “I/O Ports”                   •     Monitor Selective Inputs and Generate Interrupt

       (DS60001120)        in    the       “PIC32        Family        when Change-in-Pin State is Detected

       Reference       Manual”,        which     is  available   •     Operation during Sleep and Idle modes

       from       the      Microchip             web      site   •     Fast Bit Manipulation using the CLR, SET and

       (www.microchip.com/PIC32).                The     infor-        INV registers

       mation in this data sheet supersedes the

       information in the FRM.                                   Figure 9-1           illustrates  a       block   diagram    of  a     typical

                                                                 multiplexed I/O port.

FIGURE 9-1:        BLOCK DIAGRAM OF A TYPICAL                    SHARED PORT STRUCTURE

                          Peripheral Module                      Output Multiplexers

                       Peripheral Input Data

                       Peripheral Module Enable                                                            I/O

                       Peripheral Output Enable                     1  Output Enable

                       Peripheral Output Data                       0

                           PIO Module                               1  Output Data

             Read  TRISx                                            0

             Data Bus                  D      Q                                                                 I/O Pin

             WR TRISx                  CK

                                 TRISx Latch

                                       D      Q

             WR LATx +                 CK

             WR PORTx

                                 Data Latch

             Read LATx

                                                                                               Input Data

             Read PORTx

 2015-2016 Microchip Technology Inc.                                                                              DS60001324B-page 77
PIC32MM0064GPL036 FAMILY

9.1         CLR, SET and INV Registers                                  9.5        I/O Port Write/Read Timing

Every I/O module register has a corresponding CLR                       One     instruction  cycle     is   required  between           a  port

(Clear), SET (Set) and INV (Invert) register designed to                direction change or port write operation and a read

provide fast atomic bit manipulations. As the name of                   operation of the same port. Typically, this instruction

the register implies, a value written to a SET, CLR or                  would be a NOP.

INV register effectively performs the implied operation,

but only on the corresponding base register and only                    9.6        Input Change Notification (ICN)

bits specified as ‘1’ are modified. Bits specified as ‘0’               The Input Change Notification function of the I/O ports

are not modified.                                                       allows     the  PIC32MM        devices  to    generate          interrupt

Reading SET, CLR and INV registers returns undefined                    requests to the processor in response to a Change-of-

values. To see the affects of a write operation to a SET,               State (COS) on selected input pins. This feature can

CLR or INV register, the base register must be read.                    detect  input   Change-of-States        even      in  Sleep       mode,

9.2         Parallel I/O (PIO) Ports                                    when the clocks are disabled. Every I/O port pin can be

                                                                        selected (enabled) for generating an interrupt request on

All port pins have 14 registers directly associated with                a Change-of-State. Five control registers are associated

their operation as digital I/Os. The Data Direction register            with the Change Notification (CN) functionality of each

(TRISx) determines whether the pin is an input or an out-               I/O port. To enable the Change Notification feature for

put. If the data direction bit is a ‘1’, then the pin is an input.      the port, the ON bit (CNCONx<15>) must be set.

All port pins are defined as inputs after a Reset. The LATx             The CNEN0x and CNEN1x registers contain the CN

register controls the pin level when it is configured as an             interrupt enable control bits for each of the input pins.

output. Reads from the PORTx register read the port pins,               The setting of these bits enables a CN interrupt for the

while writes to the port pins write the latch, LATx. The I/Os           corresponding pins. Also, these bits, in combination

state reflected in the PORTx register is synchronized with              with the CNSTYLE bit (CNCONx<11>), define a type of

the system clock and delayed by 3 system clock cycles.                  transition when the interrupt is generated. Possible CN

9.3         Open-Drain Configuration                                    event options are listed in Table 9-1.

In addition to the PORTx, LATx and TRISx registers for                  TABLE 9-1:           CHANGE NOTIFICATION

data control, the port pins can also be individually config-                                 EVENT OPTIONS

ured  for   either  digital  or    open-drain   outputs.   This     is

controlled  by   the  Open-Drain   Control      register,  ODCx,        CNSTYLE Bit     CNEN1x      CNEN0x      Change Notification Event

associated with each port. Setting any of the bits config-              (CNCONx<11>)         Bit       Bit                Description

ures the corresponding pin to act as an open-drain output.                      0       Does not       0        Disabled

The   open-drain      feature      allows  the  generation          of                   matter

outputs higher than VDD (e.g., 5V), on any desired 5V                           0       Does not       1        Detects a mismatch between

tolerant pins, by using external pull-up resistors. The                                  matter                 the last read state and the

maximum open-drain voltage allowed is the same as                                                               current state of the pin

the maximum VIH specification.                                                  1            0         0        Disabled

                                                                                1            0         1        Detects a positive transition

9.4         Configuring Analog and Digital                                                                      only (from ‘0’ to ‘1’)

            Port Pins                                                           1            1         0        Detects a negative transition

                                                                                                                only (from ‘1’ to ‘0’)

When the PORTx register is read, all pins configured as                         1            1         1        Detects both positive and

analog input channels are read as cleared (a low level).                                                        negative transitions

Pins  configured      as  digital  inputs  do   not  convert        an  The  CNSTATx         register  indicates    whether       a     change

analog input. Analog levels on any pin defined as a                     occurred on the corresponding pin since the last read

digital input (including the ANx pins) can cause the input              of the PORTx bit. In addition to the CNSTATx register,

buffer to consume current that exceeds the device spec-                 the CNFx register is implemented for each port. This

ifications. The ANSELx register controls the operation of               register contains flags for Change Notification events.

the analog port pins. The port pins that are to function as             These flags are set if the valid transition edge, selected

analog inputs must have their corresponding ANSELx                      in the CNEN0x and CNEN1x registers, is detected.

and TRISx bits set. In order to use port pins for I/O func-             CNFx stores the occurrence of the event. CNFx bits

tionality with digital modules, such as timers, UARTs,                  must be cleared in software to get the next Change

etc., the corresponding ANSELx bit must be cleared.                     Notification    interrupt.  The    CN   interrupt     is  generated

The ANSELx register has a default value of 0xFFFF.                      only for the I/Os configured as inputs (corresponding

Therefore,  all     pins  that   share  analog  functions     are       TRISx bits must be set).

analog (not digital) by default. If the TRISx bit is cleared

(output) while the ANSELx bit is set, the digital output

level (VOH or VOL) is used by an analog peripheral, such

as the ADC or comparator module.

DS60001324B-page 78                                                                              2015-2016 Microchip Technology Inc.
                                                                PIC32MM0064GPL036 FAMILY

9.7         Pin Pull-up and Pull-Down                                        9.8.2        AVAILABLE PERIPHERALS

Each I/O pin also has a weak pull-up and a weak pull-                        The peripherals managed by the PPS are all digital

down connected to it. The pull-ups act as a current                          only peripherals. These include general serial commu-

source,    or  sink   source,       connected     to       the  pin     and  nications (UART and SPI), general purpose timer clock

eliminate   the   need    for   external     resistors     when       push   inputs, timer related peripherals (MCCP, SCCP) and

button or keypad devices are connected. The pull-ups                         others.

and    pull-downs     are    enabled      separately           using    the  In comparison, some digital only peripheral modules are

CNPUx and the CNPDx registers, which contain the                             never included in the PPS feature. This is because the

control bits for each of the pins. Setting any of the control                peripheral’s function requires special I/O circuitry on a

bits enables the weak pull-ups and/or pull-downs for the                     specific port and cannot be easily connected to multiple

corresponding pins.                                                          pins. A similar requirement excludes all modules with

                                                                             analog inputs, such as the Analog-to-Digital Converter

9.8         Peripheral Pin Select (PPS)                                      (ADC).

A major challenge in general purpose devices is provid-                      A    key  difference     between   remappable   and        non-

ing the largest possible set of peripheral features, while                   remappable peripherals is that remappable peripherals

minimizing     the    conflict  of  features      on   I/O     pins.    The  are not associated with a default I/O pin. The peripheral

challenge is even greater on low pin count devices. In                       must always be assigned to a specific I/O pin before it

an application where more than one peripheral needs                          can be used. In contrast, non-remappable peripherals

to   be  assigned     to  a     single   pin,     inconvenient        work   are always available on a default pin, assuming that the

arounds in application code, or a complete redesign,                         peripheral   is  active  and  not  conflicting  with  another

may be the only option.                                                      peripheral.

PPS      configuration    provides       an  alternative        to  these    When a remappable peripheral is active on a given I/O

choices by enabling peripheral set selection and their                       pin, it takes priority over all other digital I/Os and digital

placement on a wide range of I/O pins. By increasing                         communication      peripherals    associated    with  the  pin.

the  pinout    options    available      on    a  particular      device,    Priority is given regardless of the type of peripheral that

users    can   better     tailor    the  device        to  their    entire   is mapped. Remappable peripherals never take priority

application, rather than trimming the application to fit                     over any analog functions associated with the pin.

the device.                                                                  9.8.3        CONTROLLING PPS

The PPS configuration feature operates over a fixed                          PPS features are controlled through two sets of SFRs:

subset of digital I/O pins. Users may independently                          one to map peripheral inputs and one to map outputs.

map the input and/or output of most digital peripherals                      Because they are separately controlled, a particular

to   these   I/O  pins.     PPS     is   performed         in   software     peripheral’s input and output (if the peripheral has both)

and    generally      does   not    require       the  device       to  be   can be placed on any selectable function pin without

reprogrammed. Hardware safeguards are included that                          constraint.

prevent     accidental      or    spurious        changes         to    the

peripheral mapping once it has been established.                             The association of a peripheral to a peripheral-selectable

9.8.1          AVAILABLE PINS                                                pin  is   handled  in  two  different  ways,    depending       on

                                                                             whether an input or output is being mapped.

The  number       of  available     pins     is   dependent         on  the

particular device and its pin count. Pins that support the

PPS feature include the designation, “RPn”, in their full

pin designation, where “RP” designates a Remappable

Peripheral and “n” is the remappable port number.

 2015-2016 Microchip Technology Inc.                                                                               DS60001324B-page 79
PIC32MM0064GPL036 FAMILY

9.8.4  INPUT MAPPING                                      FIGURE  9-2:         REMAPPABLE INPUT

The RPINRx registers are used to assign the peripheral                         EXAMPLE FOR U2RX

input to the required remappable pin, RPn (refer to the                                    U2RXR<4:0>

peripheral inputs and the corresponding RPINRx regis-

ters listed in Table 9-2). Each RPINRx register contains                                   1

sets of 5-bit fields. Programming these bits with the     RP1

remappable pin number will connect the peripheral to

this RPn pin. Example 9-1 and Figure 9-2 illustrate the                                    2

remappable pin selection for the U2RX input.              RP2                                 U2RX Input

                                                                                           3  to Peripheral

EXAMPLE 9-1:             UART2 RX INPUT                   RP3

                         ASSIGNMENT TO 

                         RP9/RB14 PIN

RPINR9bits.U2RXR      =  9;  //   connect    UART2  RX

                             //   input  to  RP9    pin

                                                                                           n

                                                          RPn

                                                          Note:   For   input  only,  PPS  functionality  does  not

                                                                  have priority over TRISx settings. Therefore,

                                                                  when configuring an RPn pin for input, the

                                                                  corresponding bit in the TRISx register must

                                                                  also be configured for input (set to ‘1’).

TABLE 9-2:        INPUT      PIN  SELECTION

       Input Name                 Function Name           Register                         Function Bits

External Interrupt 4                         INT4         RPINR1                           INT4R<4:0>

MCCP1 Input Capture                          ICM1         RPINR2                           ICM1R<4:0>

SCCP2 Input Capture                          ICM2         RPINR2                           ICM2R<4:0>

SCCP3 Input Capture                          ICM3         RPINR3                           ICM3R<4:0>

Output Compare Fault A                       OCFA         RPINR5                           OCFAR<4:0>

Output Compare Fault B                       OCFB         RPINR5                           OCFBR<4:0>

CCP Clock Input A                            TCKIA        RPINR6                           TCKIAR<4:0>

CCP Clock Input B                            TCKIB        RPINR6                           TCKIBR<4:0>

UART2 Receive                                U2RX         RPINR9                           U2RXR<4:0>

UART2 Clear-to-Send                        U2CTS          RPINR9                           U2CTSR<4:0>

SPI2 Data Input                              SDI2         RPINR11                          SDI2R<4:0>

SPI2 Clock Input                           SCK2IN         RPINR11                          SCK2INR<4:0>

SPI2 Slave Select Input                      SS2IN        RPINR11                          SS2INR<4:0>

CLC Input A                                CLCINA         RPINR12                          CLCINAR<4:0>

CLC Input B                                CLCINB         RPINR12                          CLCINBR<4:0>

DS60001324B-page 80                                                      2015-2016 Microchip Technology Inc.
                                                     PIC32MM0064GPL036 FAMILY

9.8.5        OUTPUT MAPPING                                          9.8.6          CONTROLLING CONFIGURATION

The RPORx registers are used to assign the peripheral                               CHANGES

output   to  the  required    remappable   pin,  RPn.     Each       Because peripheral remapping can be changed during

RPORx register contains 4-bit fields corresponding to                run time, some restrictions on peripheral remapping

the remappable pins. A special value is defined for                  are    needed    to   prevent      accidental  configuration

each peripheral output. This value should be written to              changes.       PIC32MM0064GPL036            family    devices

the remappable pin bit field in the RPORx register to                include  two   features    to   prevent  alterations  to  the

connect   the     peripheral  output  to   the  RPn  pin.  All       peripheral map:

possible     (implemented)    values  for  the   peripheral’s        •   Control register lock sequence

outputs are listed in Table 9-3.                                     •   Configuration bit select lock

Example 9-2 and Figure 9-3 illustrate the peripheral’s

output selection for the remappable pin.                             9.8.6.1        Control Register Lock

EXAMPLE 9-2:             UART2 TX OUTPUT                             Under    normal  operation,     the   RPORx    and    RPINRx

                         ASSIGNMENT TO                              registers can be written, but they can also be locked

                                                                     to    prevent  accidental  writes.    This  feature   is  con-

                         RP13/RB13 PIN                               trolled by the IOLOCK bit in the RPCON register. If

RPOR4bits.RP13R = 1;          // connect UART2 TX      (=  1)        the   IOLOCK     bit  is  set,  then  the   contents  of  the

                              // to RP13 pin                         RPORx and RPINRx registers cannot be changed.

                                                                     To modify the IOLOCK bit, an unlock sequence must be

FIGURE 9-3:              EXAMPLE OF                                  executed. Refer to Section 23.4 “System Registers

                         MULTIPLEXING OF                             Write Protection” for details.

                         REMAPPABLE OUTPUT

                         FOR RP1

                      RP1R<3:0>

             Default     0

        U2TX Output      1

        SDO2 Output      2

                              Output Data            RP1

          CLC2OUT        9

TABLE 9-3:            OUTPUT PIN       SELECTION

       Output     Function Number                          Function                             Output Name

                      0                              None (not connected)                                 —

                      1                                    U2TX                                 UART2 Transmit

                      2                                    U2RTS                           UART2 Request-to-Send

                      3                                    SDO2                                 SPI2 Data Output

                      4                                    SCK2OUT                              SPI2 Clock Output

                      5                                    SS2OUT                          SPI2 Slave Select Output

                      6                                    OCM2                            SCCP2 Output Compare

                      7                                    OCM3                            SCCP3 Output Compare

                      8                                    CLC1OUT                                   CLC1 Output

                      9                                    CLC2OUT                                   CLC2 Output

 2015-2016 Microchip Technology Inc.                                                                      DS60001324B-page    81
DS60001324B-page 82                    9.9                            I/O Ports Control Registers                                                                                                                                                                               PIC32MM0064GPL036

                                       TABLE 9-4:                                        PORTA REGISTER MAP

                                       Virtual Address                                                                                                                             Bits

                                                        (BF80_#)      Register  Name(3)  Bit Range                                                                                                                                                                 All  Resets

                                                                                                    31/15  30/14  29/13  28/12  27/11    26/10  25/9           24/8                23/7        22/6           21/5  20/4           19/3  18/2          17/1  16/0

                                       2600                           ANSELA             31:16      —      —      —      —      —        —      —              —                   —           —              —     —              —     —             —     —     0000

                                                                                         15:0       —      —      —      —      —        —      —              —                   —           —              —     —                    ANSA<3:0>                 000F

                                       2610                           TRISA              31:16      —      —      —      —      —        —      —              —                   —           —              —     —              —     —             —     —     0000

                                                                                         15:0       —      —      —      —      —        —      TRISA9(1,2)    —                   —           —              —                          TRISA<4:0>                021F

                                       2620                           PORTA              31:16      —      —      —      —      —        —      —              —                   —           —              —     —              —     —             —     —     0000

                                                                                         15:0       —      —      —      —      —        —      RA9(1,2)       —                   —           —              —                          RA<4:0>                   xxxx

                                       2630                           LATA               31:16      —      —      —      —      —        —      —              —                   —           —              —     —              —     —             —     —     0000

                                                                                         15:0       —      —      —      —      —        —      LATA9(1,2)     —                   —           —              —                          LATA<4:0>                 0000

                                       2640                           ODCA               31:16      —      —      —      —      —        —      —              —                   —           —              —     —              —     —             —     —     0000

                                                                                         15:0       —      —      —      —      —        —      ODCA9(1,2)     —                   —           —              —                          ODCA<4:0>                 0000

                                       2650                           CNPUA              31:16      —      —      —      —      —        —      —              —                   —           —              —     —              —     —             —     —     0000         FAMILY

                                                                                         15:0       —      —      —      —      —        —      CNPUA9(1,2)    —                   —           —              —                          CNPUA<4:0>                0000

                                       2660                           CNPDA              31:16      —      —      —      —      —        —      —              —                   —           —              —     —              —     —             —     —     0000

                                                                                         15:0       —      —      —      —      —        —      CNPDA9(1,2)    —                   —           —              —                          CNPDA<4:0>                0000

                                       2670                       CNCONA                 31:16      —      —      —      —      —        —      —              —                   —           —              —     —              —     —             —     —     0000

                                                                                         15:0       ON     —      —      —      CNSTYLE  —      —              —                   —           —              —     —              —     —             —     —     0000

                                       2680                           CNEN0A             31:16      —      —      —      —      —        —      —              —                   —           —              —     —              —     —             —     —     0000

                                                                                         15:0       —      —      —      —      —        —      CNIEA9(1,2)    —                   —           —              —                          CNIEA<4:0>                0000

                                       2690                       CNSTATA                31:16      —      —      —      —      —        —      —              —                   —           —              —     —              —     —             —     —     0000

 2015-2016 Microchip Technology Inc.                                                    15:0       —      —      —      —      —        —      CNSTATA9(1,2)  —                   —           —              —                          CNSTATA<4:0>              0000

                                       26A0                           CNEN1A             31:16      —      —      —      —      —        —      —              —                   —           —              —     —              —     —             —     —     0000

                                                                                         15:0       —      —      —      —      —        —      CNIE1A9(1,2)   —                   —           —              —                          CNIE1A<4:0>               0000

                                       26B0                           CNFA               31:16      —      —      —      —      —        —      —              —                   —           —              —     —              —     —             —     —     0000

                                                                                         15:0       —      —      —      —      —        —      CNFA9(1,2)                         —           —              —                          CNFA<4:0>                 0000

                                       Legend:                        x = unknown value on Reset; — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.

                                       Note 1:                        These bits are not implemented in 20-pin devices.

                                                                  2:  These bits are not implemented in 28-pin devices.

                                                                  3:  All registers in this table have corresponding CLR, SET and INV registers at their virtual address, plus an  offset  of  0x4, 0x8  and  0xC,  respectively.
 2015-2016 Microchip Technology Inc.  TABLE 9-5:                                        PORTB REGISTER MAP

                                       Virtual Address                                                                                                                       Bits

                                                        (BF80_#)      Register  Name(2)  Bit Range                                                                                                                                                           All  Resets

                                                                                                    31/15  30/14  29/13  28/12     27/11             26/10          25/9  24/8     23/7              22/6           21/5  20/4     19/3  18/2  17/1    16/0

                                       2700                           ANSELB             31:16      —      —      —             —  —                 —              —     —              —           —              —     —        —     —     —       —     0000

                                                                                         15:0              ANSB<15:12>             —                 —              —     —              —           —              —     —              ANSB<3:0>(1)        F00F

                                       2710                           TRISB              31:16      —      —      —             —  —                 —              —     —              —           —              —     —        —     —     —       —     0000

                                                                                         15:0                                                                             TRISB<15:0>(1)                                                                     FFFF

                                       2720                           PORTB              31:16      —      —      —             —  —                 —              —     —              —           —              —     —        —     —     —       —     0000

                                                                                         15:0                                                                             RB<15:0>(1)                                                                        0000

                                       2730                           LATB               31:16      —      —      —             —  —                 —              —     —              —           —              —     —        —     —     —       —     0000

                                                                                         15:0                                                                             LATB<15:0>(1)                                                                      0000

                                       2740                           ODCB               31:16      —      —      —             —  —                 —              —     —              —           —              —     —        —     —     —       —     0000

                                                                                         15:0                                                                             ODCB<15:0>(1)                                                                      0000         PIC32MM0064GPL036 FAMILY

                                       2750                           CNPUB              31:16      —      —      —             —  —                 —              —     —              —           —              —     —        —     —     —       —     0000

                                                                                         15:0                                                                             CNPUB<15:0>(1)                                                                     0000

                                       2760                           CNPDB              31:16      —      —      —             —  —                 —              —     —              —           —              —     —        —     —     —       —     0000

                                                                                         15:0                                                                             CNPDB<15:0>(1)                                                                     0000

                                       2770                           CNCONB             31:16      —      —      —             —  —                 —              —     —              —           —              —     —        —     —     —       —     0000

                                                                                         15:0       ON     —      —             —  CNSTYLE           —              —     —              —           —              —     —        —     —     —       —     0000

                                       2780                           CNEN0B             31:16      —      —      —             —  —                 —              —     —              —           —              —     —        —     —     —       —     0000

                                                                                         15:0                                                                             CNIEB<15:0>(1)                                                                     0000

                                       2790                       CNSTATB                31:16      —      —      —             —  —                 —              —     —              —           —              —     —        —     —     —       —     0000

                                                                                         15:0                                                                             CNSTATB<15:0>(1)                                                                   0000

                                       27A0                           CNEN1B             31:16      —      —      —             —  —                 —              —     —              —           —              —     —        —     —     —       —     0000

                                                                                         15:0                                                                             CNIE1B<15:0>(1)                                                                    0000

                                       27B0                           CNFB               31:16      —      —      —             —  —                 —              —     —              —           —              —     —        —     —     —       —     0000

                                                                                         15:0                                                                             CNFB<15:0>(1)                                                                      0000

                                       Legend:                        — = unimplemented, read as ‘0’. Reset values are shown in    hexadecimal.

                                       Note 1:                        Bits<11:10,6:5,3> are not implemented in 20-pin devices.

DS60001324B-page 83                                               2:  All registers in this table have corresponding CLR, SET and  INV registers at  their virtual  address, plus an offset of 0x4,  0x8 and  0xC,  respectively.
DS60001324B-page 84                    TABLE 9-6:                                        PORTC REGISTER MAP                                                                                                                                                                    PIC32MM0064GPL036

                                       Virtual Address                                                                                                                              Bits

                                                        (BF80_#)      Register  Name(3)  Bit Range                                                                                                                                                                All  Resets

                                                                                                    31/15  30/14  29/13   28/12    27/11             26/10          25/9  24/8                   23/7      22/6  21/5  20/4        19/3  18/2  17/1         16/0

                                       2800                           ANSELC             31:16      —      —      —       —        —                 —              —     —                      —         —     —     —           —     —     —            —     0000

                                                                                         15:0       —      —      —       —        —                 —              —     —                      —         —     —     —           —     —     ANSC<1:0>(1,2)     0003

                                       2810                           TRISC              31:16      —      —      —       —        —                 —              —     —                      —         —     —     —           —     —     —            —     0000

                                                                                         15:0       —      —      —       —        —                 —              TRISC<9:8>(1,2)              —         —     —     —                 TRISC<3:0>(1,2)          030F

                                       2820                           PORTC              31:16      —      —      —       —        —                 —              —     —                      —         —     —     —           —     —     —            —     0000

                                                                                         15:0       —      —      —       —        —                 —              RC<9:8>(1,2)                 —         —     —     —                 RC<3:0>(1,2)             0000

                                       2830                           LATC               31:16      —      —      —       —        —                 —              —     —                      —         —     —     —           —     —     —            —     0000

                                                                                         15:0       —      —      —       —        —                 —              LATC<9:8>(1,2)               —         —     —     —                 LATC<3:0>(1,2)           0000

                                       2840                           ODCC               31:16      —      —      —       —        —                 —              —     —                      —         —     —     —           —     —     —            —     0000

                                                                                         15:0       —      —      —       —        —                 —              ODCC<9:8>(1,2)               —         —     —     —                 ODCC<3:0>(1,2)           0000

                                       2850                           CNPUC              31:16      —      —      —       —        —                 —              —     —                      —         —     —     —           —     —     —            —     0000

                                                                                         15:0       —      —      —       —        —                 —              CNPUC<9:8>(1,2)              —         —     —     —                 CNPUC<3:0>(1,2)          0000         FAMILY

                                       2860                           CNPDC              31:16      —      —      —       —        —                 —              —     —                      —         —     —     —           —     —     —            —     0000

                                                                                         15:0       —      —      —       —        —                 —              CNPDC<9:8>(1,2)              —         —     —     —                 CNPDC<3:0>(1,2)          0000

                                       2870                           CNCONC             31:16      —      —      —       —        —                 —              —     —                      —         —     —     —           —     —     —            —     0000

                                                                                         15:0       ON(1)  —      —       —        CNSTYLE(1)        —              —     —                      —         —     —     —           —     —     —            —     0000

                                       2880                           CNEN0C             31:16      —      —      —       —        —                 —              —     —                      —         —     —     —           —     —     —            —     0000

                                                                                         15:0       —      —      —       —        —                 —              CNIE0C<9:8>(1,2)             —         —     —     —                 CNIE0C<3:0>(1,2)         0000

                                       2890                           CNSTATC            31:16      —      —      —       —        —                 —              —     —                      —         —     —     —           —     —     —            —     0000

                                                                                         15:0       —      —      —       —        —                 —              CNSTATC<9:8>(1,2)            —         —     —     —                 CNSTATC<3:0>(1,2)        0000

                                       28A0                           CNEN1C             31:16      —      —      —       —        —                 —              —     —                      —         —     —     —           —     —     —            —     0000

 2015-2016 Microchip Technology Inc.                                                    15:0       —      —      —       —        —                 —              CNIE1C<9:8>(1,2)             —         —     —     —                 CNIE1C<3:0>(1,2)         0000

                                       28B0                           CNFC               31:16      —      —      —       —        —                 —              —     —                      —         —     —     —           —     —     —            —     0000

                                                                                         15:0       —      —      —       —        —                 —              CNFC<9:8>(1,2)               —         —     —     —                 CNFC<3:0>(1,2)           0000

                                       Legend:                        — = unimplemented, read as ‘0’. Reset values are shown in    hexadecimal.

                                       Note 1:                        Bits<15,11,9:8,3:0> are not implemented in 20-pin devices.

                                                                  2:  Bits<8,3:0> are not implemented in 28-pin devices.

                                                                  3:  All registers in this table have corresponding CLR, SET and  INV registers at  their virtual  address, plus an offset  of  0x4, 0x8  and 0xC, respectively.
 2015-2016 Microchip Technology Inc.  TABLE 9-7:                                    PERIPHERAL PIN SELECT REGISTER MAP

                                       Virtual Address                                                                                                                    Bits

                                                        (BF80_#)  Register  Name(1)  Bit Range  31/15  30/14  29/13  28/12  27/11         26/10   25/9                 24/8     23/7            22/6     21/5  20/4          19/3  18/2          17/1  16/0  All Resets

                                       2480                       RPCON              31:16      —      —      —      —      —             —       —                    —        —               —        —     —             —     —             —     —     0000

                                                                                     15:0       —      —      —      —      IOLOCK        —       —                    —        —               —        —     —             —     —             —     —     0000

                                       24A0                       RPINR1             31:16      —      —      —      —      —             —       —                    —        —               —        —     —             —     —             —     —     0000

                                                                                     15:0                                                                                                                                          INT4R<4:0>                0000

                                       24B0                       RPINR2             31:16      —      —      —                     ICM2R<4:0>                                  —               —        —                         ICM1R<4:0>                0000

                                                                                     15:0       —      —      —      —      —             —       —                    —        —               —        —     —             —     —             —     —     0000

                                       24C0                       RPINR3             31:16      —      —      —      —      —             —       —                    —        —               —        —     —             —     —             —     —     0000

                                                                                     15:0       —      —      —      —      —             —       —                    —        —               —        —                         ICM3R<4:0>                0000

                                       24E0                       RPINR5             31:16      —      —      —                     OCFBR<4:0>                                  —               —        —                         OCFAR<4:0>                0000

                                                                                     15:0       —      —      —      —      —             —       —                    —        —               —        —     —             —     —             —     —     0000        PIC32MM0064GPL036 FAMILY

                                       24F0                       RPINR6             31:16      —      —      —      —      —             —       —                    —        —               —        —     —             —     —             —     —     0000

                                                                                     15:0                                           TCKIBR<4:0>                                 —               —        —                         TCKIAR<4:0>               0000

                                       2520                       RPINR9             31:16      —      —      —                     U2CTSR<4:0>                                 —               —        —                         U2RXR<4:0>                0000

                                                                                     15:0       —      —      —      —      —             —       —                    —        —               —        —     —             —     —             —     —     0000

                                       2540                       RPINR11            31:16      —      —      —      —      —             —       —                    —        —               —        —                         SS2INR<4:0>               0000

                                                                                     15:0       —      —      —                     SCK2INR<4:0>                                —               —        —                         SDI2R<4:0>                0000

                                       2550                       RPINR12            31:16      —      —      —                     CLCINBR<4:0>                                —               —        —                         CLCINAR<4:0>              0000

                                                                                     15:0       —      —      —      —      —             —       —                    —        —               —        —     —             —     —             —     —     0000

                                       2590                       RPOR0              31:16                                                RP4R<3:0>                             —               —        —     —                   RP3R<3:0>                 0000

                                                                                     15:0       —      —      —      —                    RP2R<3:0>                             —               —        —     —                   RP1R<3:0>                 0000

                                       25A0                       RPOR1              31:16      —      —      —      —                    RP8R<3:0>                             —               —        —     —                   RP7R<3:0>                 0000

                                                                                     15:0       —      —      —      —                    RP6R<3:0>                             —               —        —     —                   RP5R<3:0>                 0000

                                       25B0                       RPOR2              31:16      —      —      —      —                    RP12R<3:0>                            —               —        —     —                   RP11R<3:0>                0000

                                                                                     15:0       —      —      —      —                    RP10R<3:0>                            —               —        —     —                   RP9R<3:0>                 0000

                                       25C0                       RPOR3              31:16      —      —      —      —                    RP16R<3:0>                            —               —        —     —                   RP15R<3:0>                0000

                                                                                     15:0       —      —      —      —                    RP14R<3:0>                            —               —        —     —                   RP13R<3:0>                0000

DS60001324B-page 85                    25D0                       RPOR4              31:16      —      —      —      —                    RP20R<3:0>                            —               —        —     —                   RP19R<3:0>                0000

                                                                                     15:0       —      —      —      —                    RP18R<3:0>                            —               —        —     —                   RP17R<3:0>                0000

                                       Legend:                    — = 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 address,  plus an  offset of 0x4,  0x8 and  0xC, respectively.
PIC32MM0064GPL036 FAMILY

REGISTER 9-1:           CNCONx: CHANGE NOTIFICATION CONTROL FOR PORTx REGISTER (x = A-C)

     Bit    Bit                Bit      Bit              Bit       Bit                   Bit  Bit                 Bit

Range       31/23/15/7  30/22/14/6   29/21/13/5        28/20/12/4  27/19/11/3  26/18/10/2     25/17/9/1     24/16/8/0

31:24       U-0                 U-0     U-0              U-0       U-0                   U-0  U-0                 U-0

            —                   —       —                —         —                     —    —                   —

23:16       U-0                 U-0     U-0              U-0       U-0                   U-0  U-0                 U-0

            —                   —       —                —         —                     —    —                   —

15:8        R/W-0               U-0     U-0              U-0       R/W-0                 U-0  U-0                 U-0

            ON                  —       —                —         CNSTYLE               —    —                   —

     7:0    U-0                 U-0     U-0              U-0       U-0                   U-0  U-0                 U-0

            —                   —       —                —         —                     —    —                   —

Legend:

R = Readable bit                     W = Writable bit              U = Unimplemented bit, read as ‘0’

-n = Value at POR                    ‘1’ = Bit is set              ‘0’ = Bit is cleared       x = Bit is unknown

bit  31-16  Unimplemented: Read as ‘0’

bit  15     ON: Change Notification (CN) Control On bit

            1 = CN is enabled

            0 = CN is disabled

bit  14-12  Unimplemented: Read as ‘0’

bit  11     CNSTYLE: Change Notification Style Selection bit

            1 = Edge style (detects edge transitions, CNFx bits are used for a Change Notice  event)

            0 = Mismatch style (detects change from last PORTx read, CNSTATx bits are used    for a Change  Notification

            event)

bit  10-0   Unimplemented: Read as ‘0’

DS60001324B-page 86                                                                       2015-2016 Microchip Technology Inc.
                                                  PIC32MM0064GPL036 FAMILY

10.0   TIMER1                                                        PIC32MM0064GPL036           family   devices   feature   one

                                                                     synchronous/asynchronous 16-bit timer that can operate

Note:  This data sheet summarizes the features                       as  a  free-running  interval   timer     for  various   timing

       of     the  PIC32MM0064GPL036              family  of         applications and counting external events. This timer

       devices.    It     is  not  intended       to  be  a          can be clocked from different sources, such as the

       comprehensive          reference       source.     To         Peripheral   Bus  Clock     (PBCLK,    1:1     with  SYSCLK),

       complement the information in this data                       Secondary    Oscillator  (SOSC),     T1CK      pin   or  LPRC

       sheet,      refer  to  Section    14.      “Timers”           oscillator.

       (DS60001105)           in   the   “PIC32       Family         The following modes are supported by Timer1:

       Reference        Manual”,       which  is  available          •   Synchronous Internal Timer

       from        the        Microchip       web       site

       (www.microchip.com/PIC32).             The      infor-        •   Synchronous Internal Gated Timer

       mation in this data sheet supersedes the                      •   Synchronous External Timer

       information in the FRM.                                       •   Asynchronous External Timer

                                                                     The timer has a selectable clock prescaler and can

                                                                     operate in Sleep and Idle modes.

FIGURE 10-1:       TIMER1 BLOCK DIAGRAM

                                                  PR1

       Trigger                    Equal  16-Bit Comparator                                TSYNC

       to ADC

                                                                                              1          Sync

                                  Reset           TMR1

                                                                                              0

                       0

       T1IF
       Event Flag
                       1                                  Q    D                              TGATE

                                                          Q                                   TCS

                   TGATE

                                                                                              ON

       SOSC               00                                                      x1

       T1CK               01                                   Gate                                      Prescaler

       LPRC               10                                   Sync               10                 1, 8, 64, 256

                   TECS<1:0>                              PBCLK                   00

                                                  (1:1 with SYSCLK)                                            2

                                                                                                     TCKPS<1:0>

 2015-2016 Microchip Technology Inc.                                                                     DS60001324B-page 87
DS60001324B-page 88                    10.1                       Timer1 Control Register                                                                                                                                                                          PIC32MM0064GPL036

                                       TABLE 10-1:                                              TIMER1 REGISTER MAP

                                       Virtual Address                               Bit Range                                                                     Bits                                                                                All Resets

                                                        (BF80_#)  Register  Name(1)             31/15  30/14  29/13  28/12     27/11         26/10     25/9  24/8        23/7                    22/6     21/5  20/4          19/3  18/2   17/1  16/0

                                       8000                       T1CON              31:16      —      —      —      —         —             —         —     —           —                       —        —     —             —     —      —     —     0000

                                                                                     15:0       ON     —      SIDL   TWDIS     TWIP          —         TECS<1:0>         TGATE                   —        TCKPS<1:0>          —     TSYNC  TCS   —     0000

                                       8010                       TMR1               31:16      —      —      —      —         —             —         —     —           —                       —        —     —             —     —      —     —     0000

                                                                                     15:0                                                                    TMR1<15:0>                                                                                0000

                                       8020                       PR1                31:16      —      —      —      —         —             —         —     —           —                       —        —     —             —     —      —     —     0000

                                                                                     15:0                                                                    PR1<15:0>                                                                                 FFFF

                                       Legend:                    — = 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.

                                                                                                                                                                                                                                                                   FAMILY

 2015-2016 Microchip Technology Inc.
                                                PIC32MM0064GPL036 FAMILY

REGISTER 10-1:          T1CON: TIMER1 CONTROL REGISTER

     Bit    Bit                   Bit     Bit             Bit        Bit                   Bit  Bit        Bit

Range       31/23/15/7     30/22/14/6    29/21/13/5      28/20/12/4  27/19/11/3     26/18/10/2  25/17/9/1  24/16/8/0

31:24       U-0                   U-0     U-0             U-0        U-0                   U-0  U-0        U-0

            —                     —       —               —          —                     —    —                   —

23:16       U-0                   U-0     U-0             U-0        U-0                   U-0  U-0        U-0

            —                     —       —               —          —                     —    —                   —

     15:8   R/W-0                 U-0     R/W-0          R/W-0       R-0                   U-0  R/W-0      R/W-0

            ON                    —       SIDL           TWDIS       TWIP                  —    TECS<1:0>

     7:0    R/W-0                 U-0     R/W-0          R/W-0       U-0            R/W-0       R/W-0      U-0

            TGATE                 —             TCKPS<1:0>           —              TSYNC       TCS                 —

Legend:

R = Readable bit                       W = Writable bit              U = Unimplemented bit, read as ‘0’

-n = Value at POR                      ‘1’ = Bit is set              ‘0’ = Bit is cleared       x = Bit is unknown

bit  31-16  Unimplemented: Read as ‘0’

bit  15     ON: Timer1 On bit

            1 = Timer1 is enabled

            0 = Timer1 is disabled

bit  14     Unimplemented: Read as ‘0’

bit  13     SIDL: Timer1 Stop in Idle Mode bit

            1 = Discontinues operation when device enters Idle mode

            0 = Continues operation even in Idle mode

bit  12     TWDIS: Asynchronous Timer1 Write Disable bit

            1 = Writes to TMR1 are ignored until pending write operation completes

            0 = Back-to-back writes are enabled (Legacy Asynchronous Timer mode functionality)

bit  11     TWIP: Asynchronous Timer1 Write in Progress bit

            In Asynchronous Timer1 mode:

            1 = Asynchronous write to TMR1 register is in progress

            0 = Asynchronous write to TMR1 register is complete

            In Synchronous Timer1 mode:

            This bit is read as ‘0’.

bit  10     Unimplemented: Read as ‘0’

bit  9-8    TECS<1:0>: Timer1 External Clock Selection bits

            11 = Reserved

            10 = External clock comes from the LPRC

            01 = External clock comes from the T1CK Pin

            00 = External clock comes from the Secondary Oscillator (SOSC)

bit  7      TGATE: Timer1 Gated Time Accumulation Enable bit

            When TCS = 1:

            This bit is ignored.

            When TCS = 0:

            1 = Gated time accumulation is enabled

            0 = Gated time accumulation is disabled

bit  6      Unimplemented: Read as ‘0’

bit  5-4    TCKPS<1:0>: Timer1 Input Clock Prescale Select bits

            11 = 1:256 prescale value

            10 = 1:64 prescale value

            01 = 1:8 prescale value

            00 = 1:1 prescale value

 2015-2016 Microchip Technology Inc.                                                           DS60001324B-page 89
PIC32MM0064GPL036 FAMILY

REGISTER 10-1:       T1CON: TIMER1 CONTROL REGISTER (CONTINUED)

bit  3  Unimplemented: Read as ‘0’

bit  2  TSYNC: Timer1 External Clock Input Synchronization Selection bit

        When TCS = 1:

        1 = External clock input is synchronized

        0 = External clock input is not synchronized

        When TCS = 0:

        This bit is ignored.

bit  1  TCS: Timer1 Clock Source Select bit

        1 = External clock is defined by the TECS<1:0> bits

        0 = Internal peripheral clock

bit  0  Unimplemented: Read as ‘0’

DS60001324B-page 90                                                        2015-2016  Microchip  Technology  Inc.
                                                    PIC32MM0064GPL036 FAMILY

11.0   WATCHDOG TIMER (WDT)                                          When enabled, the Watchdog Timer (WDT) can be

                                                                     used     to     detect  system   software     malfunctions   by

Note:  This data sheet summarizes the features                       resetting       the  device  if  the     WDT  is   not  cleared

       of  the         PIC32MM0064GPL036            family   of      periodically in software. Various WDT time-out periods

       devices.        It  is  not  intended        to   be  a       can be selected using the WDT postscaler. The WDT

       comprehensive           reference            source.  To      can also be used to wake the device from Sleep or Idle

       complement the information in this data                       mode.

       sheet, refer to Section 62. “Dual Watch-                      Some of the key features of the WDT module are:

       dog Timer” (DS60001365) in the “PIC32                         •      Configuration or Software Controlled

       Family          Reference    Manual”,        which    is

       available       from    the  Microchip       web      site    •      User-Configurable Time-out Period

       (www.microchip.com/PIC32).                   The  infor-      •      Different Time-out Periods for Run and Sleep/Idle

       mation in this data sheet supersedes the                             modes

       information in the FRM.                                       •      Operates from LPRC Oscillator in Sleep/Idle

                                                                            modes

                                                                     •      Different Clock Sources for Run mode

                                                                     •      Can Wake the Device from Sleep or Idle

FIGURE 11-1:           WATCHDOG TIMER                    BLOCK       DIAGRAM

                                                                     Power Save

                                                                     Mode WDT

                               LPRC Oscillator

                               Power Save                            25-Bit Counter               Comparator       Wake-up and
                                                                                                                   NMI

                       CLKSEL<1:0>                       Power Save  Reset

                                                ON                                           SLPDIV<4:0>

       SYSCLK                                                        Run Mode WDT

                           00

       Reserved            01  Power Save                            25-Bit Counter               Comparator       NMI and Start

                                                                                                                   NMI Counter

       FRC Oscillator      10

      LPRC Oscillator      11                                        Reset

                                                                                             RUNDIV<4:0>

WDTCLRKEY<15:0> = 5743h

                           ON

                All Resets

       System Clock Switching

 2015-2016 Microchip Technology Inc.                                                                         DS60001324B-page 91
DS60001324B-page 92                    11.1                       Watchdog Timer Control Registers                                                                                                                                                                 PIC32MM0064GPL036

                                       TABLE 11-1:                                WATCHDOG TIMER REGISTER MAP

                                       Virtual Address                                                                                                                Bits

                                                        (BF80_#)  Register  Name  Bit Range  31/15  30/14  29/13  28/12  27/11  26/10        25/9  24/8               23/7  22/6                        21/5  20/4  19/3         18/2  17/1  16/0      All Resets

                                       3E80                       WDTCON(1)       31:16                                                            WDTCLRKEY<15:0>                                                                                     0000

                                                                                  15:0       ON     —      —                    RUNDIV<4:0>                           CLKSEL<1:0>                                   SLPDIV<4:0>              WDTWINEN  xxxx

                                       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.

                                                                                                                                                                                                                                                                   FAMILY

 2015-2016 Microchip Technology Inc.
                                                 PIC32MM0064GPL036 FAMILY

REGISTER 11-1:            WDTCON:      WATCHDOG TIMER CONTROL REGISTER

     Bit      Bit         Bit               Bit               Bit         Bit                   Bit  Bit                 Bit

Range         31/23/15/7  30/22/14/6        29/21/13/5        28/20/12/4  27/19/11/3   26/18/10/2    25/17/9/1  24/16/8/0

31:24         W-0         W-0               W-0               W-0         W-0                   W-0  W-0                 W-0

                                                              WDTCLRKEY<15:8>

23:16         W-0         W-0               W-0               W-0         W-0                   W-0  W-0                 W-0

                                                              WDTCLRKEY<7:0>

15:8          R/W-0       U-0               U-0               R-y         R-y                   R-y  R-y                 R-y

              ON(1)       —                 —                                          RUNDIV<4:0>

     7:0      R-y         R-y               R-y               R-y         R-y                   R-y  R-y                 R/W-y

              CLKSEL<1:0>                                                 SLPDIV<4:0>                           WDTWINEN

Legend:                                     y = Values set from Configuration bits on Reset

R = Readable bit                            W = Writable bit              U = Unimplemented bit, read as ‘0’

-n = Value at POR                           ‘1’ = Bit is set              ‘0’ = Bit is cleared       x = Bit is unknown

bit  31-16    WDTCLRKEY<15:0>: Watchdog Timer Clear Key bits

              To clear the Watchdog Timer to prevent a time-out, software must write the value, 0x5743, to this location

              using a single 16-bit write.

bit  15       ON: Watchdog Timer Enable bit(1)

              1 = The WDT is enabled

              0 = The WDT is disabled

bit  14-13    Unimplemented: Read as ‘0’

bit  12-8     RUNDIV<4:0>: Shadow Copy of Watchdog Timer Postscaler Value for Run Mode from Configuration bits

              On Reset, these bits are set to the values of the RWDTPS<4:0> Configuration bits in FWDT.

bit  7-6      CLKSEL<1:0>: Shadow Copy of Watchdog Timer Clock Selection Value for Run Mode from Configuration bits

              On Reset, these bits are set to the values of the RCLKSEL<1:0> Configuration bits in FWDT.

bit  5-1      SLPDIV<4:0>: Shadow Copy of Watchdog Timer Postscaler Value for Sleep/Idle Mode from Configuration bits

              On Reset, these bits are set to the values of the SWDTPS<4:0> Configuration bits in FWDT.

bit  0        WDTWINEN: Watchdog Timer Window Enable bit

              On Reset, this bit is set to the value of the WINDIS Configuration bit in FWDT.

              1 = Windowed mode is enabled

              0 = Windowed mode is disabled

Note      1:  This bit only has control when FWDTEN (FWDT<15>) = 0.

 2015-2016 Microchip Technology Inc.                                                                         DS60001324B-page 93
PIC32MM0064GPL036    FAMILY

NOTES:

DS60001324B-page 94           2015-2016 Microchip Technology Inc.
                                                            PIC32MM0064GPL036 FAMILY

12.0      CAPTURE/COMPARE/PWM/                                         •   Fully Asynchronous Operation in all modes and in

          TIMER MODULES (MCCP AND                                           Low-Power Operation

          SCCP)                                                         •   Special Output Trigger for ADC Conversions

                                                                        •   16-Bit and 32-Bit General Purpose Timer modes

   Note:     This data sheet summarizes the features of                     with Optional Gated Operation for Simple Time

             the    PIC32MM0064GPL036                   family      of      Measurements

             devices.    It     is  not      intended   to      be  a   •   Capture modes:

             comprehensive              reference      source.      To      -  Backward compatible with previous input

             complement the information in this data                           capture peripherals of the PIC32 family

             sheet,      refer      to   Section       30.   “Cap-          -  16-bit or 32-bit capture of time base on 

             ture/Compare/PWM/Timer                    (MCCP    and            external event

             SCCP)”      (DS60001381)             in   the   “PIC32         -  Up to four-level deep FIFO capture buffer

             Family      Reference           Manual”,   which       is      -  Capture source input multiplexer

             available   from       the      Microchip  web     site

             (www.microchip.com/PIC32).                 The     infor-      -  Gated capture operation to reduce 

             mation in this data sheet supersedes the                          noise-induced false captures

             information in the FRM.                                    •   Output Compare/PWM modes:

                                                                            -  Backward compatible with previous output

12.1      Introduction                                                         compare peripherals of the PIC32 family

PIC32MM0064GPL036            family      devices       include  three       -  Single Edge and Dual Edge Compare modes

Capture/Compare/PWM/Timer (CCP) modules. These                              -  Center-Aligned Compare mode

modules are similar to the multipurpose timer modules                       -  Variable Frequency Pulse mode

found on many other 32-bit microcontrollers. They also                      -  External Input mode

provide   the    functionality      of   the  comparable        input   MCCP modules also include these extended PWM 

capture,  output    compare         and  general      purpose   timer   features:

peripherals found in all earlier PIC32 devices.                         •   Single Output Steerable mode

CCP     modules     can  operate         in  one   of  three    major   •   Brush DC Motor (Forward and Reverse) modes

modes:                                                                  •   Half-Bridge with Dead-Time Delay mode

•  General Purpose Timer                                                •   Push-Pull PWM mode

•  Input Capture                                                        •   Output Scan mode

•  Output Compare/PWM                                                   •   Auto-Shutdown with Programmable Source and

There are two different forms of the module, distinguished                  Shutdown State

by the number of PWM outputs that the module can gen-                   •   Programmable Output Polarity

erate.   Single   Capture/Compare/PWM/Timer                 (SCCPs)     The SCCP and MCCP modules can be operated in

output modules provide only one PWM output. Multiple                    only one of the three major modes (Capture, Compare

Capture/Compare/PWM/Timer (MCCPs) output modules                        or     Timer)  at  any  time.   The  other  modes  are      not

can provide up to six outputs and an extended range of                  available unless the module is reconfigured.

output control features, depending on the pin count of the

particular device.                                                      A conceptual block diagram for the module is shown in

All modules (SCCP and MCCP) include these features:                     Figure 12-1. All three modes use the time base gener-

•  User-Selectable Clock Inputs, including System                       ator and the common Timer register pair (CCPxTMR).

   Clock and External Clock Input Pins                                  Other  shared           hardware  components,      such     as

•  Input Clock Prescaler for Time Base                                  comparators        and  buffer  registers,  are  activated  and

                                                                        used as a particular mode requires.

•  Output Postscaler for module Interrupt Events or

   Triggers

•  Synchronization Output Signal for Coordinating

   other MCCP/SCCP modules with 

   User-Configurable Alternate and Auxiliary Source

   Options

 2015-2016 Microchip Technology Inc.                                                                        DS60001324B-page 95
PIC32MM0064GPL036 FAMILY

FIGURE 12-1:           MCCP/SCCP CONCEPTUAL BLOCK DIAGRAM

                                                                                       CCPxIF

                                                                                       CCTxIF

                                 External               Input Capture
                                 Capture                                               CCP Sync Out
                                        Input
                                                                                       Special Event Trigger Out (ADC)

                                                                                       Auxiliary Output

        Clock                    Time Base              CCPxTMR

        Sources                  Generator

   T32

   CCSEL                                                                         Compare/PWM

   MOD<3:0>                                                                      Output(s)

                                                        Output Compare/

   Sync and                      16/32-Bit              PWM

   Gating                        Timer

   Sources

                                                                                 OCFA/OCFB

12.2    Registers                                       Each             module  also  includes  eight   buffer/counter

Each MCCP/SCCP module has up to seven control           registers that serve as Timer Value registers or data

and status registers:                                   holding buffers:

•  CCPxCON1 (Register 12-1) controls many of the        •    CCPxTMR is the 32-Bit Timer/Counter register

   features common to all modes, including input        •    CCPxPR is the 32-Bit Timer Period register

   clock selection, time base prescaling, timer         •    CCPxR is the 32-bit primary data buffer for output

   synchronization, Trigger mode operations and              compare operations

   postscaler selection for all modes. The module is    •    CCPxBUF(H/L) registers are the 32-Bit Buffer

   also enabled and the operational mode is                  register pair, which are used in input capture FIFO

   selected from this register.                              operations

•  CCPxCON2 (Register 12-2) controls auto-

   shutdown and restart operation, primarily for

   PWM operations, and also configures other input

   capture and output compare features, and 

   configures auxiliary output operation.

•  CCPxCON3 (Register 12-3) controls multiple 

   output PWM dead time, controls the output of the

   output compare and PWM modes, and configures

   the PWM Output mode for the MCCP modules.

•  CCPxSTAT (Register 12-4) contains read-only

   status bits showing the state of module operations.

DS60001324B-page 96                                                               2015-2016 Microchip Technology Inc.
 2015-2016 Microchip Technology Inc.  TABLE 12-1:                                   MCCP/SCCP REGISTER MAP

                                       Virtual Address                               Bit Range                                                                          Bits

                                                        (BF80_#)  Register  Name(1)                                                                                                                                                                                   All  Resets

                                                                                                31/15    30/14   29/13      28/12   27/11    26/10     25/9      24/8   23/7       22/6     21/5                         20/4    19/3     18/2       17/1      16/0

                                       0100                       CCP1CON1           31:16      OPSSRC   RTRGEN  —          —                OPS<3:0>                   TRIGEN     ONESHOT  ALTSYNC                                       SYNC<4:0>                   0000

                                                                           &nbs