DsPIC33 EP64 GS502 Datasheet
DsPIC33 EP64 GS502 Datasheet
DsPIC33 EP64 GS502 Datasheet
12-Bit
Remappable Peripherals
Constant-Current Source
Program Memory Bytes
ADC
Analog Comparator
External Interrupts(3)
RAM (Bytes)
DAC Output
Packages
Output Compare
Reference Clock
Analog Inputs
Input Capture
S&H Circuits
PGA
Pins
I2C
Timers(1)
Device
PWM(2)
UART
SPI
28-Pin SOIC
MCLR 1 28 AVDD
RA0 2 27 AVSS
RA1 3 26 RA3
RA2 4 25 RA4
dsPIC33EPXXGS502
RB0 5 24 RB14
RB9 6 23 RB13
RB10 7 22 RB12
VSS 8 21 RB11
RB1 9 20 VCAP
RB2 10 19 VSS
RB3 11 18 RB7
RB4 12 17 RB6
VDD 13 16 RB5
RB8 14 15 RB15
1 MCLR 15 PGEC3/SCL2/RP47/RB15
2 AN0/PGA1P1/CMP1A/RA0 16 TDO/AN19/PGA2N2/RP37/RB5
3 AN1/PGA1P2/PGA2P1/CMP1B/RA1 17 PGED1/TDI/AN20/SCL1/RP38/RB6
4 AN2/PGA1P3/PGA2P2/CMP1C/CMP2A/RA2 18 PGEC1/AN21/SDA1/RP39/RB7
5 AN3/PGA2P3/CMP1D/CMP2B/RP32/RB0 19 VSS
6 AN4/CMP2C/CMP3A/ISRC4/RP41/RB9 20 VCAP
7 AN5/CMP2D/CMP3B/ISRC3/RP42/RB10 21 TMS/PWM3H/RP43/RB11
8 Vss 22 TCK/PWM3L/RP44/RB12
9 OSC1/CLKI/AN6/CMP3C/CMP4A/ISRC2/RP33/RB1 23 PWM2H/RP45/RB13
10 OSC2/CLKO/AN7/PGA1N2/CMP3D/CMP4B/RP34/RB2 24 PWM2L/RP46/RB14
11 PGED2/AN18/DACOUT1/INT0/RP35/RB3 25 PWM1H/RA4
12 PGEC2/ADTRG31/EXTREF1/RP36/RB4 26 PWM1L/RA3
13 VDD 27 AVSS
14 PGED3/SDA2/FLT31/RP40/RB8 28 AVDD
MCLR
AVDD
AVSS
RA1
RA0
RA3
RA4
28
27
26
25
24
23
22
RA2 1 21 RB14
RB0 2 20 RB13
RB9 3 19 RB12
RB10 4 dsPIC33EPXXGS502 18 RB11
VSS 5 17 VCAP
RB1 6 16 VSS
RB2 7 15 RB7
10
12
13
14
11
8
9
RB4
RB3
VDD
RB8
RB15
RB5
RB6
1 AN2/PGA1P3/PGA2P2/CMP1C/CMP2A/RA2 15 PGEC1/AN21/SDA1/RP39/RB7
2 AN3/PGA2P3/CMP1D/CMP2B/RP32/RB0 16 VSS
3 AN4/CMP2C/CMP3A/ISRC4/RP41/RB9 17 VCAP
4 AN5/CMP2D/CMP3B/ISRC3/RP42/RB10 18 TMS/PWM3H/RP43/RB11
5 Vss 19 TCK/PWM3L/RP44/RB12
6 OSC1/CLKI/AN6/CMP3C/CMP4A/ISRC2/RP33/RB1 20 PWM2H/RP45/RB13
7 OSC2/CLKO/AN7/PGA1N2/CMP3D/CMP4B/RP34/RB2 21 PWM2L/RP46/RB14
8 PGED2/AN18/DACOUT1/INT0/RP35/RB3 22 PWM1H/RA4
9 PGEC2/ADTRG31/EXTREF1/RP36/RB4 23 PWM1L/RA3
10 VDD 24 AVSS
11 PGED3/SDA2/FLT31/RP40/RB8 25 AVDD
12 PGEC3/SCL2/RP47/RB15 26 MCLR
13 TDO/AN19/PGA2N2/RP37/RB5 27 AN0/PGA1P1/CMP1A/RA0
14 PGED1/TDI/AN20/SCL1/RP38/RB6 28 AN1/PGA1P2/PGA2P1/CMP1B/RA1
44-Pin QFN
RB15
RC8
RC7
RC2
RB6
RB5
RB8
RB4
RB3
VDD
VSS
39
44
43
42
41
40
38
37
36
35
34
RB7 1 33 RB2
RC4 2 32 RB1
RC5 3 31 RC1
RC6 4 30 VSS
RC3 5 29 VDD
dsPIC33EPXXGS504
VSS 6 28 RC10
VCAP 7 27 RC9
RB11 8 26 RB10
RB12 9 25 RB9
RB13 10 24 RB0
RB14 11 23 RA2
12
13
14
15
16
17
18
19
20
21
22
RA4
RA3
RC0
RC13
AVDD
RC11
RC12
RA0
RA1
MCLR
AVSS
44-Pin TQFP
RB15
RC8
RC7
RC2
RB6
RB5
RB8
RB4
RB3
VDD
VSS
44
43
42
41
40
39
38
37
36
35
34
RB7 1 33 RB2
RC4 2 32 RB1
RC5 3 31 RC1
RC6 4 30 VSS
RC3 5 29 VDD
VSS 6 dsPIC33EPXXGS504 28 RC10
VCAP 7 27 RC9
RB11 8 26 RB10
RB12 9 25 RB9
RB13 10 24 RB0
RB14 11 23 RA2
12
13
14
15
16
17
18
19
20
21
22
MCLR
AVSS
RA4
RA3
RC0
RC13
AVDD
RC11
RC12
RA0
RA1
48-Pin TQFP
RB15
RC8
RC7
RC2
RB6
RB5
RB8
RB4
RB3
VDD
VSS
N/C
48
47
46
45
44
43
42
41
40
39
38
37
RB7 1 36 RB2
RC4 2 35 RB1
RC5 3 34 RC1
RC6 4 33 N/C
RC3 5 32 Vss
VSS 6 dsPIC33EPXXGS505 31 VDD
VCAP 7 30 RC10
N/C 8 29 RC9
RB11 9 28 RB10
RB12 10 27 RB9
RB13 11 26 RB0
RB14 12 25 RA2
13
14
15
16
17
18
19
20
21
22
23
24
RA4
RA3
RC0
RC13
RC11
RC12
RA0
RA1
N/C
MCLR
AVSS
AVDD
RD15
RB14
RB13
RB12
RB11
VCAP
RD1
RD4
RC3
RD6
RD5
RC6
RC5
RC4
RB7
VDD
64-Pin TQFP
64
63
62
61
60
59
58
57
56
55
54
53
52
51
50
49
RD3 1 48 RB6
RA4 2 47 RD0
RA3 3 46 RB5
RC0 4 45 RD11
RC13 5 44 RB15
RD10 6 43 RB8
MCLR 7 42 RD8
RD12 8 41 Vss
VSS 9
dsPIC33EPXXGS506 40 RD9
VDD 10 39 RD14
RC11 11 38 VDD
RC12 12 37 RC8
RA0 13 36 RC7
RA1 14 35 RC2
RA2 15 34 RC14
RB0 16 33 RB4
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
AVSS
VSS
RB9
RB10
AVDD
RD7
RD13
RC9
RC10
VDD
RC1
RB1
RB2
RD2
RC15
RB3
Pin Pin Function Pin Pin Function
1 PWM4L/RD3 33 PGEC2/ADTRG31/RP36/RB4
2 PWM1H/RA4 34 RP62/RC14
3 PWM1L/RA3 35 AN9/CMP4D/EXTREF1/RP50/RC2
4 FLT12/RP48/RC0 36 ASDA1/RP55/RC7
5 FLT11/RP61/RC13 37 ASCL1/RP56/RC8
6 FLT10/RD10 38 VDD
7 MCLR 39 RD14
8 FLT9/T5CK/RD12 40 RD9
9 VSS 41 VSS
10 VDD 42 RD8
11 AN12/ISRC1/RP59/RC11 43 PGED3/SDA2/FLT31/RP40/RB8
12 AN14/PGA2N3/RP60/RC12 44 PGEC3/SCL2/RP47/RB15
13 AN0/PGA1P1/CMP1A/RA0 45 INT4/RD11
14 AN1/PGA1P2/PGA2P1/CMP1B/RA1 46 TDO/AN19/PGA2N2/RP37/RB5
15 AN2/PGA1P3/PGA2P2/CMP1C/CMP2A/RA2 47 T4CK/RD0
16 AN3/PGA2P3/CMP1D/CMP2B/RP32/RB0 48 PGED1/TDI/AN20/SCL1/RP38/RB6
17 AN4/CMP2C/CMP3A/ISRC4/RP41/RB9 49 PGEC1/AN21/SDA1/RP39/RB7
18 AN5/CMP2D/CMP3B/ISRC3/RP42/RB10 50 AN1ALT/RP52/RC4
19 AVDD 51 AN0ALT/RP53/RC5
20 AVSS 52 AN17/RP54/RC6
21 AN15/RD7 53 RD5
22 AN13/DACOUT2/RD13 54 PWM5H/RD6
23 AN11/PGA1N3/RP57/RC9 55 PWM5L/RP51/RC3
24 AN10/PGA1P4/EXTREF2/RP58/RC10 56 VCAP
25 VSS 57 VDD
26 VDD 58 RD4
27 AN8/PGA2P4/CMP4C/RP49/RC1 59 RD15
28 OSC1/CLKI/AN6/CMP3C/CMP4A/ISRC2/RP33/RB1 60 TMS/PWM3H/RP43/RB11
29 OSC2/CLKO/AN7/PGA1N2/CMP3D/CMP4B/RP34/RB2 61 TCK/PWM3L/RP44/RB12
30 AN16/RD2 62 PWM2H/RP45/RB13
31 ASDA2/RP63/RC15 63 PWM2L/RP46/RB14
32 PGED2/AN18/DACOUT1/ASCL2/INT0/RP35/RB3 64 PWM4H/RD1
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.
CPU
Refer to Figure 3-1 for CPU diagram details.
PORTA
16
Power-up
Timer PORTB
Timing Oscillator
Start-up 16
Generation
Timer
OSC1/CLKI
POR/BOR PORTC
MCLR
Watchdog
Timer
VDD, VSS
AVDD, AVSS
Input Output
PGA1, I2C1,
ADC Captures Compares
PGA2 I2C2
1-4 1-4
Remappable
Pins
MCLR I/P ST No Master Clear (Reset) input. This pin is an active-low Reset to the
device.
AVDD P P No Positive supply for analog modules. This pin must be connected at all
times.
AVSS P P No Ground reference for analog modules. This pin must be connected at
all times.
VDD P — No Positive supply for peripheral logic and I/O pins.
VCAP P — No CPU logic filter capacitor connection.
VSS P — No Ground reference for logic and I/O pins.
Legend: CMOS = CMOS compatible input or output Analog = Analog input P = Power
ST = Schmitt Trigger input with CMOS levels O = Output I = Input
PPS = Peripheral Pin Select TTL = TTL input buffer
1: Not all pins are available in all packages variants. See the “Pin Diagrams” section for pin availability.
2: These pins are dedicated on 64-pin devices.
VDD
VCAP
VSS
R
R1
The MCLR pin provides two specific device
MCLR functions:
• Device Reset
C
• Device Programming and Debugging.
dsPIC33EP
During device programming and debugging, the
VSS VDD
resistance and capacitance that can be added to the
pin must be considered. Device programmers and
VDD VSS
0.1 µF 0.1 µF debuggers drive the MCLR pin. Consequently,
AVDD
AVSS
Ceramic
VDD
VSS
Ceramic specific voltage levels (VIH and VIL) and fast signal
transitions must not be adversely affected. Therefore,
0.1 µF 0.1 µF specific values of R and C will need to be adjusted
Ceramic Ceramic
based on the application and PCB requirements.
L1(1)
For example, as shown in Figure 2-2, it is
Note 1: As an option, instead of a hard-wired connection, an recommended that the capacitor C, be isolated from
inductor (L1) can be substituted between VDD and the MCLR pin during programming and debugging
AVDD to improve ADC noise rejection. The inductor operations.
impedance should be less than 1 and the inductor
capacity greater than 10 mA. Place the components as shown in Figure 2-2 within
Where: one-quarter inch (6 mm) from the MCLR pin.
F CNV
f = -------------- (i.e., ADC Conversion Rate/2) FIGURE 2-2: EXAMPLE OF MCLR PIN
2
CONNECTIONS
1
f = -----------------------
2 LC
VDD
2
L = ----------------------
1
2f C R(1)
R1(2)
MCLR
2.2.1 TANK CAPACITORS
JP
On boards with power traces running longer than six dsPIC33EP
inches in length, it is suggested to use a tank capacitor C
for integrated circuits including DSCs to supply a local
power source. The value of the tank capacitor should
be determined based on the trace resistance that con-
Note 1: R 10 k is recommended. A suggested
nects the power supply source to the device and the
starting value is 10 k. Ensure that the
maximum current drawn by the device in the applica- MCLR pin VIH and VIL specifications are met.
tion. In other words, select the tank capacitor so that it 2: R1 470 will limit any current flowing into
meets the acceptable voltage sag at the device. Typical MCLR from the external capacitor, C, in the
values range from 4.7 µF to 47 µF. event of MCLR pin breakdown due to
Electrostatic Discharge (ESD) or Electrical
2.3 CPU Logic Filter Capacitor Overstress (EOS). Ensure that the MCLR pin
VIH and VIL specifications are met.
Connection (VCAP)
A low-ESR (<0.5 Ω) capacitor is required on the VCAP
pin, which is used to stabilize the voltage regulator
output voltage. The VCAP pin must not be connected to
VDD and must have a capacitor greater than 4.7 µF
(10 µF is recommended), 16V connected to ground.
The type can be ceramic or tantalum. See
Section 26.0 “Electrical Characteristics” for
additional information.
VOUT+
|VAC|
k1 k2
k4 VAC k3
VOUT-
FET FET
Driver Driver
dsPIC33EPXXGS50X
ADC Channel
VIN+
Gate 6
Gate 3
Gate 1
VOUT+
S1 S3
VOUT-
Gate 2
Gate 4 Gate 5
VIN-
Gate 5
Gate 6
FET k2
Driver
k1
Analog
Gate 1 Ground
FET dsPIC33EPXXGS50X
Driver
S3 PWM
Gate 2
Gate 4
VDC
Push-Pull Converter Full-Bridge Inverter
VOUT+
VBAT +
VOUT-
GND
GND
ADC ADC
ADC PWM
FET
k6 Driver
Battery Charger
X Address Bus
Y Data Bus
X Data Bus
16 16 16
16
16 16
Y Address Bus
24
PCU PCH PCL X RAGU
Program Counter 16 X WAGU
Stack Loop
Control Control
Address Latch Logic Logic
Y AGU
Program Memory
16 EA MUX
Data Latch
16
ROM Latch
16 24
IR
24
Literal Data
16
16-Bit
Working Register Arrays 16
16 16
Divide
DSP Support
Engine
16-Bit ALU
Peripheral
Modules
D15 D0
D15 D0
D15 D0
W0 (WREG) W0 W0
W0-W3 W1 W1 W1
W2 W2 W2
W3 W3 W3
W4 W4 W4
DSP Operand W5 W5 W5 Alternate
Registers W6 Working/Address
W6 W6
W7 W7 W7 Registers
Working/Address
Registers W8 W8
W8
DSP Address W9 W9 W9
Registers
W10 W10 W10
W11 W11 W11
W12 W12 W12
W13 W13 W13
Frame Pointer/W14 W14 W14
Stack Pointer/W15 0
DSP ACCA
Accumulators(1) ACCB
PC23 PC0
0 0 Program Counter
7 0
TBLPAG Data Table Page Address
9 0
DSRPAG X Data Space Read Page Address
15 0
RCOUNT REPEAT Loop Counter
15 0
DCOUNT DO Loop Counter and Stack
23 0
0 DOSTART 0 DO Loop Start Address and Stack
23 0
0 DOEND 0 DO Loop End Address and Stack
15 0
CORCON CPU Core Control Register
SRL
OA OB SA SB OAB SAB DA DC IPL2 IPL1 IPL0 RA N OV Z C STATUS Register
Note 1: The IPL<2:0> bits are concatenated with the IPL<3> bit (CORCON<3>) to form the CPU Interrupt Priority
Level. The value in parentheses indicates the IPL, if IPL<3> = 1. User interrupts are disabled when
IPL<3> = 1.
2: The IPL<2:0> Status bits are read-only when the NSTDIS bit (INTCON1<15>) = 1.
3: A data write to the SR register can modify the SA and SB bits by either a data write to SA and SB or by
clearing the SAB bit. To avoid a possible SA or SB bit write race condition, the SA and SB bits should not
be modified using bit operations.
Note 1: The IPL<2:0> bits are concatenated with the IPL<3> bit (CORCON<3>) to form the CPU Interrupt Priority
Level. The value in parentheses indicates the IPL, if IPL<3> = 1. User interrupts are disabled when
IPL<3> = 1.
2: The IPL<2:0> Status bits are read-only when the NSTDIS bit (INTCON1<15>) = 1.
3: A data write to the SR register can modify the SA and SB bits by either a data write to SA and SB or by
clearing the SAB bit. To avoid a possible SA or SB bit write race condition, the SA and SB bits should not
be modified using bit operations.
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
Using the high-speed 17-bit x 17-bit multiplier, the ALU Algebraic ACC
Instruction
supports unsigned, signed, or mixed-sign operation in Operation Write-Back
several MCU multiplication modes: CLR A=0 Yes
• 16-bit x 16-bit signed ED A = (x – y)2 No
• 16-bit x 16-bit unsigned EDAC A = A + (x – y) 2
No
• 16-bit signed x 5-bit (literal) unsigned MAC A = A + (x • y) Yes
• 16-bit signed x 16-bit unsigned MAC A=A+ x2 No
• 16-bit unsigned x 5-bit (literal) unsigned
MOVSAC No change in A Yes
• 16-bit unsigned x 16-bit signed
MPY A=x•y No
• 8-bit unsigned x 8-bit unsigned
MPY A = x2 No
3.8.2 DIVIDER MPY.N A=–x•y No
The divide block supports 32-bit/16-bit and 16-bit/16-bit MSC A=A–x•y Yes
signed and unsigned integer divide operations with the
following data sizes:
• 32-bit signed/16-bit signed divide
• 32-bit unsigned/16-bit unsigned divide
• 16-bit signed/16-bit signed divide
• 16-bit unsigned/16-bit unsigned divide
The quotient for all divide instructions ends up in W0
and the remainder in W1. 16-bit signed and unsigned
DIV instructions can specify any W register for both
the 16-bit divisor (Wn) and any W register (aligned)
pair (W(m + 1):Wm) for the 32-bit dividend. The divide
algorithm takes one cycle per bit of divisor, so both
32-bit/16-bit and 16-bit/16-bit instructions take the
same number of cycles to execute.
Unimplemented
(Read ‘0’s)
0x7FFFFE
0x800000
Reserved
0x800E46
0x800E48
Calibration Data
0x800E78
0x800E7A
Reserved
0x800EFE
0x800F00
Configuration Memory Space
UDID
0x800F08
0x800F0A
Reserved
0x800F7E
0x800F80
User OTP Memory
0x800FFC
0x801000
Reserved
0xF9FFFE
0xFA0000
Write Latches
0xFA0002
0xFA0004
Reserved
0xFEFFFE
0xFF0000
DEVID
0xFF0002
0xFF0004
Reserved
0xFFFFFE
0x7FFFFE
0x800000
Reserved
0x800E46
0x800E48
Calibration Data
0x800E78
0x800E7A
Reserved
0x800EFE
0x800F00
Configuration Memory Space
UDID
0x800F08
0x800F0A
Reserved
0x800F7E
0x800F80
User OTP Memory
0x800FFC
0x801000
Reserved
0xF9FFFE
0xFA0000
Write Latches
0xFA0002
0xFA0004
Reserved
0xFEFFFE
0xFF0000
DEVID 0xFF0002
0xFF0004
Reserved
0xFFFFFE
0x800F00
UDID
0x800F08
0x800F0A
Reserved
0x800F7E
0x800F80
User OTP Memory
0x800FFC
0x801000
Reserved
0xF9FFFE
0xFA0000
Write Latches
0xFA0002
0xFA0004
Reserved
0xFEFFFE
0xFF0000
DEVID
0xFF0002
0xFF0004
Reserved
0xFFFFFE
0x000000
GOTO Instruction
0x000002
Reset Address
0x000004
Interrupt Vector Table
0x0001FE
Active Program 0x000200
Flash Memory
(10,944 instructions) Active Partition
0x00577E
0x005780
Device Configuration
0x0057FE
0x005800
User Memory Space
Unimplemented
(Read ‘0’s)
0x3FFFFE
0x400000
GOTO Instruction
0x400002
Reset Address
0x400004
Interrupt Vector Table
0x4001FE
0x400200 Inactive Partition
Inactive Program
Flash Memory
(10,944 instructions)
0x40577E
0x405780
Device Configuration
0x4057FE
Unimplemented 0x405800
(Read ‘0’s)
0x7FFFFE
0x800000
Reserved
0x800E46
0x800E48
Calibration Data
0x800E78
0x800E7A
Reserved
0x800EFE
Configuration Memory Space
0x800F00
UDID
0x800F08
0x800F0A
Reserved
0x800F7E
0x800F80
User OTP Memory
0x800FFC
0x801000
Reserved
0xF9FFFE
0xFA0000
Write Latches
0xFA0002
0xFA0004
Reserved
0xFEFFFE
0xFF0000
DEVID 0xFF0002
0xFF0004
Reserved
0xFFFFFE
Program Memory
Instruction Width
‘Phantom’ Byte
(read as ‘0’)
MSB LSB
Address 16 Bits Address
MSB LSB
0x0001 0x0000
4-Kbyte
SFR Space
SFR Space 0x0FFE
0x0FFF
0x1001 0x1000
8-Kbyte
2-Kbyte 0x13FF 0x13FE Near
SRAM Space 0x1401 0x1400 Data Space
0x17FF 0x17FE
0x1801 0x1800
0x1FFF 0x1FFE
0x2001 0x2000
0x8001 0x8000
X Data
Unimplemented (X)
Optionally
Mapped
into Program
Memory
0xFFFF 0xFFFE
MSB LSB
Address 16 Bits Address
MSB LSB
0x0001 0x0000
4-Kbyte
SFR Space
SFR Space 0x0FFE
0x0FFF
0x1001 0x1000
0x1FFF 0x1FFE
0x2001 0x2000
0x8001 0x8000
X Data
Unimplemented (X)
Optionally
Mapped
into Program
Memory
0xFFFF 0xFFFE
MSB LSB
Address 16 Bits Address
MSB LSB
0x0001 0x0000
4-Kbyte
SFR Space
SFR Space 0x0FFE
0x0FFF
0x1001 0x1000
8-Kbyte
Near
X Data RAM (X) Data Space
0x2FFF 0x2FFE
0x3001 0x3000
0x8001 0x8000
X Data
Unimplemented (X)
Optionally
Mapped
into Program
Memory
0xFFFF 0xFFFE
dsPIC33EPXXGS50X FAMILY
TABLE 4-2: CPU CORE REGISTER MAP
SFR All
Addr. Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Name Resets
dsPIC33EPXXGS50X FAMILY
TBLPAG 0054 — — — — — — — — TBLPAG<7:0> 0000
CTXTSTAT 005A — — — — — CCTXI2 CCTXI1 CCTXI0 — — — — — MCTXI2 MCTXI1 MCTXI0 0000
Legend: x = unknown value on Reset; — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
Note 1: The contents of this register should never be modified. The DSWPAG must always point to the first page.
DS70005127D-page 43
DS70005127D-page 44
dsPIC33EPXXGS50X FAMILY
TABLE 4-3: INTERRUPT CONTROLLER REGISTER MAP
SFR All
Addr. Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Name Resets
IFS0 0800 NVMIF — ADCIF U1TXIF U1RXIF SPI1IF SPI1EIF T3IF T2IF OC2IF IC2IF — T1IF OC1IF IC1IF INT0IF 0000
IFS1 0802 U2TXIF U2RXIF INT2IF T5IF T4IF OC4IF OC3IF — — — — INT1IF CNIF AC1IF MI2C1IF SI2C1IF 0000
IFS2 0804 — — — — — — — — — IC4IF IC3IF — — — SPI2IF SPI2EIF 0000
IFS3 0806 — — — — — — PSEMIF — — INT4IF — — — MI2C2IF SI2C2IF — 0000
IFS4 0808 — — — — — — PSESIF — — — — — — U2EIF U1EIF — 0000
IFS5 080A PWM2IF PWM1IF — — — — — — — — — — — — — 0000
IFS6 080C ADCAN1IF ADCAN0IF — — — — AC4IF AC3IF AC2IF — — — — PWM5IF PWM4IF PWM3IF 0000
IFS7 080E — — — — — — — — — — ADCAN7IF ADCAN6IF ADCAN5IF ADCAN4IF ADCAN3IF ADCAN2IF 0000
IFS8 0810 JTAGIF ICDIF — — — — — — — — — — — — — — 0000
IFS9 0812 ADCAN16IF(1) ADCAN15IF(1) ADCAN14IF(2) ADCAN13IF(1) ADCAN12IF(2) ADCAN11IF(2) ADCAN10IF(2) ADCAN9IF(2) ADCAN8IF(2) — — — — — — — 0000
IFS10 0814 — I2C2BCIF I2C1BCIF — — — — — — — — ADCAN21IF ADCAN20IF ADCAN19IF ADCAN18IF ADCAN17IF(2) 0000
IFS11 0816 — — — — — — — — — — — ADFLTR1IF ADFLTR0IF ADCMP1IF ADCMP0IF — 0000
IEC0 0820 NVMIE — ADCIE U1TXIE U1RXIE SPI1IE SPI1EIE T3IE T2IE OC2IE IC2IE — T1IE OC1IE IC1IE INT0IE 0000
IEC1 0822 U2TXIE U2RXIE INT2IE T5IE T4IE OC4IE OC3IE — — — — INT1IE CNIE AC1IF MI2C1IE SI2C1IE 0000
IEC2 0824 — — — — — — — — — IC4IE IC3IE — — — SPI2IE SPI2EIE 0000
IEC3 0826 — — — — — — PSEMIE — — INT4IE — — — MI2C2IE SI2C2IE — 0000
IEC4 0828 — — — — — — PSESIE — — — — — — U2EIE U1EIE — 0000
IEC5 082A PWM2IE PWM1IE — — — — — — — — — — — — — — 0000
IEC6 082C ADCAN1IE ADCAN0IE — — — — AC4IE AC3IE AC2IE — — — — PWM5IE PWM4IE PWM3IE 0000
IEC7 082E — — — — — — — — — — ADCAN7IE ADCAN6IE ADCAN5IE ADCAN4IE ADCAN3IE ADCAN2IE 0000
IEC8 0830 JTAGIE ICDIE — — — — — — — — — — — — — — 0000
IEC9 0832 ADCAN16IE(1) ADCAN15IE(1) ADCAN14IE(2) ADCAN13IE(1) ADCAN12IE(2) ADCAN11IE(2) ADCAN10IE(2) ADCAN9IE(2) ADCAN8IE(2) — — — — — — — 0000
IEC10 0834 — I2C2BCIE I2C1BCIE — — — — — — — — ADCAN21IE ADCAN20IE ADCAN19IE ADCAN18IE ADCAN17IE(2) 0000
IEC11 0836 — — — — — — — — — — — ADFLTR1IE ADFLTR0IE ADCMP1IE ADCMP0IE — 0000
IPC0 0840 — T1IP2 T1IP1 T1IP0 — OC1IP2 OC1IP1 OC1IP0 — IC1IP2 IC1IP1 IC1IP0 — INT0IP2 INT0IP1 INT0IP0 4444
IPC1 0842 — T2IP2 T2IP1 T2IP0 — OC2IP2 OC2IP1 OC2IP0 — IC2IP2 IC2IP1 IC2IP0 — — — — 4440
IPC2 0844 — U1RXIP2 U1RXIP1 U1RXIP0 — SPI1IP2 SPI1IP1 SPI1IP0 — SPI1EIP2 SPI1EIP1 SPI1EIP0 — T3IP2 T3IP1 T3IP0 4444
2013-2017 Microchip Technology Inc.
IPC3 0846 — NVMIP2 NVMIP1 NVMIP0 — — — — — ADCIP2 ADCIP1 ADCIP0 — U1TXIP2 U1TXIP1 U1TXIP0 4044
IPC4 0848 — CNIP2 CNIP1 CNIP0 — AC1IP2 AC1IP1 AC1IP0 — MI2C1IP2 MI2C1IP1 MI2C1IP0 — SI2C1IP2 SI2C1IP1 SI2C1IP0 4444
IPC5 084A — — — — — — — — — — — — — INT1IP2 INT1IP1 INT1IP0 0004
IPC6 084C — T4IP2 T4IP1 T4IP0 — OC4IP2 OC4IP1 OC4IP0 — OC3IP2 OC3IP1 OC3IP0 — — — — 4440
IPC7 084E — U2TXIP2 U2TXIP1 U2TXIP0 — U2RXIP2 U2RXIP1 U2RXIP0 — INT2IP2 INT2IP1 INT2IP0 — T5IP2 T5IP1 T5IP0 4444
IPC8 0850 — — — — — — — — — SPI2IP2 SPI2IP1 SPI2IP0 — SPI2EIP2 SPI2EIP1 SPI2EIP0 0044
IPC9 0852 — — — — — IC4IP2 IC4IP1 IC4IP0 — IC3IP2 IC3IP1 IC3IP0 — — — — 0440
Legend: — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
Note 1: Only available on dsPIC33EPXXGS506 devices.
2: Only available on dsPIC33EPXXGS504/505 and dsPIC33EPXXGS506 devices.
2013-2017 Microchip Technology Inc.
dsPIC33EPXXGS50X FAMILY
IPC35 0886 — JTAGIP2 JTAGIP1 JTAGIP0 — ICDIP2 ICDIP1 ICDIP0 — — — — — — — — 4400
IPC37 088A — ADCAN8IP2(2) ADCAN8IP1(2) ADCAN8IP0(2) — — — — — — — — — — — — 4000
IPC38 088C — ADCAN12IP2(2) ADCAN12IP1(2) ADCAN12IP0(2) — ADCAN11IP2(2) ADCAN11IP1(2) ADCAN11IP0(2) — ADCAN10IP2(2) ADCAN10IP1(2) ADCAN10IP0(2) — ADCAN9IP2(2) ADCAN9IP1(2) ADCAN9IP0(2) 4444
IPC39 088E — ADCAN16IP2(1) ADCAN16IP1(1) ADCAN16IP0(1) — ADCAN15IP2(1) ADCAN15IP1(1) ADCAN15IP0(1) — ADCAN14IP2(2) ADCAN14IP1(2) ADCAN14IP0(2) — ADCAN13IP2(1) ADCAN13IP1 ADCAN13IP0 4444
IPC40 0890 — ADCAN20IP2 ADCAN20IP1 ADCAN20IP0 — ADCAN19IP2 ADCAN19IP1 ADCAN19IP0 — ADCAN18IP2 ADCAN18IP1 ADCAN18IP0 — ADCAN17IP2(2) ADCAN17IP1(2) ADCAN17IP0(2) 4444
IPC41 0892 — — — — — — — — — — — — — ADCAN21IP2 ADCAN21IP1 ADCAN21IP0 0004
IPC43 0896 — — — — — I2C2BCIP2 I2C2BCIP1 I2C2BCIP0 — I2C1BCIP2 I2C1BCIP1 I2C1BCIP0 — — — — 0440
IPC44 0898 — ADFLTR0IP2 ADFLTR0IP1 ADFLTR0IP0 — ADCMP1IP2 ADCMP1IP1 ADCMP1IP0 — ADCMP0IP2 ADCMP0IP1 ADCMP0IP0 — — — — 4440
IPC45 089A — — — — — — — — — — — — — ADFLTR1IP2 ADFLTR1IP1 ADFLTR1IP0 0004
INTCON1 08C0 NSTDIS OVAERR OVBERR COVAERR COVBERR OVATE OVBTE COVTE SFTACERR DIV0ERR — MATHERR ADDRERR STKERR OSCFAIL — 0000
INTCON2 08C2 GIE DISI SWTRAP — — — — AIVTEN — — — INT4EP — INT2EP INT1EP INT0EP 8000
INTCON3 08C4 — — — — — — — NAE — — — DOOVR — — — APLL 0000
INTCON4 08C6 — — — — — — — — — — — — — — — SGHT 0000
INTTREG 08C8 — — — — ILR3 ILR2 ILR1 ILR0 VECNUM7 VECNUM6 VECNUM5 VECNUM4 VECNUM3 VECNUM2 VECNUM1 VECNUM0 0000
Legend: — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
Note 1: Only available on dsPIC33EPXXGS506 devices.
2: Only available on dsPIC33EPXXGS504/505 and dsPIC33EPXXGS506 devices.
DS70005127D-page 45
DS70005127D-page 46
dsPIC33EPXXGS50X FAMILY
TABLE 4-4: TIMER1 THROUGH TIMER5 REGISTER MAP
SFR All
Addr. Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Name Resets
IC1CON1 0140 — — ICSIDL ICTSEL2 ICTSEL1 ICTSEL0 — — — ICI1 ICI0 ICOV ICBNE ICM2 ICM1 ICM0 0000
IC1CON2 0142 — — — — — — — IC32 ICTRIG TRIGSTAT — SYNCSEL4 SYNCSEL3 SYNCSEL2 SYNCSEL1 SYNCSEL0 000D
IC1BUF 0144 Input Capture 1 Buffer Register xxxx
IC1TMR 0146 Input Capture 1 Timer Register 0000
IC2CON1 0148 — — ICSIDL ICTSEL2 ICTSEL1 ICTSEL0 — — — ICI1 ICI0 ICOV ICBNE ICM2 ICM1 ICM0 0000
IC2CON2 014A — — — — — — — IC32 ICTRIG TRIGSTAT — SYNCSEL4 SYNCSEL3 SYNCSEL2 SYNCSEL1 SYNCSEL0 000D
IC2BUF 014C Input Capture 2 Buffer Register xxxx
IC2TMR 014E Input Capture 2 Timer Register 0000
IC3CON1 0150 — — ICSIDL ICTSEL2 ICTSEL1 ICTSEL0 — — — ICI1 ICI0 ICOV ICBNE ICM2 ICM1 ICM0 0000
IC3CON2 0152 — — — — — — — IC32 ICTRIG TRIGSTAT — SYNCSEL4 SYNCSEL3 SYNCSEL2 SYNCSEL1 SYNCSEL0 000D
IC3BUF 0154 Input Capture 3 Buffer Register xxxx
dsPIC33EPXXGS50X FAMILY
IC3TMR 0156 Input Capture 3 Timer Register 0000
IC4CON1 0158 — — ICSIDL ICTSEL2 ICTSEL1 ICTSEL0 — — — ICI1 ICI0 ICOV ICBNE ICM2 ICM1 ICM0 0000
IC4CON2 015A — — — — — — — IC32 ICTRIG TRIGSTAT — SYNCSEL4 SYNCSEL3 SYNCSEL2 SYNCSEL1 SYNCSEL0 000D
IC4BUF 015C Input Capture 4 Buffer Register xxxx
IC4TMR 015E Input Capture 4 Timer Register 0000
Legend: x = unknown value on Reset; — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
DS70005127D-page 47
DS70005127D-page 48
dsPIC33EPXXGS50X FAMILY
TABLE 4-6: OUTPUT COMPARE 1 THROUGH OUTPUT COMPARE 4 REGISTER MAP
SFR All
Addr. Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Name Resets
OC1CON1 0900 — — OCSIDL OCTSEL2 OCTSEL1 OCTSEL0 — — ENFLTA — — OCFLTA TRIGMODE OCM2 OCM1 OCM0 0000
OC1CON2 0902 FLTMD FLTOUT FLTTRIEN OCINV — — — OC32 OCTRIG TRIGSTAT OCTRIS SYNCSEL4 SYNCSEL3 SYNCSEL2 SYNCSEL1 SYNCSEL0 000C
OC1RS 0904 Output Compare 1 Secondary Register xxxx
OC1R 0906 Output Compare 1 Register xxxx
OC1TMR 0908 Timer Value 1 Register xxxx
OC2CON1 090A — — OCSIDL OCTSEL2 OCTSEL1 OCTSEL0 — — ENFLTA — — OCFLTA TRIGMODE OCM2 OCM1 OCM0 0000
OC2CON2 090C FLTMD FLTOUT FLTTRIEN OCINV — — — OC32 OCTRIG TRIGSTAT OCTRIS SYNCSEL4 SYNCSEL3 SYNCSEL2 SYNCSEL1 SYNCSEL0 000C
OC2RS 090E Output Compare 2 Secondary Register xxxx
OC2R 0910 Output Compare 2 Register xxxx
OC2TMR 0912 Timer Value 2 Register xxxx
OC3CON1 0914 — — OCSIDL OCTSEL2 OCTSEL1 OCTSEL0 — — ENFLTA — — OCFLTA TRIGMODE OCM2 OCM1 OCM0 0000
OC3CON2 0916 FLTMD FLTOUT FLTTRIEN OCINV — — — OC32 OCTRIG TRIGSTAT OCTRIS SYNCSEL4 SYNCSEL3 SYNCSEL2 SYNCSEL1 SYNCSEL0 000C
OC3RS 0918 Output Compare 3 Secondary Register xxxx
OC3R 091A Output Compare 3 Register xxxx
OC3TMR 091C Timer Value 3 Register xxxx
OC4CON1 091E — — OCSIDL OCTSEL2 OCTSEL1 OCTSEL0 — — ENFLTA — — OCFLTA TRIGMODE OCM2 OCM1 OCM0 0000
OC4CON2 0920 FLTMD FLTOUT FLTTRIEN OCINV — — — OC32 OCTRIG TRIGSTAT OCTRIS SYNCSEL4 SYNCSEL3 SYNCSEL2 SYNCSEL1 SYNCSEL0 000C
OC4RS 0922 Output Compare 4 Secondary Register xxxx
OC4R 0924 Output Compare 4 Register xxxx
OC4TMR 0926 Timer Value 4 Register xxxx
Legend: x = unknown value on Reset; — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
2013-2017 Microchip Technology Inc.
2013-2017 Microchip Technology Inc.
PTCON 0C00 PTEN — PTSIDL SESTAT SEIEN EIPU SYNCPOL SYNCOEN SYNCEN SYNCSRC2 SYNCSRC1 SYNCSRC0 SEVTPS3 SEVTPS2 SEVTPS1 SEVTPS0 0000
PTCON2 0C02 — — — — — — — — — — — — — PCLKDIV<2:0> 0000
PTPER 0C04 PWMx Primary Master Time Base Period Register (PTPER<15:0>) FFF8
SEVTCMP 0C06 PWMx Special Event Compare Register (SEVTCMP12:0>) — — — 0000
MDC 0C0A PWMx Master Duty Cycle Register (MDC<15:0>) 0000
STCON 0C0E — — — SESTAT SEIEN EIPU SYNCPOL SYNCOEN SYNCEN SYNCSRC2 SYNCSRC1 SYNCSRC0 SEVTPS3 SEVTPS2 SEVTPS1 SEVTPS0 0000
STCON2 0C10 — — — — — — — — — — — — — PCLKDIV<2:0> 0000
STPER 0C12 PWMx Secondary Master Time Base Period Register (STPER<15:0>) FFF8
SSEVTCMP 0C14 PWMx Secondary Special Event Compare Register (SSEVTCMP<12:0>) — — — 0000
CHOP 0C1A CHPCLKEN — — — — — CHOPCLK6 CHOPCLK5 CHOPCLK4 CHOPCLK3 CHOPCLK2 CHOPCLK1 CHOPCLK0 — — — 0000
dsPIC33EPXXGS50X FAMILY
PWMKEY 0C1E PWMx Protection Lock/Unlock Key Register (PWMKEY<15:0>) 0000
Legend: — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
PWMCON1 0C20 FLTSTAT CLSTAT TRGSTAT FLTIEN CLIEN TRGIEN ITB MDCS DTC1 DTC0 — — MTBS CAM XPRES IUE 0000
IOCON1 0C22 PENH PENL POLH POLL PMOD1 PMOD0 OVRENH OVRENL OVRDAT1 OVRDAT0 FLTDAT1 FLTDAT0 CLDAT1 CLDAT0 SWAP OSYNC C000
FCLCON1 0C24 IFLTMOD CLSRC4 CLSRC3 CLSRC2 CLSRC1 CLSRC0 CLPOL CLMOD FLTSRC4 FLTSRC3 FLTSRC2 FLTSRC1 FLTSRC0 FLTPOL FLTMOD1 FLTMOD0 00F8
PDC1 0C26 PWM1 Generator Duty Cycle Register (PDC1<15:0>) 0000
PHASE1 0C28 PWM1 Primary Phase-Shift or Independent Time Base Period Register (PHASE1<15:0>) 0000
DTR1 0C2A — — PWM1 Dead-Time Register (DTR1<13:0>) 0000
ALTDTR1 0C2C — — PWM1 Alternate Dead-Time Register (ALTDTR1<13:0>) 0000
SDC1 0C2E PWM1 Secondary Duty Cycle Register (SDC1<15:0>) 0000
SPHASE1 0C30 PWM1 Secondary Phase-Shift Register (SPHASE1<15:0>) 0000
TRIG1 0C32 PWM1 Primary Trigger Compare Value Register (TRGCMP<12:0>) — — — 0000
TRGCON1 0C34 TRGDIV3 TRGDIV2 TRGDIV1 TRGDIV0 — — — — DTM — TRGSTRT5 TRGSTRT4 TRGSTRT3 TRGSTRT2 TRGSTRT1 TRGSTRT0 0000
STRIG1 0C36 PWM1 Secondary Trigger Compare Value Register (STRGCMP<12:0>) — — — 0000
DS70005127D-page 49
PWMCAP1 0C38 PWM1 Primary Time Base Capture Register (PWMCAP<12:0>) — — — 0000
LEBCON1 0C3A PHR PHF PLR PLF FLTLEBEN CLLEBEN — — — — BCH BCL BPHH BPHL BPLH BPLL 0000
LEBDLY1 0C3C — — — — PWM1 Leading-Edge Blanking Delay Register (LEB<8:0>) — — — 0000
AUXCON1 0C3E HRPDIS HRDDIS — — BLANKSEL3 BLANKSEL2 BLANKSEL1 BLANKSEL0 — — CHOPSEL3 CHOPSEL2 CHOPSEL1 CHOPSEL0 CHOPHEN CHOPLEN 0000
Legend: — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
DS70005127D-page 50
dsPIC33EPXXGS50X FAMILY
TABLE 4-9: PWM GENERATOR 2 REGISTER MAP
SFR All
Addr. Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Name Resets
PWMCON2 0C40 FLTSTAT CLSTAT TRGSTAT FLTIEN CLIEN TRGIEN ITB MDCS DTC1 DTC0 — — MTBS CAM XPRES IUE 0000
IOCON2 0C42 PENH PENL POLH POLL PMOD1 PMOD0 OVRENH OVRENL OVRDAT1 OVRDAT0 FLTDAT1 FLTDAT0 CLDAT1 CLDAT0 SWAP OSYNC C000
FCLCON2 0C44 IFLTMOD CLSRC4 CLSRC3 CLSRC2 CLSRC1 CLSRC0 CLPOL CLMOD FLTSRC4 FLTSRC3 FLTSRC2 FLTSRC1 FLTSRC0 FLTPOL FLTMOD1 FLTMOD0 00F8
PDC2 0C46 PWM2 Generator Duty Cycle Register (PDC2<15:0>) 0000
PHASE2 0C48 PWM2 Primary Phase-Shift or Independent Time Base Period Register (PHASE2<15:0>) 0000
DTR2 0C4A — — PWM2 Dead-Time Register (DTR2<13:0>) 0000
ALTDTR2 0C4C — — PWM2 Alternate Dead-Time Register (ALTDTR2<13:0>) 0000
SDC2 0C4E PWM2 Secondary Duty Cycle Register (SDC2<15:0>) 0000
SPHASE2 0C50 PWM2 Secondary Phase-Shift Register (SPHASE2<15:0>) 0000
TRIG2 0C52 PWM2 Primary Trigger Compare Value Register (TRGCMP<12:0>) — — — 0000
TRGCON2 0C54 TRGDIV3 TRGDIV2 TRGDIV1 TRGDIV0 — — — — DTM — TRGSTRT5 TRGSTRT4 TRGSTRT3 TRGSTRT2 TRGSTRT1 TRGSTRT0 0000
STRIG2 0C56 PWM2 Secondary Trigger Compare Value Register (STRGCMP<12:0>) — — — 0000
PWMCAP2 0C58 PWM2 Primary Time Base Capture Register (PWMCAP<12:0>) — — — 0000
LEBCON2 0C5A PHR PHF PLR PLF FLTLEBEN CLLEBEN — — — — BCH BCL BPHH BPHL BPLH BPLL 0000
LEBDLY2 0C5C — — — — PWM2 Leading-Edge Blanking Delay Register (LEB<8:0>) — — — 0000
AUXCON2 0C5E HRPDIS HRDDIS — — BLANKSEL3 BLANKSEL2 BLANKSEL1 BLANKSEL0 — — CHOPSEL3 CHOPSEL2 CHOPSEL1 CHOPSEL0 CHOPHEN CHOPLEN 0000
Legend: — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
dsPIC33EPXXGS50X FAMILY
PWMCAP4 0C98 PWM4 Primary Time Base Capture Register (PWMCAP<12:0>) — — — 0000
LEBCON4 0C9A PHR PHF PLR PLF FLTLEBEN CLLEBEN — — — — BCH BCL BPHH BPHL BPLH BPLL 0000
LEBDLY4 0C9C — — — — PWM4 Leading-Edge Blanking Delay Register (LEB<8:0>) — — — 0000
AUXCON4 0C9E HRPDIS HRDDIS — — BLANKSEL3 BLANKSEL2 BLANKSEL1 BLANKSEL0 — — CHOPSEL3 CHOPSEL2 CHOPSEL1 CHOPSEL0 CHOPHEN CHOPLEN 0000
Legend: — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
PWMCON5 0CA0 FLTSTAT CLSTAT TRGSTAT FLTIEN CLIEN TRGIEN ITB MDCS DTC1 DTC0 — — MTBS CAM XPRES IUE 0000
IOCON5 0CA2 PENH PENL POLH POLL PMOD1 PMOD0 OVRENH OVRENL OVRDAT1 OVRDAT0 FLTDAT1 FLTDAT0 CLDAT1 CLDAT0 SWAP OSYNC C000
FCLCON5 0CA4 IFLTMOD CLSRC4 CLSRC3 CLSRC2 CLSRC1 CLSRC0 CLPOL CLMOD FLTSRC4 FLTSRC3 FLTSRC2 FLTSRC1 FLTSRC0 FLTPOL FLTMOD1 FLTMOD0 00F8
PDC5 0CA6 PWM5 Generator Duty Cycle Register (PDC5<15:0>) 0000
PHASE5 0CA8 PWM5 Primary Phase-Shift or Independent Time Base Period Register (PHASE5<15:0>) 0000
DTR5 0CAA — — PWM5 Dead-Time Register (DTR5<13:0>) 0000
ALTDTR5 0CAC — — PWM5 Alternate Dead-Time Register (ALTDTR5<13:0>) 0000
SDC5 0CAE PWM5 Secondary Duty Cycle Register (SDC5<15:0>) 0000
SPHASE5 0CB0 PWM5 Secondary Phase-Shift Register (SPHASE5<15:0>) 0000
TRIG5 0CB2 PWM5 Primary Trigger Compare Value Register (TRGCMP<12:0>) — — — 0000
DS70005127D-page 51
TRGCON5 0CB4 TRGDIV3 TRGDIV2 TRGDIV1 TRGDIV0 — — — — DTM — TRGSTRT5 TRGSTRT4 TRGSTRT3 TRGSTRT2 TRGSTRT1 TRGSTRT0 0000
STRIG5 0CB6 PWM5 Secondary Trigger Compare Value Register (STRGCMP<12:0>) — — — 0000
PWMCAP5 0CB8 PWM5 Primary Time Base Capture Register (PWMCAP<12:0>) — — — 0000
LEBCON5 0CBA PHR PHF PLR PLF FLTLEBEN CLLEBEN — — — — BCH BCL BPHH BPHL BPLH BPLL 0000
LEBDLY5 0CBC — — — — PWM5 Leading-Edge Blanking Delay Register (LEB<8:0>) — — — 0000
AUXCON5 0CBE HRPDIS HRDDIS — — BLANKSEL3 BLANKSEL2 BLANKSEL1 BLANKSEL0 — — CHOPSEL3 CHOPSEL2 CHOPSEL1 CHOPSEL0 CHOPHEN CHOPLEN 0000
Legend: — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
DS70005127D-page 52
dsPIC33EPXXGS50X FAMILY
TABLE 4-13: I2C1 AND I2C2 REGISTER MAP
SFR All
Addr. Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Name Resets
I2C1CONL 0200 I2CEN — I2CSIDL SCLREL STRICT A10M DISSLW SMEN GCEN STREN ACKDT ACKEN RCEN PEN RSEN SEN 1000
I2C1CONH 0202 — — — — — — — — — PCIE SCIE BOEN SDAHT SBCDE AHEN DHEN 0000
I2C1STAT 0204 ACKSTAT TRSTAT ACKTIM — — BCL GCSTAT ADD10 IWCOL I2COV D_A P S R_W RBF TBF 0000
I2C1ADD 0206 — — — — — — I2C1 Address Register 0000
I2C1MSK 0208 — — — — — — I2C1 Slave Mode Address Mask Register 0000
I2C1BRG 020A Baud Rate Generator Register 0000
I2C1TRN 020C — — — — — — — — I2C1 Transmit Register 00FF
I2C1RCV 020E — — — — — — — — I2C1 Receive Register 0000
I2C2CON1 0210 I2CEN — I2CSIDL SCLREL STRICT A10M DISSLW SMEN GCEN STREN ACKDT ACKEN RCEN PEN RSEN SEN 1000
I2C2CON2 0212 — — — — — — — — — PCIE SCIE BOEN SDAHT SBCDE AHEN DHEN 0000
I2C2STAT 0214 ACKSTAT TRSTAT ACKTIM — — BCL GCSTAT ADD10 IWCOL I2COV D_A P S R_W RBF TBF 0000
I2C2ADD 0216 — — — — — — I2C2 Address Register 0000
I2C2MSK 0218 — — — — — — I2C2 Slave Mode Address Mask Register 0000
I2C2BRG 021A Baud Rate Generator Register 0000
I2C2TRN 021C — — — — — — — — I2C2 Transmit Register 00FF
I2C2RCV 021E — — — — — — — — I2C2 Receive Register 0000
Legend: — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
U1MODE 0220 UARTEN — USIDL IREN RTSMD — UEN1 UEN0 WAKE LPBACK ABAUD URXINV BRGH PDSEL1 PDSEL0 STSEL 0000
U1STA 0222 UTXISEL1 UTXINV UTXISEL0 — UTXBRK UTXEN UTXBF TRMT URXISEL1 URXISEL0 ADDEN RIDLE PERR FERR OERR URXDA 0110
2013-2017 Microchip Technology Inc.
SPI1STAT 0240 SPIEN — SPISIDL — — SPIBEC2 SPIBEC1 SPIBEC0 SRMPT SPIROV SRXMPT SISEL2 SISEL1 SISEL0 SPITBF SPIRBF 0000
SPI1CON1 0242 — — — DISSCK DISSDO MODE16 SMP CKE SSEN CKP MSTEN SPRE2 SPRE1 SPRE0 PPRE1 PPRE0 0000
SPI1CON2 0244 FRMEN SPIFSD FRMPOL — — — — — — — — — — — FRMDLY SPIBEN 0000
SPI1BUF 0248 SPI1 Transmit and Receive Buffer Register 0000
SPI2STAT 0260 SPIEN — SPISIDL — — SPIBEC2 SPIBEC1 SPIBEC0 SRMPT SPIROV SRXMPT SISEL2 SISEL1 SISEL0 SPITBF SPIRBF 0000
SPI2CON1 0262 — — — DISSCK DISSDO MODE16 SMP CKE SSEN CKP MSTEN SPRE2 SPRE1 SPRE0 PPRE1 PPRE0 0000
SPI2CON2 0264 FRMEN SPIFSD FRMPOL — — — — — — — — — — — FRMDLY SPIBEN 0000
SPI2BUF 0268 SPI2 Transmit and Receive Buffer Register 0000
Legend: — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
dsPIC33EPXXGS50X FAMILY
DS70005127D-page 53
DS70005127D-page 54
dsPIC33EPXXGS50X FAMILY
TABLE 4-16: ADC REGISTER MAP
SFR All
Addr. Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Name Resets
0000
ADTRIG1H 0386 — — — TRGSRC7<4:0> — — — TRGSRC6<4:0> 0000
ADTRIG2L 0388 — — — TRGSRC9<4:0> — — — TRGSRC8<4:0> 0000
ADTRIG2H 038A — — — TRGSRC11<4:0> — — — TRGSRC10<4:0> 0000
ADTRIG3L 038C — — — TRGSRC13<4:0> — — — TRGSRC12<4:0> 0000
ADTRIG3H 038E — — — TRGSRC15<4:0> — — — TRGSRC14<4:0> 0000
ADTRIG4L 0390 — — — TRGSRC17<4:0> — — — TRGSRC16<4:0> 0000
ADTRIG4H 0392 — — — TRGSRC19<4:0> — — — TRGSRC18<4:0> 0000
ADTRIG5L 0394 — — — TRGSRC21<4:0> — — — TRGSRC20<4:0> 0000
ADCMP0CON 03A0 — — — CHNL4 CHNL3 CHNL2 CHNL1 CHNL0 CMPEN IE STAT BTWN HIHI HILO LOHI LOLO 0000
ADCMP1CON 03A4 — — — CHNL4 CHNL3 CHNL2 CHNL1 CHNL0 CMPEN IE STAT BTWN HIHI HILO LOHI LOLO 0000
Legend: — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
Note 1: Implemented on dsPIC33EPXXGS506 devices only.
2: Implemented on dsPIC33EPXXGS504/505 and dsPIC33EPXXGS506 devices only.
TABLE 4-16: ADC REGISTER MAP (CONTINUED)
2013-2017 Microchip Technology Inc.
SFR All
Addr. Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Name Resets
ADLVLTRGL 03D0 LVLEN15(1) LVLEN14 LVLEN13(1) LVLEN12(2) LVLEN11(2) LVLEN10(2) LVLEN9(2) LVLEN8(2) LVLEN7 LVLEN6 LVLEN5 LVLEN4 LVLEN3 LVLEN2 LVLEN1 LVLEN0 0000
ADLVLTRGH 03D2 — — — — — — — — — — LVLEN21 LVLEN20 LVLEN19 LVLEN18 LVLEN17(2) LVLEN16(1) 0000
ADCORE0L 03D4 — — — — — — SAMC<9:0> 0000
ADCORE0H 03D6 — — — EISEL2 EISEL1 EISEL0 RES1 RES0 — ADCS6 ADCS5 ADCS4 ADCS3 ADCS2 ADCS1 ADCS0 0000
ADCORE1L 03D8 — — — — — — SAMC<9:0> 0000
ADCORE1H 03DA — — — EISEL2 EISEL1 EISEL0 RES1 RES0 — ADCS6 ADCS5 ADCS4 ADCS3 ADCS2 ADCS1 ADCS0 0000
ADCORE2L 03DC — — — — — — SAMC<9:0> 0000
ADCORE2H 03DE — — — EISEL2 EISEL1 EISEL0 RES1 RES0 — ADCS6 ADCS5 ADCS4 ADCS3 ADCS2 ADCS1 ADCS0 0000
ADCORE3L 03E0 — — — — — — SAMC<9:0> 0000
ADCORE3H 03E2 — — — EISEL2 EISEL1 EISEL0 RES1 RES0 — ADCS6 ADCS5 ADCS4 ADCS3 ADCS2 ADCS1 ADCS0 0000
ADEIEL 03F0 EIEN15(1) EIEN14(2) EIEN13(1) EIEN12(2) EIEN11(2) EIEN10(2) EIEN9(2) EIEN8(2) EIEN7 EIEN6 EIEN5 EIEN4 EIEN3 EIEN2 EIEN1 EIEN0 0000
ADEIEH 03F2 — — — — — — — — — — EIEN21 EIEN20 EIEN19 EIEN18 EIEN17(2) EIEN16(1) 0000
ADEISTATL 03F8 EISTAT15(1) EISTAT14(2) EISTAT13(1) EISTAT12(2) EISTAT11(2) EISTAT10(2) EISTAT9(2) EISTAT8(2) EISTAT7 EISTAT6 EISTAT5 EISTAT4 EISTAT3 EISTAT2 EISTAT1 EISTAT0 0000
dsPIC33EPXXGS50X FAMILY
ADEISTATH 03FA — — — — — — — — — — EISTAT21 EISTAT20 EISTAT19 EISTAT18 EISTAT17(2) EISTAT16(1) 0000
ADCON5L 0400 SHRRDY — — — C3RDY C2RDY C1RDY C0RDY SHRPWR — — — C3PWR C2PWR C1PWR C0PWR 0000
ADCON5H 0402 — — — — WARMTIME3 WARMTIME2 WARMTIME1 WARMTIME0 SHRCIE — — — C3CIE C2CIE C1CIE C0CIE 0000
ADCAL0L 0404 CAL1RDY — — — — CAL1DIFF CAL1EN CAL1RUN CAL0RDY — — — — CAL0DIFF CAL0EN CAL0RUN 0000
ADCAL0H 0406 CAL3RDY — — — — CAL3DIFF CAL3EN CAL3RUN CAL2RDY — — — — CAL2DIFF CAL2EN CAL2RUN 0000
ADCAL1H 040A CSHRRDY — — — — CSHRDIFF CSHREN CSHRRUN — — — — — — — — 0000
ADCBUF0 040C ADC Data Buffer 0 0000
ADCBUF1 040E ADC Data Buffer 1 0000
ADCBUF2 0410 ADC Data Buffer 2 0000
ADCBUF3 0412 ADC Data Buffer 3 0000
ADCBUF4 0414 ADC Data Buffer 4 0000
ADCBUF5 0416 ADC Data Buffer 5 0000
ADCBUF6 041B ADC Data Buffer 6 0000
ADCBUF7 041A ADC Data Buffer 7 0000
ADCBUF8 041C ADC Data Buffer 8 0000
ADCBUF9 041E ADC Data Buffer 9 0000
ADCBUF10 0420 ADC Data Buffer 10 0000
ADCBUF11 0422 ADC Data Buffer 11 0000
ADCBUF12 0424 ADC Data Buffer 12 0000
ADCBUF13 0426 ADC Data Buffer 13 0000
ADCBUF14 0428 ADC Data Buffer 14 0000
ADCBUF15 042A ADC Data Buffer 15 0000
DS70005127D-page 55
dsPIC33EPXXGS50X FAMILY
TABLE 4-17: PERIPHERAL PIN SELECT OUTPUT REGISTER MAP FOR dsPIC33EPXXGS502 DEVICES
SFR All
Addr. Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Name Resets
RPOR0 0670 — — RP33R5 RP33R4 RP33R3 RP33R2 RP33R1 RP33R0 — — RP32R5 RP32R4 RP32R3 RP32R2 RP32R1 RP32R0 0000
RPOR1 0672 — — RP35R5 RP35R4 RP35R3 RP35R2 RP35R1 RP35R0 — — RP34R5 RP34R4 RP34R3 RP34R2 RP34R1 RP34R0 0000
RPOR2 0674 — — RP37R5 RP37R4 RP37R3 RP37R2 RP37R1 RP37R0 — — RP36R5 RP36R4 RP36R3 RP36R2 RP36R1 RP36R0 0000
RPOR3 0676 — — RP39R5 RP39R4 RP39R3 RP39R2 RP39R1 RP39R0 — — RP38R5 RP38R4 RP38R3 RP38R2 RP38R1 RP38R0 0000
RPOR4 0678 — — RP41R5 RP41R4 RP41R3 RP41R2 RP41R1 RP41R0 — — RP40R5 RP40R4 RP40R3 RP40R2 RP40R1 RP40R0 0000
RPOR5 067A — — RP43R5 RP43R4 RP43R3 RP43R2 RP43R1 RP43R0 — — RP42R5 RP42R4 RP42R3 RP42R2 RP42R1 RP42R0 0000
RPOR6 067C — — RP45R5 RP45R4 RP45R3 RP45R2 RP45R1 RP45R0 — — RP44R5 RP44R4 RP44R3 RP44R2 RP44R1 RP44R0 0000
RPOR7 067E — — RP47R5 RP47R4 RP47R3 RP47R2 RP47R1 RP47R0 — — RP46R5 RP46R4 RP46R3 RP46R2 RP46R1 RP46R0 0000
RPOR16 0690 — — RP177R5 RP177R4 RP177R3 RP177R2 RP177R1 RP177R0 — — RP176R5 RP176R4 RP176R3 RP176R2 RP176R1 RP176R0 0000
RPOR17 0692 — — RP179R5 RP179R4 RP179R3 RP179R2 RP179R1 RP179R0 — — RP178R5 RP178R4 RP178R3 RP178R2 RP178R1 RP178R0 0000
RPOR18 0694 — — RP181R5 RP181R4 RP181R3 RP181R2 RP181R1 RP181R0 — — RP180R5 RP180R4 RP180R3 RP180R2 RP180R1 RP180R0 0000
Legend: — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
TABLE 4-18: PERIPHERAL PIN SELECT OUTPUT REGISTER MAP FOR dsPIC33EPXXGS504/505 DEVICES
SFR All
Addr. Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Name Resets
RPOR0 0670 — — RP33R5 RP33R4 RP33R3 RP33R2 RP33R1 RP33R0 — — RP32R5 RP32R4 RP32R3 RP32R2 RP32R1 RP32R0 0000
RPOR1 0672 — — RP35R5 RP35R4 RP35R3 RP35R2 RP35R1 RP35R0 — — RP34R5 RP34R4 RP34R3 RP34R2 RP34R1 RP34R0 0000
RPOR2 0674 — — RP37R5 RP37R4 RP37R3 RP37R2 RP37R1 RP37R0 — — RP36R5 RP36R4 RP36R3 RP36R2 RP36R1 RP36R0 0000
RPOR3 0676 — — RP39R5 RP39R4 RP39R3 RP39R2 RP39R1 RP39R0 — — RP38R5 RP38R4 RP38R3 RP38R2 RP38R1 RP38R0 0000
RPOR4 0678 — — RP41R5 RP41R4 RP41R3 RP41R2 RP41R1 RP41R0 — — RP40R5 RP40R4 RP40R3 RP40R2 RP40R1 RP40R0 0000
RPOR5 067A — — RP43R5 RP43R4 RP43R3 RP43R2 RP43R1 RP43R0 — — RP42R5 RP42R4 RP42R3 RP42R2 RP42R1 RP42R0 0000
RPOR6 067C — — RP45R5 RP45R4 RP45R3 RP45R2 RP45R1 RP45R0 — — RP44R5 RP44R4 RP44R3 RP44R2 RP44R1 RP44R0 0000
RPOR7 067E — — RP47R5 RP47R4 RP47R3 RP47R2 RP47R1 RP47R0 — — RP46R5 RP46R4 RP46R3 RP46R2 RP46R1 RP46R0 0000
2013-2017 Microchip Technology Inc.
RPOR8 0680 — — RP49R5 RP49R4 RP49R3 RP49R2 RP49R1 RP49R0 — — RP48R5 RP48R4 RP48R3 RP48R2 RP48R1 RP48R0 0000
RPOR9 0682 — — RP51R5 RP51R4 RP51R3 RP51R2 RP51R1 RP51R0 — — RP50R5 RP50R4 RP50R3 RP50R2 RP50R1 RP50R0 0000
RPOR10 0684 — — RP53R5 RP53R4 RP53R3 RP53R2 RP53R1 RP53R0 — — RP52R5 RP52R4 RP52R3 RP52R2 RP52R1 RP52R0 0000
RPOR11 0686 — — RP55R5 RP55R4 RP55R3 RP55R2 RP55R1 RP55R0 — — RP54R5 RP54R4 RP54R3 RP54R2 RP54R1 RP54R0 0000
RPOR12 0688 — — RP57R5 RP57R4 RP57R3 RP57R2 RP57R1 RP57R0 — — RP56R5 RP56R4 RP56R3 RP56R2 RP56R1 RP56R0 0000
RPOR13 068A — — RP59R5 RP59R4 RP59R3 RP59R2 RP59R1 RP59R0 — — RP58R5 RP58R4 RP58R3 RP58R2 RP58R1 RP58R0 0000
RPOR14 068C — — RP61R5 RP61R4 RP61R3 RP61R2 RP61R1 RP61R0 — — RP60R5 RP60R4 RP60R3 RP60R2 RP60R1 RP60R0 0000
RPOR16 0690 — — RP177R5 RP177R4 RP177R3 RP177R2 RP177R1 RP177R0 — — RP176R5 RP176R4 RP176R3 RP176R2 RP176R1 RP176R0 0000
RPOR17 0692 — — RP179R5 RP179R4 RP179R3 RP179R2 RP179R1 RP179R0 — — RP178R5 RP178R4 RP178R3 RP178R2 RP178R1 RP178R0 0000
RPOR18 0694 — — RP181R5 RP181R4 RP181R3 RP181R2 RP181R1 RP181R0 — — RP180R5 RP180R4 RP180R3 RP180R2 RP180R1 RP180R0 0000
Legend: — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
2013-2017 Microchip Technology Inc.
TABLE 4-19: PERIPHERAL PIN SELECT OUTPUT REGISTER MAP FOR dsPIC33EPXXGS506 DEVICES
SFR All
Addr. Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Name Resets
RPOR0 0670 — — RP33R5 RP33R4 RP33R3 RP33R2 RP33R1 RP33R0 — — RP32R5 RP32R4 RP32R3 RP32R2 RP32R1 RP32R0 0000
RPOR1 0672 — — RP35R5 RP35R4 RP35R3 RP35R2 RP35R1 RP35R0 — — RP34R5 RP34R4 RP34R3 RP34R2 RP34R1 RP34R0 0000
RPOR2 0674 — — RP37R5 RP37R4 RP37R3 RP37R2 RP37R1 RP37R0 — — RP36R5 RP36R4 RP36R3 RP36R2 RP36R1 RP36R0 0000
RPOR3 0676 — — RP39R5 RP39R4 RP39R3 RP39R2 RP39R1 RP39R0 — — RP38R5 RP38R4 RP38R3 RP38R2 RP38R1 RP38R0 0000
RPOR4 0678 — — RP41R5 RP41R4 RP41R3 RP41R2 RP41R1 RP41R0 — — RP40R5 RP40R4 RP40R3 RP40R2 RP40R1 RP40R0 0000
RPOR5 067A — — RP43R5 RP43R4 RP43R3 RP43R2 RP43R1 RP43R0 — — RP42R5 RP42R4 RP42R3 RP42R2 RP42R1 RP42R0 0000
RPOR6 067C — — RP45R5 RP45R4 RP45R3 RP45R2 RP45R1 RP45R0 — — RP44R5 RP44R4 RP44R3 RP44R2 RP44R1 RP44R0 0000
RPOR7 067E — — RP47R5 RP47R4 RP47R3 RP47R2 RP47R1 RP47R0 — — RP46R5 RP46R4 RP46R3 RP46R2 RP46R1 RP46R0 0000
RPOR8 0680 — — RP49R5 RP49R4 RP49R3 RP49R2 RP49R1 RP49R0 — — RP48R5 RP48R4 RP48R3 RP48R2 RP48R1 RP48R0 0000
RPOR9 0682 — — RP51R5 RP51R4 RP51R3 RP51R2 RP51R1 RP51R0 — — RP50R5 RP50R4 RP50R3 RP50R2 RP50R1 RP50R0 0000
RPOR10 0684 — — RP53R5 RP53R4 RP53R3 RP53R2 RP53R1 RP53R0 — — RP52R5 RP52R4 RP52R3 RP52R2 RP52R1 RP52R0 0000
dsPIC33EPXXGS50X FAMILY
RPOR11 0686 — — RP55R5 RP55R4 RP55R3 RP55R2 RP55R1 RP55R0 — — RP54R5 RP54R4 RP54R3 RP54R2 RP54R1 RP54R0 0000
RPOR12 0688 — — RP57R5 RP57R4 RP57R3 RP57R2 RP57R1 RP57R0 — — RP56R5 RP56R4 RP56R3 RP56R2 RP56R1 RP56R0 0000
RPOR13 068A — — RP59R5 RP59R4 RP59R3 RP59R2 RP59R1 RP59R0 — — RP58R5 RP58R4 RP58R3 RP58R2 RP58R1 RP58R0 0000
RPOR14 068C — — RP61R5 RP61R4 RP61R3 RP61R2 RP61R1 RP61R0 — — RP60R5 RP60R4 RP60R3 RP60R2 RP60R1 RP60R0 0000
RPOR15 068E — — RP63R5 RP63R4 RP63R3 RP63R2 RP63R1 RP63R0 — — RP62R5 RP62R4 RP62R3 RP62R2 RP62R1 RP62R0 0000
RPOR16 0690 — — RP177R5 RP177R4 RP177R3 RP177R2 RP177R1 RP177R0 — — RP176R5 RP176R4 RP176R3 RP176R2 RP176R1 RP176R0 0000
RPOR17 0692 — — RP179R5 RP179R4 RP179R3 RP179R2 RP179R1 RP179R0 — — RP178R5 RP178R4 RP178R3 RP178R2 RP178R1 RP178R0 0000
RPOR18 0694 — — RP181R5 RP181R4 RP181R3 RP181R2 RP181R1 RP181R0 — — RP180R5 RP180R4 RP180R3 RP180R2 RP180R1 RP180R0 0000
Legend: — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
DS70005127D-page 57
DS70005127D-page 58
dsPIC33EPXXGS50X FAMILY
TABLE 4-20: PERIPHERAL PIN SELECT INPUT REGISTER MAP
SFR All
Addr. Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Name Resets
NVMCON 0728 WR WREN WRERR NVMSIDL SFTSWP P2ACTIV RPDF URERR — — — — NVMOP3 NVMOP2 NVMOP1 NVMOP0 0000
NVMADR 072A NVMADR<15:0> 0000
NVMADRU 072C — — — — — — — — NVMADR<23:16> 0000
NVMKEY 072E — — — — — — — — NVMKEY<7:0> 0000
NVMSRCADR 0730 NVM Source Data Address Register, Lower Word (NVMSRCADR<15:0>) 0000
NVMSRCADRH 0732 — — — — — — — — NVM Source Data Address Register, Upper Byte (NVMSRCADR<23:16> 0000
Legend: — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
dsPIC33EPXXGS50X FAMILY
Name Resets
RCON 0740 TRAPR IOPUWR — — VREGSF — CM VREGS EXTR SWR SWDTEN WDTO SLEEP IDLE BOR POR Note 1
OSCCON 0742 — COSC2 COSC1 COSC0 — NOSC2 NOSC1 NOSC0 CLKLOCK IOLOCK LOCK — CF — — OSWEN Note 2
CLKDIV 0744 ROI DOZE2 DOZE1 DOZE0 DOZEN FRCDIV2 FRCDIV1 FRCDIV0 PLLPOST1 PLLPOST0 — PLLPRE4 PLLPRE3 PLLPRE2 PLLPRE1 PLLPRE0 3040
PLLFBD 0746 — — — — — — — PLLDIV<8:0> 0030
OSCTUN 0748 — — — — — — — — — — TUN<5:0> 0000
LFSR 074C — LFSR<14:0> 0000
REFOCON 074E ROON — ROSSLP ROSEL RODIV3 RODIV2 RODIV1 RODIV0 — — — — — — — — 0000
ACLKCON 0750 ENAPLL APLLCK SELACLK — — APSTSCLR2 APSTSCLR1 APSTSCLR0 ASRCSEL FRCSEL — — — — — — 2740
Legend: — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
Note 1: RCON register Reset values are dependent on the type of Reset.
2: OSCCON register Reset values are dependent on the Configuration fuses.
DS70005127D-page 59
DS70005127D-page 60
dsPIC33EPXXGS50X FAMILY
TABLE 4-23: PMD REGISTER MAP
SFR All
Addr. Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Name Resets
PMD1 0760 T5MD T4MD T3MD T2MD T1MD — PWMMD — I2C1MD U2MD U1MD SPI2MD SPI1MD — — ADCMD 0000
PMD2 0762 — — — — IC4MD IC3MD IC2MD IC1MD — — — — OC4MD OC3MD OC2MD OC1MD 0000
PMD3 0764 — — — — — CMPMD — — — — — — — — I2C2MD — 0000
PMD4 0766 — — — — — — — — — — — — REFOMD — — — 0000
PMD6 076A — — — PWM5MD PWM4MD PWM3MD PWM2MD PWM1MD — — — — — — — — 0000
PMD7 076C — — — — CMP4MD CMP3MD CMP2MD CMP1MD — — — — — — PGA1MD — 0000
PMD8 076E — — — — — PGA2MD ABGMD — — — — — — — CCSMD — 0000
Legend: — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
ISRCCON 0500 ISRCEN — — — — OUTSEL2 OUTSEL1 OUTSEL0 — — ISRCCAL5 ISRCCAL4 ISRCCAL3 ISRCCAL2 ISRCCAL1 ISRCCAL0 0000
Legend: — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
PGA1CON 0504 PGAEN PGAOEN SELPI2 SELPI1 SELPI0 SELNI2 SELNI1 SELNI0 — — — — — GAIN2 GAIN1 GAIN0 0000
PGA1CAL 0506 — — — — — — — — — — PGACAL<5:0> 0000
PGA2CON 0508 PGAEN PGAOEN SELPI2 SELPI1 SELPI0 SELNI2 SELNI1 SELNI0 — — — — — GAIN2 GAIN1 GAIN0 0000
PGA2CAL 050A — — — — — — — — — — PGACAL<5:0> 0000
Legend: — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
2013-2017 Microchip Technology Inc.
2013-2017 Microchip Technology Inc.
CMP1CON 0540 CMPON — CMPSIDL HYSSEL1 HYSSEL0 FLTREN FCLKSEL DACOE INSEL1 INSEL0 EXTREF HYSPOL CMPSTAT ALTINP CMPPOL RANGE 0000
CMP1DAC 0542 — — — — CMREF<11:0> 0000
CMP2CON 0544 CMPON — CMPSIDL HYSSEL1 HYSSEL0 FLTREN FCLKSEL DACOE INSEL1 INSEL0 EXTREF HYSPOL CMPSTAT ALTINP CMPPOL RANGE 0000
CMP2DAC 0546 — — — — CMREF<11:0> 0000
CMP3CON 0548 CMPON — CMPSIDL HYSSEL1 HYSSEL0 FLTREN FCLKSEL DACOE INSEL1 INSEL0 EXTREF HYSPOL CMPSTAT ALTINP CMPPOL RANGE 0000
CMP3DAC 054A — — — — CMREF<11:0> 0000
CMP4CON 054C CMPON — CMPSIDL HYSSEL1 HYSSEL0 FLTREN FCLKSEL DACOE INSEL1 INSEL0 EXTREF HYSPOL CMPSTAT ALTINP CMPPOL RANGE 0000
CMP4DAC 054E — — — — CMREF<11:0> 0000
Legend: — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.
dsPIC33EPXXGS50X FAMILY
SFR All
Addr Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Name Resets
dsPIC33EPXXGS50X FAMILY
TABLE 4-28: PORTA REGISTER MAP FOR dsPIC33EPXXGS502 DEVICES
SFR All
Addr. Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Name Resets
dsPIC33EPXXGS50X FAMILY
SFR All
Addr. Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Name Resets
dsPIC33EPXXGS50X FAMILY
TABLE 4-33: PORTA REGISTER MAP FOR dsPIC33EPXXGS506 DEVICES
SFR All
Addr. Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Name Resets
SFR All
Addr. Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Name Resets
dsPIC33EPXXGS50X FAMILY
DS70005127D-page 65
dsPIC33EPXXGS50X FAMILY
4.5.1 PAGED MEMORY SCHEME The paged memory scheme provides access to
multiple 32-Kbyte windows in the PSV memory. The
The dsPIC33EPXXGS50X architecture extends the
Data Space Page (DSRPAG) register, in combination
available Data Space through a paging scheme,
with the upper half of the Data Space address, can
which allows the available Data Space to be
provide up to 8 Mbytes of PSV address space. The
accessed using MOV instructions in a linear fashion
paged data memory space is shown in Figure 4-10.
for pre- and post-modified Effective Addresses (EAs).
The upper half of the base Data Space address is The Program Space (PS) can be accessed with a
used in conjunction with the Data Space Page DSRPAG of 0x200 or greater. Only reads from PS are
(DSRPAG) register to form the Program Space supported using the DSRPAG.
Visibility (PSV) address.
The Data Space Page (DSRPAG) register is located
in the SFR space. Construction of the PSV address is
shown in Figure 4-9. When DSRPAG<9> = 1 and the
base address bit, EA<15> = 1, the DSRPAG<8:0> bits
are concatenated onto EA<14:0> to form the 24-bit
PSV read address.
Byte
16-Bit DS EA Select
EA<15>
DSRPAG<9> 1 EA
=1
Select
DSRPAG
Generate
PSV Address 1 DSRPAG<8:0>
9 Bits 15 Bits
Note: DS read access when DSRPAG = 0x000 will force an address error trap.
DS_Addr<15:0>
0x0000
(TBLPAG = 0x00)
lsw Using
Program Memory TBLRDL/TBLWTL,
DS_Addr<14:0> (lsw – <15:0>) MSB Using
0x00_0000 TBLRDH/TBLWTH
0x0000 0xFFFF
(DSRPAG = 0x200)
Local Data Space No Writes Allowed
dsPIC33EPXXGS50X FAMILY
DS_Addr<15:0> 0x7FFF
PSV
0x0000
Program
SFR Registers Memory
0x0FFF (lsw) 0x0000
0x1000 0x0000 (TBLPAG = 0x7F)
(DSRPAG = 0x2FF) lsw Using
Up to 8-Kbyte TBLRDL/TBLWTL,
No Writes Allowed 0x7F_FFFF
RAM MSB Using
0x7FFF
0x0000 TBLRDH/TBLWTH
0x2FFF 0xFFFF
0x3000 (DSRPAG = 0x300)
0x7FFF No Writes Allowed Program Memory
0x8000 0x7FFF (MSB – <23:16>)
32-Kbyte PSV 0x00_0000
PSV Window Program
0xFFFF Memory
(MSB)
0x0000
(DSRPAG = 0x3FF)
No Writes Allowed
0x7FFF
DS70005127D-page 67
0x7F_FFFF
dsPIC33EPXXGS50X FAMILY
When a PSV page overflow or underflow occurs, address within the PSV window. This creates a linear
EA<15> is cleared as a result of the register indirect EA PSV address space, but only when using Register
calculation. An overflow or underflow of the EA in the Indirect Addressing modes.
PSV pages can occur at the page boundaries when: Exceptions to the operation described above arise
• The initial address, prior to modification, when entering and exiting the boundaries of Page 0
addresses the PSV page and PSV spaces. Table 4-37 lists the effects of overflow
• The EA calculation uses Pre- or Post-Modified and underflow scenarios at different boundaries.
Register Indirect Addressing; however, this does In the following cases, when overflow or underflow
not include Register Offset Addressing occurs, the EA<15> bit is set and the DSRPAG is not
In general, when an overflow is detected, the DSRPAG modified; therefore, the EA will wrap to the beginning of
register is incremented and the EA<15> bit is set to keep the current page:
the base address within the PSV window. When an • Register Indirect with Register Offset Addressing
underflow is detected, the DSRPAG register is • Modulo Addressing
decremented and the EA<15> bit is set to keep the base
• Bit-Reversed Addressing
Sequential Address
b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 0
A3 A2 A1 A0 Decimal A3 A2 A1 A0 Decimal
0 0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 0 0 0 8
0 0 1 0 2 0 1 0 0 4
0 0 1 1 3 1 1 0 0 12
0 1 0 0 4 0 0 1 0 2
0 1 0 1 5 1 0 1 0 10
0 1 1 0 6 0 1 1 0 6
0 1 1 1 7 1 1 1 0 14
1 0 0 0 8 0 0 0 1 1
1 0 0 1 9 1 0 0 1 9
1 0 1 0 10 0 1 0 1 5
1 0 1 1 11 1 1 0 1 13
1 1 0 0 12 0 0 1 1 3
1 1 0 1 13 1 0 1 1 11
1 1 1 0 14 0 1 1 1 7
1 1 1 1 15 1 1 1 1 15
23 Bits
EA 1/0
8 Bits 16 Bits
24 Bits
Note 1: The Least Significant bit (LSb) of Program Space addresses is always fixed as ‘0’ to maintain
word alignment of data in the Program and Data Spaces.
2: Table operations are not required to be word-aligned. Table Read operations are permitted in the
configuration memory space.
‘Phantom’ Byte
TBLRDH.B (Wn<0> = 0)
TBLRDL.B (Wn<0> = 1)
TBLRDL.B (Wn<0> = 0)
TBLRDL.W
The address for the table operation is determined by the data EA
within the page defined by the TBLPAG register.
Only read operations are shown; write operations are also valid in
0x800000
the user memory area.
The dsPIC33EPXXGS50X family devices contain 5.1 Table Instructions and Flash
internal Flash program memory for storing and Programming
executing application code. The memory is readable,
Regardless of the method used, all programming of
writable and erasable during normal operation over the
Flash memory is done with the Table Read and Table
entire VDD range.
Write instructions. These allow direct read and write
Flash memory can be programmed in three ways: access to the program memory space from the data
• In-Circuit Serial Programming™ (ICSP™) memory while the device is in normal operating mode.
programming capability The 24-bit target address in the program memory is
formed using bits<7:0> of the TBLPAG register and the
• Enhanced In-Circuit Serial Programming
Effective Address (EA) from a W register, specified in
(Enhanced ICSP)
the table instruction, as shown in Figure 5-1. The
• Run-Time Self-Programming (RTSP) TBLRDL and the TBLWTL instructions are used to read
ICSP allows for a dsPIC33EPXXGS50X family device or write to bits<15:0> of program memory. TBLRDL and
to be serially programmed while in the end application TBLWTL can access program memory in both Word
circuit. This is done with a programming clock and pro- and Byte modes. The TBLRDH and TBLWTH
gramming data (PGECx/PGEDx) line, and three other instructions are used to read or write to bits<23:16> of
lines for power (VDD), ground (VSS) and Master Clear program memory. TBLRDH and TBLWTH can also
(MCLR). This allows customers to manufacture boards access program memory in Word or Byte mode.
with unprogrammed devices and then program the
24 Bits
Using
0 Program Counter 0
Program Counter
Working Reg EA
Using
1/0 TBLPAG Reg
Table Instruction
8 Bits 16 Bits
User/Configuration Byte
Space Select 24-Bit EA Select
Increasing
a time and to program one row at a time. It is possible 0x00 MSB1
Address
to program two instructions at a time as well.
LSW2
The page erase and single row write blocks are edge-
aligned, from the beginning of program memory, on 0x00 MSB2
boundaries of 1536 bytes and 192 bytes, respec-
tively. Figure 26-14 in Section 26.0 “Electrical UNCOMPRESSED FORMAT (RPDF = 0)
Characteristics” lists the typical erase and
programming times.
Row programming is performed by loading 192 bytes 15 7 0
into data memory and then loading the address of the Even Byte
LSW1
Increasing
first byte in that row into the NVMSRCADR register. Address
Address
Once the write has been initiated, the device will MSB2 MSB1
automatically load the write latches and increment the
NVMSRCADR and the NVMADR(U) registers until all LSW2
bytes have been programmed. The RPDF bit
(NVMCON<9>) selects the format of the stored data in COMPRESSED FORMAT (RPDF = 1)
RAM to be either compressed or uncompressed. See
Figure 5-2 for data formatting. Compressed data helps
to reduce the amount of required RAM by using the 5.3 Programming Operations
upper byte of the second word for the MSB of the
A complete programming sequence is necessary for
second instruction.
programming or erasing the internal Flash in RTSP
The basic sequence for RTSP word programming is to mode. The processor stalls (waits) until the program-
use the TBLWTL and TBLWTH instructions to load two of ming operation is finished. Setting the WR bit
the 24-bit instructions into the write latches found in (NVMCON<15>) starts the operation and the WR bit is
configuration memory space. Refer to Figure 4-1 automatically cleared when the operation is finished.
through Figure 4-4 for write latch addresses. Program-
ming is performed by unlocking and setting the control 5.3.1 PROGRAMMING ALGORITHM FOR
bits in the NVMCON register. FLASH PROGRAM MEMORY
All erase and program operations may optionally use Programmers can program two adjacent words
the NVM interrupt to signal the successful completion (24 bits x 2) of program Flash memory at a time on every
of the operation. For example, when performing Flash other word address boundary (0x000000, 0x000004,
write operations on the Inactive Partition in Dual 0x000008, etc.). To do this, it is necessary to erase the
Partition mode, where the CPU remains running, it is page that contains the desired address of the location
necessary to wait for the NVM interrupt before the user wants to change. For protection against
programming the next block of Flash program memory. accidental operations, the write initiate sequence for
NVMKEY must be used to allow any erase or program
operation to proceed. After the programming command
has been executed, the user application must wait for
the programming time until programming is complete.
The two instructions following the start of the
programming sequence should be NOPs.
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
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
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
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
RESET Instruction
Glitch Filter
MCLR
WDT
Module
Sleep or Idle
BOR
Internal
Regulator SYSRST
VDD
Trap Conflict
Illegal Opcode
Uninitialized W Register
Security Reset
Configuration Mismatch
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
Note 1: All of the Reset status bits can be set or cleared in software. Setting one of these bits in software does not
cause a device Reset.
2: If the WDTEN<1:0> Configuration bits are ‘11’ (unprogrammed), the WDT is always enabled, regardless
of the SWDTEN bit setting.
Note 1: All of the Reset status bits can be set or cleared in software. Setting one of these bits in software does not
cause a device Reset.
2: If the WDTEN<1:0> Configuration bits are ‘11’ (unprogrammed), the WDT is always enabled, regardless
of the SWDTEN bit setting.
Note: In Dual Partition modes, each partition has a dedicated Interrupt Vector Table.
Note 1: The address depends on the size of the Boot Segment defined by BSLIM<12:0>.
[(BSLIM<12:0> – 1) x 0x400] + Offset.
2: In Dual Partition modes, each partition has a dedicated Alternate Interrupt Vector Table (if
enabled).
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
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
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
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
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
DOZE
FCY(2)
S1 PLL
F VCO(1)
OSC2
POSCMD<1:0>
FP(2)
÷2
FRCDIV
FRC FRCCLK FRCDIVN FOSC
S7
Oscillator
S0 NOSC<2:0> FNOSC<2:0>
WDT, PWRT,
FSCM
FRCCLK FVCO(1)
1 0
ACLK PWM/ADC
POSCCLK 1 APLL x 16 1 ÷N
to LFSR
0 1
GND 0 0
Note 1: See Figure 8-2 for the source of the FVCO signal.
2: FP refers to the clock source for all the peripherals, while FCY (or MIPS) refers to the clock source for the CPU.
Throughout this document, FCY and FP are used interchangeably, except in the case of Doze mode. FP and FCY will
be different when Doze mode is used in any ratio other than 1:1.
3: The auxiliary clock postscaler must be configured to divide-by-1 (APSTSCLR<2:0> = 111) for proper operation of
the PWM and ADC modules.
0.8 MHz < FPLLI(1) < 8.0 MHz FPLLO(1) 120 MHz @ +125ºC
120 MHZ < FVCO(1) < 340 MHZ FPLLO(1) 140 MHz @ +85ºC
FIN FPLLI
÷ N1 FVCO FOSC
PFD VCO ÷ N2
PLLPRE<4:0>
PLLPOST<1:0>
÷M
PLLDIV<8:0>
M PLLDIV<8:0> + 2
FPLLO = FIN ( N1 ) (
= FIN (PLLPRE<4:0> + 2) 2(PLLPOST<1:0> + 1) )
Where:
N1 = PLLPRE<4:0> + 2
N2 = 2 x (PLLPOST<1:0> + 1)
M = PLLDIV<8:0> + 2
M PLLDIV<8:0> + 2
FVCO = FIN ()
N1 (
= FIN (PLLPRE<4:0> + 2) )
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
Note 1: The DOZE<2:0> bits can only be written to when the DOZEN bit is clear. If DOZEN = 1, any writes to
DOZE<2:0> are ignored.
2: This bit is cleared when the ROI bit is set and an interrupt occurs.
3: The DOZEN bit cannot be set if DOZE<2:0> = 000. If DOZE<2:0> = 000, any attempt by user software to
set the DOZEN bit is ignored.
Note 1: The DOZE<2:0> bits can only be written to when the DOZEN bit is clear. If DOZEN = 1, any writes to
DOZE<2:0> are ignored.
2: This bit is cleared when the ROI bit is set and an interrupt occurs.
3: The DOZEN bit cannot be set if DOZE<2:0> = 000. If DOZE<2:0> = 000, any attempt by user software to
set the DOZEN bit is ignored.
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
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
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.
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
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
Note 1: The reference oscillator output must be disabled (ROON = 0) before writing to these bits.
2: This pin is remappable. See Section 10.4 “Peripheral Pin Select (PPS)” for more information.
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
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
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
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
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
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
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
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
Data Bus
D Q
I/O Pin
WR TRISx
CK
TRISx Latch
D Q
WR LATx +
CK
WR PORTx
Data Latch
Read LATx
Input Data
Read PORTx
0
RP0
1
RP1
U1RX Input
2 to Peripheral
RP2
n
RPn
Default
0
U1TX Output
1
SDO2 Output
2
RPn
Output Data
PWM5H Output
53
PWM5L Output
54
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 15-8 INT1R<7:0>: Assign External Interrupt 1 (INT1) to the Corresponding RPn Pin bits
10110101 = Input tied to RP181
10110100 = Input tied to RP180
•
•
•
00000001 = Input tied to RP1
00000000 = Input tied to VSS
bit 7-0 Unimplemented: Read as ‘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
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 15-8 T1CKR<7:0>: Assign Timer1 External Clock (T1CK) to the Corresponding RPn Pin bits
10110101 = Input tied to RP181
10110100 = Input tied to RP180
•
•
•
00000001 = Input tied to RP1
00000000 = Input tied to VSS
bit 7-0 Unimplemented: Read as ‘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 15-8 T3CKR<7:0>: Assign Timer3 External Clock (T3CK) to the Corresponding RPn Pin bits
10110101 = Input tied to RP181
10110100 = Input tied to RP180
•
•
•
0000001 = Input tied to RP1
0000000 = Input tied to VSS
bit 7-0 T2CKR<7:0>: Assign Timer2 External Clock (T2CK) to the Corresponding RPn Pin bits
10110101 = Input tied to RP181
10110100 = Input tied to RP180
•
•
•
00000001 = Input tied to RP1
00000000 = Input tied to VSS
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 15-8 IC2R<7:0>: Assign Input Capture 2 (IC2) to the Corresponding RPn Pin bits
10110101 = Input tied to RP181
10110100 = Input tied to RP180
•
•
•
00000001 = Input tied to RP1
00000000 = Input tied to VSS
bit 7-0 IC1R<7:0>: Assign Input Capture 1 (IC1) to the Corresponding RPn Pin bits
10110101 = Input tied to RP181
10110100 = Input tied to RP180
•
•
•
00000001 = Input tied to RP1
00000000 = Input tied to VSS
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 15-8 IC4R<7:0>: Assign Input Capture 4 (IC4) to the Corresponding RPn Pin bits
10110101 = Input tied to RP181
10110100 = Input tied to RP180
•
•
•
00000001 = Input tied to RP1
00000000 = Input tied to VSS
bit 7-0 IC3R<7:0>: Assign Input Capture 3 (IC3) to the Corresponding RPn Pin bits
10110101 = Input tied to RP181
10110100 = Input tied to RP180
•
•
•
00000001 = Input tied to RP1
00000000 = Input tied to VSS
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
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 15-8 FLT2R<7:0>: Assign PWM Fault 2 (FLT2) to the Corresponding RPn Pin bits
10110101 = Input tied to RP181
10110100 = Input tied to RP180
•
•
•
00000001 = Input tied to RP1
00000000 = Input tied to VSS
bit 7-0 FLT1R<7:0>: Assign PWM Fault 1 (FLT1) to the Corresponding RPn Pin bits
10110101 = Input tied to RP181
10110100 = Input tied to RP180
•
•
•
00000001 = Input tied to RP1
00000000 = Input tied to VSS
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 15-8 FLT4R<7:0>: Assign PWM Fault 4 (FLT4) to the Corresponding RPn Pin bits
10110101 = Input tied to RP181
10110100 = Input tied to RP180
•
•
•
00000001 = Input tied to RP1
00000000 = Input tied to VSS
bit 7-0 FLT3R<7:0>: Assign PWM Fault 3 (FLT3) to the Corresponding RPn Pin bits
10110101 = Input tied to RP181
10110100 = Input tied to RP180
•
•
•
00000001 = Input tied to RP1
00000000 = Input tied to VSS
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 15-8 U1CTSR<7:0>: Assign UART1 Clear-to-Send (U1CTS) to the Corresponding RPn Pin bits
10110101 = Input tied to RP181
10110100 = Input tied to RP180
•
•
•
00000001 = Input tied to RP1
00000000 = Input tied to VSS
bit 7-0 U1RXR<7:0>: Assign UART1 Receive (U1RX) to the Corresponding RPn Pin bits
10110101 = Input tied to RP181
10110100 = Input tied to RP180
•
•
•
00000001 = Input tied to RP1
00000000 = Input tied to VSS
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 15-8 U2CTSR<7:0>: Assign UART2 Clear-to-Send (U2CTS) to the Corresponding RPn Pin bits
10110101 = Input tied to RP181
10110100 = Input tied to RP180
•
•
•
00000001 = Input tied to RP1
00000000 = Input tied to VSS
bit 7-0 U2RXR<7:0>: Assign UART2 Receive (U2RX) to the Corresponding RPn Pin bits
10110101 = Input tied to RP181
10110100 = Input tied to RP180
•
•
•
00000001 = Input tied to RP1
00000000 = Input tied to VSS
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 15-8 SCK1INR<7:0>: Assign SPI1 Clock Input (SCK1) to the Corresponding RPn Pin bits
10110101 = Input tied to RP181
10110100 = Input tied to RP180
•
•
•
00000001 = Input tied to RP1
00000000 = Input tied to VSS
bit 7-0 SDI1R<7:0>: Assign SPI1 Data Input (SDI1) to the Corresponding RPn Pin bits
10110101 = Input tied to RP181
10110100 = Input tied to RP180
•
•
•
00000001 = Input tied to RP1
00000000 = Input tied to VSS
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
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 15-8 SCK2INR<7:0>: Assign SPI2 Clock Input (SCK2) to the Corresponding RPn Pin bits
10110101 = Input tied to RP181
10110100 = Input tied to RP180
•
•
•
00000001 = Input tied to RP1
00000000 = Input tied to VSS
bit 7-0 SDI2R<7:0>: Assign SPI2 Data Input (SDI2) to the Corresponding RPn Pin bits
10110101 = Input tied to RP181
10110100 = Input tied to RP180
•
•
•
00000001 = Input tied to RP1
00000000 = Input tied to VSS
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
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 15-8 SYNCI1R<7:0>: Assign PWM Synchronization Input 1 to the Corresponding RPn Pin bits
10110101 = Input tied to RP181
10110100 = Input tied to RP180
•
•
•
00000001 = Input tied to RP1
00000000 = Input tied to VSS
bit 7-0 Unimplemented: Read as ‘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
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 15-8 FLT6R<7:0>: Assign PWM Fault 6 (FLT6) to the Corresponding RPn Pin bits
10110101 = Input tied to RP181
10110100 = Input tied to RP180
•
•
•
00000001 = Input tied to RP1
00000000 = Input tied to VSS
bit 7-0 FLT5R<7:0>: Assign PWM Fault 5 (FLT5) to the Corresponding RPn Pin bits
10110101 = Input tied to RP181
10110100 = Input tied to RP180
•
•
•
00000001 = Input tied to RP1
00000000 = Input tied to VSS
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 15-8 FLT8R<7:0>: Assign PWM Fault 8 (FLT8) to the Corresponding RPn Pin bits
10110101 = Input tied to RP181
10110100 = Input tied to RP180
•
•
•
00000001 = Input tied to RP1
00000000 = Input tied to VSS
bit 7-0 FLT7R<7:0>: Assign PWM Fault 7 (FLT7) to the Corresponding RPn Pin bits
10110101 = Input tied to RP181
10110100 = Input tied to RP180
•
•
•
00000001 = Input tied to RP1
00000000 = Input tied to VSS
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
T1CK x1
Prescaler Equal
Sync 1 Comparator
(/n)
TGATE
TSYNC
TCKPS<1:0> TCS
PR1
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
Note 1: When Timer1 is enabled in External Synchronous Counter mode (TCS = 1, TSYNC = 1, TON = 1), any
attempts by user software to write to the TMR1 register are ignored.
FP(1) Prescaler 10
TxCLK
(/n) TGATE
Reset Data
00 TMRx Latch
TCKPS<1:0>
CLK
TxCK
Prescaler ADC
Sync x1 Trigger(2)
(/n) Equal
Comparator
TCKPS<1:0> TGATE
TCS
PRx
FIGURE 12-2: TYPE B/TYPE C TIMER PAIR BLOCK DIAGRAM (32-BIT TIMER)
PRx PRy
0
TGATE
Equal
Comparator
Data
FP(1) Prescaler 10
(/n) CLK
lsw msw Latch
Reset
00 TMRx TMRy
TCKPS<1:0>
TxCK
Prescaler
Sync x1
(/n)
TMRyHLD
TCKPS<1:0> TGATE
TCS
Data Bus<15: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
Note 1: The TxCK pin is not available on all devices. Refer to the “Pin Diagrams” section for the available pins.
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
Note 1: When 32-bit operation is enabled (TxCON<3> = 1), these bits have no effect on Timery operation; all timer
functions are set through TxCON.
2: When 32-bit timer operation is enabled (T32 = 1) in the Timerx Control register (TxCON<3>), the TSIDL
bit must be cleared to operate the 32-bit timer in Idle mode.
3: The TyCK pin is not available on all devices. See the “Pin Diagrams” section for the available pins.
ICM<2:0>
ICI<1:0>
ICTSEL<2:0>
Increment
16
ICx Clock Clock 4-Level FIFO Buffer
ICxTMR
Sources Select 16
Note 1: The trigger/sync source is enabled by default and is set to Timer3 as a source. This timer must be enabled for
proper ICx module operation or the trigger/sync source must be changed to another source option.
U-0 R/W-0 R/W-0 R-0, HC, HS R-0, HC, HS R/W-0 R/W-0 R/W-0
— ICI1 ICI0 ICOV ICBNE ICM2 ICM1 ICM0
bit 7 bit 0
Note 1: The IC32 bit in both the odd and even ICx must be set to enable Cascade mode.
2: The input source is selected by the SYNCSEL<4:0> bits of the ICxCON2 register.
3: This bit is set by the selected input source (selected by SYNCSEL<4:0> bits); it can be read, set and
cleared in software.
4: Do not use the ICx module as its own sync or trigger source.
5: This option should only be selected as a trigger source and not as a synchronization source.
Note 1: The IC32 bit in both the odd and even ICx must be set to enable Cascade mode.
2: The input source is selected by the SYNCSEL<4:0> bits of the ICxCON2 register.
3: This bit is set by the selected input source (selected by SYNCSEL<4:0> bits); it can be read, set and
cleared in software.
4: Do not use the ICx module as its own sync or trigger source.
5: This option should only be selected as a trigger source and not as a synchronization source.
OCxCON1
OCxCON2
OCxR
Rollover/Reset
OCxR Buffer
OCx Pin
Comparator
Increment Match
OCx Clock Clock Event
Sources Select
OCx Output and
OCxTMR
Rollover Fault Logic
Reset
OCFA
Comparator
Match Event Match
Trigger and Event
Trigger and
Sync Sources Sync Logic
OCxRS Buffer
SYNCSEL<4:0> Rollover/Reset
Trigger(1)
OCx Synchronization/Trigger Event
OCxRS
OCx Interrupt
Reset
Note 1: The trigger/sync source is enabled by default and is set to Timer2 as a source. This timer must be enabled for
proper OCx module operation or the trigger/sync source must be changed to another source option.
Note 1: Do not use the OCx module as its own synchronization or trigger source.
2: When the OCy module is turned off, it sends a trigger out signal. If the OCx module uses the OCy module
as a trigger source, the OCy module must be unselected as a trigger source prior to disabling it.
Note 1: Do not use the OCx module as its own synchronization or trigger source.
2: When the OCy module is turned off, it sends a trigger out signal. If the OCx module uses the OCy module
as a trigger source, the OCy module must be unselected as a trigger source prior to disabling it.
SYNCI1/SYNCI2
Data Bus
SYNCO1/SYNCO2
Synchronization Signal
PWM1 Interrupt
PWM1H
PWM
Generator 1
PWM1L
Synchronization Signal
PWM2 Interrupt
PWM2H
PWM
Generator 2
CPU PWM2L
Synchronization Signal
Primary Trigger
Secondary Trigger
ADC Module Fault and
Current Limit
Special Event Trigger
PWMKEY
Clock
PMTMR Prescaler Primary Master Time Base
SYNCO2
STPER SEVTCMP Special Event Compare Trigger
Special Event
Comparator Comparator
Postscaler Special Event Trigger
MUX
Master Period
SPHASEx
STRIGx FCLCONx IOCONx ALTDTRx
Master Duty Cycle
PWMCONx
Master Period
PWMxH
PWMx Generator 2 – PWMx Generator 5 PWMxL
FLTx
Note 1: These bits should be changed only when PTEN = 0. In addition, when using the SYNCIx feature, the user
application must program the Period register with a value that is slightly larger than the expected period of
the external synchronization input signal.
Note 1: These bits should be changed only when PTEN = 0. In addition, when using the SYNCIx feature, the user
application must program the Period register with a value that is slightly larger than the expected period of
the external synchronization input signal.
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
Note 1: These bits should be changed only when PTEN = 0. Changing the clock selection during operation will
yield unpredictable results.
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 15-0 PTPER<15:0>: Primary Master Time Base (PMTMR) Period Value bits
Note 1: The PWMx time base has a minimum value of 0x0010 and a maximum value of 0xFFF8.
2: Any period value that is less than 0x0028 must have the Least Significant 3 bits set to ‘0’, thus yielding a
period resolution at 8.32 ns (at fastest auxiliary clock rate).
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
Note 1: One LSB = 1.04 ns (at fastest auxiliary clock rate); therefore, the minimum SEVTCMP resolution is 8.32 ns.
Note 1: This bit only applies to the secondary master time base period.
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
Note 1: These bits should be changed only when PTEN = 0. Changing the clock selection during operation will
yield unpredictable results.
REGISTER 15-7: STPER: PWMx SECONDARY MASTER TIME BASE PERIOD REGISTER(1,2)
R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1
STPER<15:8>
bit 15 bit 8
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 15-0 STPER<15:0>: Secondary Master Time Base (SMTMR) Period Value bits
Note 1: The PWMx time base has a minimum value of 0x0010 and a maximum value of 0xFFF8.
2: Any period value that is less than 0x0028 must have the Least Significant 3 bits set to ‘0’, thus yielding a
period resolution at 8.32 ns (at fastest auxiliary clock rate).
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
Note 1: One LSB = 1.04 ns (at fastest auxiliary clock rate); therefore, the minimum SEVTCMP resolution is 8.32 ns.
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
Note 1: The chop clock generator operates with the primary PWMx clock prescaler (PCLKDIV<2:0>) in the
PTCON2 register (Register 15-2).
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
Note 1: The smallest pulse width that can be generated on the PWMx output corresponds to a value of 0x0008,
while the maximum pulse width generated corresponds to a value of Period – 0x0008.
2: As the duty cycle gets closer to 0% or 100% of the PWMx period (0 to 40 ns, depending on the mode of
operation), PWMx duty cycle resolution will increase from 1 to 3 LSBs.
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
Note 1: Software must clear the interrupt status here and in the corresponding IFSx bit in the interrupt controller.
2: The Independent Time Base mode (ITB = 1) must be enabled to use Center-Aligned mode. If ITB = 0, the
CAM bit is ignored.
3: These bits should not be changed after the PWMx is enabled by setting PTEN = 1 (PTCON<15>).
4: Center-Aligned mode ignores the Least Significant 3 bits of the Duty Cycle, Phase and Dead-Time
registers. The highest Center-Aligned mode resolution available is 8.32 ns with the clock prescaler set to
the fastest clock.
5: Configure CLMOD = 0 (FCLCONx<8>) and ITB = 1 (PWMCONx<9>) to operate in External Period
Reset mode.
Note 1: Software must clear the interrupt status here and in the corresponding IFSx bit in the interrupt controller.
2: The Independent Time Base mode (ITB = 1) must be enabled to use Center-Aligned mode. If ITB = 0, the
CAM bit is ignored.
3: These bits should not be changed after the PWMx is enabled by setting PTEN = 1 (PTCON<15>).
4: Center-Aligned mode ignores the Least Significant 3 bits of the Duty Cycle, Phase and Dead-Time
registers. The highest Center-Aligned mode resolution available is 8.32 ns with the clock prescaler set to
the fastest clock.
5: Configure CLMOD = 0 (FCLCONx<8>) and ITB = 1 (PWMCONx<9>) to operate in External Period
Reset mode.
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
Note 1: In Independent PWM mode, the PDCx register controls the PWMxH duty cycle only. In the
Complementary, Redundant and Push-Pull PWM modes, the PDCx register controls the duty cycle of both
the PWMxH and PWMxL.
2: The smallest pulse width that can be generated on the PWMx output corresponds to a value of 0x0008,
while the maximum pulse width generated corresponds to a value of Period – 0x0008.
3: As the duty cycle gets closer to 0% or 100% of the PWMx period (0 to 40 ns, depending on the mode of
operation), PWMx duty cycle resolution will increase from 1 to 3 LSBs.
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 15-0 SDCx<15:0>: PWMx Secondary Duty Cycle for PWMxL Output Pin bits
Note 1: The SDCx register is used in Independent PWM mode only. When used in Independent PWM mode, the
SDCx register controls the PWMxL duty cycle.
2: The smallest pulse width that can be generated on the PWMx output corresponds to a value of 0x0008,
while the maximum pulse width generated corresponds to a value of Period – 0x0008.
3: As the duty cycle gets closer to 0% or 100% of the PWMx period (0 to 40 ns, depending on the mode of
operation), PWMx duty cycle resolution will increase from 1 to 3 LSBs.
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 15-0 PHASEx<15:0>: PWMx Phase-Shift Value or Independent Time Base Period for the PWMx Generator bits
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 15-0 SPHASEx<15:0>: Secondary Phase Offset for PWMxL Output Pin bits
(used in Independent PWM mode only)
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
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
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
Note 1: The secondary PWMx generator cannot generate PWM trigger interrupts.
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
Note 1: These bits should not be changed after the PWMx module is enabled (PTEN = 1).
2: State represents the active/inactive state of the PWMx depending on the POLH and POLL bits settings.
Note 1: These bits should not be changed after the PWMx module is enabled (PTEN = 1).
2: State represents the active/inactive state of the PWMx depending on the POLH and POLL bits settings.
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
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
REGISTER 15-23: STRIGx: PWMx SECONDARY TRIGGER COMPARE VALUE REGISTER (x = 1 to 5)(1)
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
STRGCMP<12:5>
bit 15 bit 8
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
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
Note 1: The blanking signal is selected via the BLANKSEL<3:0> bits in the AUXCONx register.
Note 1: The blanking signal is selected via the BLANKSEL<3:0> bits in the AUXCONx register.
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
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
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 15-3 PWMCAP<12:0>: PWMx Primary Time Base Capture Value bits(1,2,3,4)
The value in this register represents the captured PWMx time base value when a leading edge is
detected on the current-limit input.
bit 2-0 Unimplemented: Read as ‘0’
Transfer Transfer
SPIxBUF
16
Internal Data Bus
R/W-0 R/C-0, HS R/W-0 R/W-0 R/W-0 R/W-0 R-0, HS, HC R-0, HS, HC
SRMPT SPIROV SRXMPT SISEL2 SISEL1 SISEL0 SPITBF SPIRBF
bit 7 bit 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
Note 1: The CKE bit is not used in Framed SPI modes. Program this bit to ‘0’ for Framed SPI modes (FRMEN = 1).
2: This bit must be cleared when FRMEN = 1.
3: Do not set both primary and secondary prescalers to the value of 1:1.
Note 1: The CKE bit is not used in Framed SPI modes. Program this bit to ‘0’ for Framed SPI modes (FRMEN = 1).
2: This bit must be cleared when FRMEN = 1.
3: Do not set both primary and secondary prescalers to the value of 1: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
Internal
Data Bus
I2CxRCV
Read
Shift
SCLx/ASCLx Clock
I2CxRSR
LSb
I2CxMSK
Write Read
I2CxADD
Read
Read
Collision Write
Detect
I2CxCONH
Acknowledge
Generation Read
Write
Clock
Stretching I2CxCONL
Read
Write
I2CxTRN
LSb
Shift Clock Read
Reload
Control
Write
Read
FP/2
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
R/C-0, HS R/C-0, HS R-0, HSC R/C-0, HSC R/C-0, HSC R-0, HSC R-0, HSC R-0, HSC
IWCOL I2COV D_A P S R_W RBF TBF
bit 7 bit 0
Legend: C = Clearable bit HS = Hardware Settable bit HSC = Hardware Settable/Clearable bit
R = Readable bit W = Writable bit ‘0’ = Bit is cleared x = Bit is unknown
-n = Value at POR ‘1’ = Bit is set U = Unimplemented bit, read as ‘0’
bit 15 ACKSTAT: Acknowledge Status bit (when operating as I2C master, applicable to master transmit operation)
1 = NACK was received from slave
0 = ACK was received from slave
Hardware is set or clear at the end of a slave Acknowledge.
bit 14 TRSTAT: Transmit Status bit (when operating as I2C master, applicable to master transmit operation)
1 = Master transmit is in progress (8 bits + ACK)
0 = Master transmit is not in progress
Hardware is set at the beginning of master transmission. Hardware is clear at the end of slave Acknowledge.
bit 13 ACKTIM: Acknowledge Time Status bit (I2C Slave mode only)
1 = I2C bus is an Acknowledge sequence, set on the 8th falling edge of SCLx
0 = Not an Acknowledge sequence, cleared on the 9th rising edge of SCLx
bit 12-11 Unimplemented: Read as ‘0’
bit 10 BCL: Master Bus Collision Detect bit
1 = A bus collision has been detected during a master operation
0 = No bus collision detected
Hardware is set at detection of a bus collision.
bit 9 GCSTAT: General Call Status bit
1 = General call address was received
0 = General call address was not received
Hardware is set when address matches the general call address. Hardware is clear at Stop detection.
bit 8 ADD10: 10-Bit Address Status bit
1 = 10-bit address was matched
0 = 10-bit address was not matched
Hardware is set at the match of the 2nd byte of the matched 10-bit address. Hardware is clear at Stop
detection.
bit 7 IWCOL: I2Cx Write Collision Detect bit
1 = An attempt to write to the I2CxTRN register failed because the I2C module is busy
0 = No collision
Hardware is set at the occurrence of a write to I2CxTRN while busy (cleared by software).
bit 6 I2COV: I2Cx Receive Overflow Flag bit
1 = A byte was received while the I2CxRCV register was still holding the previous byte
0 = No overflow
Hardware is set at an attempt to transfer I2CxRSR to I2CxRCV (cleared by software).
bit 5 D_A: Data/Address bit (I2C Slave mode only)
1 = Indicates that the last byte received was data
0 = Indicates that the last byte received was a device address
Hardware is clear at a device address match. Hardware is set by reception of a slave byte.
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
IrDA®
Note 1: Refer to “Universal Asynchronous Receiver Transmitter (UART)” (DS70000582) in the “dsPIC33/
PIC24 Family Reference Manual” for information on enabling the UARTx module for transmit operation.
Note 1: Refer to “Universal Asynchronous Receiver Transmitter (UART)” (DS70000582) in the “dsPIC33/
PIC24 Family Reference Manual” for information on enabling the UARTx module for transmit operation.
AVDD AVSS
Voltage Reference
(REFSEL<2:0>)
AN0 Reference
AN7 Dedicated Output Data
PGA1 (1) ADC Core 0(2) Digital Comparator 0
Clock ADCMP0 Interrupt
(3)
AN0ALT
Digital Comparator 1 ADCMP1 Interrupt
AN1 Reference
AN18 Dedicated Output Data
PGA2(1) ADC Core 1(2)
Clock
AN1ALT(3)
Digital Filter 0 ADFL0DAT
ADFLTR0 Interrupt
Reference
AN2 Digital Filter 1 ADFL1DAT
ADFLTR1 Interrupt
Dedicated Output Data
VBG Reference(1) ADC Core 2(2)
Clock
AN11
Reference
ADCBUF0
AN3 ADCAN0 Interrupt
Dedicated Output Data ADCBUF1
ADC Core 3(2) ADCAN1 Interrupt
AN15 Clock
ADCBUF21
ADCAN21 Interrupt
Reference
AN4
Shared Output Data
ADC Core
Clock
AN21
Divider
(CLKDIV<5:0>)
Clock Selection
(CLKSEL<1:0>)
Note 1: PGA1, PGA2 and Band Gap Reference (VBG) are internal analog inputs and are not available on device pins.
2: If the dedicated core uses an alternate channel, then shared core function cannot be used.
3: AN0ALT and AN1ALT are not available on dsPIC33EPXXGS502 devices.
Note 1: The DIFFx bit for the corresponding positive input channel must be set in order to use the negative
differential input.
AN4
+
Reference
12-Bit
AN21 SAR
Shared ADC Output Data
Sample-
Analog Channel Number and-Hold
from Current Trigger
ADC Core Clock
AN9(1) Negative Input – Clock Divider
Selection
(SHRADC<6:0> bits)
(DIFFx)(1)
SHRSAMC<9:0>
Sampling Time
AVSS
Note 1: Differential-mode conversion is not available for the shared ADC core in dsPIC33EPXXGS502 devices.
For all other devices, the DIFFx bit for the corresponding positive input channel must be set to use AN9
as the negative differential input.
Note 1: Set the ADON bit only after the ADC module has been configured. Changing ADC Configuration bits when
ADON = 1 will result in unpredictable behavior.
bit 15 REFCIE: Band Gap and Reference Voltage Ready Common Interrupt Enable bit
1 = Common interrupt will be generated when the band gap will become ready
0 = Common interrupt is disabled for the band gap ready event
bit 14 REFERCIE: Band Gap or Reference Voltage Error Common Interrupt Enable bit
1 = Common interrupt will be generated when a band gap or reference voltage error is detected
0 = Common interrupt is disabled for the band gap and reference voltage error event
bit 13 Reserved: Maintain as ‘0’
bit 12 EIEN: Early Interrupts Enable bit
1 = The early interrupt feature is enabled for the input channel interrupts (when the EISTATx flag is set)
0 = The individual interrupts are generated when conversion is done (when the ANxRDY flag is set)
bit 11 Reserved: Maintain as ‘0’
bit 10-8 SHREISEL<2:0>: Shared Core Early Interrupt Time Selection bits(1)
111 = Early interrupt is set and interrupt is generated 8 TADCORE clocks prior to when the data is ready
110 = Early interrupt is set and interrupt is generated 7 TADCORE clocks prior to when the data is ready
101 = Early interrupt is set and interrupt is generated 6 TADCORE clocks prior to when the data is ready
100 = Early interrupt is set and interrupt is generated 5 TADCORE clocks prior to when the data is ready
011 = Early interrupt is set and interrupt is generated 4 TADCORE clocks prior to when the data is ready
010 = Early interrupt is set and interrupt is generated 3 TADCORE clocks prior to when the data is ready
001 = Early interrupt is set and interrupt is generated 2 TADCORE clocks prior to when the data is ready
000 = Early interrupt is set and interrupt is generated 1 TADCORE clock prior to when the data is ready
bit 7 Unimplemented: Read as ‘0’
bit 6-0 SHRADCS<6:0>: Shared ADC Core Input Clock Divider bits
These bits determine the number of TCORESRC (Source Clock Periods) for one shared TADCORE (Core
Clock Period).
1111111 = 254 Source Clock Periods
•
•
•
0000011 = 6 Source Clock Periods
0000010 = 4 Source Clock Periods
0000001 = 2 Source Clock Periods
0000000 = 2 Source Clock Periods
Note 1: For the 6-bit shared ADC core resolution (SHRRES<1:0> = 00), the SHREISEL<2:0> settings,
from ‘100’ to ‘111’, are not valid and should not be used. For the 8-bit shared ADC core resolution
(SHRRES<1:0> = 01), the SHREISEL<2:0> settings, ‘110’ and ‘111’, are not valid and should not be used.
bit 15 REFRDY: Band Gap and Reference Voltage Ready Flag bit
1 = Band gap is ready
0 = Band gap is not ready
bit 14 REFERR: Band Gap or Reference Voltage Error Flag bit
1 = Band gap was removed after the ADC module was enabled (ADON = 1)
0 = No band gap error was detected
bit 13-10 Reserved: Maintain as ‘0’
bit 9-0 SHRSAMC<9:0>: Shared ADC Core Sample Time Selection bits
These bits specify the number of shared ADC Core Clock Periods (TADCORE) for the shared ADC core
sample time.
1111111111 = 1025 TADCORE
•
•
•
0000000001 = 3 TADCORE
0000000000 = 2 TADCORE
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
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
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
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
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
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
Note 1: For the 6-bit ADC core resolution (RES<1:0> = 00), the EISEL<2:0> bits settings, from ‘100’ to ‘111’, are
not valid and should not be used. For the 8-bit ADC core resolution (RES<1:0> = 01), the EISEL<2:0> bits
settings, ‘110’ and ‘111’, are not valid and should not be used.
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 15-0 LVLEN<15:0>: Level Trigger for Corresponding Analog Input Enable bits
1 = Input trigger is level-sensitive
0 = Input trigger is edge-sensitive
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
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 15-0 EIEN<15:0>: Early Interrupt Enable for Corresponding Analog Inputs bits
1 = Early interrupt is enabled for the channel
0 = Early interrupt is disabled for the channel
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
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 15-0 EISTAT<15:0>: Early Interrupt Status for Corresponding Analog Inputs bits
1 = Early interrupt was generated
0 = Early interrupt was not generated since the last ADCBUFx read
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
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
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
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
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
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
R-0, HSC R-0, HSC R-0, HSC R-0, HSC R-0, HSC R-0, HSC R-0, HSC R-0, HSC
AN<7:0>RDY
bit 7 bit 0
bit 15-0 AN<15:0>RDY: Common Interrupt Enable for Corresponding Analog Inputs bits
1 = Channel conversion result is ready in the corresponding ADCBUFx register
0 = Channel conversion result is not ready
U-0 U-0 R-0, HSC R-0, HSC R-0, HSC R-0, HSC R-0, HSC R-0, HSC
— — AN<21:16>RDY
bit 7 bit 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
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
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 15-0 CMPEN<15:0>: Comparator Enable for Corresponding Input Channels bits
1 = Conversion result for corresponding channel is used by the comparator
0 = Conversion result for corresponding channel is not used by the comparator
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
INSELx
PWM Trigger
ALTINP
PGA1OUT (remappable I/O)
PGA2OUT
MUX
CMPxA(1)
Status
CMPxB(1) CMPx(1) 0 Pulse Stretcher
CMPxC(1) and
CMPxD(1) 1 Digital Filter Interrupt
Request
EXTREF
RANGE CMPPOL
AVDD
MUX
EXTREF2(2,3)
12 DAC1/
DAC3 Output
CMREFx Buffer
DACOUT1
PGA1OUT
DBCC Bit
FDEVOPT<6>
PGAOEN
DACOE
DAC2/
DAC4 Output
Buffer
DACOUT2(3)
PGA2OUT
PGAOEN
Note 1: x = 1-4
2: EXTREF1 is connected to DAC1/DAC3. EXTREF2 is connected to DAC2/DAC4.
3: Not available on all devices.
Hysteresis Range
(5 mV/10 mV/20 mV)
Input
Note 1: DACOUTx can be associated only with a single comparator at any given time. The software must ensure
that multiple comparators do not enable the DACx output by setting their respective DACOE bit.
Note 1: DACOUTx can be associated only with a single comparator at any given time. The software must ensure
that multiple comparators do not enable the DACx output by setting their respective DACOE bit.
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
GAIN<2:0> = 6
Gain of 64x
GAIN<2:0> = 5
Gain of 32x
GAIN<2:0> = 4
Gain of 16x
GAIN<2:0> = 3
Gain of 8x
GAIN<2:0> = 2
Gain of 4x
PGAx Calibrations<5:0>
Note 1: x = 1 and 2.
INSEL<1:0>
(CMPxCON)
SELPI<2:0>
PGAxCON(1) PGAxCAL(1)
+
PGAEN GAIN<2:0> –
PGAxP1(1)
DACx
PGAxP2(1) PGACAL<5:0>
PGAxP3(1)
CxCHS<1:0>
PGAxP4(1) (ADCON4H)
ADC
+
PGAx(1) S&H
GND
–
PGAxN2(1)
PGAxN3(1,3)
GND
PGAOEN
Note 1: x = 1 and 2.
2: The DACOUT2 device pin is only available on 64-pin devices.
3: The PGAxN3 input is not available on 28-pin devices.
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
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
Constant-Current Source
ISRC1
M ISRC2
U
X ISRC3
ISRC4
ISRCEN
OUTSEL<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
dsPIC33EPXXGS50X FAMILY
TABLE 23-1:
Device
Memory
Name Address Bits 23-16 Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Size
(Kbytes)
002B80 16
FSEC 005780 32 — AIVTDIS — — — CSS<2:0> CWRP GSS<1:0> GWRP — BSEN BSS<1:0> BWRP
00AF80 64
002B90 16
002B94 16
002B98 16
002B9C 16
002BA0 16
002BA4 16
002BA8 16
TABLE 23-1:
Device
Memory
Name Address Bits 23-16 Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Size
(Kbytes)
FDEVOPT 002BAC 16
FALTREG 002BB0 16
FBTSEQ 002BFC 16
dsPIC33EPXXGS50X FAMILY
0057FC 32 IBSEQ<11:0> BSEQ<11:0>
00AFFC 64
R R R R R R R R
DEVID<15:8>
bit 15 bit 8
R R R R R R R R
DEVID<7:0>
bit 7 bit 0
R R R R R R R R
DEVREV<15:8>
bit 15 bit 8
R R R R R R R R
DEVREV<7:0>
bit 7 bit 0
VDD
VCAP
CEFC
VSS
A variable postscaler divides down the WDT prescaler The WDT can be optionally controlled in software
output and allows for a wide range of time-out periods. when the WDTEN<1:0> Configuration bits have been
The postscaler is controlled by the WDTPOST<3:0> programmed to ‘0b10’. The WDT is enabled in soft-
Configuration bits (FWDT<3:0>), which allow the ware by setting the SWDTEN control bit (RCON<5>).
selection of 16 settings, from 1:1 to 1:32,768. Using the The SWDTEN control bit is cleared on any device
prescaler and postscaler, time-out periods, ranges from Reset. The software WDT option allows the user appli-
1 ms to 131 seconds can be achieved. cation to enable the WDT for critical code segments
and disables the WDT during non-critical segments for
The WDT, prescaler and postscaler are reset: maximum power savings.
• On any device Reset The WDT Time-out flag bit, WDTO (RCON<4>), is not
• On the completion of a clock switch, whether automatically cleared following a WDT time-out. To
invoked by software (i.e., setting the OSWEN bit detect subsequent WDT events, the flag must be
after changing the NOSCx bits) or by hardware cleared in software.
(i.e., Fail-Safe Clock Monitor)
• When a PWRSAV instruction is executed 23.6.4 WDT WINDOW
(i.e., Sleep or Idle mode is entered) The Watchdog Timer has an optional Windowed mode,
• When the device exits Sleep or Idle mode to enabled by programming the WINDIS bit in the WDT
resume normal operation Configuration register (FWDT<7>). In the Windowed
• By a CLRWDT instruction during normal execution mode (WINDIS = 0), the WDT should be cleared based
on the settings in the programmable Watchdog Timer
Note: The CLRWDT and PWRSAV instructions
Window select bits (WDTWIN<1:0>).
clear the prescaler and postscaler counts
when executed.
Sleep/Idle
WDTPRE WDTPOST<3:0>
SWDTEN WDT
WDTEN<1:0> Wake-up
1
RS RS
Prescaler Postscaler
LPRC Clock (Divide-by-N1) (Divide-by-N2) WDT
0 Reset
WINDIS
WDT Window Select
WDTWIN<1:0>
CLRWDT Instruction
GS
GS
CS(1) 0x00B000
CS(1)
0x005800
Unimplemented
Note 1: If CS is write-protected, the last page (GS (Read ‘0’s)
+ CS) of program memory will be protected 0x400000
from an erase condition. IVT
2: The last half (256 IW) of the last page of 0x400200
BS is unusable program memory.
IVT and AIVT
Assume BS
BS Protection
dsPIC33EP64GS50X family devices can be operated
in Dual Partition mode, where security is required for
AIVT + 256 IW(2)
each partition. When operating in Dual Partition mode,
BSLIM<12:0>
the Active and Inactive Partitions both contain unique
copies of the Reset vector, Interrupt Vector Tables (IVT
and AIVT, if enabled) and the Flash Configuration
GS
Words. Both partitions have the three security
segments described previously. Code may not be
executed from the Inactive Partition, but it may be
programmed by, and read from, the Active Partition, CS(1)
0x405800
subject to defined code protection. Figure 23-4 shows
the different security segments for a device operating in
Dual Partition mode. Note 1: If CS is write-protected, the last page
(GS + CS) of program memory will be
The device may also operate in a Protected Dual protected from an erase condition.
Partition mode or in Privileged Dual Partition mode. In 2: The last half (256 IW) of the last page of
Protected Dual Partition mode, Partition 1 is perma- BS is unusable program memory.
nently erase/write-protected. This implementation
allows for a “Factory Default” mode, which provides a
fail-safe backup image to be stored in Partition 1. For
example, a fail-safe bootloader can be placed in
Partition 1, along with a fail-safe backup code image,
which can be used or rewritten into Partition 2 in the
event of a failed Flash update to Partition 2.
Most single-word instructions are executed in a single Note: For more details on the instruction set,
instruction cycle, unless a conditional test is true or the refer to the “16-bit MCU and DSC
Program Counter is changed as a result of the Programmer’s Reference Manual”
instruction, or a PSV or table read is performed. In these (DS70157).
cases, the execution takes multiple instruction cycles,
Wm*Wm Multiplicand and Multiplier Working register pair for Square instructions
{W4 * W4,W5 * W5,W6 * W6,W7 * W7}
Wm*Wn Multiplicand and Multiplier Working register pair for DSP instructions
{W4 * W5,W4 * W6,W4 * W7,W5 * W6,W5 * W7,W6 * W7}
Wn One of 16 Working registers {W0...W15}
Wnd One of 16 Destination Working registers {W0...W15}
Wns One of 16 Source Working registers {W0...W15}
WREG W0 (Working register used in file register instructions)
Ws Source W register { Ws, [Ws], [Ws++], [Ws--], [++Ws], [--Ws] }
Wso Source W register
{ Wns, [Wns], [Wns++], [Wns--], [++Wns], [--Wns], [Wns+Wb] }
Wx X Data Space Prefetch Address register for DSP instructions
{[W8] + = 6, [W8] + = 4, [W8] + = 2, [W8], [W8] - = 6, [W8] - = 4, [W8] - = 2,
[W9] + = 6, [W9] + = 4, [W9] + = 2, [W9], [W9] - = 6, [W9] - = 4, [W9] - = 2,
[W9 + W12], none}
Wxd X Data Space Prefetch Destination register for DSP instructions {W4...W7}
Wy Y Data Space Prefetch Address register for DSP instructions
{[W10] + = 6, [W10] + = 4, [W10] + = 2, [W10], [W10] - = 6, [W10] - = 4, [W10] - = 2,
[W11] + = 6, [W11] + = 4, [W11] + = 2, [W11], [W11] - = 6, [W11] - = 4, [W11] - = 2,
[W11 + W12], none}
Wyd Y Data Space Prefetch Destination register for DSP instructions {W4...W7}
The MPASM Assembler generates relocatable object • Support for the entire device instruction set
files for the MPLINK Object Linker, Intel® standard HEX • Support for fixed-point and floating-point data
files, MAP files to detail memory usage and symbol • Command-line interface
reference, absolute LST files that contain source lines • Rich directive set
and generated machine code, and COFF files for • Flexible macro language
debugging.
• MPLAB X IDE compatibility
The MPASM Assembler features include:
• Integration into MPLAB X IDE projects
• User-defined macros to streamline
assembly code
• Conditional assembly for multipurpose
source files
• Directives that allow complete control over the
assembly process
Note 1: Stresses above those listed under “Absolute Maximum Ratings” may cause permanent damage to the
device. This is a stress rating only and functional operation of the device at those, or any other conditions
above those indicated in the operation listings of this specification, is not implied. Exposure to maximum
rating conditions for extended periods may affect device reliability.
2: Maximum allowable current is a function of device maximum power dissipation (see Table 26-2).
3: See the “Pin Diagrams” section for the 5V tolerant pins.
Load Condition 1 – for all pins except OSC2 Load Condition 2 – for OSC2
VDD/2
RL Pin CL
VSS
CL
Pin RL = 464
CL = 50 pF for all pins except OSC2
VSS 15 pF for OSC2 output
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
OSC1
OS20
OS30 OS30 OS31 OS31
OS25
CLKO
OS41 OS40
I/O Pin
(Input)
DI35
DI40
MCLR
TMCLR
(SY20)
BOR
Reset Sequence
TxCK
Tx10 Tx11
Tx15 Tx20
OS60
TMRx
TABLE 26-26: TIMER3 AND TIMER5 (TYPE C TIMER) EXTERNAL CLOCK TIMING REQUIREMENTS
Standard Operating Conditions: 3.0V to 3.6V
(unless otherwise stated)
AC CHARACTERISTICS
Operating temperature -40°C TA +85°C for Industrial
-40°C TA +125°C for Extended
Param
Symbol Characteristic(1) Min. Typ. Max. Units Conditions
No.
TC10 TtxH TxCK High Synchronous TCY + 20 — — ns Must also meet
Time Parameter TC15
TC11 TtxL TxCK Low Synchronous TCY + 20 — — ns Must also meet
Time Parameter TC15
TC15 TtxP TxCK Input Synchronous 2 TCY + 40 — — ns N = Prescale Value
Period with Prescaler (1, 8, 64, 256)
TC20 TCKEXTMRL Delay from External TxCK 0.75 TCY + 40 — 1.75 TCY + 40 ns
Clock Edge to Timer
Increment
Note 1: These parameters are characterized but not tested in manufacturing.
ICx
IC10 IC11
IC15
OCx
(Output Compare
or PWM Mode)
OC11 OC10
OC20
OCFA
OC15
OCx
MP30
Fault Input
(active-low)
MP20
PWMx
MP11 MP10
PWMx
SCKx
(CKP = 0)
SCKx
(CKP = 1)
SP36
SCKx
(CKP = 0)
SCKx
(CKP = 1)
SP30, SP31
TABLE 26-32: SPIx MASTER MODE (HALF-DUPLEX, TRANSMIT ONLY) TIMING REQUIREMENTS
Standard Operating Conditions: 3.0V to 3.6V
(unless otherwise stated)
AC CHARACTERISTICS
Operating temperature -40°C TA +85°C for Industrial
-40°C TA +125°C for Extended
Param
Symbol Characteristic(1) Min. Typ.(2) Max. Units Conditions
No.
SP10 FscP Maximum SCKx Frequency — — 15 MHz (Note 3)
SP20 TscF SCKx Output Fall Time — — — ns See Parameter DO32
(Note 4)
SP21 TscR SCKx Output Rise Time — — — ns See Parameter DO31
(Note 4)
SP30 TdoF SDOx Data Output Fall Time — — — ns See Parameter DO32
(Note 4)
SP31 TdoR SDOx Data Output Rise Time — — — ns See Parameter DO31
(Note 4)
SP35 TscH2doV, SDOx Data Output Valid After — 6 20 ns
TscL2doV SCKx Edge
SP36 TdiV2scH, SDOx Data Output Setup to 30 — — ns
TdiV2scL First SCKx Edge
Note 1: These parameters are characterized but not tested in manufacturing.
2: Data in “Typ.” column is at 3.3V, +25°C unless otherwise stated.
3: The minimum clock period for SCKx is 66.7 ns. Therefore, the clock generated in Master mode must not
violate this specification.
4: Assumes 50 pF load on all SPIx pins.
SCKx
(CKP = 1)
SP41
SCKx
(CKP = 0)
SCKx
(CKP = 1)
SP40 SP41
RefertotoFigure
Note:Refer
Note: Figure26-1
26-1for
forload
loadconditions.
conditions.
SP60
SSx
SP50 SP52
SCKx
(CKP = 0)
SCKx
(CKP = 1) SP36
SP35
SP72 SP73
SP40
SP60
SSx
SP50 SP52
SCKx
(CKP = 0)
SCKx
(CKP = 1) SP36
SP35
SP72 SP73
SP40
SSx
SP50 SP52
SCKx
(CKP = 0)
SCKx
(CKP = 1)
SP72 SP73
SP35 SP36
SP40
SSx
SP50 SP52
SCKx
(CKP = 0)
SCKx
(CKP = 1)
SP72 SP73
SP35 SP36
SP40
SCLx
IM31 IM34
IM30 IM33
SDAx
Start Stop
Condition Condition
SDAx
In
IM40 IM40 IM45
SDAx
Out
SCLx
IS31 IS34
IS30 IS33
SDAx
Start Stop
Condition Condition
SDAx
In
IS40 IS40 IS45
SDAx
Out
UA20
Note: The graphs provided following this note are a statistical summary based on a limited number of samples and are provided for design guidance purposes
only. The performance characteristics listed herein are not tested or guaranteed. In some graphs, the data presented may be outside the specified operating
range (e.g., outside specified power supply range) and therefore, outside the warranted range.
FIGURE 27-1: VOH – 4x DRIVER PINS FIGURE 27-3: VOL – 4x DRIVER PINS
VOH (V)
-0.050 VOL(V)
0.050
-0.045 3.6V
0.045 3.6V
-0.040 3.3V 0.040 3.3V
-0.035
0.035 3V
-0.030 3V
0.030
IOH(A)
IOL(A)
IOH(A)
dsPIC33EPXXGS50X FAMILY
-0.025 0.025
-0.020 0.020
-0.015 Absolute Maximum 0.015 Absolute Maximum
-0.010 0.010
-0.005 0.005
0.000 0.000
0.00 0.50 1.00 1.50 2.00 2.50 3.00 3.50 4.00 0.00 0.50 1.00 1.50 2.00 2.50 3.00 3.50 4.00
FIGURE 27-2: VOH – 8x DRIVER PINS FIGURE 27-4: VOL – 8x DRIVER PINS
8X
VOH(V) VOL(V)
-0.080 0.080 3.6V
3.6V
-0.070 0.070 3.3V
3.3V
-0.060 0.060 3V
-0.050 3V 0.050
IOH(A)
IOH(A)
IOL(A)
-0.040 0.040
DS70005127D-page 349
0 030
-0.030 0.030
Absolute Maximum Absolute Maximum
-0.020 0 020
0.020
-0.010 0.010
0.000 0.000
0.00 0.50 1.00 1.50 2.00 2.50 3.00 3.50 4.00 0.00 0.50 1.00 1.50 2.00 2.50 3.00 3.50 4.00
FIGURE 27-5: TYPICAL IPD CURRENT @ VDD = 3.3V FIGURE 27-7: TYPICAL IDOZE CURRENT @ VDD = 3.3V, +25°C
DS70005127D-page 350
dsPIC33EPXXGS50X FAMILY
300 30.0
250 25.0
200 20.0
IDOZE (mA)
IPD (µA)
150 15.0
100 10.0
50 5.0
0 0.0
-40 -30 -20 -10 0 10 20 30 40 50 60 70 80 90 100 110 120 1:1 1:2 1:64 1:128
Temperature (°C) Doze Ratio
FIGURE 27-6: TYPICAL IDD CURRENT @ VDD = 3.3V, +25°C FIGURE 27-8: TYPICAL IIDLE CURRENT @ VDD = 3.3V, +25°C
30 12.0
10.0
25
8.0
2013-2017 Microchip Technology Inc.
IIDLE (mA)
20
IDD (mA)
6.0
15
4.0
10
2.0
5 0.0
10 20 30 40 50 60 70 10 20 30 40 50 60 70
MIPS MIPS
FIGURE 27-9: TYPICAL FRC FREQUENCY @ VDD = 3.3V FIGURE 27-10: TYPICAL LPRC FREQUENCY @ VDD = 3.3V
2013-2017 Microchip Technology Inc.
7400 34.4
34.2
7350
34
Frequency (kHz)
Frequency (kHz)
7300
33.8
33.6
7250
33.4
7200
33.2
dsPIC33EPXXGS50X FAMILY
7150 33
-40 -20 0 20 40 60 80 100 120 -40 -20 0 20 40 60 80 100 120
Temperature (°C) Temperature (°C)
DS70005127D-page 351
dsPIC33EPXXGS50X FAMILY
NOTES:
XXXXXXXXXXXXXXXXXXXX dsPIC33EP64GS502
XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX
YYWWNNN 1710017
XXXXXXXX 33EP64GS
XXXXXXXX 502
YYWWNNN 1710017
XXXXXXXX 33EP64GS
XXXXXXXX 502
YYWWNNN 1710017
Note: In the event the full Microchip part number cannot be marked on one line, it will
be carried over to the next line, thus limiting the number of available
characters for customer-specific information.
XXXXXXXXXX dsPIC33EP
XXXXXXXXXX 64GS504
XXXXXXXXXX
YYWWNNN 1710017
XXXXXXXXXXX dsPIC33EP
XXXXXXXXXXX 64GS504
XXXXXXXXXXX
YYWWNNN 1710017
1
XXXXXXX
1
EP64GS
XXXYYWW 5051710
NNN 017
XXXXXXXXXX dsPIC33EP
XXXXXXXXXX 64GS506
XXXXXXXXXX
YYWWNNN 1710017
Note: For the most current package drawings, please see the Microchip Packaging Specification located at
http://www.microchip.com/packaging
Note: For the most current package drawings, please see the Microchip Packaging Specification located at
http://www.microchip.com/packaging
Note: For the most current package drawings, please see the Microchip Packaging Specification located at
http://www.microchip.com/packaging
28-Lead Ultra Thin Plastic Quad Flat, No Lead Package (2N) - 6x6x0.55 mm Body [UQFN]
With 4.65x4.65 mm Exposed Pad and Corner Anchors
Note: For the most current package drawings, please see the Microchip Packaging Specification located at
http://www.microchip.com/packaging
D A B
NOTE 1 N
1
2
E
(DATUM B)
(DATUM A)
2X
0.10 C
2X
0.10 C
TOP VIEW
A
C A1
0.10 C
SEATING
PLANE
(A3) 28X
SIDE VIEW 0.08 C
8X b1
0.10 C A B
D2
0.10 C A B
8X b2
E2
2 28X K
1
2X P
N
NOTE 1 e
L 28X b
0.10 C A B
0.05 C
BOTTOM VIEW
Microchip Technology Drawing C04-385B Sheet 1 of 2
28-Lead Ultra Thin Plastic Quad Flat, No Lead Package (2N) - 6x6x0.55 mm Body [UQFN]
With 4.65x4.65 mm Exposed Pad and Corner Anchors
Note: For the most current package drawings, please see the Microchip Packaging Specification located at
http://www.microchip.com/packaging
Units MILLIMETERS
Dimension Limits MIN NOM MAX
Number of Terminals N 28
Pitch e 0.65 BSC
Overall Height A 0.45 0.50 0.55
Standoff A1 0.00 0.02 0.05
Terminal Thickness A3 0.127 REF
Overall Width E 6.00 BSC
Exposed Pad Width E2 4.55 4.65 4.75
Overall Length D 6.00 BSC
Exposed Pad Length D2 4.55 4.65 4.75
Exposed Pad Corner Chamfer P - 0.35 -
Terminal Width b 0.25 0.30 0.35
Corner Anchor Pad b1 0.35 0.40 0.43
Corner Pad, Metal Free Zone b2 0.15 0.20 0.25
Terminal Length L 0.30 0.40 0.50
Terminal-to-Exposed-Pad K 0.20 - -
Notes:
1. Pin 1 visual index feature may vary, but must be located within the hatched area.
2. Package is saw singulated
3. Dimensioning and tolerancing per ASME Y14.5M
BSC: Basic Dimension. Theoretically exact value shown without tolerances.
REF: Reference Dimension, usually without tolerance, for information purposes only.
28-Lead Ultra Thin Plastic Quad Flat, No Lead Package (2N) - 6x6x0.55 mm Body [UQFN]
With 4.65x4.65 mm Exposed Pad and Corner Anchors
Note: For the most current package drawings, please see the Microchip Packaging Specification located at
http://www.microchip.com/packaging
C2
Y2
EV
28
Y3
1
X1
2 ØV
Y4
C1 G1
EV G2
X4 Y1
X3 E SILK SCREEN
Units MILLIMETERS
Dimension Limits MIN NOM MAX
Contact Pitch E 0.65 BSC
Optional Center Pad Width X2 4.75
Optional Center Pad Length Y2 4.75
Contact Pad Spacing C1 6.00
Contact Pad Spacing C2 6.00
Contact Pad Width (X28) X1 0.35
Contact Pad Length (X28) Y1 0.80
Corner Anchor (X4) X3 1.00
Corner Anchor (X4) Y3 1.00
Corner Anchor Chamfer (X4) X4 0.35
Corner Anchor Chamfer (X4) Y4 0.35
Contact Pad to Pad (X28) G1 0.20
Contact Pad to Center Pad (X28) G2 0.20
Thermal Via Diameter V 0.33
Thermal Via Pitch EV 1.20
Notes:
1. Dimensioning and tolerancing per ASME Y14.5M
BSC: Basic Dimension. Theoretically exact value shown without tolerances.
2. For best soldering results, thermal vias, if used, should be filled or tented to avoid solder loss during
reflow process
Microchip Technology Drawing C04-2385B
Note: Corner anchor pads are not connected internally and are designed as mechanical features when the
package is soldered to the PCB.
Note: For the most current package drawings, please see the Microchip Packaging Specification located at
http://www.microchip.com/packaging
D A
D1 B
NOTE 2
(DATUM A)
(DATUM B)
E1 E
NOTE 1 A A
2X
N
0.20 H A B
2X 1 2 3
0.20 H A B 4X 11 TIPS
TOP VIEW
0.20 C A B
A A2
C
SEATING PLANE
0.10 C A1
SIDE VIEW
1 2 3
NOTE 1
44 X b
e 0.20 C A B
BOTTOM VIEW
Microchip Technology Drawing C04-076C Sheet 1 of 2
Note: For the most current package drawings, please see the Microchip Packaging Specification located at
http://www.microchip.com/packaging
L θ
(L1)
SECTION A-A
Units MILLIMETERS
Dimension Limits MIN NOM MAX
Number of Leads N 44
Lead Pitch e 0.80 BSC
Overall Height A - - 1.20
Standoff A1 0.05 - 0.15
Molded Package Thickness A2 0.95 1.00 1.05
Overall Width E 12.00 BSC
Molded Package Width E1 10.00 BSC
Overall Length D 12.00 BSC
Molded Package Length D1 10.00 BSC
Lead Width b 0.30 0.37 0.45
Lead Thickness c 0.09 - 0.20
Lead Length L 0.45 0.60 0.75
Footprint L1 1.00 REF
Foot Angle θ 0° 3.5° 7°
Notes:
1. Pin 1 visual index feature may vary, but must be located within the hatched area.
2. Exact shape of each corner is optional.
3. Dimensioning and tolerancing per ASME Y14.5M
BSC: Basic Dimension. Theoretically exact value shown without tolerances.
REF: Reference Dimension, usually without tolerance, for information purposes only.
Note: For the most current package drawings, please see the Microchip Packaging Specification located at
http://www.microchip.com/packaging
Note: For the most current package drawings, please see the Microchip Packaging Specification located at
http://www.microchip.com/packaging
D A B
N
NOTE 1
1
2
E
(DATUM B)
(DATUM A)
2X
0.20 C
2X
0.20 C TOP VIEW
0.10 C A1
C
SEATING A
PLANE 44X
A3 0.08 C
SIDE VIEW
L
0.10 C A B
D2
0.10 C A B
E2
K
2
1
NOTE 1 N
44X b
e 0.07 C A B
0.05 C
BOTTOM VIEW
Microchip Technology Drawing C04-103D Sheet 1 of 2
44-Lead Plastic Quad Flat, No Lead Package (ML) - 8x8 mm Body [QFN or VQFN]
Note: For the most current package drawings, please see the Microchip Packaging Specification located at
http://www.microchip.com/packaging
Units MILLIMETERS
Dimension Limits MIN NOM MAX
Number of Pins N 44
Pitch e 0.65 BSC
Overall Height A 0.80 0.90 1.00
Standoff A1 0.00 0.02 0.05
Terminal Thickness A3 0.20 REF
Overall Width E 8.00 BSC
Exposed Pad Width E2 6.25 6.45 6.60
Overall Length D 8.00 BSC
Exposed Pad Length D2 6.25 6.45 6.60
Terminal Width b 0.20 0.30 0.35
Terminal Length L 0.30 0.40 0.50
Terminal-to-Exposed-Pad K 0.20 - -
Notes:
1. Pin 1 visual index feature may vary, but must be located within the hatched area.
2. Package is saw singulated
3. Dimensioning and tolerancing per ASME Y14.5M
BSC: Basic Dimension. Theoretically exact value shown without tolerances.
REF: Reference Dimension, usually without tolerance, for information purposes only.
Note: For the most current package drawings, please see the Microchip Packaging Specification located at
http://www.microchip.com/packaging
C1
X2
EV
44
G2
1
2
ØV
EV
C2 Y2
G1
Y1
E SILK SCREEN
X1
Note: For the most current package drawings, please see the Microchip Packaging Specification located at
http://www.microchip.com/packaging
48X TIPS
0.20 C A-B D
D
D1
D1
2
A B
E1 E
E1
A A 2
E1
4 N
NOTE 1 1 2 4X
D1 0.20 H A-B D
4
48x b
e 0.08 C A-B D
TOP VIEW
0.10 C H
C A2
A
SEATING
PLANE 0.08 C
A1 SIDE VIEW
Note: For the most current package drawings, please see the Microchip Packaging Specification located at
http://www.microchip.com/packaging
E T
L
(L1)
SECTION A-A
Units MILLIMETERS
Dimension Limits MIN NOM MAX
Number of Leads N 48
Lead Pitch e 0.50 BSC
Overall Height A - - 1.20
Standoff A1 0.05 - 0.15
Molded Package Thickness A2 0.95 1.00 1.05
Foot Length L 0.45 0.60 0.75
Footprint L1 1.00 REF
Foot Angle I 0° 3.5° 7°
Overall Width E 9.00 BSC
Overall Length D 9.00 BSC
Molded Package Width E1 7.00 BSC
Molded Package Length D1 7.00 BSC
Lead Thickness c 0.09 - 0.16
Lead Width b 0.17 0.22 0.27
Mold Draft Angle Top D 11° 12° 13°
Mold Draft Angle Bottom E 11° 12° 13°
Notes:
1. Pin 1 visual index feature may vary, but must be located within the hatched area.
2. Chamfers at corners are optional; size may vary.
3. Dimensions D1 and E1 do not include mold flash or protrusions. Mold flash or
protrusions shall not exceed 0.25mm per side.
4. Dimensioning and tolerancing per ASME Y14.5M
BSC: Basic Dimension. Theoretically exact value shown without tolerances.
REF: Reference Dimension, usually without tolerance, for information purposes only.
5. Datums A-B and D to be determined at center line between leads where leads exit
plastic body at datum plane H
Microchip Technology Drawing C04-300-Y8 Rev A Sheet 2 of 2
Note: For the most current package drawings, please see the Microchip Packaging Specification located at
http://www.microchip.com/packaging
C1
C2 G
SILK SCREEN
48
Y1
1 2
X1
E
Units MILLIMETERS
Dimension Limits MIN NOM MAX
Contact Pitch E 0.50 BSC
Contact Pad Spacing C1 8.40
Contact Pad Spacing C2 8.40
Contact Pad Width (X48) X1 0.30
Contact Pad Length (X48) Y1 1.50
Distance Between Pads G 0.20
Notes:
1. Dimensioning and tolerancing per ASME Y14.5M
BSC: Basic Dimension. Theoretically exact value shown without tolerances.
2. For best soldering results, thermal vias, if used, should be filled or tented to avoid solder loss during
reflow process
64-Lead Plastic Thin Quad Flatpack (PT)-10x10x1 mm Body, 2.00 mm Footprint [TQFP]
Note: For the most current package drawings, please see the Microchip Packaging Specification located at
http://www.microchip.com/packaging
D
D1
D1/2
D
NOTE 2
E1/2
A B
E1 E
A A
SEE DETAIL 1
N
4X N/4 TIPS
0.20 C A-B D 1 3
2
4X
NOTE 1
0.20 H A-B D
TOP VIEW
A2
A
C 0.05
SEATING
PLANE
A1
64 X b
0.08 C 0.08 C A-B D
e
SIDE VIEW
64-Lead Plastic Thin Quad Flatpack (PT)-10x10x1 mm Body, 2.00 mm Footprint [TQFP]
Note: For the most current package drawings, please see the Microchip Packaging Specification located at
http://www.microchip.com/packaging
E
L T
(L1) X=A—B OR D
SECTION A-A X
e/2
DETAIL 1
Units MILLIMETERS
Dimension Limits MIN NOM MAX
Number of Leads N 64
Lead Pitch e 0.50 BSC
Overall Height A - - 1.20
Molded Package Thickness A2 0.95 1.00 1.05
Standoff A1 0.05 - 0.15
Foot Length L 0.45 0.60 0.75
Footprint L1 1.00 REF
Foot Angle I 0° 3.5° 7°
Overall Width E 12.00 BSC
Overall Length D 12.00 BSC
Molded Package Width E1 10.00 BSC
Molded Package Length D1 10.00 BSC
Lead Thickness c 0.09 - 0.20
Lead Width b 0.17 0.22 0.27
Mold Draft Angle Top D 11° 12° 13°
Notes: Mold Draft Angle Bottom E 11° 12° 13°
1. Pin 1 visual index feature may vary, but must be located within the hatched area.
2. Chamfers at corners are optional; size may vary.
3. Dimensions D1 and E1 do not include mold flash or protrusions. Mold flash or
protrusions shall not exceed 0.25mm per side.
4. Dimensioning and tolerancing per ASME Y14.5M
BSC: Basic Dimension. Theoretically exact value shown without tolerances.
REF: Reference Dimension, usually without tolerance, for information purposes only.
Microchip Technology Drawing C04-085C Sheet 2 of 2
Note: For the most current package drawings, please see the Microchip Packaging Specification located at
http://www.microchip.com/packaging
• Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the
intended manner and under normal conditions.
• There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our
knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip’s Data
Sheets. Most likely, the person doing so is engaged in theft of intellectual property.
• Microchip is willing to work with the customer who is concerned about the integrity of their code.
• Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not
mean that we are guaranteeing the product as “unbreakable.”
Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our
products. Attempts to break Microchip’s code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts
allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act.