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

产品描述

搜索

PIC32MX470F512HT-V/MR

器件型号:PIC32MX470F512HT-V/MR
器件类别:半导体    嵌入式处理器和控制器    微控制器 - MCU    32位微控制器 - MCU   
厂商名称:Microchip
厂商官网:https://www.microchip.com
标准:
下载文档

器件描述

32位微控制器 - MCU 80MHz 2anlg cmp 2I2C 2SPI/I2S 28 Ch

参数
产品属性属性值
制造商:Microchip
产品种类:32位微控制器 - MCU
RoHS:详细信息
安装风格:SMD/SMT
封装 / 箱体:QFN-64
系列:PIC32MX4xx
核心:MIPS32 M4K
数据总线宽度:32 bit
最大时钟频率:80 MHz
程序存储器大小:512 kB
数据 RAM 大小:128 kB
ADC分辨率:10 bit
工作电源电压:2.3 V to 3.6 V
最小工作温度:- 40 C
最大工作温度:+ 105 C
接口类型:I2C, SPI, UART
封装:Reel
程序存储器类型:Flash
商标:Microchip Technology
数据 Ram 类型:SRAM
ADC通道数量:28
计时器/计数器数量:7 Timer
处理器系列:PIC32MX
产品类型:32-bit Microcontrollers - MCU
工厂包装数量:3300
子类别:Microcontrollers - MCU
商标名:MIPS32
单位重量:206.300 mg

PIC32MX470F512HT-V/MR器件文档内容

                                              PIC32MX330/350/370/430/450/470

      32-bit Microcontrollers (up to 512 KB Flash and 128 KB SRAM)

      with Audio/Graphics/Touch (HMI), USB, and Advanced Analog

Operating Conditions: 2.3V to 3.6V                                        Timers/Output Compare/Input Capture

•  -40ºC to +105ºC (DC to 80 MHz)                                         •  Five General Purpose Timers:

•  -40ºC to +85ºC (DC to 100 MHz)                                            -  Five 16-bit and up to two 32-bit Timers/Counters

•  0ºC to +70ºC (DC to 120 MHz)                                           •  Five Output Compare (OC) modules

Core: 120 MHz/150 DMIPS MIPS32® M4K®                                      •  Five Input Capture (IC) modules

•  MIPS16e® mode for up to 40% smaller code size                          •  Peripheral Pin Select (PPS) to allow function remap

•  Code-efficient (C and Assembly) architecture                           •  Real-Time Clock and Calendar (RTCC) module

•  Single-cycle (MAC) 32x16 and two-cycle 32x32 multiply                  Communication Interfaces

Clock Management                                                          •  USB 2.0-compliant Full-speed OTG controller

•  0.9% internal oscillator                                               •  Up to five UART modules (20 Mbps):

•  Programmable PLLs and oscillator clock sources                            -  LIN 2.1 protocols and IrDA® support

•  Fail-Safe Clock Monitor (FSCM)                                         •  Two 4-wire SPI modules (25 Mbps)

•  Independent Watchdog Timer                                             •  Two I2C modules (up to 1 Mbaud) with SMBus support

•  Fast wake-up and start-up                                              •  PPS to allow function remap

                                                                          •  Parallel Master Port (PMP)

Power Management                                                          Direct Memory Access (DMA)

•  Low-power management modes (Sleep and Idle)                            •  Four channels of hardware DMA with automatic data

•  Integrated Power-on Reset, Brown-out Reset, and High                      size detection

   Voltage Detect                                                         •  32-bit Programmable Cyclic Redundancy Check (CRC)

•  0.5 mA/MHz dynamic current (typical)                                   •  Two additional channels dedicated to USB

•  50 μA IPD current (typical)

Audio/Graphics/Touch HMI Features                                         Input/Output

•  External graphics interface with up to 34 PMP pins                     •  15 mA or 12 mA source/sink for standard VOH/VOL and

•  Audio data communication: I2S, LJ, RJ, USB                                up to 22 mA for non-standard VOH1

•  Audio data control interface: SPI and I2C                              •  5V-tolerant pins

•  Audio data master clock:                                               •  Selectable open drain, pull-ups, and pull-downs

   -  Generation of fractional clock frequencies                          •  External interrupts on all I/O pins

   -  Can be synchronized with USB clock                                  Qualification and Class B Support

   -  Can be tuned in run-time                                            •  AEC-Q100 REVH (Grade 2 -40ºC to +105ºC) planned

•  Charge Time Measurement Unit (CTMU):                                   •  Class B Safety Library, IEC 60730

   -  Supports mTouch™ capacitive touch sensing

   -  Provides high-resolution time measurement (1 ns)                    Debugger Development Support

Advanced Analog Features                                                  •  In-circuit and in-application programming

•  ADC Module:                                                            •  4-wire MIPS® Enhanced JTAG interface

   -  10-bit 1 Msps rate with one Sample and Hold (S&H)                   •  Unlimited program and six complex data breakpoints

   -  Up to 28 analog inputs                                              •  IEEE 1149.2-compatible (JTAG) boundary scan

   -  Can operate during Sleep mode

•  Flexible and independent ADC trigger sources

•  On-chip temperature measurement capability

•  Comparators:

   -  Two dual-input Comparator modules

   -  Programmable references with 32 voltage points

Packages

       Type                          QFN                                        TQFP                                    VTLA

       Pin Count                       64                        64             100            100                        124

       I/O Pins (up to)                53                        53             85             85                         85

       Contact/Lead Pitch            0.50                        0.50           0.40           0.50                       0.50

       Dimensions                  9x9x0.9                       10x10x1        12x12x1        14x14x1                  9x9x0.9

Note:  All dimensions are in millimeters (mm) unless specified.

 2012-2017 Microchip Technology Inc.                                                                             DS60001185G-page 1
PIC32MX330/350/370/430/450/470

TABLE 1:          PIC32MX330/350/370/430/450/470 CONTROLLER FAMILY                                                                                                                                                                            FEATURES

                                                                              Remappable Peripherals                                                             10-bit 1 Msps ADC (Channels)

          Device    Pins  Packages  Program Memory (KB)(1)  Data Memory (KB)  Remappable Pins  Timers/Capture/Compare(2)  UART  SPI/I2S  External Interrupts(3)                                Analog Comparators  USB On-The-Go (OTG)  CTMU  I2C  PMP  RTCC  DMA Channels  (Programmable/Dedicated)  I/O Pins  JTAG  Trace

PIC32MX330F064H     64    QFN,      64+12                   16                37               5/5/5                      4     2/2      5                       28                            2                   N                    Y     2    Y    Y     4/0                                     53        Y     N

                          TQFP

PIC32MX330F064L     100   TQFP      64+12                   16                54               5/5/5                      5     2/2      5                       28                            2                   N                    Y     2    Y    Y     4/0                                     85        Y     Y

                    124   VTLA

PIC32MX350F128H     64    QFN,      128+12                  32                37               5/5/5                      4     2/2      5                       28                            2                   N                    Y     2    Y    Y     4/0                                     53        Y     N

                          TQFP

PIC32MX350F128L     100   TQFP      128+12                  32                54               5/5/5                      5     2/2      5                       28                            2                   N                    Y     2    Y    Y     4/0                                     85        Y     Y

                    124   VTLA

PIC32MX350F256H     64    QFN,      256+12                  64                37               5/5/5                      4     2/2      5                       28                            2                   N                    Y     2    Y    Y     4/0                                     53        Y     N

                          TQFP

PIC32MX350F256L     100   TQFP      256+12                  64                54               5/5/5                      5     2/2      5                       28                            2                   N                    Y     2    Y    Y     4/0                                     85        Y     Y

                    124   VTLA

PIC32MX370F512H     64    QFN,      512+12                  128               37               5/5/5                      4     2/2      5                       28                            2                   N                    Y     2    Y    Y     4/0                                     53        Y     N

                          TQFP

PIC32MX370F512L     100   TQFP      512+12                  128               54               5/5/5                      5     2/2      5                       28                            2                   N                    Y     2    Y    Y     4/0                                     85        Y     Y

                    124   VTLA

PIC32MX430F064H     64    QFN,      64+12                   16                34               5/5/5                      4     2/2      5                       28                            2                   Y                    Y     2    Y    Y     4/2                                     49        Y     N

                          TQFP

PIC32MX430F064L     100   TQFP      64+12                   16                51               5/5/5                      5     2/2      5                       28                            2                   Y                    Y     2    Y    Y     4/2                                     81        Y     Y

                    124   VTLA

PIC32MX450F128H     64    QFN,      128+12                  32                34               5/5/5                      4     2/2      5                       28                            2                   Y                    Y     2    Y    Y     4/2                                     49        Y     N

                          TQFP

PIC32MX450F128L     100   TQFP      128+12                  32                51               5/5/5                      5     2/2      5                       28                            2                   Y                    Y     2    Y    Y     4/2                                     81        Y     Y

                    124   VTLA

PIC32MX450F256H     64    QFN,      256+12                  64                34               5/5/5                      4     2/2      5                       28                            2                   Y                    Y     2    Y    Y     4/2                                     49        Y     N

                          TQFP

PIC32MX450F256L     100   TQFP      256+12                  64                51               5/5/5                      5     2/2      5                       28                            2                   Y                    Y     2    Y    Y     4/2                                     81        Y     Y

                    124   VTLA

PIC32MX470F512H     64    QFN,      512+12                  128               34               5/5/5                      4     2/2      5                       28                            2                   Y                    Y     2    Y    Y     4/2                                     49        Y     N

                          TQFP

PIC32MX470F512L     100   TQFP      512+12                  128               51               5/5/5                      5     2/2      5                       28                            2                   Y                    Y     2    Y    Y     4/2                                     81        Y     Y

                    124   VTLA

Note  1:          All devices feature 12 KB of Boot Flash memory.

      2:          Four out of five timers are remappable.

      3:          Four out of five external interrupts are remappable.

DS60001185G-page 2                                                                                                                                                                                                                           2012-2017 Microchip                                     Technology      Inc.
                                            PIC32MX330/350/370/430/450/470

Device Pin Tables

TABLE 2:     PIN NAMES FOR 64-PIN DEVICES

64-PIN QFN(1,2,3,4) AND TQFP(1,2,3,4) (TOP VIEW)

PIC32MX330F064H

PIC32MX350F128H

PIC32MX350F256H

PIC32MX370F512H

                                                   64                      1

                                                                   QFN(4)                   64

                                                                                                             1

                                                                                                       TQFP

Pin #                        Full Pin Name                                 Pin #                      Full Pin Name

1      AN22/RPE5/PMD5/RE5                                                     33  RPF3/RF3

2      AN23/PMD6/RE6                                                          34  RPF2/RF2

3      AN27/PMD7/RE7                                                          35  RPF6/SCK1/INT0/RF6

4      AN16/C1IND/RPG6/SCK2/PMA5/RG6                                          36  SDA1/RG3

5      AN17/C1INC/RPG7/PMA4/RG7                                               37  SCL1/RG2

6      AN18/C2IND/RPG8/PMA3/RG8                                               38  VDD

7      MCLR                                                                   39  OSC1/CLKI/RC12

8      AN19/C2INC/RPG9/PMA2/RG9                                               40  OSC2/CLKO/RC15

9      VSS                                                                    41  VSS

10     VDD                                                                    42  RPD8/RTCC/RD8

11     AN5/C1INA/RPB5/RB5                                                     43  RPD9/RD9

12     AN4/C1INB/RB4                                                          44  RPD10/PMCS2/RD10

13     PGED3/AN3/C2INA/RPB3/RB3                                               45  RPD11/PMCS1/RD11

14     PGEC3/AN2/C2INB/RPB2/CTED13/RB2                                        46  RPD0/RD0

15     PGEC1/VREF-/CVREF-/AN1/RPB1/CTED12/RB1                                 47  SOSCI/RPC13/RC13

16     PGED1/VREF+/CVREF+/AN0/RPB0/PMA6/RB0                                   48  SOSCO/RPC14/T1CK/RC14

17     PGEC2/AN6/RPB6/RB6                                                     49  AN24/RPD1/RD1

18     PGED2/AN7/RPB7/CTED3//RB7                                              50  AN25/RPD2/RD2

19     AVDD                                                                   51  AN26/RPD3/RD3

20     AVSS                                                                   52  RPD4/PMWR/RD4

21     AN8/RPB8/CTED10//RB8                                                   53  RPD5/PMRD/RD5

22     AN9/RPB9/CTED4/PMA7/RB9                                                54  RD6

23     TMS/CVREFOUT/AN10/RPB10/CTED11//PMA13/RB10                             55  RD7

24     TDO/AN11/PMA12/RB11                                                    56  VCAP

25     VSS                                                                    57  VDD

26     VDD                                                                    58  RPF0/RF0

27     TCK/AN12/PMA11/RB12                                                    59  RPF1/RF1

28     TDI/AN13/PMA10/RB13                                                    60  PMD0/RE0

29     AN14/RPB14/CTED5/PMA1/RB14                                             61  PMD1/RE1

30     AN15/RPB15/OCFB/CTED6/PMA0/RB15                                        62  AN20/PMD2/RE2

31     RPF4/SDA2/PMA9/RF4                                                     63  RPE3/CTPLS/PMD3/RE3

32     RPF5/SCL2/PMA8/RF5                                                     64  AN21/PMD4/RE4

Note   1:   The RPn pins can be used by remappable peripherals. See Table 1 for the available peripherals and Section 12.3 “Peripheral Pin

            Select” for restrictions.

       2:   Every I/O port pin (RBx-RGx), with the exception of RF6, can be used as a change notification pin (CNBx-CNGx). See Section 12.0  “I/O

            Ports” for more information.

       3:   The metal plane at the bottom of the device is not connected to any pins and is recommended to be connected to VSS externally.

       4:   RPF6 (pin 35) is only available for output functions.

 2012-2017 Microchip Technology Inc.                                                                        DS60001185G-page 3
PIC32MX330/350/370/430/450/470

TABLE 3:           PIN NAMES FOR 64-PIN DEVICES

64-PIN QFN(1,2) AND TQFP(1,2) (TOP VIEW)

PIC32MX430F064H

PIC32MX450F128H

PIC32MX450F256H

PIC32MX470F512H

                                                   64          1

                                                       QFN(3)                      64

                                                                                                      1

                                                                                          TQFP

Pin #                        Full Pin Name             Pin #                           Full Pin Name

1      AN22/RPE5/PMD5/RE5                                      33  USBID/RF3

2      AN23/PMD6/RE6                                           34  VBUS

3      AN27/PMD7/RE7                                           35  VUSB3V3

4      AN16/C1IND/RPG6/SCK2/PMA5/RG6                           36  D-

5      AN17/C1INC/RPG7/PMA4/RG7                                37  D+

6      AN18/C2IND/RPG8/PMA3/RG8                                38  VDD

7      MCLR                                                    39  OSC1/CLKI/RC12

8      AN19/C2INC/RPG9/PMA2/RG9                                40  OSC2/CLKO/RC15

9      VSS                                                     41  VSS

10     VDD                                                     42  RPD8/RTCC/RD8

11     AN5/C1INA/RPB5/VBUSON/RB5                               43  RPD9/SDA1/RD9

12     AN4/C1INB/RB4                                           44  RPD10/SCL1/PMCS2/RD10

13     PGED3/AN3/C2INA/RPB3/RB3                                45  RPD11/PMCS1/RD11

14     PGEC3/AN2/C2INB/RPB2/CTED13/RB2                         46  RPD0/INT0/RD0

15     PGEC1/VREF-/CVREF-/AN1/RPB1/CTED12/RB1                  47  SOSCI/RPC13/RC13

16     PGED1/VREF+/CVREF+/AN0/RPB0/PMA6/RB0                    48  SOSCO/RPC14/T1CK/RC14

17     PGEC2/AN6/RPB6/RB6                                      49  AN24/RPD1/RD1

18     PGED2/AN7/RPB7/CTED3//RB7                               50  AN25/RPD2/SCK1/RD2

19     AVDD                                                    51  AN26/RPD3/RD3

20     AVSS                                                    52  RPD4/PMWR/RD4

21     AN8/RPB8/CTED10//RB8                                    53  RPD5/PMRD/RD5

22     AN9/RPB9/CTED4/PMA7/RB9                                 54  RD6

23     TMS/CVREFOUT/AN10/RPB10/CTED11//PMA13/RB10              55  RD7

24     TDO/AN11/PMA12/RB11                                     56  VCAP

25     VSS                                                     57  VDD

26     VDD                                                     58  RPF0/RF0

27     TCK/AN12/PMA11/RB12                                     59  RPF1/RF1

28     TDI/AN13/PMA10/RB13                                     60  PMD0/RE0

29     AN14/RPB14/CTED5/PMA1/RB14                              61  PMD1/RE1

30     AN15/RPB15/OCFB/CTED6/PMA0/RB15                         62  AN20/PMD2/RE2

31     RPF4/SDA2/PMA9/RF4                                      63  RPE3/CTPLS/PMD3/RE3

32     RPF5/SCL2/PMA8/RF5                                      64  AN21/PMD4/RE4

Note   1:   The RPn pins can be used by remappable peripherals. See Table 1 for the available peripherals and Section 12.3 “Peripheral Pin

            Select” for restrictions.

       2:   Every I/O port pin (RBx-RGx) can be used as a change notification pin (CNBx-CNGx). See Section 12.0 “I/O Ports” for more informa-

            tion.

       3:   The metal plane at the bottom of the device is not connected to any pins and is recommended to be connected to VSS externally.

DS60001185G-page 4                                                                 2012-2017 Microchip Technology Inc.
                                           PIC32MX330/350/370/430/450/470

TABLE 4:         PIN NAMES FOR 100-PIN DEVICES

100-PIN TQFP (TOP VIEW)(1,2,3)

                 PIC32MX330F064L

                 PIC32MX350F128L

                 PIC32MX350F256L

                 PIC32MX370F512L

                                                       100

                                                                                       1

Pin #                      Full Pin Name        Pin #                                  Full Pin Name

1      RG15                                     36     VSS

2      VDD                                      37     VDD

3      AN22/RPE5/PMD5/RE5                       38     TCK/CTED2/RA1

4      AN23/PMD6/RE6                            39     RPF13/RF13

5      AN27/PMD7/RE7                            40     RPF12/RF12

6      RPC1/RC1                                 41     AN12/PMA11/RB12

7      RPC2/RC2                                 42     AN13/PMA10/RB13

8      RPC3/RC3                                 43     AN14/RPB14/CTED5/PMA1/RB14

9      RPC4/CTED7/RC4                           44     AN15/RPB15/OCFB/CTED6/PMA0/RB15

10     AN16/C1IND/RPG6/SCK2/PMA5/RG6            45     VSS

11     AN17/C1INC/RPG7/PMA4/RG7                 46     VDD

12     AN18/C2IND/RPG8/PMA3/RG8                 47     RPD14/RD14

13     MCLR                                     48     RPD15/RD15

14     AN19/C2INC/RPG9/PMA2/RG9                 49     RPF4/PMA9/RF4

15     VSS                                      50     RPF5/PMA8/RF5

16     VDD                                      51     RPF3/RF3

17     TMS/CTED1/RA0                            52     RPF2/RF2

18     RPE8/RE8                                 53     RPF8/RF8

19     RPE9/RE9                                 54     RPF7/RF7

20     AN5/C1INA/RPB5/RB5                       55     RPF6/SCK1/INT0/RF6

21     AN4/C1INB/RB4                            56     SDA1/RG3

22     PGED3/AN3/C2INA/RPB3/RB3                 57     SCL1/RG2

23     PGEC3/AN2/C2INB/RPB2/CTED13/RB2          58     SCL2/RA2

24     PGEC1/AN1/RPB1/CTED12/RB1                59     SDA2/RA3

25     PGED1/AN0/RPB0/RB0                       60     TDI/CTED9/RA4

26     PGEC2/AN6/RPB6/RB6                       61     TDO/RA5

27     PGED2/AN7/RPB7/CTED3/RB7                 62     VDD

28     VREF-/CVREF-/PMA7/RA9                    63     OSC1/CLKI/RC12

29     VREF+/CVREF+/PMA6/RA10                   64     OSC2/CLKO/RC15

30     AVDD                                     65     VSS

31     AVSS                                     66     RPA14/RA14

32     AN8/RPB8/CTED10/RB8                      67     RPA15/RA15

33     AN9/RPB9/CTED4/RB9                       68     RPD8/RTCC/RD8

34     CVREFOUT/AN10/RPB10/CTED11PMA13/RB10     69     RPD9/RD9

35     AN11/PMA12/RB11                          70     RPD10/PMCS2/RD10

Note   1:    The RPn pins can be used by remappable peripherals. See Table 1 for the available peripherals and Section 12.3 “Peripheral Pin

             Select” for restrictions.

       2:    Every I/O port pin (RAx-RGx), with the exception of RF6, can be used as a change notification pin (CNAx-CNGx). See Section 12.0 “I/O

             Ports” for more information.

       3:    RPF6 (pin 55) and RPF7 (pin 54) are only remappable for input functions.

 2012-2017 Microchip Technology Inc.                                                                 DS60001185G-page 5
PIC32MX330/350/370/430/450/470

TABLE 4:          PIN NAMES FOR 100-PIN DEVICES (CONTINUED)

100-PIN TQFP (TOP VIEW)(1,2,3)

                   PIC32MX330F064L

                   PIC32MX350F128L

                   PIC32MX350F256L

                   PIC32MX370F512L

                                                  100

                                                                                       1

Pin #                    Full Pin Name     Pin #                                       Full Pin Name

71     RPD11/PMCS1/RD11                    86     VDD

72     RPD0/RD0                            87     RPF0/PMD11/RF0

73     SOSCI/RPC13/RC13                    88     RPF1/PMD10/RF1

74     SOSCO/RPC14/T1CK/RC14               89     RPG1/PMD9/RG1

75     VSS                                 90     RPG0/PMD8/RG0

76     AN24/RPD1/RD1                       91     TRCLK/RA6

77     AN25/RPD2/RD2                       92     TRD3/CTED8/RA7

78     AN26/RPD3/RD3                       93     PMD0/RE0

79     RPD12/PMD12/RD12                    94     PMD1/RE1

80     PMD13/RD13                          95     TRD2/RG14

81     RPD4/PMWR/RD4                       96     TRD1/RG12

82     RPD5/PMRD/RD5                       97     TRD0/RG13

83     PMD14/RD6                           98     AN20/PMD2/RE2

84     PMD15/RD7                           99     RPE3/CTPLS/PMD3/RE3

85     VCAP                                100    AN21/PMD4/RE4

Note   1:    The RPn pins can be used by remappable peripherals. See Table 1 for the available peripherals and Section 12.3 “Peripheral Pin

             Select” for restrictions.

       2:    Every I/O port pin (RAx-RGx), with the exception of RF6, can be used as a change notification pin (CNAx-CNGx). See Section 12.0 “I/O

             Ports” for more information.

       3:    RPF6 (pin 55) and RPF7 (pin 54) are only remappable for input functions.

DS60001185G-page 6                                                                      2012-2017 Microchip Technology Inc.
                                          PIC32MX330/350/370/430/450/470

TABLE 5:         PIN NAMES FOR 100-PIN DEVICES

100-PIN TQFP (TOP VIEW)(1,2)

                 PIC32MX430F064L

                 PIC32MX450F128L

                 PIC32MX450F256L

                 PIC32MX470F512L

                                                                                      100

                                                                                                                  1

Pin #                      Full Pin Name                             Pin #                              Full Pin Name

1      RG15                                                               36     VSS

2      VDD                                                                37     VDD

3      AN22/RPE5/PMD5/RE5                                                 38     TCK/CTED2/RA1

4      AN23/PMD6/RE6                                                      39     RPF13/RF13

5      AN27/PMD7/RE7                                                      40     RPF12/RF12

6      RPC1/RC1                                                           41     AN12/PMA11/RB12

7      RPC2/RC2                                                           42     AN13/PMA10/RB13

8      RPC3/RC3                                                           43     AN14/RPB14/CTED5/PMA1/RB14

9      RPC4/CTED7/RC4                                                     44     AN15/RPB15/OCFB/CTED6/PMA0/RB15

10     AN16/C1IND/RPG6/SCK2/PMA5/RG6                                      45     VSS

11     AN17/C1INC/RPG7/PMA4/RG7                                           46     VDD

12     AN18/C2IND/RPG8/PMA3/RG8                                           47     RPD14/RD14

13     MCLR                                                               48     RPD15/RD15

14     AN19/C2INC/RPG9/PMA2/RG9                                           49     RPF4/PMA9/RF4

15     VSS                                                                50     RPF5/PMA8/RF5

16     VDD                                                                51     USBID/RF3

17     TMS/CTED1/RA0                                                      52     RPF2/RF2

18     RPE8/RE8                                                           53     RPF8/RF8

19     RPE9/RE9                                                           54     VBUS

20     AN5/C1INA/RPB5/VBUSON/RB5                                          55     VUSB3V3

21     AN4/C1INB/RB4                                                      56     D-

22     PGED3/AN3/C2INA/RPB3/RB3                                           57     D+

23     PGEC3/AN2/C2INB/RPB2/CTED13/RB2                                    58     SCL2/RA2

24     PGEC1/AN1/RPB1/CTED12/RB1                                          59     SDA2/RA3

25     PGED1/AN0/RPB0/RB0                                                 60     TDI/CTED9/RA4

26     PGEC2/AN6/RPB6/RB6                                                 61     TDO/RA5

27     PGED2/AN7/RPB7/CTED3/RB7                                           62     VDD

28     VREF-/CVREF-/PMA7/RA9                                              63     OSC1/CLKI/RC12

29     VREF+/CVREF+/PMA6/RA10                                             64     OSC2/CLKO/RC15

30     AVDD                                                               65     VSS

31     AVSS                                                               66     SCL1/RPA14/RA14

32     AN8/RPB8/CTED10/RB8                                                67     SDA1/RPA15/RA15

33     AN9/RPB9/CTED4/RB9                                                 68     RPD8/RTCC/RD8

34     CVREFOUT/AN10/RPB10/CTED11/PMA13/RB10                              69     RPD9/RD9

35     AN11/PMA12/RB11                                                    70     RPD10/SCK1/PMCS2/RD10

Note   1:    The RPn pins can be used by remappable    peripherals.  See  Table  1 for the available peripherals  and  Section  12.3 “Peripheral  Pin

             Select” for restrictions.

       2:    Every I/O port pin (RBx-RGx) can be used  as a change   notification pin (CNBx-CNGx). See Section 12.0 “I/O        Ports” for more

             information.

 2012-2017 Microchip Technology Inc.                                                                                           DS60001185G-page 7
PIC32MX330/350/370/430/450/470

TABLE 5:          PIN NAMES FOR 100-PIN DEVICES (CONTINUED)

100-PIN TQFP (TOP VIEW)(1,2)

                   PIC32MX430F064L

                   PIC32MX450F128L

                   PIC32MX450F256L

                   PIC32MX470F512L

                                                                                100

                                                                                                     1

Pin #                      Full Pin Name                             Pin #                           Full Pin Name

71     RPD11/PMCS1/RD11                                              86         VDD

72     RPD0/INT0/RD0                                                 87         RPF0/PMD11/RF0

73     SOSCI/RPC13/RC13                                              88         RPF1/PMD10/RF1

74     SOSCO/RPC14/T1CK/RC14                                         89         RPG1/PMD9/RG1

75     VSS                                                           90         RPG0/PMD8/RG0

76     AN24/RPD1/RD1                                                 91         TRCLK/RA6

77     AN25/RPD2/RD2                                                 92         TRD3/CTED8/RA7

78     AN26/RPD3/RD3                                                 93         PMD0/RE0

79     RPD12/PMD12/RD12                                              94         PMD1/RE1

80     PMD13/RD13                                                    95         TRD2/RG14

81     RPD4/PMWR/RD4                                                 96         TRD1/RG12

82     RPD5/PMRD/RD5                                                 97         TRD0/RG13

83     PMD14/RD6                                                     98         AN20/CTPLS/PMD2/RE2

84     PMD15/RD7                                                     99         RPE3/PMD3/RE3

85     VCAP                                                          100        AN21/PMD4/RE4

Note   1:    The RPn pins can be used by remappable    peripherals.  See Table  1 for the available peripherals and Section  12.3 “Peripheral  Pin

             Select” for restrictions.

       2:    Every I/O port pin (RBx-RGx) can be used  as a change notification pin (CNBx-CNGx). See Section 12.0 “I/O       Ports” for more

             information.

DS60001185G-page 8                                                                                    2012-2017 Microchip Technology               Inc.
                                          PIC32MX330/350/370/430/450/470

TABLE 6:        PIN NAMES FOR 124-PIN DEVICES

      124-PIN VTLA (BOTTOM VIEW)(1,2,3,4,5)                                                       A34

                                                 A17                                    B29

                                                                          B13                                              Conductive

                                                                                                                           Thermal Pad

               PIC32MX330F064L                                            B1                 B41

               PIC32MX350F128L                                                          B56                                A51

               PIC32MX350F256L

               PIC32MX370F512L                        A1

                                                 Polarity Indicator                     A68

Package                    Full Pin Name              Package                                Full Pin Name

Bump #                                                Bump #

A1        No Connect                                                 A38  SDA1/RG3

A2        RG15                                                       A39  SCL2/RA2

A3        VSS                                                        A40  TDI/CTED9/RA4

A4        AN23/PMD6/RE6                                              A41  VDD

A5        RPC1/RC1                                                   A42  OSC2/CLKO/RC15

A6        RPC3/RC3                                                   A43  VSS

A7        AN16/C1IND/RPG6/SCK2/PMA5/RG6                              A44  RPA15/RA15

A8        AN18/C2IND/RPG8/PMA3/RG8                                   A45  RPD9/RD9

A9        AN19/C2INC/RPG9/PMA2/RG9                                   A46  RPD11/PMCS1/RD11

A10       VDD                                                        A47  SOSCI/RPC13/RC13

A11       RPE8/RE8                                                   A48  VDD

A12       AN5/C1INA/RPB5/RB5                                         A49  No Connect

A13       PGED3/AN3/C2INA/RPB3/RB3                                   A50  No Connect

A14       VDD                                                        A51  No Connect

A15       PGEC1/AN1/RPB1/CTED12/RB1                                  A52  AN24/RPD1/RD1

A16       No Connect                                                 A53  AN26/RPD3/RD3

A17       No Connect                                                 A54  PMD13/RD13

A18       No Connect                                                 A55  RPD5/PMRD/RD5

A19       No Connect                                                 A56  PMD15/RD7

A20       PGEC2/AN6/RPB6/RB6                                         A57  No Connect

A21       VREF-/CVREF-/PMA7/RA9                                      A58  No Connect

A22       AVDD                                                       A59  VDD

A23       AN8/RPB8/CTED10/RB8                                        A60  RPF1/PMD10/RF1

A24       CVREFOUT/AN10/RPB10/CTED11/PMA13/RB10                      A61  RPG0/PMD8/RG0

A25       VSS                                                        A62  TRD3/CTED8/RA7

A26       TCK/CTED2/RA1                                              A63  VSS

A27       RPF12/RF12                                                 A64  PMD1/RE1

A28       AN13/PMA10/RB13                                            A65  TRD1/RG12

A29       AN15/RPB15/OCFB/CTED6/PMA0/RB15                            A66  AN20/PMD2/RE2

A30       VDD                                                        A67  AN21/PMD4/RE4

A31       RPD15/RD15                                                 A68  No Connect

A32       RPF5/PMA8/RF5                                              B1   VDD

A33       No Connect                                                 B2   AN22/RPE5/PMD5/RE5

A34       No Connect                                                 B3   AN27/PMD7/RE7

A35       RPF3/RF3                                                   B4   RPC2/RC2

A36       RPF2/RF2                                                   B5   RPC4/CTED7/RC4

A37       RPF7/RF7                                                   B6   AN17/C1INC/RPG7/PMA4/RG7

Note  1:  The RPn pins can be used by remappable peripherals. See Table 1 for the available peripherals and Section 12.3 “Peripheral Pin

          Select” for restrictions.

      2:  Every I/O port pin (RAx-RGx), with the exception of RF6, can be used as a change notification pin (CNAx-CNGx). See Section 12.0 “I/O

          Ports” for more information.

      3:  RPF6 (bump B30) and RPF7 (bump A37) are only remappable for input functions.

      4:  Shaded package bumps are 5V tolerant.

      5:  It is recommended that the user connect the printed circuit board (PCB) ground to the conductive thermal pad on the bottom of the

          package. And to not run non-Vss PCB traces under the conductive thermal pad on the same side of the PCB layout.

 2012-2017 Microchip Technology Inc.                                                                                      DS60001185G-page 9
PIC32MX330/350/370/430/450/470

TABLE 6:        PIN NAMES FOR 124-PIN DEVICES (CONTINUED)

      124-PIN VTLA (BOTTOM VIEW)(1,2,3,4,5)                                                       A34

                                                 A17                                    B29

                                                                          B13                                              Conductive

                                                                                                                           Thermal Pad

                PIC32MX330F064L                                           B1                 B41

                PIC32MX350F128L                                                         B56                                A51

                PIC32MX350F256L

                PIC32MX370F512L                       A1

                                                 Polarity Indicator                     A68

Package                       Full Pin Name           Package                                Full Pin Name

Bump #                                                Bump #

B7        MCLR                                                       B32  SDA2/RA3

B8        VSS                                                        B33  TDO/RA5

B9        TMS/CTED1/RA0                                              B34  OSC1/CLKI/RC12

B10       RPE9/RE9                                                   B35  No Connect

B11       AN4/C1INB/RB4                                              B36  RPA14/RA14

B12       VSS                                                        B37  RPD8/RTCC/RD8

B13       PGEC3/AN2/C2INB/RPB2/CTED13/RB2                            B38  RPD10/PMCS2/RD10

B14       PGED1/AN0/RPB0/RB0                                         B39  RPD0/RD0

B15       No Connect                                                 B40  SOSCO/RPC14/T1CK/RC14

B16       PGED2/AN7/RPB7/CTED3/RB7                                   B41  VSS

B17       VREF+/CVREF+/PMA6/RA10                                     B42  AN25/RPD2/RD2

B18       AVSS                                                       B43  RPD12/PMD12/RD12

B19       AN9/RPB9/CTED4/RB9                                         B44  RPD4/PMWR/RD4

B20       AN11/PMA12/RB11                                            B45  PMD14/RD6

B21       VDD                                                        B46  No Connect

B22       RPF13/RF13                                                 B47  No Connect

B23       AN12/PMA11/RB12                                            B48  VCAP

B24       AN14/RPB14/CTED5/PMA1/RB14                                 B49  RPF0/PMD11/RF0

B25       VSS                                                        B50  RPG1/PMD9/RG1

B26       RPD14/RD14                                                 B51  TRCLK/RA6

B27       RPF4/PMA9/RF4                                              B52  PMD0/RE0

B28       No Connect                                                 B53  VDD

B29       RPF8/RF8                                                   B54  TRD2/RG14

B30       RPF6/SCKI/INT0/RF6                                         B55  TRD0/RG13

B31       SCL1/RG2                                                   B56  RPE3/CTPLS/PMD3/RE3

Note  1:  The RPn pins can be used by remappable peripherals. See Table 1 for the available peripherals and Section 12.3 “Peripheral Pin

          Select” for restrictions.

      2:  Every I/O port pin (RAx-RGx), with the exception of RF6, can be used as a change notification pin (CNAx-CNGx). See Section 12.0 “I/O

          Ports” for more information.

      3:  RPF6 (bump B30) and RPF7 (bump A37) are only remappable for input functions.

      4:  Shaded package bumps are 5V tolerant.

      5:  It is recommended that the user connect the printed circuit board (PCB) ground to the conductive thermal pad on the bottom of the

          package. And to not run non-Vss PCB traces under the conductive thermal pad on the same side of the PCB layout.

DS60001185G-page 10                                                                           2012-2017 Microchip Technology Inc.
                                          PIC32MX330/350/370/430/450/470

TABLE 7:        PIN NAMES FOR 124-PIN DEVICES

      124-PIN VTLA (BOTTOM VIEW)(1,2,3,4)                                                           A34

                                                 A17                              B29

                                                                             B13                                           Conductive

                                                                                                                           Thermal Pad

                PIC32MX430F064L                                              B1                B41

                PIC32MX450F128L                                                   B56                                               A51

                PIC32MX450F256L

                PIC32MX470F512L                       A1

                                                 Polarity Indicator               A68

Package                    Full Pin Name              Package                                  Full Pin Name

Bump #                                                               Bump #

A1        No Connect                                                 A38     D-

A2        RG15                                                       A39     SCL2/RA2

A3        VSS                                                        A40     TDI/CTED9/RA4

A4        AN23/PMD6/RE6                                              A41     VDD

A5        RPC1/RC1                                                   A42     OSC2/CLKO/RC15

A6        RPC3/RC3                                                   A43     VSS

A7        AN16/C1IND/RPG6/SCK2/PMA5/RG6                              A44     SDA1/RPA15/RA15

A8        AN18/C2IND/RPG8/PMA3/RG8                                   A45     RPD9/RD9

A9        AN19/C2INC/RPG9/PMA2/RG9                                   A46     RPD11/PMCS1/RD11

A10       VDD                                                        A47     SOSCI/RPC13/RC13

A11       RPE8/RE8                                                   A48     VDD

A12       AN5/C1INA/RPB5/VBUSON/RB5                                  A49     No Connect

A13       PGED3/AN3/C2INA/RPB3/RB3                                   A50     No Connect

A14       VDD                                                        A51     No Connect

A15       PGEC1/AN1/RPB1/CTED12/RB1                                  A52     AN24/RPD1/RD1

A16       No Connect                                                 A53     AN26/RPD3/RD3

A17       No Connect                                                 A54     PMD13/RD13

A18       No Connect                                                 A55     RPD5/PMRD/RD5

A19       No Connect                                                 A56     PMD15/RD7

A20       PGEC2/AN6/RPB6/RB6                                         A57     No Connect

A21       VREF-/CVREF-/PMA7/RA9                                      A58     No Connect

A22       AVDD                                                       A59     VDD

A23       AN8/RPB8/CTED10/RB8                                        A60     RPF1/PMD10/RF1

A24       CVREFOUT/AN10/RPB10/CTED11/PMA13/RB10                      A61     RPG0/PMD8/RG0

A25       VSS                                                        A62     TRD3/CTED8/RA7

A26       TCK/CTED2/RA1                                              A63     VSS

A27       RPF12/RF12                                                 A64     PMD1/RE1

A28       AN13/PMA10/RB13                                            A65     TRD1/RG12

A29       AN15/RPB15/OCFB/CTED6/PMA0/RB15                            A66     AN20/PMD2/RE2

A30       VDD                                                        A67     AN21/PMD4/RE4

A31       RPD15/RD15                                                 A68     No Connect

A32       RPF5/PMA8/RF5                                              B1      VDD

A33       No Connect                                                 B2      AN22/RPE5/PMD5/RE5

A34       No Connect                                                 B3      AN27/PMD7/RE7

A35       USBID/RF3                                                  B4      RPC2/RC2

A36       RPF2/RF2                                                   B5      RPC4/CTED7/RC4

A37       VBUS                                                       B6      AN17/C1INC/RPG7/PMA4/RG7

Note  1:  The RPn pins can be used by remappable peripherals. See Table 1 for the available peripherals and Section 12.3 “Peripheral Pin

          Select” for restrictions.

      2:  Every I/O port pin (RAx-RGx) can be used as a change notification pin (CNAx-CNGx). See Section 12.0 “I/O Ports” for more

          information.

      3:  Shaded package bumps are 5V tolerant.

      4:  It is recommended that the user connect the printed circuit board (PCB) ground to the conductive thermal pad on the bottom of the

          package. And to not run non-Vss PCB traces under the conductive thermal pad on the same side of the PCB layout.

 2012-2017 Microchip Technology Inc.                                                                  DS60001185G-page 11
PIC32MX330/350/370/430/450/470

TABLE 7:           PIN NAMES FOR 124-PIN DEVICES (CONTINUED)

      124-PIN VTLA (BOTTOM VIEW)(1,2,3,4)                                                           A34

                                                 A17                               B29

                                                                             B13                                           Conductive

                                                                                                                           Thermal Pad

                PIC32MX430F064L                                              B1               B41

                PIC32MX450F128L                                                   B56                                               A51

                PIC32MX450F256L

                PIC32MX470F512L                       A1

                                                 Polarity Indicator               A68

Package                    Full Pin Name              Package                                  Full Pin Name

Bump #                                                               Bump #

B7        MCLR                                                       B32     SDA2/RA3

B8        VSS                                                        B33     TDO/RA5

B9        TMS/CTED1/RA0                                              B34     OSC1/CLKI/RC12

B10       RPE9/RE9                                                   B35     No Connect

B11       AN4/C1INB/RB4                                              B36     SCL1/RPA14/RA14

B12       VSS                                                        B37     RPD8/RTCC/RD8

B13       PGEC3/AN2/C2INB/RPB2/CTED13/RB2                            B38     RPD10/SCK1/PMCS2/RD10

B14       PGED1/AN0/RPB0/RB0                                         B39     RPD0/INT0/RD0

B15       No Connect                                                 B40     SOSCO/RPC14/T1CK/RC14

B16       PGED2/AN7/RPB7/CTED3/RB7                                   B41     VSS

B17       VREF+/CVREF+/PMA6/RA10                                     B42     AN25/RPD2/RD2

B18       AVSS                                                       B43     RPD12/PMD12/RD12

B19       AN9/RPB9/CTED4/RB9                                         B44     RPD4/PMWR/RD4

B20       AN11/PMA12/RB11                                            B45     PMD14/RD6

B21       VDD                                                        B46     No Connect

B22       RPF13/RF13                                                 B47     No Connect

B23       AN12/PMA11/RB12                                            B48     VCAP

B24       AN14/RPB14/CTED5/PMA1/RB14                                 B49     RPF0/PMD11/RF0

B25       VSS                                                        B50     RPG1/PMD9/RG1

B26       RPD14/RD14                                                 B51     TRCLK/RA6

B27       RPF4/PMA9/RF4                                              B52     PMD0/RE0

B28       No Connect                                                 B53     VDD

B29       RPF8/RF8                                                   B54     TRD2/RG14

B30       VUSB3V3                                                    B55     TRD0/RG13

B31       D+                                                         B56     RPE3/CTPLS/PMD3/RE3

Note  1:  The RPn pins can be used by remappable peripherals. See Table 1 for the available peripherals and Section 12.3 “Peripheral Pin

          Select” for restrictions.

      2:  Every I/O port pin (RAx-RGx) can be used as a change notification pin (CNAx-CNGx). See Section 12.0 “I/O Ports” for more

          information.

      3:  Shaded package bumps are 5V tolerant.

      4:  It is recommended that the user connect the printed circuit board (PCB) ground to the conductive thermal pad on the bottom of the

          package. And to not run non-Vss PCB traces under the conductive thermal pad on the same side of the PCB layout.

DS60001185G-page 12                                                                       2012-2017 Microchip Technology                    Inc.
                                       PIC32MX330/350/370/430/450/470

Table of Contents

1.0   Device Overview ........................................................................................................................................................................ 17

2.0   Guidelines for Getting Started with 32-bit MCUs........................................................................................................................ 27

3.0   CPU............................................................................................................................................................................................ 35

4.0   Memory Organization ................................................................................................................................................................. 39

5.0   Flash Program Memory.............................................................................................................................................................. 53

6.0   Resets ........................................................................................................................................................................................ 59

7.0   Interrupt Controller ..................................................................................................................................................................... 63

8.0   Oscillator Configuration .............................................................................................................................................................. 73

9.0   Prefetch Cache........................................................................................................................................................................... 83

10.0  Direct Memory Access (DMA) Controller ................................................................................................................................... 93

11.0  USB On-The-Go (OTG)............................................................................................................................................................ 113

12.0  I/O Ports ................................................................................................................................................................................... 137

13.0  Timer1 ...................................................................................................................................................................................... 167

14.0  Timer2/3, Timer4/5 ................................................................................................................................................................... 171

15.0  Watchdog Timer (WDT) ........................................................................................................................................................... 177

16.0  Input Capture............................................................................................................................................................................ 181

17.0  Output Compare....................................................................................................................................................................... 185

18.0  Serial Peripheral Interface (SPI)............................................................................................................................................... 189

19.0  Inter-Integrated Circuit (I2C) ..................................................................................................................................................... 197

20.0  Universal Asynchronous Receiver Transmitter (UART) ........................................................................................................... 205

21.0  Parallel Master Port (PMP)....................................................................................................................................................... 213

22.0  Real-Time Clock and Calendar (RTCC)................................................................................................................................... 223

23.0  10-bit Analog-to-Digital Converter (ADC) ................................................................................................................................. 233

24.0  Comparator .............................................................................................................................................................................. 243

25.0  Comparator Voltage Reference (CVREF) ................................................................................................................................. 247

26.0  Charge Time Measurement Unit (CTMU)  ............................................................................................................................... 251

27.0  Power-Saving Features ........................................................................................................................................................... 257

28.0  Special Features ...................................................................................................................................................................... 261

29.0  Instruction Set .......................................................................................................................................................................... 273

30.0  Development Support............................................................................................................................................................... 275

31.0  Electrical Characteristics .......................................................................................................................................................... 279

32.0  DC and AC Device Characteristics Graphs.............................................................................................................................. 329

33.0  Packaging Information.............................................................................................................................................................. 333

The Microchip Web Site ..................................................................................................................................................................... 361

Customer Change Notification Service .............................................................................................................................................. 361

Customer Support .............................................................................................................................................................................. 361

Product Identification System ............................................................................................................................................................ 362

 2012-2017 Microchip Technology Inc.      DS60001185G-page 13
PIC32MX330/350/370/430/450/470

                              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.

DS60001185G-page 14                                            2012-2017 Microchip Technology Inc.
                                          PIC32MX330/350/370/430/450/470

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 following documents, refer

            to  the   Documentation       >       Reference

            Manuals section of the Microchip PIC32

            website: http://www.microchip.com/pic32.

•  Section 1. “Introduction” (DS60001127)

•  Section 2. “CPU” (DS60001113)

•  Section 3. “Memory Organization” (DS60001115)

•  Section 4. “Prefetch Cache” (DS60001119)

•  Section 5. “Flash Program Memory” (DS60001121)

•  Section 6. “Oscillator Configuration” (DS60001112)

•  Section 7. “Resets” (DS60001118)

•  Section 8. “Interrupt Controller” (DS60001108)

•  Section 9. “Watchdog Timer and Power-up Timer” (DS60001114)

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

•  Section 12. “I/O Ports” (DS60001120)

•  Section 13. “Parallel Master Port (PMP)” (DS60001128)

•  Section 14. “Timers” (DS60001105)

•  Section 15. “Input Capture” (DS60001122)

•  Section 16. “Output Compare” (DS60001111)

•  Section 17. “10-bit Analog-to-Digital Converter (ADC)” (DS60001104)

•  Section 19. “Comparator” (DS60001110)

•  Section 20. “Comparator Voltage Reference (CVREF)” (DS60001109)

•  Section 21. “Universal Asynchronous Receiver Transmitter (UART)” (DS60001107)

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

•  Section 24. “Inter-Integrated Circuit (I2C)” (DS60001116)

•  Section 27. “USB On-The-Go (OTG)” (DS60001126)

•  Section 29. “Real-Time Clock and Calendar (RTCC)” (DS60001125)

•  Section 31. “Direct Memory Access (DMA) Controller” (DS60001117)

•  Section 32. “Configuration” (DS60001124)

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

•  Section 37. “Charge Time Measurement Unit (CTMU)” (DS60001167)

 2012-2017 Microchip Technology Inc.                                             DS60001185G-page 15
PIC32MX330/350/370/430/450/470

NOTES:

DS60001185G-page 16              2012-2017 Microchip Technology Inc.
                              PIC32MX330/350/370/430/450/470

1.0        DEVICE OVERVIEW                                                  This document contains device-specific information for

                                                                            PIC32MX330/350/370/430/450/470 devices.

Note:       This data sheet summarizes the features                         Figure 1-1 illustrates a general block diagram of the

            of the PIC32MX330/350/370/430/450/470                           core and peripheral modules in the PIC32MX330/350/

            family of devices. It is not intended to be a                   370/430/450/470 family of devices.

            comprehensive  reference        source.     To

            complement the information in this data                         Table 1-1 lists the functions of the various pins shown

            sheet, refer to the documents listed in the                     in the pinout diagrams.

            Documentation  >   Reference                Manual

            section of the Microchip PIC32 web site

            (www.microchip.com/pic32).

FIGURE 1-1:               PIC32MX330/350/370/430/450/470 BLOCK                    DIAGRAM

                                                                       VCAP

           OSC2/CLKO           OSC/SOSC

           OSC1/CLKI           Oscillators                                             Power-up          VDD,VSS

                                                                                       Timer

                               FRC/LPRC                                                Oscillator        MCLR

                               Oscillators                           Voltage

                                                                     Regulator    Start-up Timer

                                       PLL                                             Power-on

                               DIVIDERS                              Precision         Reset

                                                                     Band Gap

                                                                     Reference         Watchdog

                               PLL-USB                                                 Timer

                                                        USBCLK

                                                        SYSCLK                         Brown-out

                               Timing                   PBCLK                          Reset

                              Generation

                           Peripheral Bus Clocked by SYSCLK

                                                                                                                                              CTMU

PORTA/CNA

                                            Priority                                                                                          Timer1-5

                           JTAG             Interrupt

PORTB/CNB                  BSCAN            Controller

                                                                USB         DMAC  ICD                    Peripheral Bus Clocked by PBCLK      PWM

                                                                                                     32                                       OC1-5

PORTC/CNC                  EJTAG            INT

                          MIPS32® M4K®      CPU Core                                                                                          IC1-5

PORTD/CND                  IS               DS                                                                                            32

                                                                32           32   32                                                          SPI1,2

                      32       32            32

PORTE/CNE

                                                 Bus    Matrix                                                                                I2C1,2

PORTF/CNF                                                                                                                                     PMP

                                       32                       32                     32

PORTG/CNG                  Cache & Prefetch                                                                                                   10-bit ADC

                               Module                   Data    RAM               Peripheral Bridge

Remappable                                                                                                                                    UART1-5

     Pins

                                       128                                                                                                    RTCC

                                       128-bit wide             Flash

                              Program Flash Memory              Controller                                                                    Comparators

                                                                                                                                              1-2

Note:       Not all features are available on all devices. Refer to TABLE 1: “PIC32MX330/350/370/430/450/470                                  Controller

            Family Features” for the list of features by device.

 2012-2017 Microchip Technology Inc.                                                                                                     DS60001185G-page 17
PIC32MX330/350/370/430/450/470

TABLE 1-1:      PINOUT I/O DESCRIPTIONS

                     Pin Number

Pin Name    64-pin                                       Pin  Buffer                        Description

            QFN/     100-pin       124-pin  Type              Type

            TQFP     TQFP          VTLA

AN0         16       25            B14                   I    Analog

AN1         15       24            A15                   I    Analog

AN2         14       23            B13                   I    Analog

AN3         13       22            A13                   I    Analog

AN4         12       21            B11                   I    Analog

AN5         11       20            A12                   I    Analog

AN6         17       26            A20                   I    Analog

AN7         18       27            B16                   I    Analog

AN8         21       32            A23                   I    Analog

AN9         22       33            B19                   I    Analog

AN10        23       34            A24                   I    Analog

AN11        24       35            B20                   I    Analog

AN12        27       41            B23                   I    Analog

AN13        28       42            A28                   I    Analog    Analog input channels.

AN14        29       43            B24                   I    Analog

AN15        30       44            A29                   I    Analog

AN16        4        10            A7                    I    Analog

AN17        5        11            B6                    I    Analog

AN18        6        12            A8                    I    Analog

AN19        8        14            A9                    I    Analog

AN20        62       98            A66                   I    Analog

AN21        64       100           A67                   I    Analog

AN22        1        3             B2                    I    Analog

AN23        2        4             A4                    I    Analog

AN24        49       76            A52                   I    Analog

AN25        50       77            B42                   I    Analog

AN26        51       78            A53                   I    Analog

AN27        3        5             B3                    I    Analog

CLKI        39       63            B34                   I    ST/CMOS   External clock source input. Always associated with

                                                                        OSC1 pin function.

                                                                        Oscillator crystal output. Connects to crystal or reso-

CLKO        40       64            A42                   O    —         nator in Crystal Oscillator mode. Optionally functions

                                                                        as CLKO in RC and EC modes. Always associated

                                                                        with the OSC2 pin function.

OSC1        39       63            B34                   I    ST/CMOS   Oscillator crystal input. ST buffer when configured in

                                                                        RC mode; CMOS otherwise.

                                                                        Oscillator crystal output. Connects to crystal or reso-

OSC2        40       64            A42                   O    —         nator in Crystal Oscillator mode. Optionally functions

                                                                        as CLKO in RC and EC modes.

SOSCI       47       73            A47                   I    ST/CMOS   32.768 kHz low-power oscillator crystal input; CMOS

                                                                        otherwise.

SOSCO       48       74            B40                   O    —         32.768 kHz low-power oscillator crystal output.

Legend:    CMOS = CMOS compatible input or output                    Analog = Analog input      P = Power

           ST = Schmitt Trigger input with CMOS levels               O = Output                 I = Input

           TTL = TTL input buffer

Note   1:  This pin is only available on devices without a USB module.

       2:  This pin is only available on devices with a USB module.

       3:  This pin is not available on 64-pin devices.

DS60001185G-page 18                                                                  2012-2017 Microchip Technology Inc.
                              PIC32MX330/350/370/430/450/470

TABLE 1-1:      PINOUT I/O DESCRIPTIONS (CONTINUED)

                        Pin Number

Pin Name    64-pin                                      Pin  Buffer                          Description

            QFN/        100-pin        124-pin         Type  Type

            TQFP        TQFP           VTLA

IC1         PPS         PPS            PPS              I    ST

IC2         PPS         PPS            PPS              I    ST

IC3         PPS         PPS            PPS              I    ST        Capture Input 1-5

IC4         PPS         PPS            PPS              I    ST

IC5         PPS         PPS            PPS              I    ST

OC1         PPS         PPS            PPS              O    ST        Output Compare Output 1

OC2         PPS         PPS            PPS              O    ST        Output Compare Output 2

OC3         PPS         PPS            PPS              O    ST        Output Compare Output 3

OC4         PPS         PPS            PPS              O    ST        Output Compare Output 4

OC5         PPS         PPS            PPS              O    ST        Output Compare Output 5

OCFA        PPS         PPS            PPS              I    ST        Output Compare Fault A Input

OCFB        30          44             A29              I    ST        Output Compare Fault B Input

INT0      35(1), 46(2)  55(1), 72(2)   B30(1), B39(2)   I    ST        External Interrupt 0

INT1        PPS         PPS            PPS              I    ST        External Interrupt 1

INT2        PPS         PPS            PPS              I    ST        External Interrupt 2

INT3        PPS         PPS            PPS              I    ST        External Interrupt 3

INT4        PPS         PPS            PPS              I    ST        External Interrupt 4

RA0         —           17             B9               I/O  ST

RA1         —           38             A26              I/O  ST

RA2         —           58             A39              I/O  ST

RA3         —           59             B32              I/O  ST

RA4         —           60             A40              I/O  ST

RA5         —           61             B33              I/O  ST        PORTA is a bidirectional I/O port

RA6         —           91             B51              I/O  ST

RA7         —           92             A62              I/O  ST

RA9         —           28             A21              I/O  ST

RA10        —           29             B17              I/O  ST

RA14        —           66             B36              I/O  ST

RA15        —           67             A44              I/O  ST

Legend:   CMOS = CMOS compatible input or output                    Analog = Analog input       P = Power

          ST = Schmitt Trigger input with CMOS levels               O = Output                  I = Input

          TTL = TTL input buffer

Note  1:  This pin is only available on devices without a USB module.

      2:  This pin is only available on devices with a USB module.

      3:  This pin is not available on 64-pin devices.

 2012-2017 Microchip Technology Inc.                                                                     DS60001185G-page 19
PIC32MX330/350/370/430/450/470

TABLE 1-1:      PINOUT I/O DESCRIPTIONS (CONTINUED)

                     Pin Number

Pin Name    64-pin                                      Pin  Buffer                        Description

            QFN/     100-pin      124-pin  Type              Type

            TQFP     TQFP         VTLA

RB0         16       25           B14                   I/O  ST

RB1         15       24           A15                   I/O  ST

RB2         14       23           B13                   I/O  ST

RB3         13       22           A13                   I/O  ST

RB4         12       21           B11                   I/O  ST

RB5         11       20           A12                   I/O  ST

RB6         17       26           A20                   I/O  ST

RB7         18       27           B16                   I/O  ST        PORTB is a bidirectional I/O port

RB8         21       32           A23                   I/O  ST

RB9         22       33           B19                   I/O  ST

RB10        23       34           A24                   I/O  ST

RB11        24       35           B20                   I/O  ST

RB12        27       41           B23                   I/O  ST

RB13        28       42           A28                   I/O  ST

RB14        29       43           B24                   I/O  ST

RB15        30       44           A29                   I/O  ST

RC1         —        6            A5                    I/O  ST

RC2         —        7            B4                    I/O  ST

RC3         —        8            A6                    I/O  ST

RC4         —        9            B5                    I/O  ST        PORTC is a bidirectional I/O port

RC12        39       63           B34                   I/O  ST

RC13        47       73           A47                   I/O  ST

RC14        48       74           B40                   I/O  ST

RC15        40       64           A42                   I/O  ST

RD0         46       72           B39                   I/O  ST

RD1         49       76           A52                   I/O  ST

RD2         50       77           B42                   I/O  ST

RD3         51       78           A53                   I/O  ST

RD4         52       81           B44                   I/O  ST

RD5         53       82           A55                   I/O  ST

RD6         54       83           B45                   I/O  ST

RD7         55       84           A56                   I/O  ST        PORTD is a bidirectional I/O port

RD8         42       68           B37                   I/O  ST

RD9         43       69           A45                   I/O  ST

RD10        44       70           B38                   I/O  ST

RD11        45       71           A46                   I/O  ST

RD12        —        79           B43                   I/O  ST

RD13        —        80           A54                   I/O  ST

RD14        —        47           B26                   I/O  ST

RD15        —        48           A31                   I/O  ST

Legend:   CMOS = CMOS compatible input or output                    Analog = Analog input  P = Power

          ST = Schmitt Trigger input with CMOS levels               O = Output             I = Input

          TTL = TTL input buffer

Note  1:  This pin is only available on devices without a USB module.

      2:  This pin is only available on devices with a USB module.

      3:  This pin is not available on 64-pin devices.

DS60001185G-page 20                                                              2012-2017 Microchip     Technology  Inc.
                           PIC32MX330/350/370/430/450/470

TABLE 1-1:      PINOUT I/O DESCRIPTIONS (CONTINUED)

                    Pin Number

Pin Name    64-pin                                      Pin  Buffer                        Description

            QFN/    100-pin            124-pin  Type         Type

            TQFP    TQFP               VTLA

RE0         60      93                 B52              I/O  ST

RE1         61      94                 A64              I/O  ST

RE2         62      98                 A66              I/O  ST

RE3         63      99                 B56              I/O  ST

RE4         64      100                A67              I/O  ST        PORTE is a bidirectional I/O port

RE5         1       3                  B2               I/O  ST

RE6         2       4                  A4               I/O  ST

RE7         3       5                  B3               I/O  ST

RE8         —       18                 A11              I/O  ST

RE9         —       19                 B10              I/O  ST

RF0         58      87                 B49              I/O  ST

RF1         59      88                 A60              I/O  ST

RF2         34(1)   52                 A36              I/O  ST

RF3         33      51                 A35              I/O  ST

RF4         31      49                 B27              I/O  ST

RF5         32      50                 A32              I/O  ST        PORTF is a bidirectional I/O port

RF6         35(1)   55(1)              B30(1)           I/O  ST

RF7         —       54(1)              A37(1)           I/O  ST

RF8         —       53                 B29              I/O  ST

RF12        —       40                 A27              I/O  ST

RF13        —       39                 B22              I/O  ST

RG0         —       90                 A61              I/O  ST

RG1         —       89                 B50              I/O  ST

RG2         37(1)   57(1)              B31              I/O  ST

RG3         36(1)   56(1)              A38              I/O  ST

RG6         4       10                 A7               I/O  ST

RG7         5       11                 B6               I/O  ST        PORTG is a bidirectional I/O port

RG8         6       12                 A8               I/O  ST

RG9         8       14                 A9               I/O  ST

RG12        —       96                 A65              I/O  ST

RG13        —       97                 B55              I/O  ST

RG14        —       95                 B54              I/O  ST

RG15        —       1                  A2               I/O  ST

T1CK        48      74                 B40              I    ST        Timer1 External Clock Input

T2CK        PPS     PPS                PPS              I    ST        Timer2 External Clock Input

T3CK        PPS     PPS                PPS              I    ST        Timer3 External Clock Input

T4CK        PPS     PPS                PPS              I    ST        Timer4 External Clock Input

T5CK        PPS     PPS                PPS              I    ST        Timer5 External Clock Input

Legend:   CMOS = CMOS compatible input or output                    Analog = Analog input  P = Power

          ST = Schmitt Trigger input with CMOS levels               O = Output             I = Input

          TTL = TTL input buffer

Note  1:  This pin is only available on devices without a USB module.

      2:  This pin is only available on devices with a USB module.

      3:  This pin is not available on 64-pin devices.

 2012-2017 Microchip Technology Inc.                                                                     DS60001185G-page 21
PIC32MX330/350/370/430/450/470

TABLE 1-1:      PINOUT I/O DESCRIPTIONS (CONTINUED)

                        Pin Number

Pin Name    64-pin                                      Pin  Buffer                        Description

            QFN/        100-pin       124-pin         Type   Type

            TQFP        TQFP          VTLA

U1CTS       PPS         PPS           PPS               I    ST        UART1 Clear to Send

U1RTS       PPS         PPS           PPS               O    —         UART1 Ready to Send

U1RX        PPS         PPS           PPS               I    ST        UART1 Receive

U1TX        PPS         PPS           PPS               O    —         UART1 Transmit

U2CTS       PPS         PPS           PPS               I    ST        UART2 Clear to Send

U2RTS       PPS         PPS           PPS               O    —         UART2 Ready to Send

U2RX        PPS         PPS           PPS               I    ST        UART2 Receive

U2TX        PPS         PPS           PPS               O    —         UART2 Transmit

U3CTS       PPS         PPS           PPS               I    ST        UART3 Clear to Send

U3RTS       PPS         PPS           PPS               O    —         UART3 Ready to Send

U3RX        PPS         PPS           PPS               I    ST        UART3 Receive

U3TX        PPS         PPS           PPS               O    —         UART3 Transmit

U4CTS       PPS         PPS           PPS               I    ST        UART4 Clear to Send

U4RTS       PPS         PPS           PPS               O    —         UART4 Ready to Send

U4RX        PPS         PPS           PPS               I    ST        UART4 Receive

U4TX        PPS         PPS           PPS               O    —         UART4 Transmit

U5CTS(3)    —           PPS           PPS               I    ST        UART5 Clear to Send

U5RTS(3)    —           PPS           PPS               O    —         UART5 Ready to Send

U5RX(3)     —           PPS           PPS               I    ST        UART5 Receive

U5TX(3)     —           PPS           PPS               O    —         UART5 Transmit

SCK1      35(1), 50(2)  55(1), 70(2)  B30(1), B38(2)    I/O  ST        Synchronous Serial Clock Input/Output for SPI1

SDI1        PPS         PPS           PPS               O    —         SPI1 Data In

SDO1        PPS         PPS           PPS               I/O  ST        SPI1 Data Out

SS1         PPS         PPS           PPS               I/O  —         SPI1 Slave Synchronization for Frame Pulse I/O

SCK2        4           10            A7                I/O  ST        Synchronous Serial Clock Input/Output for SPI2

SDI2        PPS         PPS           PPS               O    —         SPI2 Data In

SDO2        PPS         PPS           PPS               I/O  ST        SPI2 Data Out

SS2         PPS         PPS           PPS               I/O  —         SPI2 Slave Synchronization for Frame Pulse I/O

SCL1      37(1), 44(2)  57(1), 66(2)  B31(1), B36(2)    I/O  ST        Synchronous Serial Clock Input/Output for I2C1

SDA1      36(1), 43(2)  56(1), 67(2)  A38(1), A44(2)    I/O  ST        Synchronous Serial Data Input/Output for I2C1

SCL2        32          58            A39               I/O  ST        Synchronous Serial Clock Input/Output for I2C2

SDA2        31          59            B32               I/O  ST        Synchronous Serial Data Input/Output for I2C2

TMS         23          17            B9                I    ST        JTAG Test Mode Select Pin

TCK         27          38            A26               I    ST        JTAG Test Clock Input Pin

TDI         28          60            A40               I    —         JTAG Test Clock Input Pin

TDO         24          61            B33               O    —         JTAG Test Clock Output Pin

RTCC        42          68            B37               O    —         Real-Time Clock Alarm Output

Legend:   CMOS = CMOS compatible input or output                    Analog = Analog input         P = Power

          ST = Schmitt Trigger input with CMOS levels               O = Output                    I = Input

          TTL = TTL input buffer

Note  1:  This pin is only available on devices without a USB module.

      2:  This pin is only available on devices with a USB module.

      3:  This pin is not available on 64-pin devices.

DS60001185G-page 22                                                                     2012-2017 Microchip Technology Inc.
                          PIC32MX330/350/370/430/450/470

TABLE 1-1:      PINOUT I/O DESCRIPTIONS (CONTINUED)

                    Pin Number

Pin Name    64-pin                                       Pin  Buffer                         Description

            QFN/    100-pin            124-pin  Type          Type

            TQFP    TQFP               VTLA

CVREF-      15      28                 A21               I    Analog    Comparator Voltage Reference (Low)

CVREF+      16      29                 B17               I    Analog    Comparator Voltage Reference (High)

CVREFOUT    23      34                 A24               I    Analog    Comparator Voltage Reference (Output)

C1INA       11      20                 A12               I    Analog

C1INB       12      21                 B11               I    Analog    Comparator 1 Inputs

C1INC       5       11                 B6                I    Analog

C1IND       4       10                 A7                I    Analog

C2INA       13      22                 A13               I    Analog

C2INB       14      23                 B13               I    Analog    Comparator 2 Inputs

C2INC       8       14                 A9                I    Analog

C2IND       6       12                 A8                I    Analog

C1OUT       PPS     PPS                PPS               O    —         Comparator 1 Output

C2OUT       PPS     PPS                PPS               O    —         Comparator 2 Output

PMALL       30      44                 A29               O    TTL/ST    Parallel Master Port Address Latch Enable Low Byte

PMALH       29      43                 B24               O    TTL/ST    Parallel Master Port Address Latch Enable High Byte

PMA0        30      44                 A29               O    TTL/ST    Parallel Master Port Address bit 0 Input (Buffered

                                                                        Slave modes) and Output (Master modes)

PMA1        29      43                 B24               O    TTL/ST    Parallel Master Port Address bit 0 Input (Buffered

                                                                        Slave modes) and Output (Master modes)

PMA2        8       14                 A9                O    TTL/ST

PMA3        6       12                 A8                O    TTL/ST

PMA4        5       11                 B6                O    TTL/ST

PMA5        4       10                 A7                O    TTL/ST

PMA6        16      29                 B17               O    TTL/ST

PMA7        22      28                 A21               O    TTL/ST

PMA8        32      50                 A32               O    TTL/ST

PMA9        31      49                 B27               O    TTL/ST

PMA10       28      42                 A28               O    TTL/ST    Parallel Master Port data (Demultiplexed Master

PMA11       27      41                 B23               O    TTL/ST    mode) or Address/Data (Multiplexed Master modes)

PMA12       24      35                 B20               O    TTL/ST

PMA13       23      34                 A24               O    TTL/ST

PMA14       45      71                 A46               O    TTL/ST

PMA15       44      70                 B38               O    TTL/ST

PMCS1       45      71                 A46               O    TTL/ST

PMCS2       44      70                 B38               O    TTL/ST

PMD0        60      93                 B52               I/O  TTL/ST

PMD1        61      94                 A64               I/O  TTL/ST

PMD2        62      98                 A66               I/O  TTL/ST

Legend:    CMOS = CMOS compatible input or output                    Analog = Analog input   P = Power

           ST = Schmitt Trigger input with CMOS levels               O = Output              I = Input

           TTL = TTL input buffer

Note   1:  This pin is only available on devices without a USB module.

       2:  This pin is only available on devices with a USB module.

       3:  This pin is not available on 64-pin devices.

 2012-2017 Microchip Technology Inc.                                                        DS60001185G-page 23
PIC32MX330/350/370/430/450/470

TABLE 1-1:      PINOUT I/O DESCRIPTIONS (CONTINUED)

                     Pin Number

Pin Name    64-pin                                        Pin  Buffer                        Description

            QFN/     100-pin        124-pin  Type              Type

            TQFP     TQFP           VTLA

PMD3        63       99             B56                   I/O  TTL/ST

PMD4        64       100            A67                   I/O  TTL/ST

PMD5        1        3              B2                    I/O  TTL/ST

PMD6        2        4              A4                    I/O  TTL/ST

PMD7        3        5              B3                    I/O  TTL/ST

PMD8        —        90             A61                   I/O  TTL/ST    Parallel Master Port Data (Demultiplexed Master

PMD9        —        89             B50                   I/O  TTL/ST    mode) or Address/Data (Multiplexed Master modes)

PMD10       —        88             A60                   I/O  TTL/ST

PMD11       —        87             B49                   I/O  TTL/ST

PMD12       —        79             B43                   I/O  TTL/ST

PMD13       —        80             A54                   I/O  TTL/ST

PMD14       —        83             B45                   I/O  TTL/ST

PMD15       —        84             A56                   I/O  TTL/ST

PMRD        53       82             A55                   O    —         Parallel Master Port Read Strobe

PMWR        52       81             B44                   O    —         Parallel Master Port Write Strobe

VBUS(2)     34       54             A37                   I    Analog    USB Bus Power Monitor

VUSB3V3(2)  35       55             B30                   P    —         USB internal transceiver supply. If the USB module is

                                                                         not used, this pin must be connected to VDD.

VBUSON(2)   11       20             A12                   O    —         USB Host and OTG bus power control Output

D+(2)       37       57             B31                   I/O  Analog    USB D+

D-(2)       36       56             A38                   I/O  Analog    USB D-

USBID(2)    33       51             A35                   I    ST        USB OTG ID Detect

PGED1       16       25             B14                   I/O  ST        Data I/O pin for Programming/Debugging

                                                                         Communication Channel 1

PGEC1       15       24             A15                   I    ST        Clock Input pin for Programming/Debugging

                                                                         Communication Channel 1

PGED2       18       27             B16                   I/O  ST        Data I/O Pin for Programming/Debugging

                                                                         Communication Channel 2

PGEC2       17       26             A20                   I    ST        Clock Input Pin for Programming/Debugging

                                                                         Communication Channel 2

PGED3       13       22             A13                   I/O  ST        Data I/O Pin for Programming/Debugging

                                                                         Communication Channel 3

PGEC3       14       23             B13                   I    ST        Clock Input Pin for Programming/Debugging

                                                                         Communication Channel 3

TRCLK       —        91             B51                   O    —         Trace clock

TRD0        —        97             B55                   O    —         Trace Data bit 0

TRD1        —        96             A65                   O    —         Trace Data bit 1

TRD2        —        95             B54                   O    —         Trace Data bit 2

TRD3        —        92             A62                   O    —         Trace Data bit 3

CTED1       —        17             B9                    I    ST        CTMU External Edge Input 1

CTED2       —        38             A26                   I    ST        CTMU External Edge Input 2

CTED3       18       27             B16                   I    ST        CTMU External Edge Input 3

Legend:     CMOS = CMOS compatible input or output                    Analog = Analog input     P = Power

            ST = Schmitt Trigger input with CMOS levels               O = Output                I = Input

            TTL = TTL input buffer

Note   1:   This pin is only available on devices without a USB module.

       2:   This pin is only available on devices with a USB module.

       3:   This pin is not available on 64-pin devices.

DS60001185G-page 24                                                                         2012-2017 Microchip Technology Inc.
                              PIC32MX330/350/370/430/450/470

TABLE 1-1:      PINOUT I/O DESCRIPTIONS (CONTINUED)

                        Pin Number

Pin Name    64-pin                                       Pin  Buffer                          Description

            QFN/        100-pin        124-pin        Type    Type

            TQFP        TQFP           VTLA

CTED4       22          33             B19               I    ST        CTMU External Edge Input 4

CTED5       29          43             B24               I    ST        CTMU External Edge Input 5

CTED6       30          44             A29               I    ST        CTMU External Edge Input 6

CTED7       —           9              B5                I    ST        CTMU External Edge Input 7

CTED8       —           92             A62               I    ST        CTMU External Edge Input 8

CTED9       —           60             A40               I    ST        CTMU External Edge Input 9

CTED10      21          32             A23               I    ST        CTMU External Edge Input 10

CTED11      23          34             A24               I    ST        CTMU External Edge Input 11

CTED12      15          24             A15               I    ST        CTMU External Edge Input 12

CTED13      14          23             B13               I    ST        CTMU External Edge Input 13

MCLR        7           13             B7                I/P  ST        Master Clear (Reset) input. This pin is an active-low

                                                                        Reset to the device.

AVDD        19          30             A22               P    P         Positive supply for analog modules. This pin must be

                                                                        connected at all times.

AVSS        20          31             B18               P    P         Ground reference for analog modules

                                       B1, A10, A14,

VDD        10, 26, 38,  2, 16, 37,     B21, A30,         P    —         Positive supply for peripheral logic and I/O pins

            57          46, 62, 86     A41, A48,

                                       A59, B53

VCAP        56          85             B48               P    —         Capacitor for Internal Voltage Regulator

                                       A3, B8, B12,

VSS         9, 25, 41   15, 36, 45,    A25, B25,         P    —         Ground reference for logic and I/O pins

                        65, 75         A43, B41,

                                       A63

VREF+       16          29             B17               I    Analog    Analog Voltage Reference (High) Input

VREF-       15          28             A21               I    Analog    Analog Voltage Reference (Low) Input

Legend:    CMOS = CMOS compatible input or output                    Analog = Analog input       P = Power

           ST = Schmitt Trigger input with CMOS levels               O = Output                  I = Input

           TTL = TTL input buffer

Note   1:  This pin is only available on devices without a USB module.

       2:  This pin is only available on devices with a USB module.

       3:  This pin is not available on 64-pin devices.

 2012-2017 Microchip Technology Inc.                                                                DS60001185G-page 25
PIC32MX330/350/370/430/450/470

NOTES:

DS60001185G-page 26   2012-2017 Microchip Technology Inc.
                                      PIC32MX330/350/370/430/450/470

2.0       GUIDELINES FOR GETTING                                   2.2       Decoupling Capacitors

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

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

   Note:    This data sheet summarizes the features                See Figure 2-1.

            of the PIC32MX330/350/370/430/450/470                  Consider the following criteria when using decoupling

            family of devices. It is not intended to be a          capacitors:

            comprehensive          reference    source.       To

            complement the information in this data                •  Value and type of capacitor: A value of 0.1 μF

            sheet, refer to the documents listed in the               (100 nF), 10-20V is recommended. The capacitor

            Documentation          >  Reference       Manual          should be a low Equivalent Series Resistance

            section of the Microchip PIC32 web site                   (low-ESR) capacitor and have resonance fre-

            (www.microchip.com/pic32).                                quency in the range of 20 MHz and higher. It is

                                                                      further recommended that ceramic capacitors be

2.1       Basic Connection Requirements                               used.

Getting   started  with    the    PIC32MX330/350/370/430/          •  Placement on the printed circuit board: The

450/470   family   of     32-bit   Microcontrollers   (MCUs)          decoupling capacitors should be placed as close

requires  attention    to  a    minimal  set    of    device  pin     to the pins as possible. It is recommended that

connections before proceeding with development. The                   the capacitors be placed on the same side of the

following is a list of pin names, which must always be                board as the device. If space is constricted, the

connected:                                                            capacitor can be placed on another layer on the

                                                                      PCB using a via; however, ensure that the trace

•  All VDD and VSS pins (see 2.2 “Decoupling                          length from the pin to the capacitor is within one-

   Capacitors”)                                                       quarter inch (6 mm) in length.

•  All AVDD and AVSS pins, even if the ADC module is               •  Handling high frequency noise: If the board is

   not used (see 2.2 “Decoupling Capacitors”)                         experiencing high frequency noise, upward of

•  VCAP pin (see 2.3 “Capacitor on Internal Voltage                   tens of MHz, add a second ceramic-type capacitor

   Regulator (VCAP)”)                                                 in parallel to the above described decoupling

•  MCLR pin (see 2.4 “Master Clear (MCLR) Pin”)                       capacitor. The value of the second capacitor can

•  PGECx/PGEDx pins, used for In-Circuit Serial                       be in the range of 0.01 μF to 0.001 μF. Place this

   Programming (ICSP™) and debugging purposes                         second capacitor next to the primary decoupling

   (see 2.5 “ICSP Pins”)                                              capacitor. In high-speed circuit designs, consider

•  OSC1 and OSC2 pins, when external oscillator                       implementing a decade pair of capacitances as

   source is used (see 2.8 “External Oscillator Pins”)                close to the power and ground pins as possible.

                                                                      For example, 0.1 μF in parallel with 0.001 μF.

The following pins may be required:                                •  Maximizing performance: On the board layout

   VREF+/VREF-     pins,   used    when  external     voltage         from the power supply circuit, run the power and

   reference for the ADC module is implemented.                       return traces to the decoupling capacitors first,

   Note:    The    AVDD       and     AVSS      pins  must    be      and then to the device pins. This ensures that the

            connected,     regardless       of  ADC   use     and     decoupling capacitors are first in the power chain.

            the ADC voltage reference source.                         Equally important is to keep the trace length

                                                                      between the capacitor and the power pins to a

                                                                      minimum thereby reducing PCB track inductance.

 2012-2017 Microchip Technology Inc.                                                                 DS60001185G-page 27
PIC32MX330/350/370/430/450/470

FIGURE 2-1:                       RECOMMENDED                                                    2.4            Master Clear (MCLR) Pin

                                  MINIMUM CONNECTION                                             The         MCLR       pin     provides      two   specific        device

                Tantalum or                                                    0.1 μF            functions:

VDD             ceramic 10 μF                                                  Ceramic           •  Device Reset

                ESR  3(3)                                                                      •  Device programming and debugging

     R                                       VCAP                  VDD  VSS

            R1                                                                                   Pulling The MCLR pin low generates a device Reset.

                   MCLR                                                                          Figure 2-2       illustrates    a   typical  MCLR        circuit.  During

                                                                                                 device      programming         and    debugging,        the  resistance

       C                                                           VUSB3V3(1)                    and capacitance that can be added to the pin must

                                                   PIC32                                         be considered. Device programmers and debuggers

                                                                             VDD                 drive       the  MCLR     pin.  Consequently,      specific        voltage

                   VSS                                                                           levels (VIH and VIL) and fast signal transitions must

                                                                             VSS                 not be adversely affected. Therefore, specific values

                                                                                     0.1 μF      of R and C will need to be adjusted based on the

                   VDD                                                            Ceramic

    0.1 μF                  AVDD             AVSS                  VDD  VSS                      application and PCB requirements.

Ceramic                                                                                          For    example,        as      illustrated   in   Figure 2-2,          it   is

                Connect(2)                                 0.1 μF              0.1 μF            recommended that the capacitor C, be isolated from

                                                   Ceramic                     Ceramic           the  MCLR         pin  during       programming          and  debugging

                   L1(2)                                                                         operations.

                                                                                                 Place the components illustrated in Figure 2-2 within

    Note    1:  If the USB module is not used, this pin must be                                  one-quarter inch (6 mm) from the MCLR pin.

                connected to VDD.

            2:  As an option, instead of a hard-wired connection, an                             FIGURE 2-2:                     EXAMPLE OF MCLR PIN

                inductor (L1) can be substituted between VDD and                                                                 CONNECTIONS

                AVDD to improve ADC noise rejection. The inductor

                impedance should be less than 3 and the inductor                                                  VDD

                capacity greater than 10 mA.

                Where:                                                                                             R    10k      R1(1)

                          -F----C---N----V-                                                                                                   MCLR

                f  =                                       (i.e., ADC conversion rate/2)                0.1 μF(2)       C       1 k

                            2                                                                                                                      PIC32

                f  =    -----------1------------                                                             1

                        2                  LC                                                             5                                PGECx(3)

                                                                                                      ICSP™  4                                PGEDx(3)

                         ---2-------f-1------C-----  2                                                 2    VDD

                L  =                                                                                        3

                                                                                                             6    VSS

                                                                                                                  NC

            1:  Aluminum          or         electrolytic          capacitors  should   not  be

                used. ESR  3 from -40ºC to 125ºC @ SYSCLK                                         Note     1:   470  R1  1k will limit any current flowing into

                frequency (i.e., MIPS).                                                                           MCLR from the external capacitor C, in the event of

                                                                                                                  MCLR pin breakdown, due to Electrostatic Discharge

2.2.1           BULK CAPACITORS                                                                                   (ESD) or Electrical Overstress (EOS). Ensure that the

The use of a bulk capacitor is recommended to improve                                                             MCLR pin VIH and VIL specifications are met without

                                                                                                                  interfering with the Debug/Programmer tools.

power supply stability. Typical values range from 4.7 μF                                                     2:   The capacitor can be sized to prevent unintentional

to 47 μF. This capacitor should be located as close to                                                            Resets from brief glitches or to extend the device

the device as possible.                                                                                           Reset period during POR.

                                                                                                             3:   No  pull-ups   or  bypass   capacitors  are  allowed   on

2.3         Capacitor on Internal Voltage                                                                         active debug/program PGECx/PGEDx pins.

            Regulator (VCAP)

2.3.1           INTERNAL REGULATOR MODE

A low-ESR (3 ohm) capacitor is required on the VCAP

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

lator output. The VCAP pin must not be connected to

VDD, and must         have a CEFC capacitor, with at least a

6V   rating,    connected                    to    ground.              The    type    can   be

ceramic or tantalum. Refer to Section 31.0 “Electrical

Characteristics” for additional information on CEFC

specifications.

DS60001185G-page 28                                                                                                           2012-2017 Microchip Technology Inc.
                                        PIC32MX330/350/370/430/450/470

2.5         ICSP Pins                                                    2.7  Trace

The PGECx and PGEDx pins are used for In-Circuit                         The  trace  pins  can  be     connected  to  a  hardware

Serial Programming™ (ICSP™) and debugging pur-                           trace-enabled programmer to provide a compressed

poses.  It    is  recommended       to  keep     the     trace  length   real-time instruction trace. When used for trace, the

between the ICSP connector and the ICSP pins on the                      TRD3, TRD2, TRD1, TRD0 and TRCLK pins should

device as short as possible. If the ICSP connector is                    be   dedicated    for  this  use.  The   trace  hardware

expected to experience an ESD event, a series resistor                   requires a 22 Ohm series resistor between the trace

is recommended, with the value in the range of a few                     pins and the trace connector.

tens of Ohms, not to exceed 100 Ohms.

Pull-up resistors, series diodes and capacitors on the                   2.8  External Oscillator Pins

PGECx and PGEDx pins are not recommended as they

will interfere with the programmer/debugger communi-                     Many MCUs have options for at least two oscillators: a

cations to the device. If such discrete components are                   high-frequency primary oscillator and a low-frequency

an application requirement, they should be removed                       secondary oscillator (refer to Section 8.0 “Oscillator

from the circuit during programming and debugging.                       Configuration” for details).

Alternatively, refer to the AC/DC characteristics and                    The oscillator circuit should be placed on the same side

timing  requirements           information   in    the     respective    of the board as the device. Also, place the oscillator cir-

device Flash programming specification for information                   cuit close to the respective oscillator pins, not exceed-

on capacitive loading limits and pin input voltage high                  ing one-half inch (12 mm) distance between them. The

(VIH) and input low (VIL) requirements.                                  load capacitors should be placed next to the oscillator

Ensure that the “Communication Channel Select” (i.e.,                    itself, on the same side of the board. Use a grounded

PGECx/PGEDx         pins)      programmed          into  the    device   copper pour around the oscillator circuit to isolate them

matches     the   physical     connections       for  the  ICSP     to   from surrounding circuits. The grounded copper pour

MPLAB® ICD 3 or MPLAB REAL ICE™.                                         should be routed directly to the MCU ground. Do not

For     more      information  on   ICD     3    and     REAL       ICE  run any signal traces or power traces inside the ground

connection        requirements,     refer      to     the  following     pour. Also, if using a two-sided board, avoid any traces

documents that are available on the Microchip web                        on the other side of the board where the crystal is

site.                                                                    placed. A suggested layout is illustrated in Figure 2-3.

•  “Using MPLAB® ICD 3” (poster) DS50001765

•  “MPLAB® ICD 3 Design Advisory” DS50001764                             FIGURE 2-3:            SUGGESTED OSCILLATOR

•  “MPLAB® REAL ICE™ In-Circuit Debugger                                                        CIRCUIT PLACEMENT

   User’s Guide” DS50001616

•  “Using MPLAB® REAL ICE™ Emulator” (poster)

   DS50001749

2.6         JTAG                                                                                                      Oscillator

The TMS, TDO, TDI and TCK pins are used for testing                                                               Secondary

and     debugging   according       to  the    Joint     Test   Action                                            Guard Trace

Group (JTAG) standard. It is recommended to keep the

trace   length    between      the  JTAG    connector         and   the

JTAG pins on the device as short as possible. If the                                                              Guard Ring

JTAG connector is expected to experience an ESD

event, a series resistor is recommended, with the value                                                           Main Oscillator

in the range of a few tens of Ohms, not to exceed 100

Ohms.

Pull-up resistors, series diodes and capacitors on the

TMS, TDO, TDI and TCK pins are not recommended

as they will interfere with the programmer/debugger

communications to the device. If such discrete compo-

nents are an application requirement, they should be

removed       from  the   circuit   during   programming            and

debugging. Alternatively, refer to the AC/DC character-

istics  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 low (VIL) requirements.

 2012-2017 Microchip Technology Inc.                                                                       DS60001185G-page 29
PIC32MX330/350/370/430/450/470

2.8.1          CRYSTAL OSCILLATOR DESIGN                                        FIGURE 2-4:      PRIMARY CRYSTAL

               CONSIDERATION                                                                     OSCILLATOR CIRCUIT

The    following    example          assumptions          are    used      to                    RECOMMENDATIONS

calculate      the  Primary    Oscillator           loading    capacitor                         Circuit A

values:                                                                                          Typical XT

•  CIN = PIC32_OSC2_Pin Capacitance = ~4-5 pF                                                    (4-10 MHz)

•  COUT = PIC32_OSC1_Pin Capacitance = ~4-5 pF

•  C1 and C2 = XTAL manufacturing recommended                                                C1                    C2

   loading capacitance                                                                                 1M

•  Estimated PCB stray capacitance, (i.e.,12 mm

   length) = 2.5 pF                                                                              OSC2        OSC1

EXAMPLE 2-1: CRYSTAL LOAD CAPACITOR

                      CALCULATION                                                                Circuit B

   Crystal manufacturer recommended: C1 = C2 = 15 pF                                             Typical HS

   Therefore:                                                                                    (10-25 MHz)

   CLOAD       = {( [CIN + C1] * [COUT + C2] ) / [CIN + C1 + C2 + COUT] }

               + estimated oscillator PCB stray capacitance                                  C1                    C2

               = {( [5 + 15][5 + 15] ) / [5 + 15 + 15 + 5] } + 2.5 pF

               = {( [20][20]) / [40] } + 2.5

               = 10 + 2.5 = 12.5 pF

   Rounded to the nearest standard value or 13 pF in this example for                            OSC2        OSC1

   Primary Oscillator crystals “C1” and “C2”.

The following tips are used to increase oscillator gain,                                         Circuit C

(i.e., to increase peak-to-peak oscillator signal):                                              Typical XT/HS

                                                                                                 (4-25 MHz)

•  Select a crystal with a lower “minimum” power drive

   rating

•  Select an crystal oscillator with a lower XTAL                                            C1  Rs                C2

   manufacturing “ESR” rating.

•  Add a parallel resistor across the crystal. The smaller                                             1M

   the resistor value the greater the gain. It is recom-

   mended to stay in the range of 600k to 1M                                                     OSC2        OSC1

•  C1 and C2 values also affect the gain of the oscillator.

   The lower the values, the higher the gain.

•  C2/C1 ratio also affects gain. To increase the gain,                                          Circuit D

   make C1 slightly smaller than C2, which will also help                                        Not Recommended

   start-up performance.

   Note:       Do not add excessive gain such that the

               oscillator signal is clipped, flat on top of

               the sine wave. If so, you need to reduce

               the gain or add a series resistor, RS, as                                               1M

               shown in circuit “C” in Figure 2-4. Failure                                       Rs

               to do so will stress and age the crystal,

               which can result in an early failure. Adjust

               the gain to trim the max peak-to-peak to                                          OSC2        OSC1

               ~VDD-0.6V. When measuring the oscilla-

               tor  signal   you     must      use     a  FET          scope                     Circuit E

               probe  or    a  probe          with    1.5   pF        or  the                   Not Recommended

               scope probe itself will unduly change the

               gain and peak-to-peak levels.

2.8.1.1        Additional Microchip References

•  AN588 “PICmicro® Microcontroller Oscillator                                                             Rs

   Design Guide”

•  AN826 “Crystal Oscillator Basics and Crystal                                                        1M

   Selection for rfPIC™ and PICmicro® Devices”                                                   OSC2        OSC1

•  AN849 “Basic PICmicro® Oscillator Design”

DS60001185G-page 30                                                                               2012-2017 Microchip  Technology  Inc.
                                                   PIC32MX330/350/370/430/450/470

2.9          Unused I/Os

Unused       I/O  pins      should          not    be      allowed  to     float  as

inputs. They can be configured as outputs and driven

to a logic-low state.

Alternatively, inputs can be reserved by connecting the

pin to VSS through a 1k to 10k resistor and configuring

the pin as an input.

2.10         EMI/EMC/EFT (IEC 61000-4-4 and

             IEC 61000-4-2) Suppression

             Considerations

The   use    of   LDO          regulators        is    preferred    to       reduce

overall   system       noise          and       provide    a       cleaner   power

source.      However,           when        utilizing      switching         Buck/

Boost regulators as the local power source for PIC32

devices,     as   well         as     in    electrically           noisy   environ-

ments or test conditions required for IEC 61000-4-4

and IEC 61000-4-2, users should evaluate the use of

T-Filters (i.e., L-C-L) on the power pins, as shown in

Figure 2-5.       In      addition          to   a     more        stable    power

source, use of this type of T-Filter can greatly reduce

susceptibility to EMI sources and events.

FIGURE       2-5:                     EMI/EMC/EFT

                                      SUPPRESSION                  CIRCUIT

                                Ferrite Chip SMD

                                DCR = 0.15ȍ (max)

                                600 ma ISAT

                                300ȍ @ 100 MHz

                                PN#: 1-1624117-3

      VDD                       0.01 μF

              Ferrite

              Chips

                  0.1 μF                                   0.1 μF

                          VDD  VSS               VSS  VDD  VSS

                       VSS                                 VDD

                       VDD

      0.1 μF                                               VSS            0.1 μF

                                            PIC32          VDD

                       VSS                                 VSS            0.1 μF

     0.1 μF            VDD                            VUSB3V3

                          AVDD  AVSS             VSS  VDD                 0.1 μF

                                    0.1 μF                 0.1 μF   Ferrite

                                                                    Chips

                                                           VDD

                                                                    0.01 μF

 2012-2017 Microchip Technology Inc.                                                 DS60001185G-page 31
PIC32MX330/350/370/430/450/470

2.11  Typical Application Connection

      Examples

Examples of typical application connections are shown

in Figure 2-6, Figure 2-7, and Figure 2-8.

FIGURE 2-6:          CAPACITIVE TOUCH SENSING                  WITH GRAPHICS APPLICATION

             PIC32MX430F064L

                     Current Source

                                                                         To  AN6      To  AN7          To AN8      To  AN9        To  AN11

                   CTMU                                To AN0

                                            AN0                      R1           R1               R1          R1             R1

                                                                     C1           C2           C3              C4             C5

      ADC                                   AN1        To AN1

                                                                     R2           R2               R2          R2             R2

             Read the Touch Sensors                                  C1           C2           C3              C4             C5

      Microchip

      mTouch™

      Library                               AN9

             Process Samples                           To AN5

                                            AN11                     R3           R3           R3              R3             R3

      User                                                           C1           C2           C3              C4             C5

      Application

             Display Data

                                            PMD<7:0>                         LCD Controller

      Microchip               Parallel                               Frame                Display                       LCD

      Graphics                Master        PMWR                     Buffer           Controller                       Panel

      Library                        Port

FIGURE 2-7:          AUDIO    PLAYBACK APPLICATION

                                                       PMD<7:0>

             USB                     USB          PMP

             Host                                                            Display

                                                       PMWR

                                     PIC32MX450F256L

                                                  I2S          3                                               Stereo Headphones

                                                                             Audio

                                                       REFCLKO               Codec

                                                  SPI          3                                               Speaker

                                                                  3

                                                                             MMC SD

                                                               SDI

DS60001185G-page 32                                                                           2012-2017 Microchip Technology Inc.
                  PIC32MX330/350/370/430/450/470

FIGURE 2-8:  LOW-COST CONTROLLERLESS (LCC) GRAPHICS APPLICATION WITH

             PROJECTED CAPACITIVE TOUCH

             PIC32MX430F064L

                                            ANx

             CTMU                      ADC

             Microchip mTouch™

             GFX Libraries                             LCD Display

             DMA                       PMP             Projected Capacitive

                                                       Touch Overlay

                                                 SRAM  External Frame Buffer

 2012-2017 Microchip Technology Inc.                                 DS60001185G-page 33
PIC32MX330/350/370/430/450/470

NOTES:

DS60001185G-page 34   2012-2017 Microchip Technology Inc.
                                                PIC32MX330/350/370/430/450/470

3.0        CPU                                                       •  MIPS16e® Code Compression:

                                                                        -  16-bit encoding of 32-bit instructions to

   Note:     This data sheet summarizes the features                       improve code density

             of the PIC32MX330/350/370/430/450/470                      -  Special PC-relative instructions for efficient

             family of devices. It is not intended to be a                 loading of addresses and constants

             comprehensive          reference   source.      To         -  SAVE and RESTORE macro instructions for

             complement the information in this data                       setting up and tearing down stack frames

             sheet,     refer  to      Section      2.  “CPU”              within subroutines

             (DS60001113), which is available from the                  -  Improved support for handling 8 and 16-bit

             Documentation          >  Reference        Manual             data types

             section of the Microchip PIC32 web site                 •  Simple Fixed Mapping Translation (FMT)

             (www.microchip.com/pic32).             Resources           Mechanism:

             for the MIPS32® M4K® Processor Core                     •  Simple Dual Bus Interface:

             are available at http://www.imgtec.com.                    -  Independent 32-bit address and data buses

The the MIPS32® M4K® Processor Core is the heart of                     -  Transactions can be aborted to improve

the PIC32MX330/350/370/430/450/470 device proces-                          interrupt latency

sor.  The    CPU    fetches    instructions,    decodes  each        •  Autonomous Multiply/Divide Unit (MDU):

instruction, fetches source operands, executes each                     -  Maximum issue rate of one 32x16 multiply

instruction  and     writes    the     results  of      instruction        per clock

execution to the proper destinations.                                   -  Maximum issue rate of one 32x32 multiply

                                                                           every other clock

3.1        Features                                                     -  Early-in iterative divide. Minimum 11 and

                                                                           maximum 33 clock latency (dividend (rs) sign

•  5-stage pipeline                                                        extension-dependent)

•  32-bit address and data paths                                     •  Power Control:

•  MIPS32® Enhanced Architecture (Release 2):                           -  Minimum frequency: 0 MHz

   -  Multiply-accumulate and multiply-subtract                         -  Low-Power mode (triggered by WAIT instruction)

      instructions                                                      -  Extensive use of local gated clocks

   -  Targeted multiply instruction                                  •  EJTAG Debug and Instruction Trace:

   -  Zero/One detect instructions                                      -  Support for single stepping

   -  WAIT instruction                                                  -  Virtual instruction and data address/value

   -  Conditional move instructions (MOVN, MOVZ)                        -  Breakpoints

   -  Vectored interrupts

   -  Programmable exception vector base

   -  Atomic interrupt enable/disable

   -  GPR shadow registers to minimize latency

      for interrupt handlers

   -  Bit field manipulation instructions

FIGURE 3-1:                MIPS32® M4K® PROCESSOR CORE BLOCK DIAGRAM

             CPU

                               MDU                                   EJTAG

                                                                           TAP          Off-chip Debug Interface

                              Execution Core            FMT          Bus Interface  Dual Bus Interface  Bus Matrix

                              (RF/ALU/Shift)

                               System                                Power

                               Co-processor                          Management

 2012-2017 Microchip Technology Inc.                                                                   DS60001185G-page 35
PIC32MX330/350/370/430/450/470

3.2         Architecture Overview                                    3.2.2        MULTIPLY/DIVIDE UNIT (MDU)

The MIPS32® M4K® processor core contains several                     The MIPS32® M4K® processor core includes a Multi-

logic blocks working together in parallel, providing an              ply/Divide Unit (MDU) that contains a separate pipeline

efficient   high-performance        computing    engine.    The      for multiply and divide operations. This pipeline oper-

following blocks are included with the core:                         ates in parallel with the Integer Unit (IU) pipeline and

•  Execution Unit                                                    does not stall when the IU pipeline stalls. This allows

•  Multiply/Divide Unit (MDU)                                        MDU operations to be partially masked by system stalls

•  System Control Coprocessor (CP0)                                  and/or other integer unit instructions.

•  Fixed Mapping Translation (FMT)                                   The high-performance MDU consists of a 32x16 booth

•  Dual Internal Bus interfaces                                      recoded     multiplier,  result/accumulation         registers      (HI

•  Power Management                                                  and LO), a divide state machine, and the necessary

•  MIPS16e® Support                                                  multiplexers and control logic. The first number shown

•  Enhanced JTAG (EJTAG) Controller                                  (‘32’ of 32x16) represents the rs operand. The second

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

3.2.1        EXECUTION UNIT                                          PIC32 core only checks the value of the latter (rt) oper-

The     MIPS32®     M4K®  processor        core  execution  unit     and to determine how many times the operation must

implements a load/store architecture with single-cycle               pass   through   the     multiplier.  The    16x16       and    32x16

ALU operations (logical, shift, add, subtract) and an                operations pass through the multiplier once. A 32x32

autonomous     multiply/divide      unit.  The   core  contains      operation passes through the multiplier twice.

thirty-two  32-bit  General   Purpose      Registers   (GPRs)        The MDU supports execution of one 16x16 or 32x16

used for integer operations and address calculation.                 multiply operation every clock cycle; 32x32 multiply

One     additional  register  file  shadow       set  (containing    operations   can  be     issued       every  other   clock      cycle.

thirty-two  registers)    is  added  to    minimize    context       Appropriate      interlocks  are  implemented        to      stall  the

switching overhead during interrupt/exception process-               issuance of back-to-back 32x32 multiply operations.

ing. The register file consists of two read ports and one            The multiply operand size is automatically determined

write port and is fully bypassed to minimize operation               by logic built into the MDU.

latency in the pipeline.                                             Divide operations are implemented with a simple 1 bit

The execution unit includes:                                         per   clock  iterative   algorithm.     An   early-in       detection

•  32-bit adder used for calculating the data address                checks the sign extension of the dividend (rs) operand.

•  Address unit for calculating the next instruction                 If rs is 8 bits wide, 23 iterations are skipped. For a 16-bit

   address                                                           wide rs, 15 iterations are skipped and for a 24-bit wide

•  Logic for branch determination and branch target                  rs, 7 iterations are skipped. Any attempt to issue a sub-

   address calculation                                               sequent     MDU  instruction     while  a    divide  is  still  active

•  Load aligner                                                      causes an IU pipeline stall until the divide operation is

•  Bypass multiplexers used to avoid stalls when                     completed.

   executing instruction streams where data                          Table 3-1 lists the repeat rate (peak issue rate of cycles

   producing instructions are followed closely by                    until the operation can be reissued) and latency (num-

   consumers of their results                                        ber of cycles until a result is available) for the PIC32

•  Leading Zero/One detect unit for implementing                     core multiply and divide instructions. The approximate

   the CLZ and CLO instructions                                      latency and repeat rates are listed in terms of pipeline

•  Arithmetic Logic Unit (ALU) for performing bitwise                clocks.

   logical operations

•  Shifter and store aligner

TABLE 3-1:          MIPS32® M4K® PROCESSOR CORE HIGH-PERFORMANCE INTEGER                                          MULTIPLY/

                    DIVIDE UNIT LATENCIES AND REPEAT RATES

               Op code                           Operand Size (mul rt) (div rs)               Latency             Repeat Rate

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

   MSUB/MSUBU                                               32 bits                               2                           2

   MUL                                                      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

DS60001185G-page 36                                                                            2012-2017 Microchip Technology Inc.
                                                  PIC32MX330/350/370/430/450/470

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         the operating modes (Kernel, User and Debug) and

MIPS32® architecture also defines a multiply instruction,                   whether interrupts are enabled or disabled. Configura-

MUL, which places the least significant results in the pri-                 tion  information,   such  as    presence      of  options  like

mary register file instead of the HI/LO register pair. By                   MIPS16e®,  is  also  available   by  accessing      the     CP0

avoiding      the  explicit  MFLO   instruction   required     when         registers, listed in Table 3-2.

using the LO register, and by supporting multiple desti-

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

TABLE 3-2:             COPROCESSOR 0 REGISTERS

Register               Register                                                    Function

Number                 Name

     0-6       Reserved                    Reserved in the PIC32MX330/350/370/430/450/470 family core.

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

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

     9         Count(1)                    Processor cycle count.

     10        Reserved                    Reserved in the PIC32MX330/350/370/430/450/470 family core.

     11        Compare(1)                  Timer interrupt control.

     12        Status(1)                   Processor status and control.

     12        IntCtl(1)                   Interrupt system status and control.

     12        SRSCtl(1)                   Shadow register set status and control.

     12        SRSMap(1)                   Provides mapping from vectored interrupt to a shadow set.

     13        Cause(1)                    Cause of last general exception.

     14        EPC(1)                      Program counter at last exception.

     15        PRId                        Processor identification and revision.

     15        EBASE                       Exception vector base register.

     16        Config                      Configuration register.

     16        Config1                     Configuration register 1.

     16        Config2                     Configuration register 2.

     16        Config3                     Configuration register 3.

    17-22      Reserved                    Reserved in the PIC32MX330/350/370/430/450/470 family core.

     23        Debug(2)                    Debug control and exception status.

     24        DEPC(2)                     Program counter at last debug exception.

    25-29      Reserved                    Reserved in the PIC32MX330/350/370/430/450/470 family 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       during debug.

 2012-2017 Microchip Technology Inc.                                                                        DS60001185G-page 37
PIC32MX330/350/370/430/450/470

Coprocessor 0 also contains the logic for identifying

and managing exceptions. Exceptions can be caused

by a variety of sources, including alignment errors in

data, external events or program errors. Table 3-3 lists

the exception types in order of priority.

TABLE 3-3:            MIPS32® M4K® PROCESSOR CORE EXCEPTION TYPES

    Exception                                                    Description

Reset             Assertion MCLR or a Power-on Reset (POR).

DSS               EJTAG debug single step.

DINT              EJTAG debug interrupt. Caused by the assertion of the external EJ_DINT input or by setting the

                  EjtagBrk bit in the ECR register.

NMI               Assertion of NMI signal.

Interrupt         Assertion of unmasked hardware or software interrupt signal.

DIB               EJTAG debug hardware instruction break matched.

AdEL              Fetch address alignment error. Fetch reference to protected address.

IBE               Instruction fetch bus error.

DBp               EJTAG breakpoint (execution of SDBBP instruction).

Sys               Execution of SYSCALL instruction.

Bp                Execution of BREAK instruction.

RI                Execution of a reserved instruction.

CpU               Execution of a coprocessor instruction for a coprocessor that is not enabled.

CEU               Execution of a CorExtend         instruction when CorExtend is not enabled.

Ov                Execution of an arithmetic instruction that overflowed.

Tr                Execution of a trap (when trap condition is true).

DDBL/DDBS         EJTAG Data Address Break (address only) or EJTAG data value break on store (address + value).

AdEL              Load address alignment error. Load reference to protected address.

AdES              Store address alignment error. Store to protected address.

DBE               Load or store bus error.

DDBL              EJTAG data hardware breakpoint matched in load data compare.

3.3        Power Management                                           3.4       EJTAG Debug Support

The MIPS® M4K® processor core offers a number of                      The    MIPS®  M4K®      processor      core  provides   for   an

power    management        features,  including    low-power          Enhanced JTAG (EJTAG) interface for use in the soft-

design,  active   power    management        and  power-down          ware debug of application and kernel code. In addition

modes of operation. The core is a static design that                  to standard User mode and Kernel modes of operation,

supports slowing or Halting the clocks, which reduces                 the M4K® core provides a Debug mode that is entered

system power consumption during Idle periods.                         after  a  debug      exception  (derived     from  a  hardware

                                                                      breakpoint, single-step exception, etc.) is taken and

3.3.1      INSTRUCTION-CONTROLLED                                     continues     until  a  Debug   Exception    Return    (DERET)

           POWER MANAGEMENT                                           instruction is executed. During this time, the processor

The  mechanism        for  invoking   Power-Down   mode      is       executes the debug exception handler routine.

through execution of the WAIT instruction. For more                   The EJTAG interface operates through the Test Access

information on power management, see Section 27.0                     Port (TAP), a serial communication port used for trans-

“Power-Saving Features”.                                              ferring test data in and out of the core. In addition to the

                                                                      standard      JTAG      instructions,  special     instructions

3.3.2      LOCAL CLOCK GATING                                         defined   in  the       EJTAG   specification   define  which

The     majority  of  the  power      consumed     by      the        registers are selected and how they are used.

PIC32MX330/350/370/430/450/470             family  core  is  in

the clock tree and clocking registers. The PIC32MX

family   uses  extensive   use  of    local  gated-clocks    to

reduce this dynamic power consumption.

DS60001185G-page 38                                                                            2012-2017 Microchip Technology Inc.
                                           PIC32MX330/350/370/430/450/470

4.0       MEMORY ORGANIZATION                                   4.1   Memory Layout

   Note:   This data sheet summarizes the features              PIC32MX330/350/370/430/450/470              microcontrollers

           of    the   PIC32MX330/350/370/430/450/              implement two address schemes: virtual and physical.

           470 family of devices. It is not intended to         All  hardware     resources,  such    as  program     memory,

           be       a      comprehensive        reference       data  memory      and  peripherals,   are   located   at  their

           source.For detailed information, refer to            respective physical addresses. Virtual addresses are

           Section     3.    “Memory       Organization”        exclusively  used  by    the  CPU     to  fetch  and  execute

           (DS60001115),     which     is  available  from      instructions as well as access peripherals. Physical

           the Documentation > Reference Manual                 addresses are used by bus master peripherals, such as

           section of the Microchip PIC32 web site              DMA   and    the  Flash  controller,  that  access    memory

           (www.microchip.com/pic32).                           independently of the CPU.

PIC32MX330/350/370/430/450/470             microcontrollers     The memory maps for the PIC32MX330/350/370/430/

provide 4 GB of unified virtual memory address space.           450/470 devices are illustrated in Figure 4-1 through

All memory regions, including program, data memory,             Figure 4-4.

SFRs  and  Configuration     registers,    reside     in  this

address space at their respective unique addresses.

The program and data memories can be optionally par-

titioned into user and kernel memories. In addition, the

data  memory     can   be    made  executable,     allowing

PIC32MX330/350/370/430/450/470 devices to execute

from data memory.

Key features include:

•  32-bit native data width

•  Separate User (KUSEG) and Kernel (KSEG0/

   KSEG1) mode address space

•  Flexible program Flash memory partitioning

•  Flexible data RAM partitioning for data and

   program space

•  Separate boot Flash memory for protected code

•  Robust bus exception handling to intercept

   runaway code

•  Simple memory mapping with Fixed Mapping

   Translation (FMT) unit

•  Cacheable (KSEG0) and non-cacheable (KSEG1)

   address regions

 2012-2017 Microchip Technology Inc.                                                                 DS60001185G-page 39
PIC32MX330/350/370/430/450/470

FIGURE  4-1:             MEMORY MAP FOR        DEVICES         WITH  64  KB OF PROGRAM MEMORY

                          MemVoirrytuMalap(1)                            MemPhoyrysiMcaalp(1)

              0xFFFFFFFF  Reserved                                                             0xFFFFFFFF

              0xBFC03000

              0xBFC02FFF  Device

                          Configuration

              0xBFC02FF0  Registers

              0xBFC02FEF

                          Boot Flash

              0xBFC00000

              0xBF900000  Reserved

              0xBF8FFFFF

                          SFRs                 KSEG1                     Reserved

              0xBF800000

              0xBD010000  Reserved

              0xBD00FFFF

                          Program Flash(2)

              0xBD000000

              0xA0004000  Reserved

              0xA0003FFF

                          RAM(2)

              0xA0000000                                                                       0x1FC03000

                          Reserved                                       Device                0x1FC02FFF

              0x9FC03000                                                 Configuration

              0x9FC02FFF  Device                                         Registers             0x1FC02FF0

                          Configuration                                                        0x1FC02FEF

              0x9FC02FF0  Registers                                      Boot Flash

              0x9FC02FEF                                                                       0x1FC00000

                          Boot Flash                                     Reserved

              0x9FC00000                                                                       0x1F900000

                                                                                               0x1F8FFFFF

                          Reserved             KSEG0                     SFRs

              0x9D010000                                                                       0x1F800000

              0x9D00FFFF

                          Program Flash(2)                               Reserved

              0x9D000000                                                                       0x1D010000

                          Reserved                                                             0x1D00FFFF

              0x80004000                                                 Program Flash(2)

              0x80003FFF                                                                       0x1D000000

                          RAM(2)                                         Reserved

              0x80000000                                                                       0x00004000

                          Reserved                                       RAM(2)                0x00003FFF

              0x00000000                                                                       0x00000000

              Note   1:  Memory areas are not shown to scale.

                     2:  The size of this memory region is programmable (see Section 3. “Memory Organization”

                         (DS60001115) in the “PIC32 Family Reference Manual”) and can be changed by initializa-

                         tion code provided by end-user development tools (refer to the specific development tool

                         documentation for information).

DS60001185G-page 40                                                             2012-2017 Microchip Technology    Inc.
                                       PIC32MX330/350/370/430/450/470

FIGURE  4-2:            MEMORY MAP FOR         DEVICES        WITH  128  KB OF PROGRAM MEMORY

                          MemVoirrytuMalap(1)                            MemPhoyrysiMcaalp(1)

              0xFFFFFFFF  Reserved                                                             0xFFFFFFFF

              0xBFC03000

              0xBFC02FFF               Device

                          Configuration

              0xBFC02FF0  Registers

              0xBFC02FEF

                          Boot Flash

              0xBFC00000

              0xBF900000  Reserved

              0xBF8FFFFF

                                       SFRs    KSEG1                     Reserved

              0xBF800000

              0xBD020000  Reserved

              0xBD01FFFF

                          Program Flash(2)

              0xBD000000

              0xA0008000  Reserved

              0xA0007FFF

                                       RAM(2)

              0xA0000000                                                                       0x1FC03000

                          Reserved                                       Device                0x1FC02FFF

              0x9FC03000                                                 Configuration

              0x9FC02FFF               Device                            Registers             0x1FC02FF0

                          Configuration                                                        0x1FC02FEF

              0x9FC02FF0  Registers                                      Boot Flash

              0x9FC02FEF                                                                       0x1FC00000

                          Boot Flash                                     Reserved

              0x9FC00000                                                                       0x1F900000

                                                                                               0x1F8FFFFF

                          Reserved             KSEG0                     SFRs

              0x9D020000                                                                       0x1F800000

              0x9D01FFFF

                          Program Flash(2)                               Reserved

              0x9D000000                                                                       0x1D020000

                          Reserved                                                             0x1D01FFFF

              0x80008000                                                 Program Flash(2)

              0x80007FFF                                                                       0x1D000000

                                       RAM(2)                            Reserved

              0x80000000                                                                       0x00008000

                          Reserved                                       RAM(2)                0x00007FFF

              0x00000000                                                                       0x00000000

              Note  1:  Memory areas are not shown to scale.

                    2:  The size of this memory region is programmable (see Section 3. “Memory Organization”

                        (DS60001115) in the “PIC32 Family Reference Manual”) and can be changed by initializa-

                        tion code provided by end-user development tools (refer to the specific development tool

                        documentation for information).

 2012-2017 Microchip Technology Inc.                                                          DS60001185G-page 41
PIC32MX330/350/370/430/450/470

FIGURE  4-3:             MEMORY MAP FOR        DEVICES         WITH  256  KB OF PROGRAM MEMORY

                          MemVoirrytuMalap(1)                             MemPhoyrysiMcaalp(1)

              0xFFFFFFFF  Reserved                                                              0xFFFFFFFF

              0xBFC03000

              0xBFC02FFF  Device

                          Configuration

              0xBFC02FF0  Registers

              0xBFC02FEF

                          Boot Flash

              0xBFC00000

              0xBF900000  Reserved

              0xBF8FFFFF

                          SFRs                 KSEG1                      Reserved

              0xBF800000

              0xBD040000  Reserved

              0xBD03FFFF

                          Program Flash(2)

              0xBD000000

              0xA0010000  Reserved

              0xA000FFFF

                          RAM(2)

              0xA0000000                                                                        0x1FC03000

                          Reserved                                        Device                0x1FC02FFF

              0x9FC03000                                                  Configuration

              0x9FC02FFF  Device                                          Registers             0x1FC02FF0

                          Configuration                                                         0x1FC02FEF

              0x9FC02FF0  Registers                                       Boot Flash

              0x9FC02FEF                                                                        0x1FC00000

                          Boot Flash                                      Reserved

              0x9FC00000                                                                        0x1F900000

                                                                                                0x1F8FFFFF

                          Reserved             KSEG0                      SFRs

              0x9D040000                                                                        0x1F800000

              0x9D03FFFF

                          Program Flash(2)                                Reserved

              0x9D000000                                                                        0x1D040000

                          Reserved                                                              0x1D03FFFF

              0x80010000                                                  Program Flash(2)

              0x8000FFFF                                                                        0x1D000000

                          RAM(2)                                          Reserved

              0x80000000                                                                        0x00010000

                          Reserved                                        RAM(2)                0x0000FFFF

              0x00000000                                                                        0x00000000

              Note   1:  Memory areas are not shown to scale.

                     2:  The size of this memory region is programmable (see Section 3. “Memory Organization”

                         (DS60001115) in the “PIC32 Family Reference Manual”) and can be changed by initializa-

                         tion code provided by end-user development tools (refer to the specific development tool

                         documentation for information).

DS60001185G-page 42                                                              2012-2017 Microchip Technology   Inc.
                                       PIC32MX330/350/370/430/450/470

FIGURE  4-4:            MEMORY MAP FOR         DEVICES        WITH  512  KB OF PROGRAM MEMORY

                          MemVoirrytuMalap(1)                            MemPhoyrysiMcaalp(1)

              0xFFFFFFFF  Reserved                                                             0xFFFFFFFF

              0xBFC03000

              0xBFC02FFF               Device

                          Configuration

              0xBFC02FF0  Registers

              0xBFC02FEF

                          Boot Flash

              0xBFC00000

              0xBF900000  Reserved

              0xBF8FFFFF

                                       SFRs    KSEG1                     Reserved

              0xBF800000

              0xBD080000  Reserved

              0xBD07FFFF

                          Program Flash(2)

              0xBD000000

              0xA0020000  Reserved

              0xA001FFFF

                                       RAM(2)

              0xA0000000                                                                       0x1FC03000

                          Reserved                                       Device                0x1FC02FFF

              0x9FC03000                                                 Configuration

              0x9FC02FFF               Device                            Registers             0x1FC02FF0

                          Configuration                                                        0x1FC02FEF

              0x9FC02FF0  Registers                                      Boot Flash

              0x9FC02FEF                                                                       0x1FC00000

                          Boot Flash                                     Reserved

              0x9FC00000                                                                       0x1F900000

                                                                                               0x1F8FFFFF

                          Reserved             KSEG0                     SFRs

              0x9D080000                                                                       0x1F800000

              0x9D07FFFF

                          Program Flash(2)                               Reserved

              0x9D000000                                                                       0x1D080000

                          Reserved                                                             0x1D07FFFF

              0x80020000                                                 Program Flash(2)

              0x8001FFFF                                                                       0x1D000000

                                       RAM(2)                            Reserved

              0x80000000                                                                       0x00020000

                          Reserved                                       RAM(2)                0x0001FFFF

              0x00000000                                                                       0x00000000

              Note  1:  Memory areas are not shown to scale.

                    2:  The size of this memory region is programmable (see Section 3. “Memory Organization”

                        (DS60001115) in the “PIC32 Family Reference Manual”) and can be changed by initializa-

                        tion code provided by end-user development tools (refer to the specific development tool

                        documentation for information).

 2012-2017 Microchip Technology Inc.                                                          DS60001185G-page 43
PIC32MX330/350/370/430/450/470

TABLE 4-1:         SFR MEMORY MAP

                        Virtual Address

       Peripheral                  Offset

                        Base       Start

Watchdog Timer                     0x0000

RTCC                               0x0200

Timer1-5                           0x0600

Input Capture 1-5                  0x2000

Output Compare 1-5                 0x3000

I2C1 and I2C2                      0x5000

SPI1 and SPI2                      0x5800

UART1 and UART2                    0x6000

PMP                     0xBF80     0x7000

ADC                                0x9000

CVREF                              0x9800

Comparator                         0xA000

CTMU                               0xA200

Oscillator                         0xF000

Device and Revision ID             0xF200

Flash Controller                   0xF400

Reset                              0xF600

PPS                                0xFA04

Interrupts                         0x1000

Bus Matrix                         0x2000

DMA                                0x3000

Prefetch                0xBF88     0x4000

USB                                0x5040

PORTA-PORTG                        0x6000

Configuration           0xBFC0     0x2FF0

DS60001185G-page 44                         2012-2017 Microchip Technology Inc.
 2012-2017 Microchip Technology Inc.  4.2                            Bus Matrix Registers

                                       TABLE 4-2:                                     BUS MATRIX REGISTER MAP

                                       Virtual Address                                                                                                                              Bits

                                                        (BF88_#)      Register  Name  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

                                                                  BMXCON(1)           31:16      —      —      —      —      —      BMXCHEDMA  —     —     —                        —         —     BMXERRIXI  BMXERRICD  BMXERRDMA  BMXERRDS  BMXERRIS                                    041F

                                       2000

                                                                                      15:0       —      —      —      —      —      —          —     —     —                        BMXWSDRM  —     —          —                BMXARB<2:0>                                                0047

                                                                  BMXDKPBA(1)         31:16      —      —      —      —      —      —          —     —     —                        —         —     —          —          —          —         —                                           0000

                                       2010                                           15:0                                                                 BMXDKPBA<15:0>

                                                                                                                                                                                                                                                                                           0000

                                                                  BMXDUDBA(1)         31:16      —      —      —      —      —      —          —     —     —                        —         —     —          —          —          —         —                                           0000

                                       2020                                           15:0                                                                 BMXDUDBA<15:0>                                                                                                                               PIC32MX330/350/370/430/450/470

                                                                                                                                                                                                                                                                                           0000

                                                                  BMXDUPBA(1)         31:16      —      —      —      —      —      —          —     —     —                        —         —     —          —          —          —         —                                           0000

                                       2030                                           15:0                                                                 BMXDUPBA<15:0>

                                                                                                                                                                                                                                                                                           0000

                                                                                      31:16                                                                                                                                                                                                xxxx

                                       2040                       BMXDRMSZ            15:0                                                                 BMXDRMSZ<31:0>

                                                                                                                                                                                                                                                                                           xxxx

                                                                  BMXPUPBA(1)         31:16      —      —      —      —      —      —          —     —     —                        —         —     —                     BMXPUPBA<19:16>                                                  0000

                                       2050                                           15:0                                                                 BMXPUPBA<15:0>

                                                                                                                                                                                                                                                                                           0000

                                                                                      31:16                                                                                                                                                                                                xxxx

                                       2060                       BMXPFMSZ            15:0                                                                 BMXPFMSZ<31:0>

                                                                                                                                                                                                                                                                                           xxxx

                                                                                      31:16                                                                                                                                                                                                0000

                                       2070                       BMXBOOTSZ           15:0                                                                 BMXBOOTSZ<31:0>

                                                                                                                                                                                                                                                                                           0000

                                       Legend:                                  x = unknown value on Reset; — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.

                                       Note                       1:            This register has corresponding CLR, SET and INV registers at its virtual address, plus an offset of 0x4, 0x8 and 0xC, respectively. See Section 12.2 “CLR, SET, and INV Registers” for more information.

DS60001185G-page 45
PIC32MX330/350/370/430/450/470

REGISTER 4-1:           BMXCON: BUS MATRIX              CONFIGURATION 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

               U-0           U-0        U-0             U-0         U-0                   R/W-1  U-0              U-0

31:24          —             —          —               —           —                     BMX    —                —

                                                                                CHEDMA

               U-0           U-0        U-0             R/W-1       R/W-1                 R/W-1  R/W-1        R/W-1

23:16          —             —          —               BMX         BMX                   BMX    BMX          BMX

                                                        ERRIXI      ERRICD      ERRDMA           ERRDS        ERRIS

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

               —             —          —               —           —                     —      —                —

               U-0           R/W-1      U-0             U-0         U-0                   R/W-0  R/W-0        R/W-1

     7:0       —             BMX        —               —           —                            BMXARB<2:0>

                        WSDRM

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

bit  31-27  Unimplemented: Read as ‘0’

bit  26     BMXCHEDMA: BMX PFM Cacheability for DMA Accesses bit

            1 = Enable program Flash memory (data) cacheability for DMA accesses (requires cache to have data cach-

               ing enabled)

            0 = Disable program Flash memory (data) cacheability for DMA accesses

               (hits are still read from the cache, but misses do not update the cache)

bit  25-21  Unimplemented: Read as ‘0’

bit  20     BMXERRIXI: Enable Bus Error from IXI bit

            1 = Enable bus error exceptions for unmapped address accesses initiated from IXI shared bus

            0 = Disable bus error exceptions for unmapped address accesses initiated from IXI shared bus

bit  19     BMXERRICD: Enable Bus Error from ICD Debug Unit bit

            1 = Enable bus error exceptions for unmapped address accesses initiated from ICD

            0 = Disable bus error exceptions for unmapped address accesses initiated from ICD

bit  18     BMXERRDMA: Bus Error from DMA bit

            1 = Enable bus error exceptions for unmapped address accesses initiated from DMA

            0 = Disable bus error exceptions for unmapped address accesses initiated from DMA

bit  17     BMXERRDS: Bus Error from CPU Data Access bit (disabled in Debug mode)

            1 = Enable bus error exceptions for unmapped address accesses initiated from CPU data access

            0 = Disable bus error exceptions for unmapped address accesses initiated from CPU data access

bit  16     BMXERRIS: Bus Error from CPU Instruction Access bit (disabled in Debug mode)

            1 = Enable bus error exceptions for unmapped address accesses initiated from CPU instruction access

            0 = Disable bus error exceptions for unmapped address accesses initiated from CPU instruction access

bit  15-7   Unimplemented: Read as ‘0’

bit  6      BMXWSDRM: CPU Instruction or Data Access from Data RAM Wait State bit

            1 = Data RAM accesses from CPU have one wait state for address setup

            0 = Data RAM accesses from CPU have zero wait states for address setup

bit  5-3    Unimplemented: Read as ‘0’

bit  2-0    BMXARB<2:0>: Bus Matrix Arbitration Mode bits

            111 = Reserved (using these configuration modes will produce undefined behavior)

            •

            •

            •

            011 = Reserved (using these configuration modes will produce undefined behavior)

            010 = Arbitration Mode 2

            001 = Arbitration Mode 1 (default)

            000 = Arbitration Mode 0

DS60001185G-page 46                                                                        2012-2017 Microchip Technology Inc.
                                       PIC32MX330/350/370/430/450/470

REGISTER 4-2:            BMXDKPBA: DATA RAM KERNEL PROGRAM                       BASE 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        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       R/W-0           R/W-0           R/W-0       R/W-0       R/W-0          R-0                 R-0

                                                         BMXDKPBA<15:8>

7:0          R-0         R-0             R-0             R-0         R-0                   R-0  R-0                 R-0

                                                         BMXDKPBA<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-16    Unimplemented: Read as ‘0’

bit 15-10    BMXDKPBA<15:10>: DRM Kernel Program Base Address bits

             When non-zero, this value selects the relative base address for kernel program space in RAM

bit 9-0      BMXDKPBA<9:0>: Read-Only bits

             Value is always ‘0’, which forces 1 KB increments

Note     1:  At Reset, the value in this register is forced to zero, which causes all of the RAM to be allocated to Kernel

             mode data usage.

         2:  The value in this register must be less than or equal to BMXDRMSZ.

 2012-2017 Microchip Technology Inc.                                                           DS60001185G-page 47
PIC32MX330/350/370/430/450/470

REGISTER 4-3:            BMXDUDBA: DATA RAM USER DATA BASE 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        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       R/W-0           R/W-0         R/W-0       R/W-0         R/W-0            R-0                 R-0

                                                       BMXDUDBA<15:8>

7:0          R-0         R-0             R-0           R-0         R-0                   R-0      R-0                 R-0

                                                       BMXDUDBA<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-16    Unimplemented: Read as ‘0’

bit 15-10    BMXDUDBA<15:10>: DRM User Data Base Address bits

             When non-zero, the value selects the relative base address for User mode data        space in RAM,    the value

             must be greater than BMXDKPBA.

bit 9-0      BMXDUDBA<9:0>: Read-Only bits

             Value is always ‘0’, which forces 1 KB increments

Note     1:  At Reset, the value in this register is forced to zero, which causes all of the RAM  to be allocated  to Kernel

             mode data usage.

         2:  The value in this register must be less than or equal to BMXDRMSZ.

DS60001185G-page 48                                                                       2012-2017 Microchip Technology Inc.
                                       PIC32MX330/350/370/430/450/470

REGISTER 4-4:            BMXDUPBA: DATA RAM USER PROGRAM BASE 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        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       R/W-0           R/W-0           R/W-0       R/W-0            R/W-0           R-0                 R-0

                                                         BMXDUPBA<15:8>

7:0          R-0         R-0             R-0             R-0         R-0                   R-0        R-0                 R-0

                                                         BMXDUPBA<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-16    Unimplemented: Read as ‘0’

bit 15-10    BMXDUPBA<15:10>: DRM User Program Base Address bits

             When non-zero, the value selects the relative base address          for  User      mode  program  space  in    RAM,

             BMXDUPBA must be greater than BMXDUDBA.

bit 9-0      BMXDUPBA<9:0>: Read-Only bits

             Value is always ‘0’, which forces 1 KB increments

Note     1:  At Reset, the value in this register is forced to zero, which causes all of the RAM to be allocated to Kernel

             mode data usage.

         2:  The value in this register must be less than or equal to BMXDRMSZ.

 2012-2017 Microchip Technology Inc.                                                                 DS60001185G-page 49
PIC32MX330/350/370/430/450/470

REGISTER 4-5:          BMXDRMSZ: DATA RAM SIZE 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                 R         R             R                     R           R    R                   R

                                                     BMXDRMSZ<31:24>

23:16      R                 R         R             R                     R           R    R                   R

                                                     BMXDRMSZ<23:16>

15:8       R                 R         R             R                     R           R    R                   R

                                                     BMXDRMSZ<15:8>

7:0        R                 R         R             R                     R           R    R                   R

                                                     BMXDRMSZ<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   BMXDRMSZ<31:0>: Data RAM Memory (DRM) Size bits

           Static value that indicates the size of the Data RAM in bytes:

           0x00004000 = Device has 16 KB RAM

           0x00008000 = Device has 32 KB RAM

           0x00010000 = Device has 64 KB RAM

           0x00020000 = Device has 128 KB RAM

REGISTER 4-6:          BMXPUPBA: PROGRAM FLASH (PFM) USER                      PROGRAM BASE 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      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         R/W-0         R/W-0        R/W-0      R/W-0

           —                 —         —             —                         BMXPUPBA<19:16>

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

                                                     BMXPUPBA<15:8>

7:0        R-0         R-0             R-0           R-0         R-0                   R-0  R-0                 R-0

                                                     BMXPUPBA<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-20  Unimplemented: Read as ‘0’

bit 19-11  BMXPUPBA<19:11>: Program Flash (PFM) User Program Base Address bits

bit 10-0   BMXPUPBA<10:0>: Read-Only bits

           Value is always ‘0’, which forces 2 KB increments

Note  1:   At Reset, the value in this register is forced to zero, which causes all of the RAM to be allocated to Kernel

           mode data usage.

      2:   The value in this register must be less than or equal to BMXPFMSZ.

DS60001185G-page 50                                                                     2012-2017 Microchip Technology Inc.
                                       PIC32MX330/350/370/430/450/470

REGISTER 4-7:         BMXPFMSZ:        PROGRAM FLASH (PFM) SIZE                  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           R                R                 R                R                R    R                   R

                                                         BMXPFMSZ<31:24>

23:16     R           R                R                 R                R                R    R                   R

                                                         BMXPFMSZ<23:16>

15:8      R           R                R                 R                R                R    R                   R

                                                         BMXPFMSZ<15:8>

7:0       R           R                R                 R                R                R    R                   R

                                                         BMXPFMSZ<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  BMXPFMSZ<31:0>: Program Flash Memory (PFM) Size bits

          Static value that indicates the size of the PFM in bytes:

          0x00010000 = Device has 64 KB Flash

          0x00020000 = Device has 128 KB Flash

          0x00040000 = Device has 256 KB Flash

          0x00080000 = Device has 512 KB Flash

REGISTER 4-8:         BMXBOOTSZ: BOOT FLASH (IFM) SIZE 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           R                R                 R                R                R    R                   R

                                                         BMXBOOTSZ<31:24>

23:16     R           R                R                 R                R                R    R                   R

                                                         BMXBOOTSZ<23:16>

15:8      R           R                R                 R                R                R    R                   R

                                                         BMXBOOTSZ<15:8>

7:0       R           R                R                 R                R                R    R                   R

                                                         BMXBOOTSZ<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  BMXBOOTSZ<31:0>: Boot Flash Memory (BFM) Size bits

          Static value that indicates the size of the Boot PFM in bytes:

          0x00003000 = Device has 12 KB Boot Flash

 2012-2017 Microchip Technology Inc.                                                           DS60001185G-page 51
PIC32MX330/350/370/430/450/470

NOTES:

DS60001185G-page 52              2012-2017 Microchip Technology Inc.
                                       PIC32MX330/350/370/430/450/470

5.0    FLASH PROGRAM MEMORY                           PIC32MX330/350/370/430/450/470 devices contain an

                                                      internal  Flash   program  memory     for   executing    user

Note:  This data sheet summarizes the features        code. There are three methods by which the user can

       of  the  PIC32MX330/350/370/430/450/           program this memory:

       470 family of devices. It is not intended to   •  Run-Time Self-Programming (RTSP)

       be a comprehensive reference source. To        •  EJTAG Programming

       complement the information in this data

       sheet,   refer  to     Section  5.    “Flash   •  In-Circuit Serial Programming™ (ICSP™)

       Program      Memory”            (DS60001121),  RTSP is performed by software executing from either

       which    is     available       from  the      Flash     or  RAM    memory.   Information  about      RTSP

       Documentation       >  Reference      Manual   techniques is available in Section 5. “Flash Program

       section of the Microchip PIC32 web site        Memory”       (DS60001121)       in   the  “PIC32  Family

       (www.microchip.com/pic32).                     Reference Manual”.

                                                      EJTAG     is  performed   using  the  EJTAG  port  of    the

                                                      device and an EJTAG capable programmer.

                                                      ICSP is performed using a serial data connection to the

                                                      device and allows much faster programming times than

                                                      RTSP.

                                                      The EJTAG and ICSP methods are described in the

                                                      “PIC32        Flash       Programming       Specification”

                                                      (DS60001145),      which  can    be  downloaded    from  the

                                                      Microchip web site.

                                                         Note:      On     PIC32MX330/350/370/430/450/470

                                                                    devices, the Flash page size is 4 KB and

                                                                    the row size is 512 bytes (1024 IW and

                                                                    128 IW, respectively).

 2012-2017 Microchip Technology Inc.                                                       DS60001185G-page 53
DS60001185G-page 54                    5.1                            Control Registers                                                                                                                                                                                                           PIC32MX330/350/370/430/450/470

                                       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

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

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

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

                                                                                      15:0                                                                                                                                                                                            0000

                                       F420                       NVMADDR(1)          31:16                                                         NVMADDR<31:0>                                                                                                                     0000

                                                                                      15:0                                                                                                                                                                                            0000

                                       F430                       NVMDATA             31:16                                                         NVMDATA<31:0>                                                                                                                     0000

                                                                                      15:0                                                                                                                                                                                            0000

                                       F440                       NVMSRC              31:16                                                         NVMSRCADDR<31:0>                                                                                                                  0000

                                                                      ADDR            15:0                                                                                                                                                                                            0000

                                       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 their virtual addresses, plus offsets of 0x4, 0x8 and  0xC, respectively. See  Section  12.2  “CLR,  SET, and INV Registers”  for more

                                                                                information.

 2012-2017 Microchip Technology Inc.
                                            PIC32MX330/350/370/430/450/470

REGISTER 5-1:                NVMCON: 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       R/W-0          R-0            R-0                R-0            U-0         U-0             U-0

                 WR          WREN        WRERR(1)          LVDERR(1)   LVDSTAT(1)            —           —               —

     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>

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       WR: Write Control bit

              This bit is writable when WREN = 1 and the unlock sequence is followed.

              1 = Initiate a Flash operation. Hardware clears this bit when the operation completes

              0 = Flash operation complete or inactive

bit  14       WREN: Write Enable bit

              1 = Enable writes to WR bit and enables LVD circuit

              0 = Disable writes to WR bit and disables LVD circuit

              This is the only bit in this register reset by a device Reset.

bit  13       WRERR: Write Error bit(1)

              This bit is read-only and is automatically set by hardware.

              1 = Program or erase sequence did not complete successfully

              0 = Program or erase sequence completed normally

bit  12       LVDERR: Low-Voltage Detect Error bit (LVD circuit must be enabled)(1)

              This bit is read-only and is automatically set by hardware.

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

              0 = Voltage level is acceptable for programming

bit  11       LVDSTAT: Low-Voltage Detect Status bit (LVD circuit must be enabled)(1)

              This bit is read-only and is automatically set, and cleared, by hardware.

              1 = Low-voltage event active

              0 = Low-voltage event NOT active

bit  10-4     Unimplemented: Read as ‘0’

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

              These bits are writable when WREN = 0.

              1111 = Reserved

              •

              •

              •

              0111  =  Reserved

              0110  =  No operation

              0101  =  Program Flash (PFM) erase operation: erases PFM, if all pages are not write-protected

              0100  =  Page erase operation: erases page selected by NVMADDR, if it is not write-protected

              0011  =  Row program operation: programs row selected by NVMADDR, if it is not write-protected

              0010  =  No operation

              0001  =  Word program operation: programs word selected by NVMADDR, if it is not write-protected

              0000  =  No operation

Note      1:  This bit is cleared by setting NVMOP = 0000, and initiating a Flash operation (i.e., WR).

 2012-2017 Microchip Technology Inc.                                                                    DS60001185G-page 55
PIC32MX330/350/370/430/450/470

REGISTER 5-2:         NVMKEY: 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>: Unlock Register bits

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

Note:     This register is used as part of the unlock sequence to prevent inadvertent writes to the PFM.

REGISTER 5-3:         NVMADDR:    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>: Flash Address bits

          Bulk/Chip/PFM Erase: Address is ignored

          Page Erase: Address identifies the page to erase

          Row Program: Address identifies the row to program

          Word Program: Address identifies the word to program

DS60001185G-page 56                                                                      2012-2017 Microchip Technology Inc.
                                       PIC32MX330/350/370/430/450/470

REGISTER 5-4:         NVMDATA:         FLASH PROGRAM DATA 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

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

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

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

                                                         NVMDATA<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  NVMDATA<31:0>: Flash Programming Data bits

Note:     The bits in this register are only reset by a Power-on Reset (POR).

REGISTER 5-5:         NVMSRCADDR: 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>: 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.

 2012-2017 Microchip Technology Inc.                                                           DS60001185G-page 57
PIC32MX330/350/370/430/450/470

NOTES:

DS60001185G-page 58              2012-2017 Microchip Technology Inc.
                                       PIC32MX330/350/370/430/450/470

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                  following is a list of device Reset sources:

       of the PIC32MX330/350/370/430/450/470                    •  POR: Power-on Reset

       family of devices. It is not intended to be a            •  MCLR: Master Clear Reset pin

       comprehensive        reference       source.     To

       complement the information in this data                  •  SWR: Software Reset

       sheet,  refer    to    Section  7.        “Resets”       •  WDTR: Watchdog Timer Reset

       (DS60001118), which is available from the                •  BOR: Brown-out Reset

       Documentation        >  Reference         Manual         •  CMR: Configuration Mismatch Reset

       section of the Microchip PIC32 web site                  •  HVDR: High Voltage Detect Reset

       (www.microchip.com/pic32).

                                                                A  simplified  block  diagram  of  the  Reset  module  is

                                                                illustrated in Figure 6-1.

FIGURE 6-1:           SYSTEM RESET BLOCK DIAGRAM

             MCLR

                                                 Glitch Filter     MCLR

             Sleep or Idle                                         WDTR

             Voltage                   WDT
                                       Time-out
             Regulator

             Enabled                                               POR

                                            Power-up
                                                 Timer
                                                                                                   SYSRST
               VDD

                            VDD Rise

                              Detect

                                       Brown-out                   BOR

               Configuration                     Reset

               Mismatch                Brown-out                   CMR

               Reset                             Reset

             Software Reset                                        SWR

               VCAP

                                       HVD Detect                  HVDR

                                       and Reset

 2012-2017 Microchip Technology Inc.                                                              DS60001185G-page 59
DS60001185G-page 60                    6.1                            Reset Control Registers                                                                                                                                                                                                     PIC32MX330/350/370/430/450/470

                                       TABLE 6-1:                                      SYSTEM CONTROL REGISTER MAP

                                       Virtual Address                                                                                                                              Bits

                                                        (BF80_#)      RegisterName(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

                                       F600                       RCON                 31:16      —      —      HVDR   —      —      —      —                        —              —               —             —         —              —      —                 —         —      0000

                                                                                       15:0       —      —      —      —      —      —      CMR                      VREGS          EXTR            SWR           —         WDTO           SLEEP  IDLE              BOR       POR    xxxx(2)

                                       F610                       RSWRST               31:16      —      —      —      —      —      —      —                        —              —               —             —         —              —      —                 —         —      0000

                                                                                       15:0       —      —      —      —      —      —      —                        —              —               —             —         —              —      —                 —         SWRST  0000

                                       Legend:                                  x = unknown value on Reset; — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.

                                       Note                       1:            All registers in this table have corresponding CLR, SET and INV registers at their virtual addresses, plus offsets  of 0x4,  0x8  and 0xC,  respectively.  See Section 12.2  “CLR,  SET, and  INV Registers” for

                                                                                more information.

                                                                  2:            Reset values are dependent on the DEVCFGx Configuration bits and the type of reset.

 2012-2017 Microchip Technology Inc.
                                           PIC32MX330/350/370/430/450/470

REGISTER 6-1:             RCON: RESET 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                R/W-0           U-0         U-0                   U-0  U-0                 U-0

              —           —                  HVDR            —           —                     —    —                   —

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  R/W-0

              —           —                    —             —           —                     —    CMR        VREGS

     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           BOR(1)     POR(1)

Legend:                                HS = Set by hardware

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-30    Unimplemented: Read as ‘0’

bit  29       HVDR: High Voltage Detect Reset Flag bit

              1 = High Voltage Detect (HVD) Reset has occurred

              0 = HVD Reset has not occurred

bit  28-10    Unimplemented: Read as ‘0’

bit  9        CMR: Configuration Mismatch Reset Flag bit

              1 = Configuration mismatch Reset has occurred

              0 = Configuration mismatch Reset has not occurred

bit  8        VREGS: Voltage Regulator Standby Enable bit

              1 = Regulator is enabled and is on during Sleep mode

              0 = Regulator is set to Stand-by Tracking mode

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

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

              1 = Device was in Idle mode

              0 = Device was not in Idle mode

bit  1        BOR: Brown-out Reset Flag bit(1)

              1 = Brown-out Reset has occurred

              0 = Brown-out Reset has not occurred

bit  0        POR: Power-on Reset Flag bit(1)

              1 = Power-on Reset has occurred

              0 = Power-on Reset has not occurred

Note      1:  User software must clear this bit to view next detection.

 2012-2017 Microchip Technology Inc.                                                               DS60001185G-page 61
PIC32MX330/350/370/430/450/470

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)

Legend:                               HC = Cleared by hardware

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)

           1 = Enable 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

           6. “Oscillator” (DS60001112) in the “PIC32 Family Reference Manual” for details.

DS60001185G-page 62                                                                        2012-2017 Microchip Technology Inc.
                                                     PIC32MX330/350/370/430/450/470

7.0    INTERRUPT CONTROLLER                                                The             PIC32MX330/350/370/430/450/470     interrupt

                                                                           module includes the following features:

Note:  This data sheet summarizes the features                             •  Up to 76 interrupt sources

       of the PIC32MX330/350/370/430/450/470                               •  Up to 46 interrupt vectors

       family of devices. It is not intended to be a

       comprehensive                      reference     source.     To     •  Single and multi-vector mode operations

       complement the information in this data                             •  Five external interrupts with edge polarity control

       sheet, refer to Section 8. “Interrupt Con-                          •  Interrupt proximity timer

       troller” (DS60001108), which is available                           •  Seven user-selectable priority levels for each

       from                      the  Documentation  >  Reference             vector

       Manual                    section  of  the  Microchip        PIC32  •  Four user-selectable subpriority levels within each

       web site (www.microchip.com/pic32).                                    priority

PIC32MX330/350/370/430/450/470                     devices    generate     •  Dedicated shadow set configurable for any priority level

interrupt requests in response to interrupt events from                       (see the FSRSSEL<2:0> bits (DEVCFG3<18:16>) in

peripheral modules. The interrupt control module exists                       28.0 “Special Features” for more information)

externally to the CPU logic and prioritizes the interrupt                  •  Software can generate any interrupt

events before presenting them to the CPU.                                  •  User-configurable interrupt vector table location

                                                                           •  User-configurable interrupt vector spacing

FIGURE 7-1:                           INTERRUPT CONTROLLER MODULE BLOCK DIAGRAM

             Interrupt Requests                                            Vector Number

                                              Interrupt Controller         Priority Level     CPU Core

                                                                           Shadow Set Number

 2012-2017 Microchip Technology Inc.                                                                     DS60001185G-page 63
PIC32MX330/350/370/430/450/470

TABLE 7-1:          INTERRUPT IRQ, VECTOR AND BIT LOCATION

          Interrupt Source(1)               Vector                    Interrupt Bit Location                       Persistent

                                     IRQ #  #                                                                      Interrupt

                                                    Flag              Enable    Priority      Sub-priority

                                            Highest Natural Order Priority

CT – Core Timer Interrupt            0      0       IFS0<0>           IEC0<0>   IPC0<4:2>     IPC0<1:0>            No

CS0 – Core Software Interrupt 0      1      1       IFS0<1>           IEC0<1>   IPC0<12:10>   IPC0<9:8>            No

CS1 – Core Software Interrupt 1      2      2       IFS0<2>           IEC0<2>   IPC0<20:18>   IPC0<17:16>          No

INT0 – External Interrupt            3      3       IFS0<3>           IEC0<3>   IPC0<28:26>   IPC0<25:24>          No

T1 – Timer1                          4      4       IFS0<4>           IEC0<4>   IPC1<4:2>     IPC1<1:0>            No

IC1E – Input Capture 1 Error         5      5       IFS0<5>           IEC0<5>   IPC1<12:10>   IPC1<9:8>            Yes

IC1 – Input Capture 1                6      5       IFS0<6>           IEC0<6>   IPC1<12:10>   IPC1<9:8>            Yes

OC1 – Output Compare 1               7      6       IFS0<7>           IEC0<7>   IPC1<20:18>   IPC1<17:16>          No

INT1 – External Interrupt 1          8      7       IFS0<8>           IEC0<8>   IPC1<28:26>   IPC1<25:24>          No

T2 – Timer2                          9      8       IFS0<9>           IEC0<9>   IPC2<4:2>     IPC2<1:0>            No

IC2E – Input Capture 2               10     9       IFS0<10>          IEC0<10>  IPC2<12:10>   IPC2<9:8>            Yes

IC2 – Input Capture 2                11     9       IFS0<11>          IEC0<11>  IPC2<12:10>   IPC2<9:8>            Yes

OC2 – Output Compare 2               12     10      IFS0<12>          IEC0<12>  IPC2<20:18>   IPC2<17:16>          No

INT2 – External Interrupt 2          13     11      IFS0<13>          IEC0<13>  IPC2<28:26>   IPC2<25:24>          No

T3 – Timer3                          14     12      IFS0<14>          IEC0<14>  IPC3<4:2>     IPC3<1:0>            No

IC3E – Input Capture 3               15     13      IFS0<15>          IEC0<15>  IPC3<12:10>   IPC3<9:8>            Yes

IC3 – Input Capture 3                16     13      IFS0<16>          IEC0<16>  IPC3<12:10>   IPC3<9:8>            Yes

OC3 – Output Compare 3               17     14      IFS0<17>          IEC0<17>  IPC3<20:18>   IPC3<17:16>          No

INT3 – External Interrupt 3          18     15      IFS0<18>          IEC0<18>  IPC3<28:26>   IPC3<25:24>          No

T4 – Timer4                          19     16      IFS0<19>          IEC0<19>  IPC4<4:2>     IPC4<1:0>            No

IC4E – Input Capture 4 Error         20     17      IFS0<20>          IEC0<20>  IPC4<12:10>   IPC4<9:8>            Yes

IC4 – Input Capture 4                21     17      IFS0<21>          IEC0<21>  IPC4<12:10>   IPC4<9:8>            Yes

OC4 – Output Compare 4               22     18      IFS0<22>          IEC0<22>  IPC4<20:18>   IPC4<17:16>          No

INT4 – External Interrupt 4          23     19      IFS0<23>          IEC0<23>  IPC4<28:26>   IPC4<25:24>          No

T5 – Timer5                          24     20      IFS0<24>          IEC0<24>  IPC5<4:2>     IPC5<1:0>            No

IC5E – Input Capture 5 Error         25     21      IFS0<25>          IEC0<25>  IPC5<12:10>   IPC5<9:8>            Yes

IC5 – Input Capture 5                26     21      IFS0<26>          IEC0<26>  IPC5<12:10>   IPC5<9:8>            Yes

OC5 – Output Compare 5               27     22      IFS0<27>          IEC0<27>  IPC5<20:18>   IPC5<17:16>          No

AD1 – ADC1 Convert done              28     23      IFS0<28>          IEC0<28>  IPC5<28:26>   IPC5<25:24>          Yes

FSCM – Fail-Safe Clock Monitor       29     24      IFS0<29>          IEC0<29>  IPC6<4:2>     IPC6<1:0>            No

RTCC – Real-Time Clock and Calendar  30     25      IFS0<30>          IEC0<30>  IPC6<12:10>   IPC6<9:8>            No

FCE – Flash Control Event            31     26      IFS0<31>          IEC0<31>  IPC6<20:18>   IPC6<17:16>          No

CMP1 – Comparator Interrupt          32     27      IFS1<0>           IEC1<0>   IPC6<28:26>   IPC6<25:24>          No

CMP2 – Comparator Interrupt          33     28      IFS1<1>           IEC1<1>   IPC7<4:2>     IPC7<1:0>            No

USB – USB Interrupts                 34     29      IFS1<2>           IEC1<2>   IPC7<12:10>   IPC7<9:8>            Yes

SPI1E – SPI1 Fault                   35     30      IFS1<3>           IEC1<3>   IPC7<20:18>   IPC7<17:16>          Yes

SPI1RX – SPI1 Receive Done           36     30      IFS1<4>           IEC1<4>   IPC7<20:18>   IPC7<17:16>          Yes

SPI1TX – SPI1 Transfer Done          37     30      IFS1<5>           IEC1<5>   IPC7<20:18>   IPC7<17:16>          Yes

U1E – UART1 Fault                    38     31      IFS1<6>           IEC1<6>   IPC7<28:26>   IPC7<25:24>          Yes

U1RX – UART1 Receive Done            39     31      IFS1<7>           IEC1<7>   IPC7<28:26>   IPC7<25:24>          Yes

U1TX – UART1 Transfer Done           40     31      IFS1<8>           IEC1<8>   IPC7<28:26>   IPC7<25:24>          Yes

I2C1B – I2C1 Bus Collision Event     41     32      IFS1<9>           IEC1<9>   IPC8<4:2>     IPC8<1:0>            Yes

I2C1S – I2C1 Slave Event             42     32      IFS1<10>          IEC1<10>  IPC8<4:2>     IPC8<1:0>            Yes

I2C1M – I2C1 Master Event            43     32      IFS1<11>          IEC1<11>  IPC8<4:2>     IPC8<1:0>            Yes

CNA – PORTA Input Change Interrupt   44     33      IFS1<12>          IEC1<12>  IPC8<12:10>   IPC8<9:8>            Yes

Note  1:     Not all interrupt sources are available on all devices. See TABLE 1: “PIC32MX330/350/370/430/450/470  Controller

             Family Features” for the list of available peripherals.

DS60001185G-page 64                                                              2012-2017 Microchip Technology Inc.
                                       PIC32MX330/350/370/430/450/470

TABLE 7-1:          INTERRUPT IRQ, VECTOR AND BIT LOCATION (CONTINUED)

          Interrupt Source(1)                 Vector               Interrupt Bit Location                       Persistent

                                       IRQ #  #                                                                 Interrupt

                                                      Flag         Enable    Priority      Sub-priority

CNB – PORTB Input Change Interrupt     45     33      IFS1<13>     IEC1<13>  IPC8<12:10>   IPC8<9:8>            Yes

CNC – PORTC Input Change Interrupt     46     33      IFS1<14>     IEC1<14>  IPC8<12:10>   IPC8<9:8>            Yes

CND – PORTD Input Change Interrupt     47     33      IFS1<15>     IEC1<15>  IPC8<12:10>   IPC8<9:8>            Yes

CNE – PORTE Input Change Interrupt     48     33      IFS1<16>     IEC1<16>  IPC8<12:10>   IPC8<9:8>            Yes

CNF – PORTF Input Change Interrupt     49     33      IFS1<17>     IEC1<17>  IPC8<12:10>   IPC8<9:8>            Yes

CNG – PORTG Input Change Interrupt     50     33      IFS1<18>     IEC1<18>  IPC8<12:10>   IPC8<9:8>            Yes

PMP – Parallel Master Port             51     34      IFS1<19>     IEC1<19>  IPC8<20:18>   IPC8<17:16>          Yes

PMPE – Parallel Master Port Error      52     34      IFS1<20>     IEC1<20>  IPC8<20:18>   IPC8<17:16>          Yes

SPI2E – SPI2 Fault                     53     35      IFS1<21>     IEC1<21>  IPC8<28:26>   IPC8<25:24>          Yes

SPI2RX – SPI2 Receive Done             54     35      IFS1<22>     IEC1<22>  IPC8<28:26>   IPC8<25:24>          Yes

SPI2TX – SPI2 Transfer Done            55     35      IFS1<23>     IEC1<23>  IPC8<28:26>   IPC8<25:24>          Yes

U2E – UART2 Error                      56     36      IFS1<24>     IEC1<24>  IPC9<4:2>     IPC9<1:0>            Yes

U2RX – UART2 Receiver                  57     36      IFS1<25>     IEC1<25>  IPC9<4:2>     IPC9<1:0>            Yes

U2TX – UART2 Transmitter               58     36      IFS1<26>     IEC1<26>  IPC9<4:2>     IPC9<1:0>            Yes

I2C2B – I2C2 Bus Collision Event       59     37      IFS1<27>     IEC1<27>  IPC9<12:10>   IPC9<9:8>            Yes

I2C2S – I2C2 Slave Event               60     37      IFS1<28>     IEC1<28>  IPC9<12:10>   IPC9<9:8>            Yes

I2C2M – I2C2 Master Event              61     37      IFS1<29>     IEC1<29>  IPC9<12:10>   IPC9<9:8>            Yes

U3E – UART3 Error                      62     38      IFS1<30>     IEC1<30>  IPC9<20:18>   IPC9<17:16>          Yes

U3RX – UART3 Receiver                  63     38      IFS1<31>     IEC1<31>  IPC9<20:18>   IPC9<17:16>          Yes

U3TX – UART3 Transmitter               64     38      IFS2<0>      IEC2<0>   IPC9<20:18>   IPC9<17:16>          Yes

U4E – UART4 Error                      65     39      IFS2<1>      IEC2<1>   IPC9<28:26>   IPC9<25:24>          Yes

U4RX – UART4 Receiver                  66     39      IFS2<2>      IEC2<2>   IPC9<28:26>   IPC9<25:24>          Yes

U4TX – UART4 Transmitter               67     39      IFS2<3>      IEC2<3>   IPC9<28:26>   IPC9<25:24>          Yes

U5E – UART5 Error                      68     40      IFS2<4>      IEC2<4>   IPC10<4:2>    IPC10<1:0>           Yes

U5RX – UART5 Receiver                  69     40      IFS2<5>      IEC2<5>   IPC10<4:2>    IPC10<1:0>           Yes

U5TX – UART5 Transmitter               70     40      IFS2<6>      IEC2<6>   IPC10<4:2>    IPC10<1:0>           Yes

CTMU – CTMU Event                      71     41      IFS2<7>      IEC2<7>   IPC10<12:10>  IPC10<9:8>           Yes

DMA0 – DMA Channel 0                   72     42      IFS2<8>      IEC2<8>   IPC10<20:18>  IPC10<17:16>         No

DMA1 – DMA Channel 1                   73     43      IFS2<9>      IEC2<9>   IPC10<28:26>  IPC10<25:24>         No

DMA2 – DMA Channel 2                   74     44      IFS2<10>     IEC2<10>  IPC11<4:2>    IPC11<1:0>           No

DMA3 – DMA Channel 3                   75     45      IFS2<11>     IEC2<11>  IPC11<12:10>  IPC11<9:8>           No

                                              Lowest Natural Order Priority

Note  1:  Not all interrupt sources are available on all devices. See TABLE 1: “PIC32MX330/350/370/430/450/470  Controller

          Family Features” for the list of available peripherals.

 2012-2017 Microchip Technology Inc.                                                      DS60001185G-page 65
DS60001185G-page 66                    7.1                            Interrupts Control Registers                                                                                                                                                                                        PIC32MX330/350/370/430/450/470

                                       TABLE 7-2:                                     INTERRUPT REGISTER MAP

                                       Virtual Address                                                                                                                                 Bits

                                                        (BF88_#)      Register  Name  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

                                       1000                       INTCON              31:16      —       —       —              —           —         —        —                    —        —         —          —          —         —           —         —       SS0     0000

                                                                                      15:0       —       —       —              MVEC        —                  TPC<2:0>                      —         —          —          INT4EP    INT3EP      INT2EP    INT1EP  INT0EP  0000

                                       1010                       INTSTAT             31:16      —       —       —              —           —         —        —                    —        —         —          —          —         —           —         —       —       0000

                                                                                      15:0       —       —       —              —           —                  SRIPL<2:0>                    —         —                               VEC<5:0>                              0000

                                       1020                       IPTMR               31:16                                                                                IPTMR<31:0>                                                                                       0000

                                                                                      15:0                                                                                                                                                                                   0000

                                       1030                       IFS0                31:16      FCEIF   RTCCIF  FSCMIF         AD1IF       OC5IF     IC5IF    IC5EIF               T5IF     INT4IF    OC4IF      IC4IF      IC4EIF    T4IF        INT3IF    OC3IF   IC3IF   0000

                                                                                      15:0       IC3EIF  T3IF    INT2IF         OC2IF       IC2IF     IC2EIF   T2IF        INT1IF            OC1IF     IC1IF      IC1EIF     T1IF      INT0IF      CS1IF     CS0IF   CTIF    0000

                                       1040                       IFS1                31:16      U3RXIF  U3EIF   I2C2MIF        I2C2SIF     I2C2BIF   U2TXIF   U2RXIF      U2EIF             SPI2TXIF  SPI2RXIF   SPI2EIF    PMPEIF    PMPIF       CNGIF     CNFIF   CNEIF   0000

                                                                                      15:0       CNDIF   CNCIF   CNBIF          CNAIF       I2C1MIF   I2C1SIF  I2C1BIF     U1TXIF            U1RXIF    U1EIF      SPI1TXIF   SPI1RXIF  SPI1EIF     USBIF(2)  CMP2IF  CMP1IF  0000

                                       1050                       IFS2                31:16      —       —       —              —           —         —        —                    —        —         —          —          —         —           —         —       —       0000

                                                                                      15:0       —       —       —              —           DMA3IF    DMA2IF   DMA1IF      DMA0IF            CTMUIF    U5TXIF(1)  U5RXIF(1)  U5EIF(1)  U4TXIF      U4RXIF    U4EIF   U3TXIF  0000

                                       1060                       IEC0                31:16      FCEIE   RTCCIE  FSCMIE         AD1IE       OC5IE     IC5IE    IC5EIE               T5IE     INT4IE    OC4IE      IC4IE      IC4EIE    T4IE        INT3IE    OC3IE   IC3IE   0000

                                                                                      15:0       IC3EIE  T3IE    INT2IE         OC2IE       IC2IE     IC2EIE   T2IE        INT1IE            OC1IE     IC1IE      IC1EIE     T1IE      INT0IE      CS1IE     CS0IE   CTIE    0000

                                       1070                       IEC1                31:16      U3RXIE  U3EIE   I2C2MIE        I2C2SIE     I2C2BIE   U2TXIE   U2RXIE      U2EIE             SPI2TXIE  SPI2RXIE   SPI2EIE    PMPEIE    PMPIE       CNGIE     CNFIE   CNEIE   0000

                                                                                      15:0       CNDIE   CNCIE   CNBIE          CNAIE       I2C1MIE   I2C1SIE  I2C1BIE     U1TXIE            U1RXIE    U1EIE      SPI1TXIE   SPI1RXIE  SPI1EIE     USBIE(2)  CMP2IE  CMP1IE  0000

                                       1080                       IEC2                31:16      —       —       —              —           —         —        —                    —        —         —          —          —         —           —         —       —       0000

                                                                                      15:0       —       —       —              —           DMA3IE    DMA2IE   DMA1IE      DMA0IE            CTMUIE    U5TXIE(1)  U5RXIE(1)  U5EIE(1)  U4TXIE      U4RXIE    U4EIE   U3TXIE  0000

                                       1090                       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

                                       10A0                       IPC1                31:16      —       —       —                       INT1IP<2:0>           INT1IS<1:0>                   —         —          —                    OC1IP<2:0>            OC1IS<1:0>      0000

 2012-2017 Microchip Technology Inc.                                                 15:0       —       —       —                       IC1IP<2:0>            IC1IS<1:0>                    —         —          —                    T1IP<2:0>             T1IS<1:0>       0000

                                       10B0                       IPC2                31:16      —       —       —                       INT2IP<2:0>           INT2IS<1:0>                   —         —          —                    OC2IP<2:0>            OC2IS<1:0>      0000

                                                                                      15:0       —       —       —                       IC2IP<2:0>            IC2IS<1:0>                    —         —          —                    T2IP<2:0>             T2IS<1:0>       0000

                                       10C0                       IPC3                31:16      —       —       —                       INT3IP<2:0>           INT3IS<1:0>                   —         —          —                    OC3IP<2:0>            OC3IS<1:0>      0000

                                                                                      15:0       —       —       —                       IC3IP<2:0>            IC3IS<1:0>                    —         —          —                    T3IP<2:0>             T3IS<1:0>       0000

                                       10D0                       IPC4                31:16      —       —       —                       INT4IP<2:0>           INT4IS<1:0>                   —         —          —                    OC4IP<2:0>            OC4IS<1:0>      0000

                                                                                      15:0       —       —       —                       IC4IP<2:0>            IC4IS<1:0>                    —         —          —                    T4IP<2:0>             T4IS<1:0>       0000

                                       10E0                       IPC5                31:16      —       —       —                       AD1IP<2:0>            AD1IS<1:0>                    —         —          —                    OC5IP<2:0>            OC5IS<1:0>      0000

                                                                                      15:0       —       —       —                       IC5IP<2:0>            IC5IS<1:0>                    —         —          —                    T5IP<2:0>             T5IS<1:0>       0000

                                       Legend:                                  x = unknown value on Reset; — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.

                                       Note                       1:            This bit is only available on 100-pin devices.

                                                                  2:            This bit is only implemented on devices with a USB module.
 2012-2017 Microchip Technology Inc.  TABLE 7-2:                                     INTERRUPT REGISTER MAP (CONTINUED)

                                       Virtual Address                                                                                                                               Bits

                                                        (BF88_#)      Register  Name  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

                                       10F0                       IPC6                31:16      —      —      —                       CMP1IP<2:0>            CMP1IS<1:0>                  —     —     —           FCEIP<2:0>         FCEIS<1:0>   0000

                                                                                      15:0       —      —      —                       RTCCIP<2:0>            RTCCIS<1:0>                  —     —     —           FSCMIP<2:0>        FSCMIS<1:0>  0000

                                       1100                       IPC7                31:16      —      —      —                       U1IP<2:0>              U1IS<1:0>                    —     —     —           SPI1IP<2:0>        SPI1IS<1:0>  0000

                                                                                      15:0       —      —      —                       USBIP<2:0>(2)          USBIS<1:0>(2)                —     —     —           CMP2IP<2:0>        CMP2IS<1:0>  0000

                                       1110                       IPC8                31:16      —      —      —                       SPI2IP<2:0>            SPI2IS<1:0>                  —     —     —           PMPIP<2:0>         PMPIS<1:0>   0000

                                                                                      15:0       —      —      —                       CNIP<2:0>              CNIS<1:0>                    —     —     —           I2C1IP<2:0>        I2C1IS<1:0>  0000

                                       1120                       IPC9                31:16      —      —      —                       U4IP<2:0>              U4IS<1:0>                    —     —     —           U3IP<2:0>          U3IS<1:0>    0000

                                                                                      15:0       —      —      —                       I2C2IP<2:0>            I2C2IS<1:0>                  —     —     —           U2IP<2:0>          U2IS<1:0>    0000         PIC32MX330/350/370/430/450/470

                                       1130                       IPC10               31:16      —      —      —                       DMA1IP<2:0>            DMA1IS<1:0>                  —     —     —           DMA0IP<2:0>        DMA0IS<1:0>  0000

                                                                                      15:0       —      —      —                       CTMUIP<2:0>            CTMUIS<1:0>                  —     —     —           U5IP<2:0>          U5IS<1:0>    0000

                                       1140                       IPC11               31:16      —      —      —                —           —         —       —          —                 —     —     —     —     —            —     —     —      0000

                                                                                      15:0       —      —      —                       DMA3IP<2:0>            DMA3IS<1:0>                  —     —     —           DMA2IP<2:0>        DMA2IS<1:0>  0000

                                       Legend:                                  x = unknown value on Reset; — = unimplemented, read as ‘0’. Reset values are  shown in hexadecimal.

                                       Note                       1:            This bit is only available on 100-pin devices.

                                                                  2:            This bit is only implemented on devices with a USB module.

DS60001185G-page 67
PIC32MX330/350/370/430/450/470

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               U-0       U-0             U-0               U-0             U-0     U-0        R/W-0

            —                 —         —               —                 —               —       —                   SS0

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-17  Unimplemented: Read as ‘0’

bit  16     SS0: Single Vector Shadow Register Set bit

            1 = Single vector is presented with a shadow register set

            0 = Single vector is not presented with a shadow register set

bit  15-13  Unimplemented: Read as ‘0’

bit  12     MVEC: Multi Vector Configuration bit

            1 = Interrupt controller configured for multi vectored 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

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

DS60001185G-page 68                                                                        2012-2017 Microchip Technology Inc.
                                       PIC32MX330/350/370/430/450/470

REGISTER 7-2:            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/W-0   R/W-0            R/W-0

             —                    —      —                 —         —                          SRIPL<2:0>(1)

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

             —                    —                                       VEC<5:0>(1)

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-11    Unimplemented: Read as ‘0’

bit 10-8     SRIPL<2:0>: Requested Priority Level bits(1)

             111-000 = The priority level of the latest interrupt presented to the CPU

bit 7-6      Unimplemented: Read as ‘0’

bit 5-0      VEC<5:0>: Interrupt Vector bits(1)

             11111-00000 = The interrupt vector that is presented to the CPU

Note     1:  This value should only be used when the interrupt controller is configured for Single Vector mode.

REGISTER 7-3:            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.

 2012-2017 Microchip Technology Inc.                                                           DS60001185G-page 69
PIC32MX330/350/370/430/450/470

REGISTER 7-4:           IFSx: INTERRUPT FLAG 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     R/W-0         R/W-0        R/W-0             R/W-0           R/W-0            R/W-0      R/W-0                R/W-0

          IFS31         IFS30        IFS29             IFS28           IFS27            IFS26      IFS25                IFS24

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

          IFS23         IFS22        IFS21             IFS20           IFS19            IFS18      IFS17                IFS16

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

          IFS15         IFS14        IFS13             IFS12           IFS11            IFS10      IFS9                 IFS8

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

          IFS7          IFS6         IFS5              IFS4            IFS3              IFS2      IFS1                 IFS0

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  IFS31-IFS0: Interrupt Flag Status bits

          1 = Interrupt request has occurred

          0 = No interrupt request has occurred

Note:     This register represents a generic definition       of  the  IFSx  register.  Refer  to  Table 7-1  for  the  exact  bit

          definitions.

REGISTER 7-5:           IECx: INTERRUPT ENABLE 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     R/W-0         R/W-0        R/W-0             R/W-0           R/W-0            R/W-0      R/W-0                R/W-0

          IEC31         IEC30        IEC29             IEC28           IEC27            IEC26      IEC25                IEC24

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

          IEC23         IEC22        IEC21             IEC20           IEC19            IEC18      IEC17                IEC16

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

          IEC15         IEC14        IEC13             IEC12           IEC11            IEC10      IEC9                 IEC8

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

          IEC7          IEC6         IEC5              IEC4            IEC3             IEC2       IEC1                 IEC0

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  IEC31-IEC0: Interrupt Enable bits

          1 = Interrupt is enabled

          0 = Interrupt is disabled

Note:     This register represents a generic      definition  of  the  IECx  register.  Refer  to  Table 7-1  for  the  exact  bit

          definitions.

DS60001185G-page 70                                                                       2012-2017 Microchip Technology Inc.
                                             PIC32MX330/350/370/430/450/470

REGISTER 7-6:                IPCx: INTERRUPT PRIORITY 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           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’

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

Note:          This register represents a generic      definition  of  the  IPCx  register.  Refer  to  Table 7-1  for  the  exact  bit

               definitions.

 2012-2017 Microchip Technology Inc.                                                                   DS60001185G-page 71
PIC32MX330/350/370/430/450/470

REGISTER 7-6:             IPCx: INTERRUPT PRIORITY  CONTROL  REGISTER  (CONTINUED)

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:       This register represents a generic definition of the IPCx register. Refer to Table 7-1 for  the exact   bit

            definitions.

DS60001185G-page 72                                           2012-2017 Microchip                      Technology  Inc.
                                       PIC32MX330/350/370/430/450/470

8.0    OSCILLATOR                                           The  PIC32MX330/350/370/430/450/470                  oscillator

       CONFIGURATION                                        system has the following modules and features:

                                                            •  A Total of four external and internal oscillator

Note:  This data sheet summarizes the features                 options as clock sources

       of  the    PIC32MX330/350/370/430/450/               •  On-Chip PLL with user-selectable input divider,

       470 family of devices. It is not intended to            multiplier and output divider to boost operating

       be a comprehensive reference source. To                 frequency on select internal and external

       complement the information in this data                 oscillator sources

       sheet,   refer  to  Section     6.  “Oscillator      •  On-Chip user-selectable divisor postscaler on

       Configuration” (DS60001112), which is                   select oscillator sources

       available  from     the         Documentation  >     •  Software-controllable switching between

       Reference       Manual          section  of    the      various clock sources

       Microchip           PIC32       web            site  •  A Fail-Safe Clock Monitor (FSCM) that detects

       (www.microchip.com/pic32).                              clock failure and permits safe application recovery

                                                               or shutdown

                                                            •  Dedicated On-Chip PLL for USB peripheral

                                                            A block diagram of the oscillator system is provided in

                                                            Figure 8-1.

 2012-2017 Microchip Technology Inc.                                                     DS60001185G-page 73
PIC32MX330/350/370/430/450/470

FIGURE 8-1:           PIC32MX330/350/370/430/450/470 FAMILY CLOCK DIAGRAM

                             USB PLL(5)

                                                                                                          USB Clock (48 MHz)

                                               div x   UFIN      PLL x24           div 2

                                                       UFIN 4 MHz                   UPLLEN     UFRCEN

                                          UPLLIDIV<2:0>                               USBPLL (96 MHz)

                                                                               REFCLKI                             ROTRIM<8:0>

                                                                                                 POSC                  (M)                   OE

                                                                                                 FRC

                                                                                                 LPRC                                                   REFCLKO

                                                       FPLLI (i.e., FIN) System PLL              SOSC            2  N + 5---M-1---2--

                                                                                               PBCLK

                                                       4 MHz FIN 5 MHz                     SYSCLK

                                                       div x            PLL  FVCO             System PLL

                                                                                                                   RODIV<14:0>                   To SPI

                                                                                                                       (N)

                                                     FPLLIDIV<2:0>                                     ROSEL<3:0>

                                          COSC<2:0>              PLLMULT<2:0>              FPLL

                                          (001 = FRC,                          div y           XTPLL, HSPLL,

                                          011 = POSC)                                      ECPLL, FRCPLL

        Primary Oscillator                                              PLLODIV<2:0>

        (POSC)

C1(3)           OSC1                                  FOSC                                                                                   Peripherals

                                                                                           POSC  (XT,  HS, EC)              Postscaler

                      RF(2)             To Internal                                                                           div x          PBCLK (TPB)

       XTAL                             Logic

             RP(1)

             RS(1)                Enable                                                                  FRC

                                                                                                                            PBDIV<1:0>

C2(3)        OSC2(4)                                                                  div  16

                                  div 2                                                                FRC/16

                                          To ADC                                                                       CPU and Select Peripherals

                             FRC

                            Oscillator                        Postscaler                                                      SYSCLK

                      8 MHz typical                                                                    FRCDIV

                            TUN<5:0>                   FRCDIV<2:0>

                             LPRC

                             Oscillator              31.25 kHz typical                                 LPRC

             Secondary Oscillator (SOSC)

SOSCO                             32.768 kHz

                                                                                                       SOSC     COSC<2:0>

                      SOSCEN and FSOSCEN

                                                                                                                Clock Control Logic

SOSCI                                                                                                              Fail-Safe                     FSCM INT

                                                                                                                       Clock                 FSCM Event

                                                                                                                   Monitor

                                                                                                                   NOSC<2:0>

                                                                                                                   COSC<2:0>

                                                                                                          FSCMEN<1:0>         OSWEN              WDT, PWRT

                                                                                                                                             Timer1, RTCC

Notes:  1.   A series resistor, RS, may be required for AT strip cut crystals or eliminate clipping. Alternately, to increase oscillator circuit gain,

             add a parallel resistor, RP, with a value of 1 M

        2.   The internal feedback resistor, RF, is typically in the range of 2 M to 10 M

        3.   Refer to Section 6. “Oscillator Configuration” (DS60001112) in the “PIC32 Family Reference Manual” for help in determining the

             best oscillator components.

        4.   PBCLK out is available on the OSC2 pin in certain clock modes.

        5.   USB PLL is available on PIC32MX4XX devices only.

DS60001185G-page 74                                                                                        2012-2017 Microchip Technology Inc.
 2012-2017 Microchip Technology Inc.  8.1                            Oscillator Control Registers

                                       TABLE 8-1:                                      OSCILLATOR CONTROL REGISTER MAP

                                       Virtual Address                                                                                                                              Bits

                                                        (BF80_#)      RegisterName(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

                                       F000                       OSCCON               31:16      —      —             PLLODIV<2:0>                     FRCDIV<2:0>                 —     SOSCRDY PBDIVRDY               PBDIV<1:0>            PLLMULT<2:0>         x1xx(2)

                                                                                       15:0       —             COSC<2:0>                 —             NOSC<2:0>            CLKLOCK      ULOCK(4)  SLOCK                SLPEN  CF    UFRCEN(4)  SOSCEN      OSWEN  xxxx(2)

                                       F010                       OSCTUN               31:16      —      —      —          —              —      —      —            —              —            —  —                    —      —     —          —           —      0000

                                                                                       15:0       —      —      —          —              —      —      —            —              —            —                                   TUN<5:0>                       0000

                                                                                       31:16      —                                                                                 RODIV<14:0>                                                                     0000

                                       F020                       REFOCON              15:0       ON     —      SIDL       OE             RSLP   —      DIVSWEN      ACTIVE         —            —  —                    —                     ROSEL<3:0>           0000

                                       F030 REFOTRIM                                   31:16                                      ROTRIM<8:0>                                                    —  —                    —      —     —          —           —      0000                   PIC32MX330/350/370/430/450/470

                                                                                       15:0       —      —      —          —              —      —      —            —              —            —  —                    —      —     —          —           —      0000

                                       Legend:                                  x = unknown value on Reset; — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.

                                       Note                       1:            All registers in this table have corresponding CLR, SET and INV registers at their virtual addresses, plus offsets of 0x4, 0x8 and 0xC,  respectively. See Section 12.2 “CLR, SET, and INV Registers” for

                                                                                more information.

                                                                  2:            Reset values are dependent on the DEVCFGx Configuration bits and the type of reset.

                                                                  3:            This bit is only available on devices with a USB module.

DS60001185G-page 75
PIC32MX330/350/370/430/450/470

REGISTER 8-1:           OSCCON: 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         U-0                 R/W-y        R/W-y       R/W-y           R/W-0        R/W-0         R/W-1

            —           —                          PLLODIV<2:0>                                   FRCDIV<2:0>

23:16       U-0         R-0                  R-1         R/W-y       R/W-y                 R/W-y  R/W-y         R/W-y

            —           SOSCRDY        PBDIVRDY           PBDIV<1:0>                              PLLMULT<2:0>

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

            —                          COSC<2:0>                           —                      NOSC<2:0>

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

            CLKLOCK     ULOCK(1)        SLOCK            SLPEN             CF     UFRCEN(1)       SOSCEN        OSWEN

Legend:                                y = Value set from Configuration bits on POR

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-30   Unimplemented: Read as ‘0’

bit 29-27   PLLODIV<2:0>: Output Divider for PLL

            111 =  PLL output divided by 256

            110 =  PLL output divided by 64

            101 =  PLL output divided by 32

            100 =  PLL output divided by 16

            011 =  PLL output divided by 8

            010 =  PLL output divided by 4

            001 =  PLL output divided by 2

            000 =  PLL output divided by 1

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 (default setting)

            000 =  FRC divided by 1

bit 23      Unimplemented: Read as ‘0’

bit 22      SOSCRDY: Secondary Oscillator (SOSC) Ready Indicator bit

            1 = Indicates that the Secondary Oscillator is running and is stable

            0 = Secondary Oscillator is still warming up or is turned off

bit 21      PBDIVRDY: Peripheral Bus Clock (PBCLK) Divisor Ready bit

            1 = PBDIV<1:0> bits can be written

            0 = PBDIV<1:0> bits cannot be written

bit 20-19   PBDIV<1:0>: Peripheral Bus Clock (PBCLK) Divisor bits

            11 = PBCLK is SYSCLK divided by 8 (default)

            10 = PBCLK is SYSCLK divided by 4

            01 = PBCLK is SYSCLK divided by 2

            00 = PBCLK is SYSCLK divided by 1

Note    1:  This bit is available on PIC32MX4XX devices only.

Note:       Writes to this register require an unlock sequence. Refer to Section 6. “Oscillator” (DS60001112) in the

            “PIC32 Family Reference Manual” for details.

DS60001185G-page 76                                                                         2012-2017 Microchip Technology Inc.
                                         PIC32MX330/350/370/430/450/470

REGISTER 8-1:       OSCCON: OSCILLATOR CONTROL REGISTER                            (CONTINUED)

bit  18-16   PLLMULT<2:0>: Phase-Locked Loop (PLL) Multiplier bits

             111 =  Clock is multiplied by 24

             110 =  Clock is multiplied by 21

             101 =  Clock is multiplied by 20

             100 =  Clock is multiplied by 19

             011 =  Clock is multiplied by 18

             010 =  Clock is multiplied by 17

             001 =  Clock is multiplied by 16

             000 =  Clock is multiplied by 15

bit  15      Unimplemented: Read as ‘0’

bit  14-12   COSC<2:0>: Current Oscillator Selection bits

             111 =  Internal Fast RC (FRC) Oscillator divided by OSCCON bits

             110 =  Internal Fast RC (FRC) Oscillator divided by 16

             101 =  Internal Low-Power RC (LPRC) Oscillator

             100 =  Secondary Oscillator (SOSC)

             011 =  Primary Oscillator (POSC) with PLL module (XTPLL, HSPLL or ECPLL)

             010 =  Primary Oscillator (POSC) (XT, HS or EC)

             001 =  Internal Fast RC Oscillator with PLL module via Postscaler (FRCPLL)

             000 =  Internal Fast RC (FRC) Oscillator

bit  11      Unimplemented: Read as ‘0’

bit  10-8    NOSC<2:0>: New Oscillator Selection bits

             111 =  Internal Fast RC Oscillator (FRC) divided by OSCCON bits

             110 =  Internal Fast RC Oscillator (FRC) divided by 16

             101 =  Internal Low-Power RC (LPRC) Oscillator

             100 =  Secondary Oscillator (SOSC)

             011 =  Primary Oscillator with PLL module (XTPLL, HSPLL or ECPLL)

             010 =  Primary Oscillator (XT, HS or EC)

             001 =  Internal Fast Internal RC Oscillator with PLL module via Postscaler (FRCPLL)

             000 =  Internal Fast Internal RC Oscillator (FRC)

             On Reset, these bits are set to the value of the FNOSC Configuration bits (DEVCFG1<2:0>).

bit 7        CLKLOCK: Clock Selection Lock Enable bit

             If clock switching and monitoring is disabled (FCKSM<1:0> = 1x):

             1 = Clock and PLL selections are locked

             0 = Clock and PLL selections are not locked and may be modified

             If clock switching and monitoring is enabled (FCKSM<1:0> = 0x):

             Clock and PLL selections are never locked and may be modified.

bit 6        ULOCK: USB PLL Lock Status bit(1)

             1=  Indicates that the USB PLL module is in lock or USB PLL module start-up timer is satisfied

             0=  Indicates that the USB PLL module is out of lock or USB PLL module start-up timer is in progress      or

                 USB PLL is disabled

bit 5        SLOCK: PLL Lock Status bit

             1 = PLL module is in lock or PLL module start-up timer is satisfied

             0 = PLL module is out of lock, PLL start-up timer is running or PLL is disabled

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

Note     1:  This bit is available on PIC32MX4XX devices only.

Note:        Writes to this register require an unlock sequence. Refer to Section 6. “Oscillator” (DS60001112) in the

             “PIC32 Family Reference Manual” for details.

 2012-2017 Microchip Technology Inc.                                                             DS60001185G-page 77
PIC32MX330/350/370/430/450/470

REGISTER 8-1:        OSCCON: OSCILLATOR CONTROL REGISTER                      (CONTINUED)

bit 2      UFRCEN: USB FRC Clock Enable bit(1)

           1 = Enable FRC as the clock source for the USB clock source

           0 = Use the Primary Oscillator or USB PLL as the USB clock source

bit 1      SOSCEN: Secondary Oscillator (SOSC) Enable bit

           1 = Enable Secondary Oscillator

           0 = Disable Secondary Oscillator

bit 0      OSWEN: Oscillator Switch Enable bit

           1 = Initiate an oscillator switch to selection specified by NOSC<2:0> bits

           0 = Oscillator switch is complete

Note   1:  This bit is available on PIC32MX4XX devices only.

Note:      Writes to this register require an unlock sequence. Refer to Section 6. “Oscillator”  (DS60001112)  in  the

           “PIC32 Family Reference Manual” for details.

DS60001185G-page 78                                                                     2012-2017 Microchip Technology Inc.
                                         PIC32MX330/350/370/430/450/470

REGISTER 8-2:         OSCTUN: FRC TUNING                  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-0         U-0               U-0          U-0                U-0      U-0                 U-0

             —                —           —                 —            —                  —        —                   —

15:8         U-0              R-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>(1)

Legend:                                 y = Value set from Configuration bits on POR

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(1)

          100000   =  Center  frequency   -1.5%

          100001   =

          •

          •

          •

          111111   =

          000000   =  Center  frequency.  Oscillator  runs  at  minimal  frequency   (8  MHz)

          000001   =

          •

          •

          •

          011110   =

          011111   =  Center  frequency   +1.5%

Note 1:      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.

Note:        Writes to this register require an unlock sequence. Refer to Section 6. “Oscillator” (DS60001112) in the

             “PIC32 Family Reference Manual” for details.

 2012-2017 Microchip Technology Inc.                                                                DS60001185G-page 79
PIC32MX330/350/370/430/450/470

REGISTER 8-3:            REFOCON:    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

             U-0         R/W-0               R/W-0        R/W-0           R/W-0    R/W-0        R/W-0         R/W-0

31:24        —                                                   RODIV<14:8>(1,3)

             R/W-0       R/W-0               R/W-0        R/W-0           R/W-0    R/W-0        R/W-0         R/W-0

23:16                                                     RODIV<7:0>(3)

             R/W-0       U-0                 R/W-0        R/W-0           R/W-0           U-0   R/W-0, HC     R-0, HS, HC

15:8         ON          —                   SIDL         OE        RSLP(2)               —     DIVSWEN       ACTIVE

             U-0         U-0                    U-0       U-0             R/W-0    R/W-0        R/W-0         R/W-0

7:0          —           —                      —         —                               ROSEL<3:0>(1)

Legend:                              HC = Hardware Clearable        HS = Hardware Settable

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(1,3)

             This value selects the Reference Clock Divider bits. See Figure 8-1  for     more  information.

bit 15       ON: Output Enable bit

             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 = Discontinue module operation when device enters Idle mode

             0 = Continue module operation in Idle mode

bit 12       OE: Reference Clock Output Enable bit

             1 = Reference clock is driven out on REFCLKO pin

             0 = Reference clock is not driven out on REFCLKO pin

bit 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 = Reference clock request is active

             0 = Reference clock request is not active

bit 7-4      Unimplemented: Read as ‘0’

Note     1:  The ROSEL and RODIV bits should not be written while the ACTIVE bit is ‘1’, as undefined behavior may

             result.

         2:  This bit is ignored when the ROSEL<3:0> bits = 0000 or 0001.

         3:  While the ON bit is set to ‘1’, writes to these bits do not take effect until the DIVSWEN bit is also set to ‘1’.

DS60001185G-page 80                                                                        2012-2017 Microchip Technology Inc.
                                       PIC32MX330/350/370/430/450/470

REGISTER 8-3:         REFOCON: REFERENCE OSCILLATOR             CONTROL    REGISTER  (CONTINUED)

bit 3-0      ROSEL<3:0>: Reference Clock Source Select bits(1)

             1111 = Reserved; do not use

             •

             •

             •

             1001 = Reserved; do not use

             1000 = REFCLKI

             0111 = System PLL output

             0110 = USB PLL output

             0101 = SOSC

             0100 = LPRC

             0011 = FRC

             0010 = POSC

             0001 = PBCLK

             0000 = SYSCLK

Note     1:  The ROSEL and RODIV bits should not be written while the ACTIVE bit is ‘1’, as undefined behavior may

             result.

         2:  This bit is ignored when the ROSEL<3:0> bits = 0000 or 0001.

         3:  While the ON bit is set to ‘1’, writes to these bits do not take effect until the DIVSWEN bit is also set to ‘1’.

 2012-2017 Microchip Technology Inc.                                                DS60001185G-page 81
PIC32MX330/350/370/430/450/470

REGISTER 8-4:             REFOTRIM:         REFERENCE OSCILLATOR TRIM                 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

                                                              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:                                     y = Value set from Configuration bits on POR

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 RODIV value

           111111110      =     510/512 divisor added   to RODIV value

           •

           •

           •

           100000000      =     256/512 divisor added   to RODIV value

           •

           •

           •

           000000010      =     2/512 divisor added to  RODIV value

           000000001      =     1/512 divisor added to  RODIV value

           000000000      =     0/512 divisor added to  RODIV value

bit 22-0   Unimplemented: Read as ‘0’

Note:         While the ON bit (REFOCON<15>) is ‘1’, writes to this register do not take effect until the DIVSWEN bit is

              also set to ‘1’.

DS60001185G-page 82                                                                              2012-2017 Microchip Technology Inc.
                                     PIC32MX330/350/370/430/450/470

9.0           PREFETCH CACHE                                            The  following  are    some  of  the  key  features  of       the

                                                                        Prefetch Cache module.

Note:         This data sheet summarizes the features                   •  16 fully associative lockable cache lines

              of the PIC32MX330/350/370/430/450/470                     •  16-byte cache lines

              family of devices. It is not intended to be a

              comprehensive        reference      source.  To           •  Up to four cache lines allocated to data

              complement the information in this data                   •  Two cache lines with address mask to hold

              sheet,  refer  to    Section    4.  “Prefetch                repeated instructions

              Cache” (DS60001119), which is available                   •  Pseudo LRU replacement policy

              from    the  Documentation      >   Reference             •  All cache lines are software writable

              Manual  section    of   the  Microchip  PIC32             •  16-byte parallel memory fetch

              web site (www.microchip.com/pic32).                       •  Predictive instruction prefetch

Prefetch cache increases performance for applications                   A  simplified   block  diagram   of   the  Prefetch  Cache

executing out of the cacheable program Flash memory                     module is illustrated in Figure 9-1.

regions by implementing instruction caching, constant

data caching and instruction prefetching.

FIGURE 9-1:                PREFETCH CACHE MODULE               BLOCK DIAGRAM

                           FSM                                          CTRL

     BMX/CPU                               Tag Logic                          Cache Line

              CTRL

                      Bus Control                                                                                            BMX/CPU

                      Cache Control

                    Prefetch Control                           Cache

                      Hit LRU                                  Line                                                RDATA

                                                               Address

                      Miss LRU                                 Encode

                                           Hit Logic

                                           Prefetch                           Prefetch

                             CTRL                                             RDATA

                                                      PFM

 2012-2017 Microchip Technology Inc.                                                                         DS60001185G-page 83
DS60001185G-page 84                    9.1                            Control Registers                                                                                                                                                                                                       PIC32MX330/350/370/430/450/470

                                       TABLE 9-1:                                     PREFETCH REGISTER MAP

                                       Virtual Address                                                                                                                              Bits

                                                        (BF88_#)      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

                                       4000                       CHECON(1) 31:16                —       —      —      —      —      —            —     —                                          —  —     —     —              —       —      —      CHECOH                     0000

                                                                                      15:0       —       —      —      —      —      —            DCSZ<1:0>                                        —  —     PREFEN<1:0>          —              PFMWS<2:0>                        0007

                                       4010                       CHEACC(1) 31:16                CHEWEN  —      —      —      —      —            —     —                                          —  —     —     —              —       —      —           —                     0000

                                                                                      15:0       —       —      —      —      —      —            —     —                                          —  —     —     —                      CHEIDX<3:0>                              00xx

                                                                  CHETAG(1) 31:16 LTAGBOOT               —      —      —      —      —            —     —                                                         LTAG<23:16>                                                     xxx0

                                       4020                                           15:0                                           LTAG<15:4>                                                                                  LVALID  LLOCK  LTYPE       —                     xxx2

                                       4030                       CHEMSK(1) 31:16                —       —      —      —      —      —            —     —                                          —  —     —     —              —       —      —           —                     0000

                                                                                      15:0                                           LMASK<15:5>                                                                  —              —       —      —           —                     xxxx

                                       4040                           CHEW0           31:16                                                             CHEW0<31:0>                                                                                                               xxxx

                                                                                      15:0                                                                                                                                                                                        xxxx

                                       4050                           CHEW1           31:16                                                             CHEW1<31:0>                                                                                                               xxxx

                                                                                      15:0                                                                                                                                                                                        xxxx

                                       4060                           CHEW2           31:16                                                             CHEW2<31:0>                                                                                                               xxxx

                                                                                      15:0                                                                                                                                                                                        xxxx

                                       4070                           CHEW3           31:16                                                             CHEW3<31:0>                                                                                                               xxxx

                                                                                      15:0                                                                                                                                                                                        xxxx

                                                                                      31:16      —       —      —      —      —      —            —                                                               CHELRU<24:16>                                                   0000

                                       4080                       CHELRU              15:0                                                              CHELRU<15:0>                                                                                                              0000

                                       4090                           CHEHIT          31:16                                                             CHEHIT<31:0>                                                                                                              xxxx

                                                                                      15:0                                                                                                                                                                                        xxxx

                                       40A0                       CHEMIS              31:16                                                             CHEMIS<31:0>                                                                                                              xxxx

                                                                                      15:0                                                                                                                                                                                        xxxx

 2012-2017 Microchip Technology Inc.  40C0                       CHEPFABT            31:16                                                             CHEPFABT<31:0>                                                                                                            xxxx

                                                                                      15:0                                                                                                                                                                                        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. See Section 12.2 “CLR, SET, and INV Registers” for more

                                                                                information.
                        PIC32MX330/350/370/430/450/470

REGISTER 9-1:           CHECON: CACHE 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         R/W-0

            —           —                     —              —          —                     —      —           CHECOH

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

            —           —                     —              —          —                     —      DCSZ<1:0>

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

            —           —                     PREFEN<1:0>               —                            PFMWS<2: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-17  Unimplemented: Write ‘0’; ignore read

bit  16     CHECOH: Cache Coherency Setting on a PFM Program Cycle bit

            1 = Invalidate all data and instruction lines

            0 = Invalidate all data lnes and instruction lines that are not locked

bit  15-10  Unimplemented: Write ‘0’; ignore read

bit  9-8    DCSZ<1:0>: Data Cache Size in Lines bits

            11 = Enable data caching with a size of 4 Lines

            10 = Enable data caching with a size of 2 Lines

            01 = Enable data caching with a size of 1 Line

            00 = Disable data caching

            Changing these bits induce all lines to be reinitialized to the “invalid” state.

bit  7-6    Unimplemented: Write ‘0’; ignore read

bit  5-4    PREFEN<1:0>: Predictive Prefetch Enable bits

            11 = Enable predictive prefetch for both cacheable and non-cacheable regions

            10 = Enable predictive prefetch for non-cacheable regions only

            01 = Enable predictive prefetch for cacheable regions only

            00 = Disable predictive prefetch

bit  3      Unimplemented: Write ‘0’; ignore read

bit  2-0    PFMWS<2:0>: PFM Access Time Defined in Terms of SYSLK Wait States bits

            111 =  Seven Wait states

            110 =  Six Wait states

            101 =  Five Wait states

            100 =  Four Wait states

            011 =  Three Wait states

            010 =  Two Wait states

            001 =  One Wait state

            000 =  Zero Wait state

 2012-2017 Microchip Technology Inc.                                                                DS60001185G-page 85
PIC32MX330/350/370/430/450/470

REGISTER 9-2:         CHEACC: CACHE ACCESS 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

              R/W-0   U-0         U-0               U-0                U-0                U-0     U-0              U-0

31:24     CHEWEN      —           —                 —                  —                  —       —                —

              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             R/W-0       R/W-0             R/W-0      R/W-0

7:0           —       —           —                 —                                     CHEIDX<3: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    CHEWEN: Cache Access Enable bits for registers CHETAG,            CHEMSK,       CHEW0,  CHEW1,     CHEW2,     and

          CHEW3

          1=  The cache line selected by CHEIDX<3:0> is writeable

          0=  The cache line selected by CHEIDX<3:0> is not writeable

bit 30-4  Unimplemented: Write ‘0’; ignore read

bit 3-0   CHEIDX<3:0>: Cache Line Index bits

          The value selects the cache line for reading or writing.

DS60001185G-page 86                                                              2012-2017 Microchip Technology Inc.
                        PIC32MX330/350/370/430/450/470

REGISTER 9-3:           CHETAG: CACHE TAG 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       U-0                    U-0           U-0         U-0               U-0       U-0        U-0

            LTAGBOOT    —                      —             —            —                —         —                   —

23:16       R/W-x       R/W-x               R/W-x            R/W-x    R/W-x      R/W-x               R/W-x      R/W-x

                                                             LTAG<19:12>

15:8        R/W-x       R/W-x               R/W-x            R/W-x    R/W-x      R/W-x               R/W-x      R/W-x

                                                             LTAG<11:4>

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

                                    LTAG<3:0>                         LVALID     LLOCK               LTYPE               —

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     LTAGBOOT: Line TAG Address Boot bit

            1 = The line is in the 0x1D000000 (physical) area of memory

            0 = The line is in the 0x1FC00000 (physical) area of memory

bit  30-24  Unimplemented: Write ‘0’; ignore read

bit  23-4   LTAG<19:0>: Line TAG Address bits

            LTAG<19:0> bits are compared against physical address to determine a hit. Because its address range and

            position of PFM in kernel space and user space, the LTAG PFM address is identical for virtual addresses,

            (system) physical addresses, and PFM physical addresses.

bit  3      LVALID: Line Valid bit

            1 = The line is valid and is compared to the physical address for hit detection

            0 = The line is not valid and is not compared to the physical address for hit detection

bit  2      LLOCK: Line Lock bit

            1 = The line is locked and will not be replaced

            0 = The line is not locked and can be replaced

bit  1      LTYPE: Line Type bit

            1 = The line caches instruction words

            0 = The line caches data words

bit  0      Unimplemented: Write ‘0’; ignore read

 2012-2017 Microchip Technology Inc.                                                                DS60001185G-page 87
PIC32MX330/350/370/430/450/470

REGISTER 9-4:          CHEMSK: CACHE TAG MASK 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

               U-0            U-0        U-0                   U-0       U-0                   U-0           U-0    U-0

31:24          —              —          —                     —         —                     —             —               —

               U-0            U-0        U-0                   U-0       U-0                   U-0           U-0    U-0

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

15:8                                                       LMASK<10:3>

               R/W-0    R/W-0            R/W-0                 U-0       U-0                   U-0           U-0    U-0

7:0                     LMASK<2: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: Write ‘0’; ignore read

bit 15-5   LMASK<10:0>: Line Mask bits

           1=  Enables  mask  logic  to  force  a  match   on       the  corresponding  bit    position  in  the  LTAG<19:0>      bits

               (CHETAG<23:4>) and the physical address.

           0=  Only writeable for values of CHEIDX<3:0> bits (CHEACC<3:0>) equal to 0x0A and 0x0B.

               Disables mask logic.

bit 4-0    Unimplemented: Write ‘0’; ignore read

REGISTER 9-5:          CHEW0: CACHE WORD               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

           R/W-x        R/W-x            R/W-x             R/W-x         R/W-x               R/W-x           R/W-x  R/W-x

31:24                                                      CHEW0<31:24>

           R/W-x        R/W-x            R/W-x             R/W-x         R/W-x               R/W-x           R/W-x  R/W-x

23:16                                                      CHEW0<23:16>

           R/W-x        R/W-x            R/W-x             R/W-x         R/W-x               R/W-x           R/W-x  R/W-x

15:8                                                       CHEW0<15:8>

           R/W-x        R/W-x            R/W-x             R/W-x         R/W-x               R/W-x           R/W-x  R/W-x

7:0                                                        CHEW0<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   CHEW0<31:0>: Word 0 of the cache line selected by the CHEIDX<3:0> bits (CHEACC<3:0>)

           Readable only if the device is not code-protected.

DS60001185G-page 88                                                                           2012-2017 Microchip Technology Inc.
                      PIC32MX330/350/370/430/450/470

REGISTER 9-6:         CHEW1: CACHE WORD                  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

          R/W-x       R/W-x            R/W-x                R/W-x    R/W-x       R/W-x          R/W-x      R/W-x

31:24                                                       CHEW1<31:24>

          R/W-x       R/W-x            R/W-x                R/W-x    R/W-x       R/W-x          R/W-x      R/W-x

23:16                                                       CHEW1<23:16>

          R/W-x       R/W-x            R/W-x                R/W-x    R/W-x       R/W-x          R/W-x      R/W-x

15:8                                                        CHEW1<15:8>

          R/W-x       R/W-x            R/W-x                R/W-x    R/W-x       R/W-x          R/W-x      R/W-x

7:0                                                         CHEW1<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  CHEW1<31:0>: Word 1 of the cache line selected by the CHEIDX<3:0> bits (CHEACC<3:0>)

          Readable only if the device is not code-protected.

REGISTER 9-7:         CHEW2: CACHE WORD                  2

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

          R/W-x       R/W-x            R/W-x                R/W-x    R/W-x       R/W-x          R/W-x      R/W-x

31:24                                                       CHEW2<31:24>

          R/W-x       R/W-x            R/W-x                R/W-x    R/W-x       R/W-x          R/W-x      R/W-x

23:16                                                       CHEW2<23:16>

          R/W-x       R/W-x            R/W-x                R/W-x    R/W-x       R/W-x          R/W-x      R/W-x

15:8                                                        CHEW2<15:8>

          R/W-x       R/W-x            R/W-x                R/W-x    R/W-x       R/W-x          R/W-x      R/W-x

7:0                                                         CHEW2<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  CHEW2<31:0>: Word 2 of the cache line selected by the CHEIDX<3:0> bits (CHEACC<3:0>)

          Readable only if the device is not code-protected.

 2012-2017 Microchip Technology Inc.                                                           DS60001185G-page 89
PIC32MX330/350/370/430/450/470

REGISTER 9-8:          CHEW3: CACHE WORD             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

           R/W-x       R/W-x       R/W-x                 R/W-x   R/W-x                 R/W-x  R/W-x               R/W-x

31:24                                                    CHEW3<31:24>

           R/W-x       R/W-x       R/W-x                 R/W-x   R/W-x                 R/W-x  R/W-x               R/W-x

23:16                                                    CHEW3<23:16>

           R/W-x       R/W-x       R/W-x                 R/W-x   R/W-x                 R/W-x  R/W-x               R/W-x

15:8                                                     CHEW3<15:8>

           R/W-x       R/W-x       R/W-x                 R/W-x   R/W-x                 R/W-x  R/W-x               R/W-x

7:0                                                      CHEW3<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   CHEW3<31:0>: Word 3 of the cache line selected by the CHEIDX<3:0> bits (CHEACC<3:0>)

           Readable only if the device is not code-protected.

Note:      This register is a window into the cache data array and is readable only if the device is not code-protected.

REGISTER 9-9:          CHELRU: CACHE LRU          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

           U-0         U-0         U-0                   U-0     U-0         U-0              U-0                 R-0

31:24      —           —           —                     —       —                     —      —            CHELRU<24>

           R-0         R-0         R-0                   R-0     R-0         R-0              R-0                 R-0

23:16                                                    CHELRU<23:16>

           R-0         R-0         R-0                   R-0     R-0         R-0              R-0                 R-0

15:8                                                     CHELRU<15:8>

           R-0         R-0         R-0                   R-0     R-0         R-0              R-0                 R-0

7:0                                                      CHELRU<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: Write ‘0’; ignore read

bit 24-0   CHELRU<24:0>: Cache Least Recently Used State Encoding bits

           Indicates the pseudo-LRU state of the cache.

DS60001185G-page 90                                                                     2012-2017 Microchip Technology Inc.
                      PIC32MX330/350/370/430/450/470

REGISTER 9-10:        CHEHIT: CACHE HIT STATISTICS 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

          R/W-x       R/W-x            R/W-x             R/W-x       R/W-x       R/W-x          R/W-x      R/W-x

31:24                                                    CHEHIT<31:24>

          R/W-x       R/W-x            R/W-x             R/W-x       R/W-x       R/W-x          R/W-x      R/W-x

23:16                                                    CHEHIT<23:16>

          R/W-x       R/W-x            R/W-x             R/W-x       R/W-x       R/W-x          R/W-x      R/W-x

15:8                                                     CHEHIT<15:8>

          R/W-x       R/W-x            R/W-x             R/W-x       R/W-x       R/W-x          R/W-x      R/W-x

7:0                                                      CHEHIT<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  CHEHIT<31:0>: Cache Hit Count bits

          Incremented each time the processor issues an instruction fetch or load that hits the prefetch cache from a

          cacheable region. Non-cacheable accesses do not modify this value.

REGISTER 9-11:        CHEMIS: CACHE MISS           STATISTICS 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

          R/W-x       R/W-x            R/W-x             R/W-x       R/W-x       R/W-x          R/W-x      R/W-x

31:24                                                    CHEMIS<31:24>

          R/W-x       R/W-x            R/W-x             R/W-x       R/W-x       R/W-x          R/W-x      R/W-x

23:16                                                    CHEMIS<23:16>

          R/W-x       R/W-x            R/W-x             R/W-x       R/W-x       R/W-x          R/W-x      R/W-x

15:8                                                     CHEMIS<15:8>

          R/W-x       R/W-x            R/W-x             R/W-x       R/W-x       R/W-x          R/W-x      R/W-x

7:0                                                      CHEMIS<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  CHEMIS<31:0>: Cache Miss Count bits

          Incremented each time the processor issues an instruction fetch from a cacheable region that misses the

          prefetch cache. Non-cacheable accesses do not modify this value.

 2012-2017 Microchip Technology Inc.                                                           DS60001185G-page 91
PIC32MX330/350/370/430/450/470

REGISTER 9-12:        CHEPFABT:   PREFETCH          CACHE ABORT STATISTICS 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

          R/W-x       R/W-x       R/W-x             R/W-x       R/W-x       R/W-x          R/W-x      R/W-x

31:24                                               CHEPFABT<31:24>

          R/W-x       R/W-x       R/W-x             R/W-x       R/W-x       R/W-x          R/W-x      R/W-x

23:16                                               CHEPFABT<23:16>

          R/W-x       R/W-x       R/W-x             R/W-x       R/W-x       R/W-x          R/W-x      R/W-x

15:8                                                CHEPFABT<15:8>

          R/W-x       R/W-x       R/W-x             R/W-x       R/W-x       R/W-x          R/W-x      R/W-x

7:0                                                 CHEPFABT<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  CHEPFABT<31:0>: Prefab Abort Count bits

          Incremented each time an automatic prefetch cache is aborted due to a non-sequential instruction fetch, load

          or store.

DS60001185G-page 92                                                          2012-2017 Microchip Technology Inc.
                                          PIC32MX330/350/370/430/450/470

10.0      DIRECT MEMORY ACCESS                                         •  Fixed priority channel arbitration

          (DMA) CONTROLLER                                             •  Flexible DMA channel operating modes:

                                                                          -  Manual (software) or automatic (interrupt)

   Note:  This data sheet summarizes the features                            DMA requests

          of the PIC32MX330/350/370/430/450/470                           -  One-Shot or Auto-Repeat Block Transfer

          family of devices. It is not intended to be a                      modes

          comprehensive       reference      source.  To                  -  Channel-to-channel chaining

          complement the information in this data                      •  Flexible DMA requests:

          sheet, refer to Section 31. “Direct Mem-                        -  A DMA request can be selected from any of

          ory         Access     (DMA)          Controller”                  the peripheral interrupt sources

          (DS60001117), which is available from the                       -  Each channel can select any (appropriate)

          Documentation       >          Reference  Manual                   observable interrupt as its DMA request

          section of the Microchip PIC32 web site                            source

          (www.microchip.com/pic32).                                      -  A DMA transfer abort can be selected from

The PIC32 Direct Memory Access (DMA) controller is a                         any of the peripheral interrupt sources

bus master module useful for data transfers between                       -  Pattern (data) match transfer termination

different devices without CPU intervention. The source                 •  Multiple DMA channel status interrupts:

and destination of a DMA transfer can be any of the                       -  DMA channel block transfer complete

memory mapped modules existent in the PIC32 (such                         -  Source empty or half empty

as Peripheral Bus (PBUS) devices: SPI, UART, PMP,                         -  Destination full or half full

etc.) or memory itself.                                                   -  DMA transfer aborted due to an external

Following are some of the key features of the DMA                            event

controller module:                                                        -  Invalid DMA address generated

•  Four identical channels, each featuring:                            •  DMA debug support features:

   -  Auto-increment source and destination                               -  Most recent address accessed by a DMA

      address registers                                                      channel

   -  Source and destination pointers                                     -  Most recent DMA channel to transfer data

   -  Memory to memory and memory to                                   •  CRC Generation module:

      peripheral transfers                                                -  CRC module can be assigned to any of the

•  Automatic word-size detection:                                            available channels

   -  Transfer granularity, down to byte level                            -  CRC module is highly configurable

   -  Bytes need not be word-aligned at source

      and destination

FIGURE 10-1:             DMA BLOCK DIAGRAM

   INT Controller                System IRQ

      Peripheral Bus     Address Decoder                                         SEL

                                                    Channel 0 Control        I0

                                                    Channel 1 Control        I1  Y          Bus Interface  Device Bus + Bus Arbitration

                                                                             I2

                         Global Control             Channel n Control        In

                            (DMACON)                                             SEL

                                                                          Channel Priority

                                                                             Arbitration

 2012-2017 Microchip Technology Inc.                                                                         DS60001185G-page 93
DS60001185G-page 94                    10.1                           Control Registers                                                                                                                                                                                                               PIC32MX330/350/370/430/450/470

                                       TABLE 10-1:                                       DMA GLOBAL REGISTER MAP

                                       Virtual Address                                                                                                                              Bits

                                                        (BF88_#)      RegisterName(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

                                       3000                       DMACON                 31:16      —      —      —      —      —         —          —     —                              —               —        —       —               —             —      —           —             0000

                                                                                         15:0       ON     —      —      SUSPEND DMABUSY  —          —     —                              —               —        —       —               —             —      —           —             0000

                                       3010                       DMASTAT                31:16      —      —      —      —      —         —          —     —                              —               —        —       —               —             —      —           —             0000

                                                                                         15:0       —      —      —      —      —         —          —     —                              —               —        —       —               RDWR                 DMACH<2:0>                0000

                                       3020 DMAADDR                                      31:16                                                             DMAADDR<31:0>                                                                                                                  0000

                                                                                         15:0                                                                                                                                                                                             0000

                                       Legend:                                  x = unknown value on Reset; — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.

                                       Note                       1:            All registers in this table have corresponding CLR, SET and INV registers at its virtual address, plus an offset of 0x4,  0x8 and  0xC, respectively. See  Section 12.2  “CLR,  SET, and INV Registers”   for

                                                                                more information.

                                       TABLE 10-2:                                       DMA CRC REGISTER MAP

                                       Virtual Address                                                                                                                              Bits

                                                        (BF88_#)      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

                                       3030                       DCRCCON                31:16      —      —      BYTO<1:0>     WBO       —          —     BITO                           —               —        —       —               —             —      —           —             0000

                                                                                         15:0       —      —      —                       PLEN<4:0>                                       CRCEN           CRCAPP   CRCTYP  —               —                    CRCCH<2:0>                0000

                                       3040                       DCRCDATA               31:16                                                             DCRCDATA<31:0>                                                                                                                 0000

                                                                                         15:0                                                                                                                                                                                             0000

                                       3050                       DCRCXOR                31:16                                                             DCRCXOR<31:0>                                                                                                                  0000

 2012-2017 Microchip Technology Inc.                                                    15:0                                                                                                                                                                                             0000

                                       Legend:                                  x = unknown value on Reset; — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.

                                       Note                       1:            All registers in this table have corresponding CLR, SET and INV registers at their virtual addresses, plus offsets of 0x4, 0x8 and 0xC, respectively. See Section 12.2 “CLR, SET, and INV Registers” for

                                                                                more information.
 2012-2017 Microchip Technology Inc.  TABLE 10-3:                                     DMA CHANNEL 0 THROUGH CHANNEL 3 REGISTER MAP

                                       Virtual Address                                                                                                                              Bits

                                                        (BF88_#)      RegisterName(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

                                       3060                       DCH0CON              31:16       —      —      —      —      —      —      —     —                                      —     —       —       —       —       —       —       —                                         0000

                                                                                       15:0       CHBUSY  —      —      —      —      —      —     CHCHNS                                 CHEN  CHAED   CHCHN   CHAEN   —       CHEDET  CHPRI<1:0>                                        0000

                                       3070 DCH0ECON                                   31:16       —      —      —      —      —      —      —     —                                                            CHAIRQ<7:0>                                                               00FF

                                                                                       15:0                             CHSIRQ<7:0>                                                 CFORCE      CABORT  PATEN   SIRQEN  AIRQEN  —       —       —                                         FFF8

                                       3080                       DCH0INT              31:16       —      —      —      —      —      —      —     —                                CHSDIE      CHSHIE  CHDDIE  CHDHIE  CHBCIE  CHCCIE  CHTAIE  CHERIE                                    0000

                                                                                       15:0        —      —      —      —      —      —      —     —                                CHSDIF      CHSHIF  CHDDIF  CHDHIF  CHBCIF  CHCCIF  CHTAIF  CHERIF                                    0000

                                       3090                       DCH0SSA              31:16                                                       CHSSA<31:0>                                                                                                                            0000

                                                                                       15:0                                                                                                                                                                                               0000

                                       30A0                       DCH0DSA              31:16                                                       CHDSA<31:0>                                                                                                                            0000        PIC32MX330/350/370/430/450/470

                                                                                       15:0                                                                                                                                                                                               0000

                                       30B0                       DCH0SSIZ             31:16       —      —      —      —      —      —      —     —                                      —     —       —       —       —       —       —       —                                         0000

                                                                                       15:0                                                        CHSSIZ<15:0>                                                                                                                           0000

                                       30C0                       DCH0DSIZ             31:16       —      —      —      —      —      —      —     —                                      —     —       —       —       —       —       —       —                                         0000

                                                                                       15:0                                                        CHDSIZ<15:0>                                                                                                                           0000

                                       30D0 DCH0SPTR                                   31:16       —      —      —      —      —      —      —     —                                      —     —       —       —       —       —       —       —                                         0000

                                                                                       15:0                                                        CHSPTR<15:0>                                                                                                                           0000

                                       30E0 DCH0DPTR                                   31:16       —      —      —      —      —      —      —     —                                      —     —       —       —       —       —       —       —                                         0000

                                                                                       15:0                                                        CHDPTR<15:0>                                                                                                                           0000

                                       30F0                       DCH0CSIZ             31:16       —      —      —      —      —      —      —     —                                      —     —       —       —       —       —       —       —                                         0000

                                                                                       15:0                                                        CHCSIZ<15:0>                                                                                                                           0000

                                       3100                       DCH0CPTR             31:16       —      —      —      —      —      —      —     —                                      —     —       —       —       —       —       —       —                                         0000

                                                                                       15:0                                                        CHCPTR<15:0>                                                                                                                           0000

                                       3110                       DCH0DAT              31:16       —      —      —      —      —      —      —     —                                      —     —       —       —       —       —       —       —                                         0000

                                                                                       15:0        —      —      —      —      —      —      —     —                                                            CHPDAT<7:0>                                                               0000

                                       3120                       DCH1CON              31:16       —      —      —      —      —      —      —     —                                      —     —       —       —       —       —       —       —                                         0000

                                                                                       15:0       CHBUSY  —      —      —      —      —      —     CHCHNS                                 CHEN  CHAED   CHCHN   CHAEN   —       CHEDET  CHPRI<1:0>                                        0000

                                       3130 DCH1ECON                                   31:16       —      —      —      —      —      —      —     —                                                            CHAIRQ<7:0>                                                               00FF

                                                                                       15:0                             CHSIRQ<7:0>                                                 CFORCE      CABORT  PATEN   SIRQEN  AIRQEN  —       —       —                                         FFF8

                                       3140                       DCH1INT              31:16       —      —      —      —      —      —      —     —                                CHSDIE      CHSHIE  CHDDIE  CHDHIE  CHBCIE  CHCCIE  CHTAIE  CHERIE                                    0000

                                                                                       15:0        —      —      —      —      —      —      —     —                                CHSDIF      CHSHIF  CHDDIF  CHDHIF  CHBCIF  CHCCIF  CHTAIF  CHERIF                                    0000

DS60001185G-page 95                    3150                       DCH1SSA              31:16                                                       CHSSA<31:0>                                                                                                                            0000

                                                                                       15:0                                                                                                                                                                                               0000

                                       3160                       DCH1DSA              31:16                                                       CHDSA<31:0>                                                                                                                            0000

                                                                                       15:0                                                                                                                                                                                               0000

                                       Legend:                                  x = unknown value on Reset; — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.

                                       Note                       1:            All registers in this table have corresponding CLR, SET and INV registers at their virtual addresses, plus offsets of 0x4, 0x8 and 0xC, respectively. See Section 12.2 “CLR, SET, and INV Registers” for

                                                                                more information.
DS60001185G-page 96                    TABLE 10-3:                                     DMA CHANNEL 0 THROUGH CHANNEL 3 REGISTER MAP (CONTINUED)                                                                                                                                                       PIC32MX330/350/370/430/450/470

                                       Virtual Address                                                                                                                              Bits

                                                        (BF88_#)      RegisterName(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

                                       3170                       DCH1SSIZ             31:16       —      —      —      —      —      —      —     —                                      —     —       —       —       —       —       —       —                                         0000