Ds PIC33 EP
Ds PIC33 EP
Ds PIC33 EP
12-Bit
General Purpose I/O (GPIO)
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
DMA
PGA
Pins
CLC
PTG
I2C
Device
Timers(1)
PWM(2)
UART
CAN
SPI
28-Pin SOIC
MCLR 1 28 AVDD
RA0 2 27 AVSS
RA1 3 26 RA3
RA2 4 25 RA4
dsPIC33EP128GS702
RB0 5 24 RB14
RB9 6 23 RB13
AVDD 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/CMP1A/PGA1P1/RP16/RA0 16 TDO/AN19/PGA2N2/RP37/RB5
3 AN1/CMP1B/PGA1P2/PGA2P1/RP17/RA1 17 PGED1/TDI/AN20/SCL1/RP38/RB6
4 AN2/CMP1C/CMP2A/PGA1P3/PGA2P2/RP18/RA2 18 PGEC1/AN21/SDA1/RP39/RB7
5 AN3/CMP1D/CMP2B/PGA2P3/RP32/RB0 19 VSS
6 AN4/CMP2C/CMP3A/ISRC4/RP41/RB9 20 VCAP
7 AVDD 21 TMS/PWM3H/RP43/RB11
8 VSS 22 TCK/PWM3L/RP44/RB12
9 OSCI/CLKI/AN6/CMP3C/CMP4A/ISRC2/RP33/RB1 23 PWM2H/RP45/RB13
10 OSC2/CLKO/AN7/CMP3D/CMP4B/PGA1N2/RP34/RB2(1) 24 PWM2L/RP46/RB14
11 PGED2/DACOUT1/AN18/INT0/RP35/RB3 25 PWM1H/RP20/RA4
12 PGEC2/ADTRG31/EXTREF1/RP36/RB4 26 PWM1L/RP19/RA3
13 VDD 27 AVSS
14 PGED3/SDA2/FLT31/RP40/RB8 28 AVDD
MCLR
AVDD
AVSS
RA3
RA4
RA1
RA0
28 27 26 25 24 23 22
RA2 1 21 RB14
RB0 2 20 RB13
RB9 3 19 RB12
AVDD 4 dsPIC33EP128GS702 18 RB11
VSS 5 17 VCAP
RB1 6 16 VSS
RB2 7 15 RB7
8 9 10 11 12 13 14
RB6
RB3
RB4
RB8
RB15
RB5
VDD
1 AN2/CMP1C/CMP2A/PGA1P3/PGA2P2/RP18/RA2 15 PGEC1/AN21/SDA1/RP39/RB7
2 AN3/CMP1D/CMP2B/PGA2P3/RP32/RB0 16 VSS
3 AN4/CMP2C/CMP3A/ISRC4/RP41/RB9 17 VCAP
4 AVDD 18 TMS/PWM3H/RP46/RB11
5 VSS 19 TCK/PWM3L/RP44/RB12
6 OSCI/CLKI/AN6/CMP3C/CMP4A/ISRC2/RP33/RB1 20 PWM2H/RP45/RB13
7 OSC2/CLKO/AN7/CMP3D/CMP4B/PGA1N2/RP34/RB2(1) 21 PWM2L/RP46/RB14
8 PGED2/DACOUT1/AN18/INT0/RP35/RB3 22 PWM1H/RP20/RA4
9 PGEC2/ADTRG31/EXTREF1/RP36/RB4 23 PWM1L/RP19/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/CMP1A/PGA1P1/RP16/RA0
14 PGED1/TDI/AN20/SCL1/RP38/RB6 28 AN1/CMP1B/PGA1P2/PGA2P1/RP17/RA1
RB15
RC8
RC7
RC2
RB5
RB8
RB4
RB3
RB6
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 dsPIC33EPXXXGSX04 28 RC10
VCAP 7 27 RC9
RB11 8 26 AVDD
RB12 9 25 RB9
RB13 10 24 RB0
RB14 11 23 RA2
12
13
14
15
16
17
18
19
20
21
22
RC13
RC12
RA4
RA3
RC0
MCLR
RA0
RA1
AVSS
AVDD
AVDD
1 PGEC1/AN21/SDA1/RP39/RB7 23 AN2/CMP1C/CMP2A/PGA1P3/PGA2P2/RP18/RA2
2 AN1ALT/RP52/RC4 24 AN3/CMP1D/CMP2B/PGA2P3/RP32/RB0
3 AN0ALT/RP53/RC5 25 AN4/CMP2C/CMP3A/ISRC4/RP41/RB9
4 AN17/RP54/RC6 26 AVDD
5 RP51/RC3 27 AN11/PGA1N3/RP57/RC9
6 VSS 28 EXTREF2/AN10/PGA1P4/RP58/RC10
7 VCAP 29 VDD
8 TMS/PWM3H/RP43/RB11 30 VSS
9 TCK/PWM3L/RP44/RB12 31 AN8/CMP4C/PGA2P4/RP49/RC1
10 PWM2H/RP45/RB13 32 OSCI/CLKI/AN6/CMP3C/CMP4A/ISRC2/RP33/RB1
11 PWM2L/RP46/RB14 33 OSC2/CLKO/AN7/CMP3D/CMP4B/PGA1N2/RP34/RB2(1)
12 PWM1H/RP20/RA4 34 PGED2/DACOUT1/AN18/INT0/RP35/RB3
13 PWM1L/RP19/RA3 35 PGEC2/ADTRG31/RP36/RB4
14 FLT12/RP48/RC0 36 EXTREF1/AN9/CMP4D/RP50/RC2
15 FLT11/RP61/RC13 37 ASDA1/RP55/RC7
16 AVSS 38 ASCL1/RP56/RC8
17 AVDD 39 VSS
18 MCLR 40 VDD
19 AVDD 41 PGED3/SDA2/FLT31/RP40/RB8
20 AN14/PGA2N3/RP60/RC12 42 PGEC3/SCL2/RP47/RB15
21 AN0/CMP1A/PGA1P1/RP16/RA0 43 TDO/AN19/PGA2N2/RP37/RB5
22 AN1/CMP1B/PGA1P2/PGA2P1/RP17/RA1 44 PGED1/TDI/AN20/SCL1/RP38/RB6
48-Pin TQFP
RD14
RB15
RC8
RC7
RC2
RB6
RB5
RB8
RB4
RB3
VDD
VSS
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 dsPIC33EPXXXGSX05 31 VDD
VCAP 7 30 RC10
RD4 8 29 RC9
RB11 9 28 AVDD
RB12 10 27 RB9
RB13 11 26 RB0
RB14 12 25 RA2
13
14
15
16
17
18
19
20
21
22
23
24
RC0
MCLR
AVSS
AVDD
AVDD
RC13
RD10
RC12
RA4
RA3
RA0
RA1
1 PGEC1/AN21/SDA1/RP39/RB7 25 AN2/CMP1C/CMP2A/PGA1P3/PGA2P2/RP18/RA2
2 AN1ALT/RP52/RC4 26 AN3/CMP1D/CMP2B/PGA2P3/RP32/RB0
3 AN0ALT/RP53/RC5 27 AN4/CMP2C/CMP3A/ISRC4/RP41/RB9
4 AN17/RP54/RC6 28 AVDD
5 RP51/RC3 29 AN11/PGA1N3/RP57/RC9
6 VSS 30 EXTREF2/AN10/PGA1P4/RP58/RC10
7 VCAP 31 VDD
8 RP68/RD4 32 VSS
9 TMS/PWM3H/RP43/RB11 33 N/C
10 TCK/PWM3L/RP44/RB12 34 AN8/CMP4C/PGA2P4/RP49/RC1
11 PWM2H/RP45/RB13 35 OSCI/CLKI/AN6/CMP3C/CMP4A/ISRC2/RP33/RB1
12 PWM2L/RP46/RB14 36 OSC2/CLKO/AN7/CMP3D/CMP4B/PGA1N2/RP34/RB2(1)
13 PWM1H/RP20/RA4 37 PGED2/DACOUT1/AN18/INT0/RP35/RB3
14 PWM1L/RP19/RA3 38 PGEC2/ADTRG31/RP36/RB4
15 FLT12/RP48/RC0 39 EXTREF1/AN9/CMP4D/RP50/RC2
16 FLT11/RP61/RC13 40 ASDA1/RP55/RC7
17 CLC4OUT/FLT10/RP74/RD10 41 ASCL1/RP56/RC8
18 AVSS 42 VSS
19 AVDD 43 VDD
20 MCLR 44 CLC3OUT/RD14
21 AVDD 45 PGED3/SDA2/FLT31/RP40/RB8
22 AN14/PGA2N3/RP60/RC12 46 PGEC3/SCL2/RP47/RB15
23 AN0/CMP1A/PGA1P1/RP16/RA0 47 TDO/AN19/PGA2N2/RP37/RB5
24 AN1/CMP1B/PGA1P2/PGA2P1/RP17/RA1 48 PGED1/TDI/AN20/SCL1/RP38/RB6
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
dsPIC33EPXXXGSX06
VSS 9 40 RD9
VDD 10 39 RD14
AVDD 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
RB9
RD7
RD13
RC9
RC10
RC1
RB1
RB2
RD2
RC15
RB3
AVSS
VSS
AVDD
AVDD
VDD
Pin Pin Function Pin Pin Function
1 PWM4L/RP67/RD3 33 PGEC2/ADTRG31/RP36/RB4
2 PWM1H/RP20/RA4 34 RP62/RC14
3 PWM1L/RP19/RA3 35 EXTREF1/AN9/CMP4D/RP50/RC2
4 FLT12/RP48/RC0 36 ASDA1/RP55/RC7
5 FLT11/RP61/RC13 37 ASCL1/RP56/RC8
6 CLC4OUT/FLT10/RP74/RD10 38 VDD
7 MCLR 39 CLC3OUT/RD14
8 T5CK/FLT9/RP76/RD12 40 SCK3/RP73/RD9
9 VSS 41 VSS
10 VDD 42 AN5/CMP2D/CMP3B/ISRC3/RP72RD8
11 AVDD 43 PGED3/SDA2/FLT31/RP40/RB8
12 AN14/PGA2N3/RP60/RC12 44 PGEC3/SCL2/RP47/RB15
13 AN0/CMP1A/PGA1P1/RP16/RA0 45 INT4/RP75/RD11
14 AN1/CMP1B/PGA1P2/PGA2P1/RP17/RA1 46 TDO/AN19/PGA2N2/RP37/RB5
15 AN2/CMP1C/CMP2A/PGA1P3/PGA2P2/RP18/RA2 47 T4CK/RP64/RD0
16 AN3/CMP1D/CMP2B/PGA2P3/RP32/RB0 48 PGED1/TDI/AN20/SCL1/RP38/RB6
17 AN4/CMP2C/CMP3A/ISRC4/RP41/RB9 49 PGEC1/AN21/SDA1/RP39/RB7
18 AVDD 50 AN1ALT/RP52/RC4
19 AVDD 51 AN0ALT/RP53/RC5
20 AVSS 52 AN17/RP54/RC6
21 AN15/RP71/RD7 53 AN12/ISRC1/RP69/RD5
22 DACOUT2/AN13/RD13 54 PWM5H/RP70/RD6
23 AN11/PGA1N3/RP57/RC9 55 PWM5L/RP51/RC3
24 EXTREF2/AN10/PGA1P4/RP58/RC10 56 VCAP
25 VSS 57 VDD
26 VDD 58 PWM6H/RP68/RD4
27 AN8/CMP4C/PGA2P4/RP49/RC1 59 PWM6L/RD15
28 OSCI/CLKI/AN6/CMP3C/CMP4A/ISRC2/RP33/RB1 60 TMS/PWM3H/RP43/RB11
29 OSC2/CLKO/AN7/CMP3D/CMP4B/PGA1N2/RP34/RB2(1) 61 TCK/PWM3L/RP44/RB12
30 AN16/RP66/RD2 62 PWM2H/RP45/RB13
31 ASDA2/RP63/RC15 63 PWM2L/RP46/RB14
32 PGED2/DACOUT1/AN18/ASCL2/INT0/RP35/RB3 64 PWM4H/RP65/RD1
Legend: Shaded pins are up to 5 VDC tolerant.
RPn represents remappable peripheral functions. See Table 11-12 and Table 11-13 for the complete list of remappable sources.
Note 1: At device power-up (POR), a pulse with an amplitude around 2V and a duration greater than 500 µs, may be observed on this
device pin independent of pull-down resistors. It is recommended not to use this pin as an output driver unless the circuit being
driven can endure this active duration.
RD15
RB14
RB13
RB12
RE15
RE14
RE13
RE12
RB11
VCAP
RD1
RD4
RC3
RD6
RD5
RC6
RC5
RC4
RB7
VDD
80-Pin TQFP
80
79
78
77
76
75
74
73
72
71
70
69
68
67
66
65
64
63
62
61
RD3 1 60 RB6
RA4 2 59 RD0
RA3 3 58 RB5
RE0 4 57 RD11
RE1 5 56 RB15
RC0 6 55 RB8
RC13 7 54 RD8
RD10 8 53 RE11
MCLR 9 52 RE10
RD12 10 dsPIC33EPXXXGSX08 51 VSS
VSS 11 50 RD9
VDD 12 49 RD14
RE2 13 48 VDD
RE3 14 47 RC8
AVDD 15 46 RC7
RC12 16 45 RC2
RA0 17 44 RE9
RA1 18 43 RE8
RA2 19 42 RC14
RB0 20 41 RB4
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
RB9
RE4
RE5
RD7
RD13
RC9
RC10
RC1
RB1
RB2
RD2
RE6
RE7
RC15
RB3
AVSS
VSS
AVDD
AVDD
VDD
Pin Pin Function Pin Pin Function
1 PWM4L/RP67/RD3 41 PGEC2/ADTRG31/RP36/RB4
2 PWM1H/RP20/RA4 42 RP62/RC14
3 PWM1L/RP19/RA3 43 RE8
4 PWM8L/RE0 44 RE9
5 PWM8H/RE1 45 EXTREF1/AN9/CMP4D/RP50/RC2
6 FLT12/RP48/RC0 46 ASDA1/RP55/RC7
7 FLT11/RP61/RC13 47 ASCL1/RP56/RC8
8 CLC4OUT/FLT10/RP74/RD10 48 VDD
9 MCLR 49 CLC3OUT/RD14
10 T5CK/FLT9/RP76/RD12 50 SCK3/RP73/RD9
11 VSS 51 VSS
12 VDD 52 FLT21/RE10
13 FLT17/RE2 53 FLT22/RE11
14 FLT18/RE3 54 AN5/CMP2D/CMP3B/ISRC3/RP72/RD8
15 AVDD 55 PGED3/SDA2/FLT31/RP40/RB8
16 AN14/PGA2N3/RP60/RC12 56 PGEC3/SCL2/RP47/RB15
17 AN0/CMP1A/PGA1P1/RP16/RA0 57 INT4/RP75/RD11
18 AN1/CMP1B/PGA1P2/PGA2P1/RP17/RA1 58 TD0/AN19/PGA2N2/RP37/RB5
19 AN2/CMP1C/CMP2A/PGA1P3/PGA2P2/RP18/RA2 59 T4CK/RP64/RD0
20 AN3/CMP1D/CMP2B/PGA2P3/RP32/RB0 60 PGED1/TDI/AN20/SCL1/RP38/RB6
21 AN4/CMP2C/CMP3A/ISRC4/RP41/RB9 61 PGEC1/AN21/SDA1/RP39/RB7
22 RE4 62 AN1ALT/RP52/RC4
23 RE5 63 RE12
24 AVDD 64 RE13
25 AVDD 65 AN0ALT/RP53/RC5
26 AVSS 66 AN17/RP54/RC6
27 AN15/RP71/RD7 67 AN12/ISRC1/RP69/RD5
28 DACOUT2/AN13/RD13 68 PWM5H/RP70/RD6
29 AN11/PGA1N3/RP57/RC9 69 PWM5L/RP51/RC3
30 EXTREF2/AN10/PGA1P4/RP58/RC10 70 VCAP
31 VSS 71 VDD
32 VDD 72 PWM6H/RP68/RD4
33 AN8/CMP4C/PGA2P4/RP49/RC1 73 PWM6L/RD15
34 OSCI/CLKI/AN6/CMP3C/CMP4A/ISRC2/RP33/RB1 74 PWM7L/RE14
35 OSC2/CLKO/AN7/CMP3D/CMP4B/PGA1N2/RP34/RB2(1) 75 PWM7H/RE15
36 AN16/RP66/RD2 76 TMS/PWM3H/RP43/RB11
37 FLT19/RE6 77 TCK/PWM3L/RP44/RB12
38 FLT20/RE7 78 PWM2H/RP45/RB13
39 ASDA2/RP63/RC15 79 PWM2L/RP46/RB14
40 PGED2/DACOUT1/AN18/ASCL2/INT0/RP35/RB3 80 PWM4H/RP65/RD1
Legend: Shaded pins are up to 5 VDC tolerant.
RPn represents remappable peripheral functions. See Table 11-12 and Table 11-13 for the complete list of remappable sources.
Note 1: At device power-up (POR), a pulse with an amplitude around 2V and a duration greater than 500 µs, may be observed on this
device pin independent of pull-down resistors. It is recommended not to use this pin as an output driver unless the circuit being
driven can endure this active duration.
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 Website; 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
PORTB
Power-up
Timer
16
Timing Oscillator
Start-up
Generation Timer
OSC1/CLKI PORTC
POR/BOR
MCLR
Watchdog
Timer PORTD
VDD, VSS
AVDD, AVSS
Peripheral Modules
PORTE
CAN Input Output
PGA1, I2C1,
Modules PTG ADC Captures Compares
PGA2 I2C2
1-2 1-4 1-4
Remappable
Pins
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 recom-
Note 1: As an option, instead of a hard-wired connection, an mended that the capacitor, C, be isolated from the
inductor (L1) can be substituted between VDD and 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
1 2
L = ----------------------
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 30.0
“Electrical Characteristics” for additional information.
VOUT+
|VAC|
k1 k2
k4 VAC k3
VOUT-
FET FET
Driver Driver
dsPIC33EPXXXGS70X/80X
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 dsPIC33EPXXXGS70X/80X
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
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
W0-W3 W1 W1 W1 W1 W1
W2 W2 W2 W2 W2
W3 W3 W3 W3 W3
W4 W4 W4 W4 W4
Alternate
DSP Operand W5 W5 W5 W5 W5 Working/Address
Registers W6 W6 W6 W6 W6 Registers
Working/Address
Registers W7 W7 W7 W7 W7
W8 W8 W8 W8 W8
DSP Address W9 W9 W9 W9 W9
Registers W10 W10 W10 W10 W10
W11 W11 W11 W11 W11
W12 W12 W12 W12 W12
W13 W13 W13 W13 W13
Frame Pointer/W14 W14 W14 W14 W14
Stack Pointer/W15 0
DSP ACCA
Accumulators 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.
0x000200
User Program
Flash Memory
(22,016 instructions) 0x00AF7E
0x00AF80
Device Configuration
0x00AFFE
0x00B000
Unimplemented
(Read ‘0’s)
0x7FFFFE
0x800000
Reserved
0x800E46
0x800E48
Calibration Data
0x800E78
0x800E7A
Reserved
0x800EFE
0x800F00
UDID
0x800F08
Configuration Memory Space
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
0x800F7E
Configuration Memory Space
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
0x000200
Active Program
Flash Memory
Active Partition
(11,008 instructions)
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
(11,008 instructions)
0x40577E
0x405780
Device Configuration
0x4057FE
Unimplemented 0x405800
(Read ‘0’s) 0x7FFFFE
0x800000
Reserved
0x800E46
0x800E48
Calibration Data
0x800E78
0x800E7A
Reserved
Configuration Memory Space
0x800F7E
0x800F80
User OTP Memory
0x800FFC
0x800100
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
(22,016 instructions) Active Partition
0x00AB7E
0x00AB80
Device Configuration
0x00ABFE
0x00AC00
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
(22,016 instructions)
0x40AB7E
0x40AB80
Device Configuration
0x40ABFE
Unimplemented 0x40AC00
(Read ‘0’s)
0x7FFFFE
0x800000
Reserved
0x800E46
0x800E48
Calibration Data
0x800E78
0x800E7A
Reserved
Configuration Memory Space
0x800F7E
0x800F80
User OTP Memory
0x800FFC
0x800100
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
Near
X Data RAM (X) Data Space
0x2FFF 0x2FFE
0x3001 0x3000
0x8001 0x8000
X Data
Unimplemented (X)
Optionally
Mapped
into Program
Memory
0xFFFF 0xFFFE
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>
DS70005258C-page 52
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
DS_Addr<15:0> 0x7FFF
PSV
0x0000
Program
SFR Registers Memory
0x0FFF (lsw) 0x0000
0x1000 0x0000 (TBLPAG = 0x7F)
(DSRPAG = 0x2FF) lsw Using
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)
dsPIC33EPXXXGS70X/80X FAMILY
No Writes Allowed
0x7FFF
0x7F_FFFF
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 dsPIC33EPXXXGS70X/80X family devices contain 5.1 Table Instructions and Flash
internal Program Flash 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 instructions allow direct read
Flash memory can be programmed in three ways: and write access to the program memory space, from
• In-Circuit Serial Programming™ (ICSP™) the data memory, while the device is in normal operating
programming capability mode. The 24-bit target address in the program memory
is formed using bits<7:0> of the TBLPAG register and
• Enhanced In-Circuit Serial Programming
the Effective Address (EA) from a W register, specified
(Enhanced ICSP)
in the table instruction, as shown in Figure 5-1. The
• Run-Time Self-Programming (RTSP) TBLRDL and the TBLWTL instructions are used to read or
ICSP allows for a dsPIC33EPXXXGS70X/80X family write to bits<15:0> of program memory. TBLRDL and
device to be serially programmed while in the end TBLWTL can access program memory in both Word and
application circuit. This is done with a programming Byte modes. The TBLRDH and TBLWTH instructions are
clock and programming data (PGECx/PGEDx) line, used to read or write to bits<23:16> of program memory.
and three other lines for power (VDD), ground (VSS) and TBLRDH and TBLWTH can also access program memory
Master Clear (MCLR). This allows customers to in Word or Byte mode.
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 0x00 MSB2
memory, on boundaries of 1536 bytes and 192 bytes,
respectively. Figure 30-14 in Section 30.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 LSW2
all 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
of the operation. For example, when performing Flash every other word address boundary (0x000000,
write operations on the Inactive Partition in Dual 0x000004, 0x000008, etc.). To do this, it is necessary to
Partition mode, where the CPU remains running, it is erase the page that contains the desired address of the
necessary to wait for the NVM interrupt before location 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 Flash 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 Flash 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
Data Memory
PERIPHERAL DMA Arbiter
(see Figure 4-10)
SRAM
DMA Controller
DMA IRQ to DMA
DMA Ready and Interrupt
Control
DMA
Arbiter Channels Peripheral 1 Controller
Modules
0 1 2 3 CPU DMA
DMA X-Bus
Note: CPU and DMA address buses are not shown for clarity.
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 FORCE bit cannot be cleared by user software. The FORCE bit is cleared by hardware when the
forced DMA transfer is complete or the channel is disabled (CHEN = 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-0 STA<15:0>: DMA Primary Start Address bits (source or destination)
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 STB<15:0>: DMA Secondary Start Address bits (source or destination)
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: If the channel is enabled (i.e., active), writes to this register may result in unpredictable behavior of the
DMA channel and should be avoided.
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: If the channel is enabled (i.e., active), writes to this register may result in unpredictable behavior of the
DMA channel and should be avoided.
2: The number of DMA transfers = CNT<13:0> + 1.
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
REGISTER 8-10: DSADRL: DMA MOST RECENT RAM LOW ADDRESS REGISTER
R-0 R-0 R-0 R-0 R-0 R-0 R-0 R-0
DSADR<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 DSADR<15:0>: Most Recent DMA Address Accessed by DMA 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
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
S1 PLL (1)
OSC2 FVCO
POSCMD<1:0>
FP(2)
÷2
FRCDIV
FRC FRCCLK FRCDIVN FOSC
Oscillator S7
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 9-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 11.6 “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 +
WR PORTx CK
Data Latch
Read LATx
Input Data
Read PORTx
TRISA — — — — — — — — — — — TRISA<4:0>
PORTA — — — — — — — — — — — RA<4:0>
LATA — — — — — — — — — — — LATA<4:0>
dsPIC33EPXXXGS70X/80X FAMILY
ODCA — — — — — — — — — — — ODCA<4:0>
CNENA — — — — — — — — — — — CNIEA<4:0>
CNPUA — — — — — — — — — — — CNPUA<4:0>
CNPDA — — — — — — — — — — — CNPDA<4:0>
ANSELA — — — — — — — — — — — — — ANSA<2:0>
Legend: — = unimplemented, read as ‘0’.
Note 1: Refer to Table 11-1 for bit availability on each pin count variant.
dsPIC33EPXXXGS70X/80X FAMILY
TABLE 11-8:
File
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
TRISD TRISD<15:0>
PORTD RD<15:0>
LATD LATD<15:0>
ODCD ODCD<15:0>
CNEND CNIED<15:0>
CNPUD CNPUD<15:0>
CNPDD CNPDD<15:0>
ANSELD — — ANSD13 — — — — ANSD<8:7> — ANSD5 — — ANSD2 — —
2016-2018 Microchip Technology Inc.
File
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
TRISE TRISE<15:0>
PORTE RE<15:0>
LATE LATE<15:0>
ODCE ODCE<15:0>
CNENE CNIEE<15:0>
dsPIC33EPXXXGS70X/80X FAMILY
CNPUE CNPUE<15:0>
CNPDE CNPDE<15:0>
ANSELE — — — — — — — — — — — — — — — —
Legend: — = unimplemented, read as ‘0’.
Note 1: Refer to Table 11-5 for bit availability on each pin count variant.
DS70005258C-page 131
dsPIC33EPXXXGS70X/80X FAMILY
11.2.1 OPEN-DRAIN CONFIGURATION 11.3.1 I/O PORT WRITE/READ TIMING
In addition to the PORTx, LATx and TRISx registers One instruction cycle is required between a port
for data control, port pins can also be individually direction change or port write operation and a read
configured for either digital or open-drain output. This operation of the same port. Typically, this instruction
is controlled by the Open-Drain Control x register, would be a NOP, as shown in Example 11-1.
ODCx, associated with each port. Setting any of the
bits configures the corresponding pin to act as an 11.4 Input Change Notification (ICN)
open-drain output.
The Input Change Notification function of the I/O ports
The open-drain feature allows the generation of out-
allows devices to generate interrupt requests to the
puts other than VDD by using external pull-up resistors.
processor in response to a Change-of-State (COS) on
The maximum open-drain voltage allowed on any pin
selected input pins. This feature can detect input
is the same as the maximum VIH specification for that
Change-of-States, even in Sleep mode, when the
particular pin. See the “Pin Diagrams” section for the
clocks are disabled. Every I/O port pin can be selected
available 5V tolerant pins and Table 30-11 for the
(enabled) for generating an interrupt request on a
maximum VIH specification for each pin.
Change-of-State.
11.3 Configuring Analog and Digital Three control registers are associated with the ICN
functionality of each I/O port. The CNENx registers
Port Pins contain the ICN interrupt enable control bits for each of
The ANSELx register controls the operation of the the input pins. Setting any of these bits enables an ICN
analog port pins. The port pins that are to function as interrupt for the corresponding pins.
analog inputs or outputs must have their corresponding Each I/O pin also has a weak pull-up and a weak
ANSELx and TRISx bits set. In order to use port pins for pull-down connected to it. The pull-ups and pull-
I/O functionality with digital modules, such as timers, downs act as a current source, or sink source,
UARTs, etc., the corresponding ANSELx bit must be connected to the pin, and eliminate the need for
cleared. external resistors when push button or keypad
The ANSELx register has a default value of 0xFFFF; devices are connected. The pull-ups and pull-downs
therefore, all pins that share analog functions are are enabled separately, using the CNPUx and the
analog (not digital) by default. CNPDx registers, which contain the control bits for
each of the pins. Setting any of the control bits
Pins with analog functions affected by the ANSELx
enables the weak pull-ups and/or pull-downs for the
registers are listed with a buffer type of analog in the
corresponding pins.
Pinout I/O Descriptions (see Table 1-1). Table 11-1
through Table 11-5 show ANSELx bits’ availability for Note: Pull-ups and pull-downs on Input Change
device variants. Notification pins should always be
If the TRISx bit is cleared (output) while the ANSELx bit disabled when the port pin is configured
is set, the digital output level (VOH or VOL) is converted as a digital output.
by an analog peripheral, such as the ADC module or
comparator module. EXAMPLE 11-1: PORT WRITE/READ
When the PORTx register is read, all pins configured as EXAMPLE
analog input channels are read as cleared (a low level). MOV 0xFF00, W0 ; Configure PORTB<15:8>
; as inputs
Pins configured as digital inputs do not convert an
MOV W0, TRISB ; and PORTB<7:0>
analog input. Analog levels on any pin, defined as a
; as outputs
digital input (including the ANx pins), can cause the NOP ; Delay 1 cycle
input buffer to consume current that exceeds the BTSS PORTB, #13 ; Next Instruction
device specifications.
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: See Table 11-1, Table 11-2, Table 11-3, Table 11-4 and Table 11-5 for individual bit availability in this 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
Note 1: See Table 11-1, Table 11-2, Table 11-3, Table 11-4 and Table 11-5 for individual bit availability in this 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
Note 1: See Table 11-1, Table 11-2, Table 11-3, Table 11-4 and Table 11-5 for individual bit availability in this 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
Note 1: See Table 11-1, Table 11-2, Table 11-3, Table 11-4 and Table 11-5 for individual bit availability in this 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
Note 1: See Table 11-1, Table 11-2, Table 11-3, Table 11-4 and Table 11-5 for individual bit availability in this 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
Note 1: See Table 11-1, Table 11-2, Table 11-3, Table 11-4 and Table 11-5 for individual bit availability in this 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
Note 1: See Table 11-1, Table 11-2, Table 11-3, Table 11-4 and Table 11-5 for individual bit availability in this 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
Note 1: See Table 11-1, Table 11-2, Table 11-3, Table 11-4 and Table 11-5 for individual bit availability in this register.
Default
0
U1TX Output
1
SDO2 Output
2
RPn
Output Data
CLC3OUT Output
65
CLC4OUT Output
66
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
See Table 11-11 which contains a list of remappable inputs for the index value.
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
See Table 11-11 which contains a list of remappable inputs for the index value.
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
See Table 11-11 which contains a list of remappable inputs for the index value.
bit 7-0 T2CKR<7:0>: Assign Timer2 External Clock (T2CK) to the Corresponding RPn Pin bits
See Table 11-11 which contains a list of remappable inputs for the index value.
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
See Table 11-11 which contains a list of remappable inputs for the index value.
bit 7-0 IC1R<7:0>: Assign Input Capture 1 (IC1) to the Corresponding RPn Pin bits
See Table 11-11 which contains a list of remappable inputs for the index value.
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
See Table 11-11 which contains a list of remappable inputs for the index value.
bit 7-0 IC3R<7:0>: Assign Input Capture 3 (IC3) to the Corresponding RPn Pin bits
See Table 11-11 which contains a list of remappable inputs for the index value.
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
See Table 11-11 which contains a list of remappable inputs for the index value.
bit 7-0 FLT1R<7:0>: Assign PWM Fault 1 (FLT1) to the Corresponding RPn Pin bits
See Table 11-11 which contains a list of remappable inputs for the index value.
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
See Table 11-11 which contains a list of remappable inputs for the index value.
bit 7-0 FLT3R<7:0>: Assign PWM Fault 3 (FLT3) to the Corresponding RPn Pin bits
See Table 11-11 which contains a list of remappable inputs for the index value.
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
See Table 11-11 which contains a list of remappable inputs for the index value.
bit 7-0 U1RXR<7:0>: Assign UART1 Receive (U1RX) to the Corresponding RPn Pin bits
See Table 11-11 which contains a list of remappable inputs for the index value.
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
See Table 11-11 which contains a list of remappable inputs for the index value.
bit 7-0 U2RXR<7:0>: Assign UART2 Receive (U2RX) to the Corresponding RPn Pin bits
See Table 11-11 which contains a list of remappable inputs for the index value.
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
See Table 11-11 which contains a list of remappable inputs for the index value.
bit 7-0 SDI1R<7:0>: Assign SPI1 Data Input (SDI1) to the Corresponding RPn Pin bits
See Table 11-11 which contains a list of remappable inputs for the index value.
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
See Table 11-11 which contains a list of remappable inputs for the index value.
bit 7-0 SDI2R<7:0>: Assign SPI2 Data Input (SDI2) to the Corresponding RPn Pin bits
See Table 11-11 which contains a list of remappable inputs for the index value.
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 C2RXR<7:0>: Assign CAN2 Receive (C2RX) to the Corresponding RPn Pin bits
See Table 11-11 which contains a list of remappable inputs for the index value.
bit 7-0 C1RXR<7:0>: Assign CAN1 Receive (C1RX) to the Corresponding RPn Pin bits
See Table 11-11 which contains a list of remappable inputs for the index value.
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 SCK3R<7:0>: Assign SPI3 Clock Input (SCK3) to the Corresponding RPn Pin bits
See Table 11-11 which contains a list of remappable inputs for the index value.
bit 7-0 SDI3R<7:0>: Assign SPI3 Data Input (SDI3) to the Corresponding RPn Pin bits
See Table 11-11 which contains a list of remappable inputs for the index value.
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 (SYNCI1) to the Corresponding RPn Pin bits
See Table 11-11 which contains a list of remappable inputs for the index value.
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
See Table 11-11 which contains a list of remappable inputs for the index value.
bit 7-0 FLT5R<7:0>: Assign PWM Fault 5 (FLT5) to the Corresponding RPn Pin bits
See Table 11-11 which contains a list of remappable inputs for the index value.
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
See Table 11-11 which contains a list of remappable inputs for the index value.
bit 7-0 FLT7R<7:0>: Assign PWM Fault 7 (FLT7) to the Corresponding RPn Pin bits
See Table 11-11 which contains a list of remappable inputs for the index value.
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 CLCINAR<7:0>: Assign CLC Input A (CLCINA) to the Corresponding RPn Pin bits
See Table 11-11 which contains a list of remappable inputs for the index value.
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
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
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
0
(1)
FP Prescaler 10 T1CLK
(/n) TGATE
Reset Data
00 TMR1 Latch
TCKPS<1:0>
0 CLK ADC Trigger
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 13-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.
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.
3: For each OCMPx instance, a different PTG trigger out is used:
OCMP1 – PTG trigger out [0]
OCMP2 – PTG trigger out [1]
OCMP3 – PTG trigger out [2]
OCMP4 – PTG trigger out [3]
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.
3: For each OCMPx instance, a different PTG trigger out is used:
OCMP1 – PTG trigger out [0]
OCMP2 – PTG trigger out [1]
OCMP3 – PTG trigger out [2]
OCMP4 – PTG trigger out [3]
• Eight PWMx Generators with Two Outputs per Multiphase PWM is often used to improve DC/DC
Generator Converter load transient response, and reduce the size
of output filter capacitors and inductors. Multiple DC/DC
• Two Master Time Base modules
Converters are often operated in parallel, but phase
• Individual Time Base and Duty Cycle for each shifted in time. A single PWM output, operating at
PWM Output 250 kHz, has a period of 4 s but an array of four PWM
• Duty Cycle, Dead Time, Phase Shift and a channels, staggered by 1 s each, yields an effective
Frequency Resolution of 1.04 ns switching frequency of 1 MHz. Multiphase PWM
• Independent Fault and Current-Limit Inputs applications typically use a fixed-phase relationship.
• Redundant Output Variable phase PWM is useful in Zero Voltage
• True Independent Output Transition (ZVT) power converters. Here, the PWM
• Center-Aligned PWM mode duty cycle is always 50% and the power flow is
controlled by varying the relative phase shift between
• Output Override Control
the two PWM generators.
• Chop mode (also known as Gated mode)
• Special Event Trigger
• Dual Trigger from PWMx to Analog-to-Digital
Converter (ADC)
• PWMxL and PWMxH Output Pin Swapping
• Independent PWMx Frequency, Duty Cycle and
Phase-Shift Changes
• Enhanced Leading-Edge Blanking (LEB) Functionality
• PWM Capture Functionality
Note: Duty cycle, dead time, phase shift and
frequency resolution is 8.32 ns in
Center-Aligned PWM mode.
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
PWM Generator 1 – PWM Generator 8 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 three 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 16-7: STPER: PWM 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 SSEVTCMP 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 PWM clock prescaler (PCLKDIV<2:0>) in the
PTCON2 register (Register 16-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 PWM 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 PWM period (0 to 40 ns, depending on the mode of
operation), PWM duty cycle resolution will increase from one to three 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 (PTCON<15>) = 1.
4: Center-Aligned mode ignores the Least Significant three 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 (FCLCONx<8>) = 0 and ITB (PWMCONx<9>) = 1 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 (PTCON<15>) = 1.
4: Center-Aligned mode ignores the Least Significant three 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 (FCLCONx<8>) = 0 and ITB (PWMCONx<9>) = 1 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 PWM period (0 to 40 ns, depending on the mode of
operation), PWMx duty cycle resolution will increase from one to three 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 PWM period (0 to 40 ns, depending on the mode of
operation), PWMx duty cycle resolution will increase from one to three 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
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’
PTGHOLD
PTGL0<15:0> PTGTxLIM<15:0> PTGCxLIM<15:0> PTGSDLIM<15:0>
PTGADJ
PTG General PTG Step
PTG Loop
Purpose
Counter x Delay Timer
Step Command Timerx
PTGBTE<15:0>
PTGCST<15:0>
Step Command
PTGCON<15:0>
PTGDIV<4:0>
Trigger Outputs
PTGO0
PTGCLK<2:0> •
•
•
PTGO31
16-Bit Data Bus
FP
Clock Inputs
TAD
T1CLK
T2CLK PTG Control Logic
T3CLK Step Command
FOSC
Step Command
PTG Interrupts
PTG0IF
•
PWM •
Trigger Inputs
OC1 •
OC2 PTG3IF
IC1
CMPx
ADC
INT2
CNVCHSEL<5:0>
PTGQPTR<4:0>
PTG Watchdog
Timer(1) PTGWDTIF
PTGQUE0
PTGQUE1
Command
Decoder
PTGQUE14
PTGQUE15
PTGSTEPIF
Note 1: This is a dedicated Watchdog Timer for the PTG module and is independent of the device Watchdog Timer.
Note 1: These bits apply to the PTGWHI and PTGWLO commands only.
2: This bit is only used with the PTGCTRL Step command software trigger option.
Note 1: These bits apply to the PTGWHI and PTGWLO commands only.
2: This bit is only used with the PTGCTRL Step command software trigger option.
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: This register is read-only when the PTG module is executing Step commands (PTGEN = 1 and
PTGSTRT = 1).
2: This register is only used with the PTGCTRL OPTION = 1111 Step command.
Note 1: This register is read-only when the PTG module is executing Step commands (PTGEN = 1 and
PTGSTRT = 1).
2: This register is only used with the PTGCTRL OPTION = 1111 Step command.
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: This register is read-only when the PTG module is executing Step commands (PTGEN = 1 and
PTGSTRT = 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
Note 1: This register is read-only when the PTG module is executing Step commands (PTGEN = 1 and
PTGSTRT = 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
Note 1: A base Step delay of one PTG clock is added to any value written to the PTGSDLIM register
(Step Delay = (PTGSDLIM) + 1).
2: This register is read-only when the PTG module is executing Step commands (PTGEN = 1 and
PTGSTRT = 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
Note 1: This register is read-only when the PTG module is executing Step commands (PTGEN = 1 and
PTGSTRT = 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
Note 1: This register is read-only when the PTG module is executing Step commands (PTGEN = 1 and
PTGSTRT = 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
Note 1: This register is read-only when the PTG module is executing Step commands (PTGEN = 1 and
PTGSTRT = 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
Note 1: This register is read-only when the PTG module is executing Step commands (PTGEN = 1 and
PTGSTRT = 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
Note 1: This register is read-only when the PTG module is executing Step commands (PTGEN = 1 and
PTGSTRT = 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
Note 1: This register is read-only when the PTG module is executing Step commands (PTGEN = 1 and
PTGSTRT = 1).
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
bit 15-8 STEP(2x + 1)<7:0>: PTG Step Queue Pointer Register bits(2)
A queue location for storage of the STEP(2x +1) command byte.
bit 7-0 STEP(2x)<7:0>: PTG Step Queue Pointer Register bits(2)
A queue location for storage of the STEP(2x) command byte.
Note 1: This register is read-only when the PTG module is executing Step commands (PTGEN = 1 and
PTGSTRT = 1).
2: Refer to Table 17-1 for the Step command encoding.
3: The Step registers maintain their values on any type of Reset.
Internal
Data Bus
Read Write
Transmit
SPIxRXSR SPIxTXSR
SDIx MSb
0
Shift 1
SDOx
Control TXELM<5:0> = 6’b0
URDTEN
SSx & FSYNC Clock Edge
Control Control Select MCLKEN
SSx/FSYNC
REFO
Baud Rate
Generator
SCKx Peripheral Clock
Edge Clock
Select Control Enable Master Clock
Internal
Data Bus
Read Write
Transmit
Receive
SPIxRXSR SPIxTXSR
SDIx MSb
0
Shift 1
SDOx
Control TXELM<5:0> = 6’b0
URDTEN
SSx & FSYNC Clock Edge
Control Control Select MCLKEN
SSx/FSYNC
REFO
Baud Rate
Generator
Peripheral Clock
SCKx
Edge Clock
Select Control Enable Master Clock
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 AUDEN (SPIxCON1H<15>) = 1, this module functions as if CKE = 0, regardless of its actual value.
2: When FRMEN = 1, SSEN is not used.
3: MCLKEN can only be written when the SPIEN bit = 0.
4: This channel is not meaningful for DSP/PCM mode as LRC follows FRMSYPW.
Note 1: When AUDEN (SPIxCON1H<15>) = 1, this module functions as if CKE = 0, regardless of its actual value.
2: When FRMEN = 1, SSEN is not used.
3: MCLKEN can only be written when the SPIEN bit = 0.
4: This channel is not meaningful for DSP/PCM mode as LRC follows FRMSYPW.
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: SPITUR is cleared when SPIEN = 0. When IGNTUR = 1, SPITUR provides dynamic status of the
Transmit Underrun condition, but does not stop RX/TX operation and does not need to be cleared by
software.
Note 1: SPITUR is cleared when SPIEN = 0. When IGNTUR = 1, SPITUR provides dynamic status of the
Transmit Underrun condition, but does not stop RX/TX operation and does not need to be cleared by
software.
Note 1: RXELM3 and TXELM3 bits are only present when FIFODEPTH = 8 or higher.
2: RXELM4 and TXELM4 bits are only present when FIFODEPTH = 16 or higher.
3: RXELM5 and TXELM5 bits are only present when FIFODEPTH = 32.
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: Mask values higher than FIFODEPTH are not valid. The module will not trigger a match for any value in
this case.
2: RXMSK2 and TXMSK2 bits are only present when FIFODEPTH = 8 or higher.
3: RXMSK3 and TXMSK3 bits are only present when FIFODEPTH = 16 or higher.
4: RXMSK4 and TXMSK4 bits are only present when FIFODEPTH = 32.
SDOx SDIx
Serial Clock
Serial Transmit Buffer SCKx SCKx Serial Receive Buffer
(SPIxTXB)(2) (SPIxRXB)(2)
SSx(1)
SDOx SDIx
Serial Clock
Serial Transmit FIFO SCKx SCKx Serial Receive FIFO
(SPIxTXB)(2) (SPIxRXB)(2)
SSx(1)
PIC24F Processor 2
(SPIx Master, Frame Master)
SDOx SDIx
SDIx SDOx
Serial Clock
SCKx SCKx
SSx SSx
Frame Sync
Pulse
PIC24F Processor 2
SPIx Master, Frame Slave)
SDOx SDIx
SDIx SDOx
Serial Clock
SCKx SCKx
SSx SSx
Frame Sync
Pulse
PIC24F Processor 2
(SPIx Slave, Frame Master)
SDOx SDIx
SDIx SDOx
Serial Clock
SCKx SCKx
SSx SSx
Frame Sync
Pulse
PIC24F Processor 2
(SPIx Slave, Frame Slave)
SDOx SDIx
SDIx SDOx
Serial Clock
SCKx SCKx
SSx SSx
Frame Sync
Pulse
Where:
FPB is the Peripheral Bus Clock Frequency.
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
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
It is set or cleared by hardware 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
It is set by hardware at the beginning of master transmission. It is cleared by hardware 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
It is set by hardware 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
It is set by hardware when address matches the general call address. It is cleared by hardware at Stop
detection.
bit 8 ADD10: 10-Bit Address Status bit
1 = 10-bit address was matched
0 = 10-bit address was not matched
It is set by hardware at the match of the 2nd byte of the matched 10-bit address. It is cleared by hardware
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
It is set by hardware 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
It is set by hardware at an attempt to transfer I2CxRSR to I2CxRCV (cleared by software).
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.
DS1<2:0> G1POL
DS2<2:0> G2POL
DS3<2:0> G3POL
DS4<2:0> G4POL
D Q LCOUT
FCY CLK
MODE<2:0>
LCOE
CLC LCEN
Gate 1
Inputs TRISx Control
(32) Input Gate 2 CLCx
Logic Output
Data
Gate 3 Function Logic CLCx
Selection
Gate 4 Output
Gates
LCPOL Interrupt
See Figure 21-2
det
Set
See Figure 21-3 INTP CLCxIF
INTN
Interrupt
det
AND – OR OR – XOR
Gate 1 Gate 1
Gate 2 Gate 2
Logic Output Logic Output
Gate 3 Gate 3
Gate 4 Gate 4
Gate 1 Gate 1
S Q Logic Output
Gate 2 Gate 2
Logic Output
Gate 3 Gate 3
R
Gate 4 Gate 4
Gate 4
Gate 4
S D Q Logic Output
Gate 2 D Q Logic Output Gate 2
Gate 1
Gate 1 R
R
Gate 3
Gate 3
Gate 4
Gate 2 J Q Logic Output
S
Gate 1 Gate 2 D Q Logic Output
Gate 4 K
R Gate 1 LE
Gate 3 R
Gate 3
Data Selection
Input 0 000
Input 1 Data Gate 1
Input 2
Input 3 Data 1 Non-Inverted G1D1T
Input 4
Data 1
Input 5 Inverted G1D1N
Input 6
Input 7 111
G1D2T
DS1x (CLCxSEL<2:0>)
G1D2N Gate 1
Input 8 000
Input 9 G1D3T
Input 10 G1POL
Input 11 Data 2 Non-Inverted (CLCxCONH<0>)
G1D3N
Input 12 Data 2
Input 13 Inverted
Input 14 G1D4T
Input 15 111
DS2x (CLCxSEL<6:4>) G1D4N
Input 16 000
Input 17 Data Gate 2
Input 18 Gate 2
Input 19 Data 3 Non-Inverted
(Same as Data Gate 1)
Input 20 Data 3
Input 21 Inverted
Input 22 Data Gate 3
Input 23 111
Gate 3
DS3x (CLCxSEL<10:8>)
(Same as Data Gate 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
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
011 PWM1H
100 PWM5L
101 High-Speed PWM Clock
110 Timer2 Match
111 Timer3 Match
000 CLCINB
001 CLC2 Out
010 CMP1 Out
DS2<2:0>
011 SDI1
100 PTGO26
101 ECAN1
110 PWM2L
111 PWM6H
011 PWM3H
100 PWM7L
101 High-Speed PWM Clock
110 Timer2 Match
111 Timer3 Match
000 CLCINB
001 CLC1 Out
010 CMP1 Out
DS2<2:0>
011 SDI2
100 PTGO27
101 ECAN1
110 PWM4L
111 PWM8H
011 PWM5H
100 REFO1 Clock Output
101 High-Speed PWM Clock
110 Timer2 Match
111 PWM3L
000 CLCINB
001 CLC4 Out
010 CMP1 Out
DS2<2:0>
011 PWM5L
100 ADC End-of-Conversion
101 PWM3H
110 ICAP1 Sync Output
111 ICAP2 Sync Output
000 CLCINA
001 CLC3 Out
010 CMP2 Out
DS3<2:0>
011 PWM6H
100 UART1 RX
101 DMA Channel 1 Interrupt
110 OCMP1 Sync Output
111 PWM4L
000 CLCINB
001 CLC4 Out
010 CMP3 Out
DS4<2:0>
011 PWM6L
100 PTGO28
101 PWM4H
110 PC_PWM
111 OCMP3 Sync Output
011 PWM7L
100 ADC End-of-Conversion
101 PWM1H
110 ICAP1 Sync Output
111 ICAP2 Sync Output
000 CLCINA
001 CLC4 Out
010 CMP2 Out
DS3<2:0>
011 PWM8H
100 UART2 RX
101 DMA Channel 1 Interrupt
110 OCMP1 Sync Output
111 PWM2L
000 CLCINB
001 CLC3 Out
010 CMP3 Out
DS4<2:0>
011 PWM8L
100 PTGO29
101 PWM2H
110 PWM Sync Output
111 OCMP3 Sync Output
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 21-5: CLCxGLSH: CLCx GATE LOGIC INPUT SELECT HIGH REGISTER
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
G4D4T G4D4N G4D3T G4D3N G4D2T G4D2N G4D1T G4D1N
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
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
AN0ALT
Digital Comparator 1 ADCMP1 Interrupt
AN1 Reference
AN18 Dedicated Output Data
PGA2(1) ADC Core 1(2)
Clock
AN1ALT
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 Dedicated ADCAN0 Interrupt
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 the 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.
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 dsPIC33EPXXGS70X/80X
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.
2: If the NRE bit in the ADCON1L register is set, the end of conversion time is adjusted to reduce the noise
between ADC cores. Depending on the number of cores converting and the priority of the input, a few
additional TADs may be inserted, making the conversion time slightly less deterministic.
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 eight TADCORE clocks prior to when the data is ready
110 = Early interrupt is set and interrupt is generated seven TADCORE clocks prior to when the data is ready
101 = Early interrupt is set and interrupt is generated six TADCORE clocks prior to when the data is ready
100 = Early interrupt is set and interrupt is generated five TADCORE clocks prior to when the data is ready
011 = Early interrupt is set and interrupt is generated four TADCORE clocks prior to when the data is ready
010 = Early interrupt is set and interrupt is generated three TADCORE clocks prior to when the data is ready
001 = Early interrupt is set and interrupt is generated two TADCORE clocks prior to when the data is ready
000 = Early interrupt is set and interrupt is generated one 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
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
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
RxF15 Filter
RxF14 Filter
RxF13 Filter
RxF12 Filter
Control
CPU
Configuration Bus
Logic
CAN Protocol
Engine
Interrupts
CxTX CxRX
23.2 Modes of Operation Modes are requested by setting the REQOP<2:0> bits
(CxCTRL1<10:8>). Entry into a mode is Acknowledged
The CANx module can operate in one of several by monitoring the OPMODE<2:0> bits (CxCTRL1<7:5>).
operation modes selected by the user. These modes The module does not change the mode and the
include: OPMODEx bits until a change in mode is acceptable,
• Initialization mode generally during bus Idle time, which is defined as at least
• Disable mode eleven consecutive recessive bits.
• Normal Operation mode
• Listen Only mode
• Listen All Messages mode
• Loopback 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
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: C = Writable bit, but only ‘0’ can be Written to Clear bit
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
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: C = Writable bit, but only ‘0’ can be Written to Clear bit
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
Legend: C = Writable bit, but only ‘0’ can be Written to Clear bit
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
Legend: C = Writable bit, but only ‘0’ can be Written to Clear bit
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
Legend: C = Writable bit, but only ‘0’ can be Written to Clear bit
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
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: The buffers, SIDx, EIDx, DLCx, Data Field and Receive Status registers, are located in DMA RAM.
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
Note 1: Only written by module for receive buffers, unused for transmit buffers.
INSELx
PWM Trigger
ALTINP
PGA1OUT (remappable I/O)
PGA2OUT
CMPxA(1)
MUX
CMPxB(1) Status
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
(15 mV/30 mV/45 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
PGACAL<5:0>
Note 1: x = 1 and 2.
INSEL<1:0>
(CMPCONx)
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
Note 1: ISRC1 and ISCR3 are not available on 28, 44 and 48-pin packages. Refer to the “Pin Diagrams” section
for availability.
dsPIC33EPXXXGS70X/80X FAMILY
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)
00AF80 64
FSEC — AIVTDIS — — — CSS<2:0> CWRP GSS<1:0> GWRP — BSEN BSS<1:0> BWRP
015780 128
00AF90 64
FBSLIM — — — — BSLIM<12:0>
015790 128
00AF90 64
FSIGN — Reserved(2) — — — — — — — — — — — — — — —
015794 128
00AF98 64
FOSCSEL — — — — — — — — — IESO — — — — FNOSC<2:0>
015798 128
00AF9C 64
FOSC — — — — — — — — PLLKEN FCKSM<1:0> IOL1WAY — — OSCIOFNC POSCMD<1:0>
01579C 128
00AFA0 64
FWDT — — — — — — — WDTWIN<1:0> WINDIS WDTEN<1:0> WDTPRE WDTPOST<3:0>
0157A0 128
00AFA4 64
FPOR — — — — — — — — — — — — — — — — Reserved(1)
0157A4 128
00AFA8 64
FICD — BTSWP — — — — — — — Reserved(1) — JTAGEN — — — ICS<1:0>
0157A8 128
FDEVOPT 00AFAC 64
— — — — — — — — — — DBCC — ALTI2C2 ALTI2C1 Reserved(1) — PWMLOCK
0157AC 128
FALTREG 00AFB0 64 — —
CTXT4<2:0> — CTXT3<3:0> — CTXT2 <2:0> — CTXT1 <2:0>
0157B0 128
FBTSEQ 00AFFC 64
IBSEQ<11:0> BSEQ<11:0>
0157FC 128
FBOOT(4) 801000 — — — — — — — — — — — — — — — — BTMODE<1:0>
2016-2018 Microchip Technology Inc.
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
Note: It is important for the low-ESR capacitor to The BOR status bit (RCON<1>) is set to indicate that a
be placed as close as possible to the VCAP BOR has occurred. The BOR circuit continues to oper-
pin. ate while in Sleep or Idle modes and resets the device
should VDD fall below the BOR threshold voltage.
FIGURE 27-1: CONNECTIONS FOR THE
ON-CHIP VOLTAGE
REGULATOR(1,2,3)
3.3V
dsPIC33EP
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 27.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) 0x0XXX00
CS(1)
0x005800
Unimplemented
Note 1: If CS is write-protected, the last page (read ‘0’s)
(GS + CS) of program memory will be 0x400000
protected 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
dsPIC33EPXXXGS70X/80X family devices can be
operated in Dual Partition mode, where security is
AIVT + 256 IW(2)
required for each partition. When operating in Dual Par-
BSLIM<12:0>
tition mode, the Active and Inactive Partitions both
contain unique copies of the Reset vector, Interrupt
Vector Tables (IVT and AIVT, if enabled) and the Flash
GS
Configuration 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 27-4 and
Figure 27-5 show the different security segments for
devices 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.
AIVT + 256IW(2)
BSLIM<12:0>
GS
CS(1)
0x00AC00
Unimplemented
(read ‘0’s)
0x400000
IVT
0x400200
IVT and AIVT
Assume BS
BS Protection
GS
CS(1)
0x40AC00
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 30-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
I/O Pin
Old Value New Value
(Output)
DO31
DO32
MCLR
TMCLR
(SY20)
BOR
Reset Sequence
TxCK
Tx10 Tx11
Tx15 Tx20
OS60
TMRx
TABLE 30-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
FIGURE 30-11: SPI1, SPI2 AND SPI3 MASTER MODE (HALF-DUPLEX, TRANSMIT ONLY,
CKE = 0) TIMING CHARACTERISTICS(1,2)
SCKx
(CKP = 0)
SCKx
(CKP = 1)
SP36
SCKx
(CKP = 0)
SCKx
(CKP = 1)
SP30, SP31
TABLE 30-32: SPI1, SPI2 AND SPI3 MASTER MODE (HALF-DUPLEX, TRANSMIT ONLY)
TIMING REQUIREMENTS(5)
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
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 are not tested in manufacturing.
2: Data in “Typical” 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.
5: Pertaining to SPI3: dsPIC33EPXXXGS702, dsPIC33EPXXXGSX04 and dsPIC33EPXXXGSX05 devices
with a remappable SCK3 pin.
SCKx
(CKP = 1)
TABLE 30-33: SPI1, SPI2 AND SPI3 MASTER MODE (FULL-DUPLEX, CKE = 1, CKP = x, SMP = 1)
TIMING REQUIREMENTS(5)
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
SP10 FscP Maximum SCKx Frequency — — 9 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 TdoV2sc, SDOx Data Output Setup to 30 — — ns
TdoV2scL First SCKx Edge
SP40 TdiV2scH, Setup Time of SDIx Data 30 — — ns
TdiV2scL Input to SCKx Edge
SP41 TscH2diL, Hold Time of SDIx Data Input 30 — — ns
TscL2diL to SCKx Edge
Note 1: These parameters are characterized, but are not tested in manufacturing.
2: Data in “Typical” column is at 3.3V, +25°C unless otherwise stated.
3: The minimum clock period for SCKx is 111 ns. The clock generated in Master mode must not violate this
specification.
4: Assumes 50 pF load on all SPIx pins.
5: Pertaining to SPI3: dsPIC33EPXXXGS702, dsPIC33EPXXXGSX04 and dsPIC33EPXXXGSX05 devices
with a remappable SCK3 pin.
SCKx
(CKP = 1)
SP40 SP41
TABLE 30-34: SPI1, SPI2 AND SPI3 MASTER MODE (FULL-DUPLEX, CKE = 0, CKP = x, SMP = 1)
TIMING REQUIREMENTS(5)
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
SP10 FscP Maximum SCKx Frequency — — 9 MHz -40ºC to +125ºC (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 TdoV2scH, SDOx Data Output Setup to 30 — — ns
TdoV2scL First SCKx Edge
SP40 TdiV2scH, Setup Time of SDIx Data 30 — — ns
TdiV2scL Input to SCKx Edge
SP41 TscH2diL, Hold Time of SDIx Data Input 30 — — ns
TscL2diL to SCKx Edge
Note 1: These parameters are characterized, but are not tested in manufacturing.
2: Data in “Typical” column is at 3.3V, +25°C unless otherwise stated.
3: The minimum clock period for SCKx is 111 ns. The clock generated in Master mode must not violate this
specification.
4: Assumes 50 pF load on all SPIx pins.
5: Pertaining to SPI3: dsPIC33EPXXXGS702, dsPIC33EPXXXGSX04 and dsPIC33EPXXXGSX05 devices
with a remappable SCK3 pin.
SP60
SSx
SP50 SP52
SCKx
(CKP = 0)
SCKx
(CKP = 1) SP36
SDIx
MSb In Bit 14 - - - -1 LSb In
SP41
SP40
SP60
SSx
SP50 SP52
SCKx
(CKP = 0)
SCKx
(CKP = 1) SP36
SP35
SP72 SP73
SDIx
MSb In Bit 14 - - - -1 LSb In
SP41
SP40
SSx
SP50 SP52
SCKx
(CKP = 0)
SCKx
(CKP = 1)
SP72 SP73
SP35 SP36
SDOx
MSb Bit 14 - - - - - -1 LSb
SP41
SP40
SSx
SP50 SP52
SCKx
(CKP = 0)
SCKx
(CKP = 1)
SP72 SP73
SP35 SP36
SP40
SCK3
(CKP = 0)
SCK3
(CKP = 1)
Note 1: For dsPIC33EPXXXGSX06 and dsPIC33EPXXXGSX08 devices with a fixed SCK3 pin.
2: Refer to Figure 30-1 for load conditions.
SP36
SCK3
(CKP = 0)
SCK3
(CKP = 1)
SP30, SP31
Note 1: For dsPIC33EPXXXGSX06 and dsPIC33EPXXXGSX08 devices with a fixed SCK3 pin.
2: Refer to Figure 30-1 for load conditions.
TABLE 30-40: SPI3 MASTER MODE (HALF-DUPLEX, TRANSMIT ONLY) TIMING REQUIREMENTS(5)
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
SP10 FscP Maximum SCK3 Frequency — — 25 MHz (Note 3)
SP20 TscF SCK3 Output Fall Time — — — ns See Parameter DO32
(Note 4)
SP21 TscR SCK3 Output Rise Time — — — ns See Parameter DO31
(Note 4)
SP30 TdoF SDO3 Data Output Fall Time — — — ns See Parameter DO32
(Note 4)
SP31 TdoR SDO3 Data Output Rise Time — — — ns See Parameter DO31
(Note 4)
SP35 TscH2doV, SDO3 Data Output Valid after — 6 20 ns
TscL2doV SCK3 Edge
SP36 TdiV2scH, SDO3 Data Output Setup to 20 — — ns
TdiV2scL First SCK3 Edge
Note 1: These parameters are characterized, but are not tested in manufacturing.
2: Data in “Typical” column is at 3.3V, +25°C unless otherwise stated.
3: The minimum clock period for SCK3 is 66.7 ns. Therefore, the clock generated in Master mode must not
violate this specification.
4: Assumes 50 pF load on all SPI3 pins.
5: For dsPIC33EPXXXGSX06 and dsPIC33EPXXXGSX08 devices with a fixed SCK3 pin.
SCK3
(CKP = 1)
SP30, SP31
SP40
Note 1: For dsPIC33EPXXXGSX06 and dsPIC33EPXXXGSX08 devices with a fixed SCK3 pin.
2: Refer to Figure 30-1 for load conditions.
SCK3
(CKP = 0)
SCK3
(CKP = 1)
SP40 SP41
Note 1: For dsPIC33EPXXXGSX06 and dsPIC33EPXXXGSX08 devices with a fixed SCK3 pin.
2: Refer to Figure 30-1 for load conditions.
SP60
SS3
SP50 SP52
SCK3
(CKP = 0)
SCK3
(CKP = 1) SP36
SP35
SP72 SP73
SP40
Note 1: For dsPIC33EPXXXGSX06 and dsPIC33EPXXXGSX08 devices with a fixed SCK3 pin.
2: Refer to Figure 30-1 for load conditions.
SP60
SS3
SP50 SP52
SCK3
(CKP = 0)
SCK3
(CKP = 1) SP36
SP35
SP72 SP73
SP40
Note 1: For dsPIC33EPXXXGSX06 and dsPIC33EPXXXGSX08 devices with a fixed SCK3 pin.
2: Refer to Figure 30-1 for load conditions.
SS3
SP50 SP52
SCK3
(CKP = 0)
SCK3
(CKP = 1)
SP72 SP73
SP35 SP36
SP41
SP40
Note 1: For dsPIC33EPXXXGSX06 and dsPIC33EPXXXGSX08 devices with a fixed SCK3 pin.
2: Refer to Figure 30-1 for load conditions.
SS3
SP50 SP52
SCK3
(CKP = 0)
SCK3
(CKP = 1)
SP72 SP73
SP35 SP36
SDO3
MSb Bit 14 - - - - - -1 LSb
SP41
SP40
Note 1: For dsPIC33EPXXXGSX06 and dsPIC33EPXXXGSX08 devices with a fixed SCK3 pin.
2: Refer to Figure 30-1 for load conditions.
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
CA10 CA11
CxRX Pin
(input)
CA20
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 31-1: VOH – 4x DRIVER PINS FIGURE 31-3: VOL – 4x DRIVER PINS
VOH (V)
-0.050 VOL(V)
dsPIC33EPXXXGS70X/80X FAMILY
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)
-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 31-2: VOH – 8x DRIVER PINS FIGURE 31-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
DS70005258C-page 439
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 31-5: TYPICAL IPD CURRENT @ VDD = 3.3V FIGURE 31-7: TYPICAL IDOZE CURRENT @ VDD = 3.3V, +25°C
DS70005258C-page 440
dsPIC33EPXXXGS70X/80X 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 31-6: TYPICAL IDD CURRENT @ VDD = 3.3V, +25°C FIGURE 31-8: TYPICAL IIDLE CURRENT @ VDD = 3.3V, +25°C
30 12.0
10.0
25
8.0
2016-2018 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 31-9: TYPICAL FRC FREQUENCY @ VDD = 3.3V FIGURE 31-10: TYPICAL LPRC FREQUENCY @ VDD = 3.3V
2016-2018 Microchip Technology Inc.
7400 34.4
34.2
7350
34
Frequency (kHz)
Frequency (kHz)
7300
33.8
dsPIC33EPXXXGS70X/80X FAMILY
33.6
7250
33.4
7200
33.2
7150 33
-40 -20 0 20 40 60 80 100 120 -40 -20 0 20 40 60 80 100 120
Temperature (°C) Temperature (°C)
DS70005258C-page 441
dsPIC33EPXXXGS70X/80X FAMILY
NOTES:
XXXXXXXXXXXXXXXXXXXX dsPIC33EP128GS702
XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX
YYWWNNN 1810017
XXXXXXXX 33EP128
XXXXXXXX GS702
YYWWNNN 1810017
XXXXXXXX 33EP128
XXXXXXXX GS702
YYWWNNN 1810017
XXXXXXXXXX dsPIC33EP
XXXXXXXXXX 64GS804
XXXXXXXXXX
YYWWNNN 1810017
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.
XXXXXXXXXXX dsPIC33EP
XXXXXXXXXXX 64GS804
XXXXXXXXXXX
YYWWNNN 1810017
1
XXXXXXX 1
EP64GS
XXXYYWW 8051810
NNN 017
XXXXXXXXXX dsPIC33EP
XXXXXXXXXX 64GS806
XXXXXXXXXX
YYWWNNN 1810017
XXXXXXXXXXXX dsPIC33EP64
XXXXXXXXXXXX GS808
YYWWNNN 1810017
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-385 Rev C Sheet 1 of 2
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
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
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.
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
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-PT 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
/HDG3ODVWLF7KLQ4XDG)ODWSDFN 37 ±[[PP%RG\PP>74)3@
1RWH )RUWKHPRVWFXUUHQWSDFNDJHGUDZLQJVSOHDVHVHHWKH0LFURFKLS3DFNDJLQJ6SHFLILFDWLRQORFDWHGDW
KWWSZZZPLFURFKLSFRPSDFNDJLQJ
D
D1
E
e
E1
b N
NOTE 1
12 3 NOTE 2 α
A
c
φ
β A2
A1
L L1
8QLWV 0,//,0(7(56
'LPHQVLRQ/LPLWV 0,1 120 0$;
1XPEHURI/HDGV 1
/HDG3LWFK H %6&
2YHUDOO+HLJKW $ ± ±
0ROGHG3DFNDJH7KLFNQHVV $
6WDQGRII $ ±
)RRW/HQJWK /
)RRWSULQW / 5()
)RRW$QJOH I
2YHUDOO:LGWK ( %6&
2YHUDOO/HQJWK ' %6&
0ROGHG3DFNDJH:LGWK ( %6&
0ROGHG3DFNDJH/HQJWK ' %6&
/HDG7KLFNQHVV F ±
/HDG:LGWK E
0ROG'UDIW$QJOH7RS D
0ROG'UDIW$QJOH%RWWRP E
1RWHV
3LQYLVXDOLQGH[IHDWXUHPD\YDU\EXWPXVWEHORFDWHGZLWKLQWKHKDWFKHGDUHD
&KDPIHUVDWFRUQHUVDUHRSWLRQDOVL]HPD\YDU\
'LPHQVLRQV'DQG(GRQRWLQFOXGHPROGIODVKRUSURWUXVLRQV0ROGIODVKRUSURWUXVLRQVVKDOOQRWH[FHHGPPSHUVLGH
'LPHQVLRQLQJDQGWROHUDQFLQJSHU$60(<0
%6& %DVLF'LPHQVLRQ7KHRUHWLFDOO\H[DFWYDOXHVKRZQZLWKRXWWROHUDQFHV
5() 5HIHUHQFH'LPHQVLRQXVXDOO\ZLWKRXWWROHUDQFHIRULQIRUPDWLRQSXUSRVHVRQO\
0LFURFKLS 7HFKQRORJ\ 'UDZLQJ &%
Note: For the most current package drawings, please see the Microchip Packaging Specification located at
http://www.microchip.com/packaging
I M
I/O Ports ............................................................................ 127 Memory Organization ......................................................... 33
Configuring Analog/Digital Port Pins......................... 132 Resources .................................................................. 41
Special Function Register Maps................................. 42
Control Registers ...................................................... 133
Helpful Tips ............................................................... 142 Microchip Internet Web Site.............................................. 478
Open-Drain Configuration ......................................... 132 Modulo Addressing ............................................................. 57
Applicability................................................................. 58
Parallel I/O (PIO)....................................................... 127
Register Maps........................................................... 129 Operation Example..................................................... 57
PORTA ............................................................. 129 Start and End Address ............................................... 57
W Address Register Selection.................................... 57
PORTB ............................................................. 129
PORTC ............................................................. 130 MPLAB REAL ICE In-Circuit Emulator System ................ 377
PORTD ............................................................. 130 MPLAB X Integrated Development
PORTE ............................................................. 131 Environment Software .............................................. 375
Resources................................................................. 143 MPLINK Object Linker/MPLIB Object Librarian ................ 376
Multiplexer Input Sources
Write/Read Timing .................................................... 132
In-Circuit Debugger ........................................................... 361 CLC1 ........................................................................ 269
MPLAB ICD 3............................................................ 377 CLC2 ........................................................................ 270
CLC3 ........................................................................ 271
PICkit 3 Programmer ................................................ 377
In-Circuit Emulation........................................................... 351 CLC4 ........................................................................ 272
In-Circuit Serial Programming (ICSP) ....................... 351, 361
Input Capture .................................................................... 179
Control Registers ...................................................... 180
Resources................................................................. 179
• 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.
== ISO/TS 16949 ==