Professional Documents
Culture Documents
PIC24FJ Family Data Sheet PDF
PIC24FJ Family Data Sheet PDF
PIC24FJ Family Data Sheet PDF
Data Sheet
28/44-Pin General Purpose,
16-Bit Flash Microcontrollers
Preliminary
DS39881C
Note the following details of the code protection feature on Microchip devices:
Microchip products meet the specification contained in their particular Microchip Data Sheet.
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 Microchips 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 Microchips 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.
Trademarks
The Microchip name and logo, the Microchip logo, Accuron,
dsPIC, KEELOQ, KEELOQ logo, MPLAB, PIC, PICmicro,
PICSTART, PRO MATE, rfPIC and SmartShunt are registered
trademarks of Microchip Technology Incorporated in the
U.S.A. and other countries.
AmpLab, FilterLab, Linear Active Thermistor, MXDEV,
MXLAB, SEEVAL, SmartSensor and The Embedded Control
Solutions Company are registered trademarks of Microchip
Technology Incorporated in the U.S.A.
Analog-for-the-Digital Age, Application Maestro, CodeGuard,
dsPICDEM, dsPICDEM.net, dsPICworks, dsSPEAK, ECAN,
ECONOMONITOR, FanSense, In-Circuit Serial
Programming, ICSP, ICEPIC, Mindi, MiWi, MPASM, MPLAB
Certified logo, MPLIB, MPLINK, mTouch, PICkit, PICDEM,
PICDEM.net, PICtail, PowerCal, PowerInfo, PowerMate,
PowerTool, REAL ICE, rfLAB, Select Mode, Total Endurance,
UNI/O, WiperLock and ZENA are trademarks of Microchip
Technology Incorporated in the U.S.A. and other countries.
SQTP is a service mark of Microchip Technology Incorporated
in the U.S.A.
All other trademarks mentioned herein are property of their
respective companies.
2008, Microchip Technology Incorporated, Printed in the
U.S.A., All Rights Reserved.
Printed on recycled paper.
DS39881C-page ii
Preliminary
PIC24FJ64GA004 FAMILY
28/44-Pin General Purpose, 16-Bit Flash Microcontrollers
High-Performance CPU:
Analog Features:
Peripheral Features:
PIC24FJ
Device
Pins
Program
Memory
(bytes)
SRAM
(bytes)
Remappable
Pins
Timers
16-Bit
Capture
Input
Compare/
PWM
Output
UART w/
IrDA
SPI
I2C
10-Bit A/D
(ch)
Comparators
PMP/PSP
JTAG
Remappable Peripherals
16GA002
28
16K
4K
16
10
32GA002
28
32K
8K
16
10
48GA002
28
48K
8K
16
10
64GA002
28
64K
8K
16
10
16GA004
44
16K
4K
26
13
32GA004
44
32K
8K
26
13
48GA004
44
48K
8K
26
13
64GA004
44
64K
8K
26
13
Preliminary
DS39881C-page 1
PIC24FJ64GA004 FAMILY
Pin Diagrams
28-Pin QFN(1)
28
27
26
25
24
23
22
21
20
19
18
17
16
15
VDD
VSS
AN9/RP15/CN11/PMCS1/RB15
AN10/CVREF/RTCC/RP14/CN12/PMWR/RB14
AN11/RP13/CN13/PMRD/RB13
AN12/RP12/CN14/PMD0/RB12
PGC2/EMUC2/TMS/RP11/CN15/PMD1/RB11
PGD2/EMUD2/TDI/RP10/CN16/PMD2/RB10
VCAP/VDDCORE
DISVREG
TDO/RP9/SDA1/CN21/PMD3/RB9
TCK/RP8/SCL1/CN22/PMD4/RB8
RP7/INT0/CN23/PMD5/RB7
PGC3/EMUC3/RP6/ASCL1/CN24/PMD6/RB6
28 27 26 25 24 23 22
1
21
2
20
3
19
4 PIC24FJXXGA002 18
5
17
6
16
7
15
8 9 10 11 12 13 14
AN11/RP13/CN13/PMRD/RB13
AN12/RP12/CN14/PMD0/RB12
PGC2/EMUC2/TMS/RP11/CN15/PMD1/RB11
PGD2/EMUD2/TDI/RP10/CN16/PMD2/RB10
VCAP/VDDCORE
DISVREG
TDO/RP9/SDA1/CN21/PMD3/RB9
SOSCI/RP4/PMBE/CN1/RB4
SOSCO/T1CK/CN0/PMA1/RA4
VDD
PGD3/EMUD3/RP5/ASDA1/CN27/PMD7/RB5
PGC3/EMUC3/RP6/ASCL1/CN24/PMD6/RB6
RP7/INT0/CN23/PMD5/RB7
TCK/RP8/SCL1/CN22/PMD4/RB8
PGD1/EMUD1/AN2/C2IN-/RP0/CN4/RB0
PGC1/EMUC1/AN3/C2IN+/RP1/CN5/RB1
AN4/C1IN-/RP2/SDA2/CN6/RB2
AN5/C1IN+/RP3/SCL2/CN7/RB3
VSS
OSCI/CLKI/CN30/RA2
OSCO/CLKO/CN29/PMA0/RA3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
AN1/VREF-/CN3/RA1
AN0/VREF+/CN2/RA0
MCLR
VDD
VSS
AN9/RP15/CN11/PMCS1/RB15
AN10/CVREF/RTCC/RP14/CN12/PMWR/RB14
MCLR
AN0/VREF+/CN2/RA0
AN1/VREF-/CN3/RA1
PGD1/EMUD1/AN2/C2IN-/RP0/CN4/RB0
PGC1/EMUC1/AN3/C2IN+/RP1/CN5/RB1
AN4/C1IN-/RP2/SDA2/CN6/RB2
AN5/C1IN+/RP3/SCL2/CN7/RB3
VSS
OSCI/CLKI/CN30/RA2
OSCO/CLKO/CN29/PMA0/RA3
SOSCI/RP4/PMBE/CN1/RB4
SOSCO/T1CK/CN0/PMA1/RA4
VDD
PGD3/EMUD3/RP5/ASDA1/CN27/PMD7/RB5
PIC24FJXXGA002
Legend:
Note 1:
DS39881C-page 2
Preliminary
PIC24FJ64GA004 FAMILY
44
43
42
41
40
39
38
37
36
35
34
44-Pin QFN(1)
RP8/SCL1/CN22/PMD4/RB8
RP7/INT0/CN23/PMD5/RB7
PGC3/EMUC3/RP6/ASCL1/CN24/PMD6/RB6
PGD3/EMUD3/RP5/ASDA1/CN27/PMD7/RB5
VDD
VSS
RP21/CN26/PMA3/RC5
RP20/CN25/PMA4/RC4
RP19/CN28/PMBE/RC3
TDI/PMA9/RA9
SOSCO/T1CK/CN0/RA4
PIC24FJXXGA004
33
32
31
30
29
28
27
26
25
24
23
12
13
14
15
16
17
18
19
20
21
22
1
2
3
4
5
6
7
8
9
10
11
SOSCI/RP4/CN1/RB4
TDO/PMA8/RA8
OSCO/CLKO/CN29/RA3
OSCI/CLKI/CN30/RA2
VSS
VDD
AN8/RP18/CN10/PMA2/RC2
AN7/RP17/CN9/RC1
AN6/RP16/CN8/RC0
AN5/C1IN+/RP3/SCL2/CN7/RB3
AN4/C1IN-/RP2/SDA2/CN6/RB2
TMS/PMA10/RA10
TCK/PMA7/RA7
AN10/CVREF/RTCC/RP14/CN12/PMWR/RB14
AN9/RP15/CN11/PMCS1/RB15
AVSS
AVDD
MCLR
AN0/VREF+/CN2/RA0
AN1/VREF-/CN3/RA1
PGD1/EMUD1/AN2/C2IN-/RP0/CN4/RB0
PGC1/EMUC1/AN3/C2IN+/RP1/CN5/RB1
RP9/SDA1/CN21/PMD3/RB9
RP22/CN18/PMA1/RC6
RP23/CN17/PMA0/RC7
RP24/CN20/PMA5/RC8
RP25/CN19/PMA6/RC9
DISVREG
VCAP/VDDCORE
PGD2/EMUD2/RP10/CN16/PMD2/RB10
PGC2/EMUC2/RP11/CN15/PMD1/RB11
AN12/RP12/CN14/PMD0/RB12
AN11/RP13/CN13/PMRD/RB13
Legend:
Note 1:
Preliminary
DS39881C-page 3
PIC24FJ64GA004 FAMILY
44
43
42
41
40
39
38
37
36
35
34
44-Pin TQFP
RP8/SCL1/CN22/PMD4/RB8
RP7/INT0/CN23/PMD5/RB7
PGC3/EMUC3/RP6/ASCL1/CN24/PMD6/RB6
PGD3/EMUD3/RP5/ASDA1/CN27/PMD7/RB5
VDD
VSS
RP21/CN26/PMA3/RC5
RP20/CN25/PMA4/RC4
RP19/CN28/PMBE/RC3
TDI/PMA9/RA9
SOSCO/T1CK/CN0/RA4
PIC24FJXXGA004
12
13
14
15
16
17
18
19
20
21
22
1
2
3
4
5
6
7
8
9
10
11
33
32
31
30
29
28
27
26
25
24
23
SOSCI/RP4/CN1/RB4
TDO/PMA8/RA8
OSCO/CLKO/CN29/RA3
OSCI/CLKI/CN30/RA2
VSS
VDD
AN8/RP18/CN10/PMA2/RC2
AN7/RP17/CN9/RC1
AN6/RP16/CN8/RC0
AN5/C1IN+/RP3/SCL2/CN7/RB3
AN4/C1IN-/RP2/SDA2/CN6/RB2
TMS/PMA10/RA10
TCK/PMA7/RA7
AN10/CVREF/RTCC/RP14/CN12/PMWR/RB14
AN9/RP15/CN11/PMCS1/RB15
AVSS
AVDD
MCLR
AN0/VREF+/CN2/RA0
AN1/VREF-/CN3/RA1
PGD1/EMUD1/AN2/C2IN-/RP0/CN4/RB0
PGC1/EMUC1/AN3/C2IN+/RP1/CN5/RB1
RP9/SDA1/CN21/PMD3/RB9
RP22/CN18/PMA1/RC6
RP23/CN17/PMA0/RC7
RP24/CN20/PMA5/RC8
RP25/CN19/PMA6/RC9
DISVREG
VCAP/VDDCORE
PGD2/EMUD2/RP10/CN16/PMD2/RB10
PGC2/EMUC2/RP11/CN15/PMD1/RB11
AN12/RP12/CN14/PMD0/RB12
AN11/RP13/CN13/PMRD/RB13
Legend:
DS39881C-page 4
Preliminary
PIC24FJ64GA004 FAMILY
Table of Contents
1.0 Device Overview .......................................................................................................................................................................... 7
2.0 CPU ........................................................................................................................................................................................... 17
3.0 Memory Organization ................................................................................................................................................................. 23
4.0 Flash Program Memory.............................................................................................................................................................. 41
5.0 Resets ........................................................................................................................................................................................ 47
6.0 Interrupt Controller ..................................................................................................................................................................... 53
7.0 Oscillator Configuration .............................................................................................................................................................. 87
8.0 Power-Saving Features.............................................................................................................................................................. 95
9.0 I/O Ports ..................................................................................................................................................................................... 97
10.0 Timer1 ..................................................................................................................................................................................... 117
11.0 Timer2/3 and Timer4/5 ............................................................................................................................................................ 119
12.0 Input Capture............................................................................................................................................................................ 125
13.0 Output Compare....................................................................................................................................................................... 127
14.0 Serial Peripheral Interface (SPI)............................................................................................................................................... 133
15.0 Inter-Integrated Circuit (I2C) ................................................................................................................................................. 143
16.0 Universal Asynchronous Receiver Transmitter (UART) ........................................................................................................... 151
17.0 Parallel Master Port (PMP)....................................................................................................................................................... 159
18.0 Real-Time Clock And Calendar (RTCC) ................................................................................................................................. 169
19.0 Programmable Cyclic Redundancy Check (CRC) Generator .................................................................................................. 179
20.0 10-Bit High-speed A/D Converter............................................................................................................................................. 183
21.0 Comparator Module.................................................................................................................................................................. 193
22.0 Comparator Voltage Reference................................................................................................................................................ 197
23.0 Special Features ...................................................................................................................................................................... 199
24.0 Development Support............................................................................................................................................................... 209
25.0 Instruction Set Summary .......................................................................................................................................................... 213
26.0 Electrical Characteristics .......................................................................................................................................................... 221
27.0 Packaging Information.............................................................................................................................................................. 239
Appendix A: Revision History............................................................................................................................................................. 251
Appendix B: Additional Guidance for PIC24FJ64GA004 Family Applications ................................................................................... 252
Index ................................................................................................................................................................................................. 253
The Microchip Web Site ..................................................................................................................................................................... 257
Customer Change Notification Service .............................................................................................................................................. 257
Customer Support .............................................................................................................................................................................. 257
Reader Response .............................................................................................................................................................................. 258
Product Identification System ............................................................................................................................................................ 259
Preliminary
DS39881C-page 5
PIC24FJ64GA004 FAMILY
TO OUR VALUED CUSTOMERS
It is our intention to provide our valued customers with the best documentation possible to ensure successful use of your Microchip
products. To this end, we will continue to improve our publications to better suit your needs. Our publications will be refined and
enhanced as new volumes and updates are introduced.
If you have any questions or comments regarding this publication, please contact the Marketing Communications Department via
E-mail at docerrors@microchip.com or fax the Reader Response Form in the back of this data sheet to (480) 792-4150. We
welcome your feedback.
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:
Microchips Worldwide Web site; http://www.microchip.com
Your local Microchip sales office (see last page)
When contacting a sales office, please specify which device, revision of silicon and data sheet (include literature number) you are
using.
DS39881C-page 6
Preliminary
PIC24FJ64GA004 FAMILY
1.0
DEVICE OVERVIEW
1.1.2
PIC24FJ16GA002
PIC24FJ32GA002
PIC24FJ48GA002
PIC24FJ64GA002
PIC24FJ16GA004
PIC24FJ32GA004
PIC24FJ48GA004
PIC24FJ64GA004
1.1
1.1.1
Core Features
1.1.3
16-BIT ARCHITECTURE
POWER-SAVING TECHNOLOGY
Preliminary
DS39881C-page 7
PIC24FJ64GA004 FAMILY
1.1.4
1.3
EASY MIGRATION
1.2
2.
3.
DS39881C-page 8
Preliminary
PIC24FJ64GA004 FAMILY
Operating Frequency
Program Memory (bytes)
64GA004
48GA004
32GA004
16GA004
64GA002
48GA002
Features
32GA002
TABLE 1-1:
DC 32 MHz
16K
32K
48K
64K
16K
32K
48K
64K
5,504
11,008
16,512
22,016
5,504
11,008
16,512
22,016
4096
8192
Interrupt Sources
(soft vectors/NMI traps)
I/O Ports
Total I/O Pins
4096
8192
43
(39/4)
Ports A, B
Ports A, B, C
21
35
Timers:
5(1)
5(1)
5(1)
21
30
Serial Communications:
UART
2(1)
SPI (3-wire/4-wire)
2(1)
I2C
Yes
Yes
10
Analog Comparators
Remappable Pins
Resets (and delays)
Instruction Set
Packages
Note 1:
13
2
16
26
44-Pin QFN/TQFP
Preliminary
DS39881C-page 9
PIC24FJ64GA004 FAMILY
FIGURE 1-1:
Interrupt
Controller
16
16
16
Data Latch
Data RAM
PCH
PCL
Program Counter
Repeat
Stack
Control
Control
Logic
Logic
23
Address
Latch
PORTA(1)
RA0:RA9
16
23
16
Read AGU
Write AGU
Address Latch
PORTB
Program Memory
RB0:RB15
Data Latch
16
EA MUX
24
Inst Latch
Literal Data
Address Bus
PORTC(1)
16
16
RC0:RC9
Inst Register
RP(1)
Instruction
Decode &
Control
Control Signals
OSCO/CLKO
OSCI/CLKI
Timing
Generation
FRC/LPRC
Oscillators
DISVREG
RP0:RP25
16 x 16
W Reg Array
Oscillator
Start-up Timer
16-Bit ALU
Power-on
Reset
Watchdog
Timer
Voltage
Regulator
BOR and
LVD(2)
Timer1
17x17
Multiplier
Power-up
Timer
Precision
Band Gap
Reference
VDDCORE/VCAP
Divide
Support
VDD, VSS
16
MCLR
Timer2/3(3)
Timer4/5(3)
RTCC
10-Bit
ADC
Comparators(3)
PMP/PSP
IC1-5(3)
Note
1:
2:
3:
PWM/
OC1-5(3)
CN1-22(1)
SPI1/2(3)
I2C1/2
UART1/2(3)
Not all pins or features are implemented on all device pinout configurations. See Table 1-2 for I/O port pin descriptions.
BOR and LVD functionality is provided when the on-board voltage regulator is enabled.
Peripheral I/Os are accessible through remappable pins.
DS39881C-page 10
Preliminary
PIC24FJ64GA004 FAMILY
TABLE 1-2:
28-Pin
SPDIP/
SSOP/SOIC
28-Pin
QFN
44-Pin
QFN/TQFP
I/O
Input
Buffer
27
19
ANA
AN1
28
20
ANA
AN2
21
ANA
AN3
22
ANA
AN4
23
ANA
Function
AN0
Description
AN5
24
ANA
AN6
25
ANA
AN7
26
ANA
AN8
27
ANA
AN9
26
23
15
ANA
AN10
25
22
14
ANA
AN11
24
21
11
ANA
AN12
23
20
10
ANA
ASCL1
15
12
42
I/O
I2C
ASDA1
14
11
41
I/O
I C
AVDD
17
AVSS
16
C1IN-
23
ANA
C1IN+
24
ANA
C2IN-
21
ANA
C2IN+
22
ANA
CLKI
30
ANA
CLKO
10
31
Legend:
Note 1:
Preliminary
DS39881C-page 11
PIC24FJ64GA004 FAMILY
TABLE 1-2:
28-Pin
SPDIP/
SSOP/SOIC
28-Pin
QFN
44-Pin
QFN/TQFP
I/O
Input
Buffer
CN0
12
34
ST
CN1
11
33
ST
CN2
27
19
ST
CN3
28
20
ST
CN4
21
ST
CN5
22
ST
CN6
23
ST
CN7
24
ST
CN8
25
ST
CN9
26
ST
Function
CN10
27
ST
CN11
26
23
15
ST
CN12
25
22
14
ST
CN13
24
21
11
ST
CN14
23
20
10
ST
CN15
22
19
ST
CN16
21
18
ST
CN17
ST
CN18
ST
CN19
ST
CN20
ST
CN21
18
15
ST
CN22
17
14
44
ST
CN23
16
13
43
ST
CN24
15
12
42
ST
CN25
37
ST
CN26
38
ST
CN27
14
11
41
ST
CN28
36
ST
CN29
10
31
ST
Description
Interrupt-on-Change Inputs.
CN30
30
ST
CVREF
25
22
14
ANA
DISVREG
19
16
ST
EMUC1
21
I/O
ST
EMUD1
22
I/O
ST
EMUC2
22
19
I/O
ST
EMUD2
21
18
I/O
ST
EMUC3
15
12
42
I/O
ST
EMUD3
14
11
41
I/O
ST
INT0
16
13
43
ST
MCLR
26
18
ST
Legend:
Note 1:
DS39881C-page 12
Preliminary
PIC24FJ64GA004 FAMILY
TABLE 1-2:
Function
28-Pin
SPDIP/
SSOP/SOIC
28-Pin
QFN
44-Pin
QFN/TQFP
I/O
Input
Buffer
Description
OSCI
30
ANA
OSCO
10
31
ANA
PGC1
22
I/O
ST
PGD1
21
I/O
ST
PGC2
22
19
I/O
ST
PGD2
21
18
I/O
ST
PGC3
14
12
42
I/O
ST
PGD3
15
11
41
I/O
ST
PMA0
10
I/O
ST/TTL
PMA1
12
I/O
ST/TTL
PMA2
27
PMA3
38
PMA4
37
PMA5
PMA6
PMA7
13
PMA8
32
PMA9
35
PMA10
12
PMA11
PMA12
PMA13
PMBE
11
36
PMCS1
26
23
15
PMD0
23
20
10
I/O
ST/TTL
PMD1
22
19
I/O
ST/TTL
PMD2
21
18
I/O
ST/TTL
PMD3
18
15
I/O
ST/TTL
PMD4
17
14
44
I/O
ST/TTL
PMD5
16
13
43
I/O
ST/TTL
PMD6
15
12
42
I/O
ST/TTL
PMD7
14
11
41
I/O
ST/TTL
PMRD
24
21
11
PMWR
25
22
14
Legend:
Note 1:
Preliminary
DS39881C-page 13
PIC24FJ64GA004 FAMILY
TABLE 1-2:
28-Pin
SPDIP/
SSOP/SOIC
28-Pin
QFN
RA0
27
19
I/O
ST
RA1
28
20
I/O
ST
Function
44-Pin
QFN/TQFP
I/O
RA2
30
I/O
ST
RA3
10
31
I/O
ST
RA4
12
34
I/O
ST
RA7
13
I/O
ST
RA8
32
I/O
ST
RA9
35
I/O
ST
RA10
12
I/O
ST
RB0
21
I/O
ST
RB1
22
I/O
ST
RB2
23
I/O
ST
RB3
24
I/O
ST
RB4
11
33
I/O
ST
RB5
14
11
41
I/O
ST
RB6
15
12
42
I/O
ST
RB7
16
13
43
I/O
ST
RB8
17
14
44
I/O
ST
RB9
18
15
I/O
ST
RB10
21
18
I/O
ST
RB11
22
19
I/O
ST
RB12
23
20
10
I/O
ST
RB13
24
21
11
I/O
ST
RB14
25
22
14
I/O
ST
RB15
26
23
15
I/O
ST
RC0
25
I/O
ST
RC1
26
I/O
ST
RC2
27
I/O
ST
RC3
36
I/O
ST
RC4
37
I/O
ST
RC5
38
I/O
ST
RC6
I/O
ST
RC7
I/O
ST
RC8
I/O
ST
I/O
ST
RC9
Legend:
Note 1:
Description
DS39881C-page 14
Preliminary
PIC24FJ64GA004 FAMILY
TABLE 1-2:
28-Pin
SPDIP/
SSOP/SOIC
28-Pin
QFN
44-Pin
QFN/TQFP
I/O
RP0
21
I/O
ST
RP1
22
I/O
ST
RP2
23
I/O
ST
RP3
24
I/O
ST
RP4
11
33
I/O
ST
RP5
14
11
41
I/O
ST
RP6
15
12
42
I/O
ST
RP7
16
13
43
I/O
ST
RP8
17
14
44
I/O
ST
RP9
18
15
I/O
ST
RP10
21
18
I/O
ST
RP11
22
19
I/O
ST
RP12
23
20
10
I/O
ST
RP13
24
21
11
I/O
ST
RP14
25
22
14
I/O
ST
RP15
26
23
15
I/O
ST
RP16
25
I/O
ST
RP17
26
I/O
ST
RP18
27
I/O
ST
RP19
36
I/O
ST
RP20
37
I/O
ST
RP21
38
I/O
ST
RP22
I/O
ST
RP23
I/O
ST
RP24
I/O
ST
RP25
I/O
ST
RTCC
25
22
14
SCL1
17
14
44
I/O
I2C
SCL2
24
I/O
I2C
SDA1
18
15
I/O
I2C
Function
Description
Remappable Peripheral.
SDA2
23
I/O
I2C
SOSCI
11
33
ANA
12
34
ANA
SOSCO
Legend:
Note 1:
Preliminary
DS39881C-page 15
PIC24FJ64GA004 FAMILY
TABLE 1-2:
Function
28-Pin
SPDIP/
SSOP/SOIC
28-Pin
QFN
44-Pin
QFN/TQFP
I/O
Input
Buffer
Description
T1CK
12
34
ST
Timer1 Clock.
TCK
17
14
13
ST
TDI
21
18
35
ST
TDO
18
15
32
TMS
22
19
12
ST
VDD
13, 28
10, 25
28, 40
VDDCAP
20
17
VDDCORE
20
17
VREF-
28
20
ANA
VREF+
27
19
ANA
8, 27
5, 24
29, 39
VSS
Legend:
Note 1:
DS39881C-page 16
Preliminary
PIC24FJ64GA004 FAMILY
2.0
Note:
CPU
This data sheet summarizes the features
of this group of PIC24F devices. It is not
intended to be a comprehensive reference
source. For more information, refer to the
PIC24F Family Reference Manual,
Section 2. CPU (DS39703).
2.1
Programmers Model
Preliminary
DS39881C-page 17
PIC24FJ64GA004 FAMILY
FIGURE 2-1:
Interrupt
Controller
16
8
16
16
Data Latch
23
23
PCH
PCL
Program Counter
Loop
Stack
Control
Control
Logic
Logic
16
Data RAM
Address
Latch
23
16
RAGU
WAGU
Address Latch
Program Memory
EA MUX
Address Bus
Data Latch
ROM Latch
24
Control Signals
to Various Blocks
Instruction Reg
Hardware
Multiplier
Divide
Support
16
Literal Data
Instruction
Decode &
Control
16
16 x 16
W Register Array
16
16-Bit ALU
16
To Peripheral Modules
DS39881C-page 18
Preliminary
PIC24FJ64GA004 FAMILY
TABLE 2-1:
Register(s) Name
Description
W0 through W15
PC
SR
SPLIM
TBLPAG
PSVPAG
RCOUNT
CORCON
FIGURE 2-2:
PROGRAMMERS MODEL
15
W0 (WREG)
W1
W2
Multiplier Registers
W3
W4
W5
W6
W7
Working/Address
Registers
W8
W9
W10
W11
W12
W13
W14
Frame Pointer
W15
Stack Pointer
SPLIM
22
0
0
PC
7
0
TBLPAG
0
PSVPAG
15
0
RCOUNT
SRH
SRL
DC
IPL
RA N OV Z C
2 1 0
15
0
ALU STATUS Register (SR)
15
IPL3 PSV
Preliminary
DS39881C-page 19
PIC24FJ64GA004 FAMILY
2.2
REGISTER 2-1:
U-0
U-0
U-0
U-0
U-0
U-0
U-0
R/W-0
DC
bit 15
bit 8
R/W-0(1)
IPL2
R/W-0(1)
(2)
IPL1
(2)
R/W-0(1)
IPL0
(2)
R-0
R/W-0
R/W-0
R/W-0
R/W-0
RA
OV
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-9
Unimplemented: Read as 0
bit 8
bit 7-5
bit 4
bit 3
bit 2
bit 1
bit 0
Note 1:
2:
DS39881C-page 20
Preliminary
PIC24FJ64GA004 FAMILY
REGISTER 2-2:
U-0
U-0
U-0
U-0
U-0
U-0
U-0
U-0
bit 15
bit 8
U-0
U-0
U-0
U-0
R/C-0
(1)
IPL3
R/W-0
U-0
U-0
PSV
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15-4
Unimplemented: Read as 0
bit 3
bit 2
bit 1-0
Unimplemented: Read as 0
Note 1:
2.3
x = Bit is unknown
The PIC24F ALU is 16 bits wide and is capable of addition, subtraction, bit shifts and logic operations. Unless
otherwise mentioned, arithmetic operations are 2s
complement in nature. Depending on the operation, the
ALU may affect the values of the Carry (C), Zero (Z),
Negative (N), Overflow (OV) and Digit Carry (DC)
Status bits in the SR register. The C and DC Status bits
operate as Borrow and Digit Borrow bits, respectively,
for subtraction operations.
The ALU can perform 8-bit or 16-bit operations,
depending on the mode of the instruction that is used.
Data for the ALU operation can come from the W
register array, or data memory, depending on the
addressing mode of the instruction. Likewise, output
data from the ALU can be written to the W register array
or a data memory location.
2.3.1
MULTIPLIER
Preliminary
DS39881C-page 21
PIC24FJ64GA004 FAMILY
2.3.2
DIVIDER
2.3.3
TABLE 2-2:
Instruction
ASR
SL
LSR
DS39881C-page 22
Preliminary
PIC24FJ64GA004 FAMILY
3.0
MEMORY ORGANIZATION
As Harvard architecture devices, PIC24F microcontrollers feature separate program and data memory
spaces and busses. This architecture also allows the
direct access of program memory from the data space
during code execution.
3.1
FIGURE 3-1:
from either the 23-bit Program Counter (PC) during program execution, or from table operation or data space
remapping, as described in Section 3.3 Interfacing
Program and Data Memory Spaces.
User access to the program memory space is restricted
to the lower half of the address range (000000h to
7FFFFFh). The exception is the use of TBLRD/TBLWT
operations which use TBLPAG<7> to permit access to
the Configuration bits and Device ID sections of the
configuration memory space.
Memory maps for the PIC24FJ64GA004 family of
devices are shown in Figure 3-1.
PIC24FJ16GA
PIC24FJ32GA
PIC24FJ48GA
PIC24FJ64GA
GOTO Instruction
Reset Address
Interrupt Vector Table
GOTO Instruction
Reset Address
Interrupt Vector Table
GOTO Instruction
Reset Address
Interrupt Vector Table
GOTO Instruction
Reset Address
Interrupt Vector Table
Reserved
Reserved
Reserved
Reserved
User Flash
Program Memory
(11K instructions)
User Flash
Program Memory
(16K instructions)
User Flash
Program Memory
(5.5K instructions)
000000h
000002h
000004h
0000FEh
000100h
000104h
0001FEh
000200h
002BFEh
002C00h
User Flash
Program Memory
(22K instructions)
0057FEh
005800h
0083FEh
008400h
Unimplemented
Read 0
Unimplemented
Read 0
Unimplemented
Read 0
00ABFEh
00AC00h
Unimplemented
Read 0
7FFFFFh
800000h
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
DEVID (2)
DEVID (2)
DEVID (2)
DEVID (2)
F7FFFEh
F80000h
F8000Eh
F80010h
FEFFFEh
FF0000h
FFFFFFh
Note:
Preliminary
DS39881C-page 23
PIC24FJ64GA004 FAMILY
3.1.1
PROGRAM MEMORY
ORGANIZATION
3.1.3
3.1.2
TABLE 3-1:
msw
Address
PIC24FJ16GA
5.5
002BFCh:
002BFEh
PIC24FJ32GA
11
0057FCh:
0057FEh
PIC24FJ48GA
16
0083FCh:
0083FEh
PIC24FJ64GA
22
00ABFCh:
00ABFEh
PC Address
(lsw Address)
0
000000h
000002h
000004h
000006h
00000000
00000000
00000000
00000000
Program Memory
Phantom Byte
(read as 0)
DS39881C-page 24
Configuration
Word
Addresses
23
000001h
000003h
000005h
000007h
FLASH CONFIGURATION
WORDS FOR PIC24FJ64GA004
FAMILY DEVICES
Program
Memory
(K words)
Device
FIGURE 3-2:
Instruction Width
Preliminary
PIC24FJ64GA004 FAMILY
3.2
The PIC24F core has a separate, 16-bit wide data memory space, addressable as a single linear range. The
data space is accessed using two Address Generation
Units (AGUs), one each for read and write operations.
The data space memory map is shown in Figure 3-3.
All Effective Addresses (EAs) in the data memory space
are 16 bits wide and point to bytes within the data space.
This gives a data space address range of 64 Kbytes or
32K words. The lower half of the data memory space
(that is, when EA<15> = 0) is used for implemented
memory addresses, while the upper half (EA<15> = 1) is
reserved for the program space visibility area (see
Section 3.3.3 Reading Data From Program Memory
Using Program Space Visibility).
3.2.1
FIGURE 3-3:
MSB
Address
0001h
07FFh
0801h
Implemented
Data RAM
MSB
LSB
SFR Space
LSB
Address
0000h
07FEh
0800h
Data RAM
1FFFh
2001h
27FFh(2)
2801h
SFR
Space
Near
Data Space
1FFEh
2000h
27FEh(2)
2800h
Unimplemented
Read as 0
7FFFh
8001h
7FFFh
8000h
Program Space
Visibility Area
FFFFh
Note 1:
2:
FFFEh
Preliminary
DS39881C-page 25
PIC24FJ64GA004 FAMILY
3.2.2
3.2.3
Data byte reads will read the complete word which contains the byte, using the LSb of any EA to determine
which byte to select. The selected byte is placed onto
the LSB of the data path. That is, data memory and registers are organized as two parallel, byte-wide entities
with shared (word) address decode but separate write
lines. Data byte writes only write to the corresponding
side of the array or register which matches the byte
address.
3.2.4
SFR SPACE
All byte loads into any W register are loaded into the
Least Significant Byte. The Most Significant Byte is not
modified.
TABLE 3-2:
xx20
000h
xx60
Core
100h
200h
xx40
Timers
I
2C
300h
ICN
Capture
UART
A/D
xx80
SPI
xxA0
xxC0
xxE0
Interrupts
Compare
I/O
400h
500h
600h
PMP
RTC/Comp
CRC
700h
System
NVM/PMD
PPS
DS39881C-page 26
Preliminary
Preliminary
000E
0010
0012
0014
0016
0018
001A
001C
001E
0020
002E
0030
0032
0034
0036
WREG7
WREG8
WREG9
WREG10
WREG11
WREG12
WREG13
WREG14
WREG15
SPLIM
PCL
PCH
TBLPAG
PSVPAG
RCOUNT
CN15IE
CNEN1 0060
CNEN2 0062
Legend:
Note
1:
IPL1
CN7IE
CN6IE
Bit 6
Bit 3
Bit 2
IPL0
CN4PUE
CN20IE(1)
CN4IE
Bit 4
CN3PUE
CN19IE(1)
CN3IE
Bit 3
IPL3
OV
CN2PUE
CN18IE(1)
CN2IE
Bit 2
PSV
CN1PUE
CN17IE(1)
CN1IE
Bit 1
CN16IE
CN0IE
Bit 0
Bit 0
0000
0000
All
Resets
xxxx
0000
0000
xxxx
0000
0000
0000
0000
xxxx
0800
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
All
Resets
0000
CN5PUE
CN21IE
CN5IE
Bit 5
RA
Bit 1
0000
CN6PUE
CN24IE
Bit 7
CN25IE
CN8IE(1)
Bit 8
IPL2
Bit 4
Bit 5
DC
CN22IE
CN26IE
(1)
CN9IE(1)
CN10IE(1)
(1)
Bit 9
Bit 10
CN23IE
CN27IE
CN11IE
Bit 11
CN12PUE
CN28IE
(1)
CN12IE
Bit 12
Working Register 15
Working Register 14
Working Register 13
Working Register 12
Working Register 11
Working Register 10
Working Register 9
Working Register 8
Working Register 7
Working Register 6
Working Register 5
Working Register 4
Working Register 3
Working Register 2
Working Register 1
Bit 6
CN30PUE CN29PUE CN28PUE(1) CN27PUE CN26PUE(1) CN25PUE(1) CN24PUE CN23PUE CN22PUE CN21PUE CN20PUE(1) CN19PUE(1) CN18PUE(1) CN17PUE(1) CN16PUE
CN29IE
CN13IE
Bit 13
Bit 7
Working Register 0
Bit 8
Bit 9
CN0PUE
CN30IE
CN14IE
Bit 14
Bit 15
CNPU2 006A
File
Addr
Name
TABLE 3-4:
000C
WREG6
Legend:
000A
WREG5
Bit 10
0052
0008
WREG4
Bit 11
DISICNT
0006
WREG3
Bit 12
0044
0004
WREG2
Bit 13
0042
0002
WREG1
Bit 14
SR
0000
WREG0
Bit 15
CORCON
Addr
File
Name
TABLE 3-3:
PIC24FJ64GA004 FAMILY
DS39881C-page 27
DS39881C-page 28
Preliminary
00C8
IPC18
U2TXIE
U2TXIF
ALTIVT
NSTDIS
Bit 15
T2IP1
T1IP1
PMPIE
INT2IE
AD1IE
PMPIF
INT2IF
AD1IF
T2IP0
T1IP0
T5IE
U1TXIE
T5IF
U1TXIF
Bit 12
CRCIP2
IC5IP2
U2TXIP2
T4IP2
CNIP2
CRCIP1
IC5IP1
U2TXIP1
T4IP1
CNIP1
CRCIP0
IC5IP0
U2TXIP0
T4IP0
CNIP0
T2IP2
T1IP2
RTCIE
U2RXIE
RTCIF
U2RXIF
DISI
Bit 13
Bit 14
T4IE
U1RXIE
T4IF
U1RXIF
Bit 11
OC4IP1
CMIP1
SPI1IP1
OC2IP1
OC1IP1
OC5IE
OC3IE
SPF1IE
OC5IF
OC3IF
SPF1IF
Bit 9
OC4IP0
CMIP0
SPI1IP0
OC2IP0
OC1IP0
LVDIE
T3IE
LVDIF
T3IF
Bit 8
IC4IP1
IC4IP0
RTCIP1
RTCIP0
RTCIP2
IC4IP2
OC4IP2
CMIP2
SPI1IP2
OC2IP2
OC1IP2
OC4IE
SPI1IE
OC4IF
SPI1IF
Bit 10
00C4
IPC16
Legend:
00C2
IPC15
00B6
IPC9
00BC
00B4
IPC8
IPC12
00B2
IPC7
00B8
00B0
IPC6
00BA
00AE
IPC5
IPC11
00AC
IPC4
IPC10
00A8
00A6
IPC1
00AA
00A4
IPC0
IPC3
009C
IEC4
IPC2
0098
0096
IEC1
009A
0094
IEC0
IEC3
008C
IFS4
IEC2
0088
008A
0086
IFS1
IFS3
0084
IFS0
IFS2
0080
0082
INTCON1
INTCON2
Addr
File
Name
TABLE 3-5:
IC5IE
T2IE
IC5IF
T2IF
Bit 7
AD1IP1
SPF1IP1
IC2IP1
IC1IP1
IC3IE
IC2IE
IC3IF
IC2IF
Bit 5
SI2C2P1
PMPIP1
OC5IP1
IC3IP1
SPI2IP1
INT2IP1
OC3IP1
U1ERIP2 U1ERIP1
SI2C2P2
PMPIP2
OC5IP2
IC3IP2
SPI2IP2
INT2IP2
OC3IP2
MI2C1P2 MI2C1P1
AD1IP2
SPF1IP2
IC2IP2
IC1IP2
IC4IE
OC2IE
IC4IF
OC2IF
Bit 6
Bit 3
Bit 2
Bit 1
U1ERIP0
SI2C2P0
PMPIP0
OC5IP0
IC3IP0
SPI2IP0
INT2IP0
OC3IP0
MI2C1P0
AD1IP0
SPF1IP0
IC2IP0
IC1IP0
INT1IE
INT1IF
CRCIE
CNIE
T1IE
CRCIF
CNIF
T1IF
LVDIP2
SPF2IP2
T5IP2
INT1IP2
SI2C1P2
U1TXIP2
T3IP2
INT0IP2
U2ERIE
MI2C2IE
CMIE
OC1IE
U2ERIF
MI2C2IF
CMIF
OC1IF
INT2EP
LVDIP1
SPF2IP1
T5IP1
INT1IP1
SI2C1P1
U1TXIP1
T3IP1
INT0IP1
U1ERIE
SI2C2IE
SPI2IE
MI2C1IE
IC1IE
U1ERIF
SI2C2IF
SPI2IF
MI2C1IF
IC1IF
INT1EP
Bit 4
LVDIP0
SPF2IP0
T5IP0
INT1IP0
SI2C1P0
U1TXIP0
T3IP0
INT0IP0
SPF2IE
SI2C1IE
INT0IE
SPF2IF
SI2C1IF
INT0IF
INT0EP
Bit 0
4444
4444
4444
4444
4444
4444
4444
4444
4444
4444
4444
4444
4444
4444
4444
4444
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
All
Resets
PIC24FJ64GA004 FAMILY
Preliminary
ICSIDL
ICSIDL
ICSIDL
ICSIDL
ICSIDL
Bit 13
Bit 12
Bit 11
Bit 10
Bit 14
Legend:
Bit 15
0150
IC4CON
0152
014E
IC4BUF
IC5CON
014C
IC3CON
TSIDL
IC5BUF
0148
014A
IC3BUF
0144
0146
IC2CON
IC1CON
IC2BUF
0140
0142
IC1BUF
Addr
File
Name
TABLE 3-7:
TON
Bit 7
Timer2 Register
Timer1 Register
Bit 8
TGATE
Bit 6
Bit 5
TCKPS1
Timer3 Register
Timer4 Register
TGATE
TGATE
TCKPS1
TCKPS1
Bit 9
Bit 7
ICTMR
ICTMR
ICTMR
ICTMR
ICTMR
Bit 8
Timer5 Register
ICI1
ICI1
ICI1
ICI1
ICI1
Bit 6
TGATE
TGATE
ICI0
ICI0
ICI0
ICI0
ICI0
Bit 5
TCKPS1
TCKPS1
0120
Legend:
TSIDL
T5CON
TSIDL
011E
TON
T4CON
TMR5HLD
TON
TSIDL
Bit 9
Bit 10
011C
0116
TMR4
Bit 11
PR5
0114
T3CON
TON
Bit 12
0118
0112
T2CON
TSIDL
Bit 13
011A
0110
PR3
Bit 14
PR4
010E
PR2
TON
Bit 15
TMR5
010A
010C
TMR3
0106
0104
T1CON
0108
0102
PR1
TMR3HLD
0100
TMR1
TMR2
Addr
File Name
TABLE 3-6:
ICOV
ICOV
ICOV
ICOV
ICOV
Bit 4
TCKPS0
TCKPS0
TCKPS0
TCKPS0
TCKPS0
Bit 4
ICBNE
ICBNE
ICBNE
ICBNE
ICBNE
Bit 3
T32
T32
Bit 3
ICM2
ICM2
ICM2
ICM2
ICM2
Bit 2
TSYNC
Bit 2
ICM1
ICM1
ICM1
ICM1
ICM1
Bit 1
TCS
TCS
TCS
TCS
TCS
Bit 1
ICM0
ICM0
ICM0
ICM0
ICM0
Bit 0
Bit 0
0000
FFFF
0000
FFFF
0000
FFFF
0000
FFFF
0000
FFFF
All
Resets
0000
0000
FFFF
FFFF
0000
0000
0000
0000
0000
FFFF
FFFF
0000
0000
0000
0000
FFFF
0000
All
Resets
PIC24FJ64GA004 FAMILY
DS39881C-page 29
DS39881C-page 30
018C
018E
0190
0192
0194
0196
0198
019A
019C
OC3RS
OC3R
OC3CON
OC4RS
OC4R
OC4CON
OC5RS
OC5R
OC5CON
Legend:
Preliminary
ACKSTAT
0212
0214
0216
0218
I2C2BRG
I2C2CON
I2C2STAT
OCSIDL
OCSIDL
OCSIDL
OCSIDL
BCL
Legend:
A10M
021A
IPMIEN
BCL
A10M
Bit 10
021C
SCLREL
I2CSIDL
IPMIEN
Bit 11
I2C2ADD
TRSTAT
SCLREL
Bit 12
I2CSIDL
Bit 13
I2C2MSK
I2CEN
I2C2TRN
TRSTAT
ACKSTAT
0210
0208
I2C1STAT
I2CEN
I2C2RCV
0206
I2C1CON
020A
0204
I2C1BRG
020C
0202
I2C1TRN
Bit 14
Bit 15
I2C1ADD
0200
I2C1RCV
I2C1MSK
Addr
File
Name
TABLE 3-9:
018A
OC2CON
0188
0186
OCSIDL
OC2R
OC2RS
0184
Bit 10
OC1CON
Bit 11
0182
Bit 12
0180
Bit 13
OC1R
Bit 14
OC1RS
Bit 15
Addr
File
Name
TABLE 3-8:
Bit 8
Bit 7
Bit 6
AMSK9
GCSTAT
DISSLW
AMSK9
GCSTAT
DISSLW
Bit 9
AMSK8
ADD10
SMEN
AMSK8
ADD10
SMEN
Bit 8
AMSK7
IWCOL
GCEN
AMSK7
IWCOL
GCEN
Bit 7
AMSK6
I2COV
STREN
AMSK6
I2COV
STREN
Bit 6
Bit 9
Bit 3
OCTSEL
OCTSEL
OCTSEL
OCTSEL
OCTSEL
Bit 3
Transmit Register 1
Receive Register 1
Bit 4
OCFLT
OCFLT
OCFLT
OCFLT
OCFLT
Bit 4
ACKEN
AMSK3
Transmit Register 2
Receive Register 2
AMSK4
RCEN
ACKEN
AMSK5
AMSK4
Address Register 2
D/A
ACKDT
AMSK3
RCEN
AMSK5
Address Register 1
D/A
ACKDT
Bit 5
Bit 5
AMSK2
R/W
PEN
AMSK2
R/W
PEN
Bit 2
OCM2
OCM2
OCM2
OCM2
OCM2
Bit 2
AMSK1
RBF
RSEN
AMSK1
RBF
RSEN
Bit 1
OCM1
OCM1
OCM1
OCM1
OCM1
Bit 1
AMSK0
TBF
SEN
AMSK0
TBF
SEN
Bit 0
OCM0
OCM0
OCM0
OCM0
OCM0
Bit 0
0000
0000
0000
1000
0000
00FF
0000
0000
0000
0000
1000
0000
00FF
0000
All
Resets
0000
FFFF
FFFF
0000
FFFF
FFFF
0000
FFFF
FFFF
0000
FFFF
FFFF
0000
FFFF
FFFF
All
Resets
PIC24FJ64GA004 FAMILY
Preliminary
DISSDO
MODE16
0268
DISSCK
WAKE
Bit 7
LPBACK
Bit 6
URX7
UTX7
URX6
UTX6
URXISEL1 URXISEL0
URX8
UTX8
TRMT
UEN0
LPBACK
URX7
UTX7
Bit 8
SMP
SMP
SSEN
SRMPT
SSEN
CKP
SPIROV
CKE
SRMPT
CKP
SPIROV
CKE
Bit 7
Bit 6
URX6
UTX6
URCISEL1 URCISEL0
WAKE
Bit 9
UTXBF
UEN1
SPIFPOL
SPI2BUF
SPIFSD
MODE16
Legend:
FRMEN
SPISIDL
URX8
UTX8
TRMT
UEN0
Bit 8
UTXBF
UEN1
Bit 9
Bit 10
0262
SPIFPOL
DISSDO
Bit 11
0264
SPIEN
SPIFSD
DISSCK
Bit 12
SPI2CON2
0260
FRMEN
SPISIDL
Bit 13
Bit 14
SPI2CON1
0248
SPI1BUF
SPI2STAT
0244
SPI1CON2
SPIEN
0240
0242
SPI1STAT
Bit 15
Addr
SPI1CON1
File
Name
TABLE 3-11:
UTXEN
UTXBRK
RTSMD
Legend:
IREN
0238
USIDL
0236
UARTEN
UTXEN
U2BRG
U2MODE
RTSMD
UTXBRK
Bit 10
U2RXREG
0230
U1BRG
IREN
Bit 11
0232
0228
U1RXREG
USIDL
Bit 12
0234
0226
U1TXREG
Bit 13
UARTEN
Bit 14
U2TXREG
0224
U1STA
Bit 15
U2STA
0220
0222
U1MODE
Addr
File
Name
TABLE 3-10:
MSTEN
SRXMPT
MSTEN
SRXMPT
Bit 5
URX5
UTX5
ADDEN
ABAUD
URX5
UTX5
ADDEN
ABAUD
Bit 5
SPRE2
SISEL2
SPRE2
SISEL2
Bit 4
URX4
UTX4
RIDLE
RXINV
URX4
UTX4
RIDLE
RXINV
Bit 4
SPRE1
SISEL1
SPRE1
SISEL1
Bit 3
URX3
UTX3
PERR
BRGH
URX3
UTX3
PERR
BRGH
Bit 3
SPRE0
SISEL0
SPRE0
SISEL0
Bit 2
URX2
UTX2
FERR
PDSEL1
URX2
UTX2
FERR
PDSEL1
Bit 2
SPIFE
PPRE1
SPITBF
SPIFE
PPRE1
SPITBF
Bit 1
URX1
UTX1
OERR
PDSEL0
URX1
UTX1
OERR
PDSEL0
Bit 1
SPIBEN
PPRE0
SPIRBF
SPIBEN
PPRE0
SPIRBF
Bit 0
URX0
UTX0
URXDA
STSEL
URX0
UTX0
URXDA
STSEL
Bit 0
0000
0000
0000
0000
0000
0000
0000
0000
All
Resets
0000
0000
0000
0110
0000
0000
0000
0000
0110
0000
All
Resets
PIC24FJ64GA004 FAMILY
DS39881C-page 31
DS39881C-page 32
02C4
02C6
LATA
ODCA
Bit 14
Bit 13
Bit 12
Bit 11
RA9(1)
LATA9(1)
ODA9(1)
RA10(1)
LATA10(1)
ODA10(1)
Bit 14
Bit 13
Bit 12
Bit 11
LATB11
RB11
LATB10
RB10
TRISB10
TABLE 3-14:
ODB14
ODB13
ODB12
Preliminary
Bit 11
Bit 10
Bit 12
02FC
Bit 13
PADCFG1
Bit 14
Legend:
Bit 15
Addr
File
Name
TABLE 3-15:
Legend:
Note 1:
02D6
ODCC(1)
02D4
LATC(1)
02D2
02D0
Bit 10
TRISC(1)
Bit 11
PORTC(1)
Bit 12
ODB10
Bit 15
Bit 13
ODB11
Addr
Bit 14
ODB15
LATB12
RB12
Legend:
LATB13
RB13
02CE
LATB14
RB14
Bit 10
ODCB
LATB15
RB15
Bit 15
02CC
PORTB
File
Name
Bit 9
Bit 8
Bit 7
ODA8(1)
LATA8(1)
RA8(1)
ODA7(1)
LATA7(1)
RA7(1)
Bit 10
LATB
02C8
02CA
TRISB
Addr
TABLE 3-13:
File
Name
Bit 15
Bit 6
Bit 5
ODA4
LATA4
RA4
TRISA4
Bit 4
Bit 2
ODA3(2)
LATA3(2)
RA3(2)
ODA2(3)
LATA2(3)
RA2(3)
TRISA3(2) TRISA2(3)
Bit 3
ODA1
LATA1
RA1
TRISA1
Bit 1
Bit 9
ODC9
LATC9
RC9
TRISC9
Bit 9
ODB9
LATB9
RB9
TRISB9
Bit 9
Bit 8
OSC8
LATC8
RC8
TRISC8
Bit 8
ODB8
LATB8
RB8
TRISB8
Bit 8
Bit 7
ODC7
LATC7
RC7
TRISC7
Bit 7
ODB7
LATB7
RB7
TRISB7
Bit 7
Bit 6
ODC6
LATC6
RC6
TRISC6
Bit 6
ODB6
LATB6
RB6
TRISB6
Bit 6
Bit 5
ODC5
LATC5
RC5
TRISC5
Bit 5
ODB5
LATB5
RB5
TRISB5
Bit 5
Bit 4
ODC4
LATC4
RC4
TRISC4
Bit 4
ODB4
LATB4
RB4
TRISB4
Bit 4
Bit 3
ODC3
LATC3
RC3
TRISC3
Bit 3
ODB3
LATB3
RB3
TRISB3
Bit 3
Bit 2
ODC2
LATC2
RC2
TRISC2
Bit 2
ODB2
LATB2
RB2
TRISB2
Bit 2
Bit 0
ODC0
LATC0
RC0
TRISC0
Bit 0
ODB0
LATB0
RB0
TRISB0
Bit 0
ODA0
LATA0
RA0
TRISA0
Bit 0
RTSECSEL PMPTTL
Bit 1
ODC1
LATC1
RC1
TRISC1
Bit 1
ODB1
LATB1
RB1
TRISB1
Bit 1
02C2
PORTA
Legend:
Note 1:
2:
3:
02C0
Addr
TRISA
File
Name
TABLE 3-12:
0000
All
Resets
0000
0000
0000
03FF
All
Resets
0000
0000
0000
FFFF
All
Resets
0000
0000
0000
079F
All
Resets
PIC24FJ64GA004 FAMILY
Preliminary
0600
0602
0604
PMCON
PMMODE
PMADDR
CSSL12
CSSL11
CSSL10
PCFG10
CSSL9
PCFG9
PSIDL
Bit 10
Bit 9
Bit 8
ADDR9
MODE1
ADDR8
MODE0
CSF1
ADDR7
WAITB1
CSF0
ADDR6
WAITB0
Legend:
IB3F
IB2F
PTEN10
IBOV
060E
PMSTAT
IBF
060C
PMAEN
IB1F
PTEN9
IB0F
PTEN8
OBE
PTEN7
OBUF
PTEN6
060A
ADDR10
MODE16
PMDIN2
INCM0
Bit 6
INCM1
Bit 7
0608
Bit 11
Bit 12
PMDIN1
PTEN14
CS1
IRQM0
IRQM1
Bit 13
Bit 14
PTEN5
ADDR5
WAITM3
ALP
Bit 5
CSSL5
ADCS5
SMPI3
SSRC0
ADCS6
SSRC1
PCFG5
CH0NA
ADCS7
BUFS
SSRC2
Bit 5
CH0SB0
SAMC0
FORM0
BUSY
PMPEN
Bit 15
CSSL15
PCFG11
CH0SB1
SAMC1
FORM1
Bit 6
PMDOUT2 0606
PMDOUT1
Addr
File
Name
TABLE 3-17:
0330
PCFG12
SAMC2
CH0SB2
Legend:
Note 1:
CH0SB3
SAMC3
CSCNA
AD1CSSL
PCFG15
SAMC4
032C
VCFG0
AD1PCFG
CH0NB
ADRC
VCFG1
ADSIDL
0324
VCFG2
0328
0322
AD1CON2
ADON
AD1CHS
0320
AD1CON3
031E
ADC1BUFF
AD1CON1
031A
031C
0314
ADC1BUFA
ADC1BUFD
0312
ADC1BUF9
ADC1BUFE
0310
ADC1BUF8
0316
030E
ADC1BUF7
0318
030C
ADC1BUF6
ADC1BUFB
030A
ADC1BUF5
ADC1BUFC
0308
ADC1BUF4
Bit 7
0306
Bit 8
ADC1BUF3
Bit 9
0304
Bit 10
ADC1BUF2
Bit 11
0302
Bit 12
0300
Bit 13
ADC1BUF1
Bit 14
ADC1BUF0
Bit 15
Addr
File
Name
TABLE 3-16:
PTEN4
ADDR4
WAITM2
Bit 4
CSSL4
PCFG4
ADCS4
SMPI2
Bit 4
OB3E
PTEN3
ADDR3
WAITM1
CS1P
Bit 3
CSSL3
PCFG3
CH0SA3
ADCS3
SMPI1
Bit 3
OB2E
PTEN2
ADDR2
WAITM0
BEP
Bit 2
CSSL2
PCFG2
CH0SA2
ADCS2
SMPI0
ASAM
Bit 2
OB1E
PTEN1
ADDR1
WAITE1
WRSP
Bit 1
CSSL1
PCFG1
CH0SA1
ADCS1
BUFM
SAMP
Bit 1
OB0E
PTEN0
ADDR0
WAITE0
RDSP
Bit 0
CSSL0
PCFG0
CH0SA0
ADCS0
ALTS
DONE
Bit 0
0000
0000
0000
0000
0000
0000
0000
0000
0000
All
Resets
0000
0000
0000
0000
0000
0000
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
All
Resets
PIC24FJ64GA004 FAMILY
DS39881C-page 33
DS39881C-page 34
C2EN
C1EN
Bit 6
ARPT7
ARPT6
Bit 10
Bit 9
Bit 8
Bit 9
Bit 8
Bit 7
CVREN
Bit 6
CAL6
Bit 6
CVROE
C1OUT
CAL7
C2OUT
Bit 7
RTCPTR0
X11
X10
X12
X9
X7
Preliminary
CRC Result Register
X8
X6
Bit 11
Legend:
X13
CSIDL
Bit 12
0644
X14
X15
Bit 13
0646
CRCXOR
Bit 14
Bit 15
CRCDAT
0640
0642
CRCCON
CRCWDAT
Addr
File
Name
TABLE 3-20:
C1EVT
Bit 10
Legend:
C2EVT
Bit 11
0630
CMIDL
Bit 12
0632
Bit 13
Bit 14
CMCON
Bit 15
Addr
RTCPTR1
C2OUTEN C1OUTEN
RTCOE
Bit 7
CAL5
X5
Bit 5
CVRR
C2INV
Bit 4
CVRSS
C1INV
Bit 4
CAL4
ARPT4
Bit 4
X4
CRCGO
ARPT5
Bit 5
Bit 5
CVRCON
File
Name
TABLE 3-19:
Bit 8
Bit 9
Legend:
RTCEN
AMASK1
0626
AMASK2
RCFGCAL
AMASK3
Bit 10
0624
CHIME
Bit 11
RTCVAL
ALRMEN
Bit 12
0620
Bit 13
0622
Bit 14
ALCFGRPT
Bit 15
ALRMVAL
Addr
File
Name
TABLE 3-18:
X3
PLEN3
Bit 3
CVR3
C2NEG
Bit 3
CAL3
ARPT3
Bit 3
X2
PLEN2
Bit 2
CVR2
C2POS
Bit 2
CAL2
ARPT2
Bit 2
X1
PLEN1
Bit 1
CVR1
C1NEG
Bit 1
CAL1
ARPT1
Bit 1
PLEN0
Bit 0
CVR0
C1POS
Bit 0
CAL0
ARPT0
Bit 0
0000
0000
0000
0040
All
Resets
0000
0000
All
Resets
0000
xxxx
0000
xxxx
All
Resets
PIC24FJ64GA004 FAMILY
Preliminary
0688
068E
0690
0692
0696
06A4
06A6
06A8
06AA
06AC
06AE
06C0
06C2
06C4
06C6
06C8
06CA
06CC
06CE
06D0
06D2
06D4
06D6
06D8
RPINR4
RPINR7
RPINR8
RPINR9
RPINR11
RPINR18
RPINR19
RPINR20
RPINR21
RPINR22
RPINR23
RPOR0
RPOR1
RPOR2
RPOR3
RPOR4
RPOR5
RPOR6
RPOR7
RPOR8
RPOR9
RPOR10
RPOR11
RPOR12
Bit 14
Bit 15
Bit 13
OCFBR3
IC4R3
IC2R3
T5CKR3
T3CKR3
INT1R3
Bit 11
OCFBR2
IC4R2
IC2R2
T5CKR2
T3CKR2
INT1R2
Bit 10
OCFBR1
IC4R1
IC2R1
T5CKR1
T3CKR1
INT1R1
Bit 9
OCFBR0
IC4R0
IC2R0
T5CKR0
T3CKR0
INT1R0
Bit 8
RP13R0
RP11R0
RP9R0
RP7R0
RP5R0
RP3R0
RP1R0
SCK2R0
SCK1R0
RP15R1
RP13R1
RP11R1
RP9R1
RP7R1
RP5R1
RP3R1
RP1R1
SCK2R1
SCK1R1
RP15R2
RP13R2
RP11R2
RP9R2
RP7R2
RP5R2
RP3R2
RP1R2
SCK2R2
SCK1R2
RP15R3
RP13R3
RP11R3
RP9R3
RP7R3
RP5R3
RP3R3
RP1R3
SCK2R3
SCK1R3
Bit 7
RP15R0
RP15R4
RP13R4
RP11R4
RP9R4
RP7R4
RP5R4
RP3R4
RP1R4
SCK2R4
SCK1R4
OCFBR4
IC4R4
IC2R4
T5CKR4
T3CKR4
INT1R4
Bit 12
0686
RPINR3
Legend:
Note 1:
0680
0682
RPINR0
RPINR1
Addr
File
Name
TABLE 3-21:
Bit 6
Bit 5
RP14R3
RP12R3
RP10R3
RP8R3
RP6R3
RP4R3
RP2R3
RP0R3
SS2R3
SDI2R3
SS1R3
SDI1R3
U2RXR3
U1RXR3
OCFAR3
IC5R3
IC3R3
IC1R3
T4CKR3
T2CKR3
INT2R3
Bit 3
RP14R2
RP12R2
RP10R2
RP8R2
RP6R2
RP4R2
RP2R2
RP0R2
SS2R2
SDI2R2
SS1R2
SDI1R2
U2RXR2
U1RXR2
OCFAR2
IC5R2
IC3R2
IC1R2
T4CKR2
T2CKR2
INT2R2
Bit 2
RP14R1
RP12R1
RP10R1
RP8R1
RP6R1
RP4R1
RP2R1
RP0R1
SS2R1
SDI2R1
SS1R1
SDI1R1
U2RXR1
U1RXR1
OCFAR1
IC5R1
IC3R1
IC1R1
T4CKR1
T2CKR1
INT2R1
Bit 1
RP14R0
RP12R0
RP10R0
RP8R0
RP6R0
RP4R0
RP2R0
RP0R0
SS2R0
SDI2R0
SS1R0
SDI1R0
U2RXR0
U1RXR0
OCFAR0
IC5R0
IC3R0
IC1R0
T4CKR0
T2CKR0
INT2R0
Bit 0
RP14R4
RP12R4
RP10R4
RP8R4
RP6R4
RP4R4
RP2R4
RP0R4
SS2R4
SDI2R4
SS1R4
SDI1R4
U2RXR4
U1RXR4
OCFAR4
IC5R4
IC3R4
IC1R4
T4CKR4
T2CKR4
INT2R4
Bit 4
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
001F
1F1F
001F
1F1F
1F1F
1F1F
1F1F
001F
1F1F
1F1F
1F1F
1F1F
001F
1F00
All
Resets
PIC24FJ64GA004 FAMILY
DS39881C-page 35
DS39881C-page 36
CM
VREGS
Bit 5
Bit 4
Preliminary
T1MD
IC4MD
CMPMD
RTCCMD
IC2MD
IC3MD
T2MD
IC5MD
Legend:
T3MD
0774
T4MD
PMD3
T5MD
0770
Bit 9
Bit 10
0772
Bit 11
PMD1
Bit 12
PMD2
Bit 13
Bit 15
Addr
File Name
Bit 14
WRERR
TABLE 3-24:
WREN
PMPMD
IC1MD
Bit 8
CRCPMD
I2C1MD
Bit 7
U2MD
Bit 6
ERASE
U1MD
Bit 5
OC5MD
SPI2MD
Bit 4
Bit 2
TUN2
IDLE
Bit 2
Bit 1
TUN1
SOSCEN
BOR
Bit 1
(Note 1)
All
Resets
Bit 0
TUN0
All
Resets
0000
3140
OSWEN (Note 2)
POR
Bit 0
OC4MD
SPI1MD
Bit 3
OC3MD
Bit 2
I2C2MD
OC2MD
Bit 1
OC1MD
ADC1MD
Bit 0
0000
0000
0000
All
Resets
0000
Bit 3
TUN3
CF
SLEEP
Bit 3
NVMKEY<7:0>
WR
Bit 11
Bit 12
Legend:
Note 1:
Bit 6
TUN4
0766
Bit 7
TUN5
0760
Bit 8
WDTO
NVMCON
Bit 13
Bit 9
LOCK
SWDTEN
NVMKEY
Bit 14
Bit 10
RCDIV0
SWR
IOLOCK
Bit 4
Bit 15
RCDIV1
EXTR
CLKLOCK
Bit 5
Addr
RCDIV2
NOSC0
Bit 6
File Name
DOZEN
NOSC1
Bit 7
DOZE0
NOSC2
Bit 8
TABLE 3-23:
DOZE1
DOZE2
COSC0
Legend:
Note 1:
2:
ROI
COSC1
0748
Bit 9
0744
Bit 10
OSCTUN
COSC2
IOPUWR
Bit 11
CLKDIV
TRAPR
Bit 12
Bit 13
0742
Bit 14
0740
Bit 15
OSCCON
Addr
RCON
File
Name
TABLE 3-22:
PIC24FJ64GA004 FAMILY
PIC24FJ64GA004 FAMILY
3.2.5
3.3
SOFTWARE STACK
The Stack Pointer Limit Value register (SPLIM), associated with the Stack Pointer, sets an upper address
boundary for the stack. SPLIM is uninitialized at Reset.
As is the case for the Stack Pointer, SPLIM<0> is
forced to 0 because all stack operations must be
word-aligned. Whenever an EA is generated using
W15 as a source or destination pointer, the resulting
address is compared with the value in SPLIM. If the
contents of the Stack Pointer (W15) and the SPLIM
register are equal, and a push operation is performed,
a stack error trap will not occur. The stack error trap will
occur on a subsequent push operation. Thus, for
example, if it is desirable to cause a stack error trap
when the stack grows beyond address 2000h in RAM,
initialize the SPLIM with the value, 1FFEh.
Similarly, a Stack Pointer underflow (stack error) trap is
generated when the Stack Pointer address is found to
be less than 0800h. This prevents the stack from
interfering with the Special Function Register (SFR)
space.
A write to the SPLIM register should not be immediately
followed by an indirect read operation using W15.
FIGURE 3-4:
0000h
15
PC<15:0>
000000000 PC<22:16>
<Free Word>
3.3.1
Preliminary
DS39881C-page 37
PIC24FJ64GA004 FAMILY
TABLE 3-25:
Access
Space
Access Type
<23>
<22:16>
<15>
<14:1>
<0>
Instruction Access
(Code Execution)
User
TBLRD/TBLWT
(Byte/Word Read/Write)
User
TBLPAG<7:0>
Data EA<15:0>
0xxx xxxx
Configuration
TBLPAG<7:0>
Data EA<15:0>
1xxx xxxx
PC<22:1>
User
PSVPAG<7:0>
Data EA<14:0>(1)
xxxx xxxx
Data EA<15> is always 1 in this case, but is not used in calculating the program space address. Bit 15 of
the address is PSVPAG<0>.
FIGURE 3-5:
Program Counter(1)
Program Counter
23 Bits
EA
Table Operations(2)
1/0
1/0
TBLPAG
8 Bits
16 Bits
24 Bits
Select
Program Space Visibility(1)
(Remapping)
EA
PSVPAG
8 Bits
15 Bits
23 Bits
User/Configuration
Space Select
Byte Select
Note 1: The LSb of program space addresses is always fixed as 0 in order 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.
DS39881C-page 38
Preliminary
PIC24FJ64GA004 FAMILY
3.3.2
2.
FIGURE 3-6:
TBLPAG
02
Data EA<15:0>
23
15
000000h
23
16
00000000
00000000
020000h
00000000
030000h
00000000
Phantom Byte
TBLRDH.B (Wn<0> = 0)
TBLRDL.B (Wn<0> = 1)
TBLRDL.B (Wn<0> = 0)
TBLRDL.W
800000h
Preliminary
DS39881C-page 39
PIC24FJ64GA004 FAMILY
3.3.3
FIGURE 3-7:
Program Space
PSVPAG
02
23
15
Data Space
0
000000h
0000h
Data EA<14:0>
010000h
018000h
The data in the page
designated by
PSVPAG is mapped
into the upper half of
the data memory
space....
8000h
PSV Area
FFFFh
800000h
DS39881C-page 40
Preliminary
PIC24FJ64GA004 FAMILY
4.0
Note:
4.1
The PIC24FJ64GA004 family of devices contains internal Flash program memory for storing and executing
application code. The memory is readable, writable and
erasable when operating with VDD over 2.25V.
Flash memory can be programmed in four ways:
FIGURE 4-1:
24 Bits
Using
Program
Counter
Program Counter
Working Reg EA
Using
Table
Instruction
User/Configuration
Space Select
1/0
TBLPAG Reg
8 Bits
16 Bits
24-Bit EA
Preliminary
Byte
Select
DS39881C-page 41
PIC24FJ64GA004 FAMILY
4.2
RTSP Operation
4.4
4.3
4.5
Control Registers
4.6
Programming Operations
JTAG Operation
DS39881C-page 42
Preliminary
PIC24FJ64GA004 FAMILY
REGISTER 4-1:
R/SO-0
R/W-0
R/W-0
U-0
U-0
U-0
U-0
U-0
WR
WREN
WRERR
bit 15
bit 8
U-0
R/W-0
U-0
ERASE
U-0
R/W-0
NVMOP3
R/W-0
(1)
R/W-0
(1)
NVMOP2
NVMOP1
R/W-0
(1)
NVMOP0(1)
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15
bit 14
bit 13
bit 12-7
Unimplemented: Read as 0
bit 6
bit 5-4
Unimplemented: Read as 0
bit 3-0
Note 1:
2:
Preliminary
DS39881C-page 43
PIC24FJ64GA004 FAMILY
4.6.1
4.
5.
EXAMPLE 4-1:
DS39881C-page 44
6.
#0x55, W0
W0, NVMKEY
#0xAA, W1
W1, NVMKEY
NVMCON, #WR
;
; Initialize NVMCON
;
;
;
;
;
;
;
;
;
;
;
;
Preliminary
PIC24FJ64GA004 FAMILY
EXAMPLE 4-2:
; 63rd_program_word
MOV
#LOW_WORD_31, W2
;
MOV
#HIGH_BYTE_31, W3
;
; Write PM low word into program latch
TBLWTL
W2, [W0]
; Write PM high byte into program latch
TBLWTH
W3, [W0]
EXAMPLE 4-3:
DISI
#5
MOV
MOV
MOV
MOV
BSET
NOP
NOP
BTSC
BRA
#0x55, W0
W0, NVMKEY
#0xAA, W1
W1, NVMKEY
NVMCON, #WR
NVMCON, #15
$-2
Preliminary
DS39881C-page 45
PIC24FJ64GA004 FAMILY
4.6.2
If a Flash location has been erased, it can be programmed using table write instructions to write an
instruction word (24-bit) into the write latch. The
TBLPAG register is loaded with the 8 Most Significant
Bytes of the Flash address. The TBLWTL and TBLWTH
EXAMPLE 4-4:
#LOW_WORD_N, W2
#HIGH_BYTE_N, W3
W2, [W0]
W3, [W0++]
;
;
; Write PM low word into program latch
; Write PM high byte into program latch
#5
#0x55, W0
W0, NVMKEY
#0xAA, W0
W0, NVMKEY
NVMCON, #WR
DS39881C-page 46
Preliminary
PIC24FJ64GA004 FAMILY
5.0
Note:
RESETS
This data sheet summarizes the features
of this group of PIC24F devices. It is not
intended to be a comprehensive reference
source. For more information, refer to the
PIC24F Family Reference Manual,
Section 7. Reset (DS39712).
FIGURE 5-1:
Note:
MCLR
WDT
Module
Sleep or Idle
VDD Rise
Detect
POR
Brown-out
Reset
BOR
SYSRST
VDD
Preliminary
DS39881C-page 47
PIC24FJ64GA004 FAMILY
RCON: RESET CONTROL REGISTER(1)
REGISTER 5-1:
R/W-0
TRAPR
bit 15
R/W-0
IOPUWR
U-0
U-0
U-0
U-0
R/W-0
CM
R/W-0
VREGS
bit 8
R/W-0
EXTR
bit 7
R/W-0
SWR
R/W-0
SWDTEN(2)
R/W-0
WDTO
R/W-0
SLEEP
R/W-0
IDLE
R/W-1
BOR
R/W-1
POR
bit 0
Legend:
R = Readable bit
-n = Value at POR
bit 15
bit 14
bit 13-10
bit 9
bit 8
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
Note 1:
2:
W = Writable bit
1 = Bit is set
DS39881C-page 48
Preliminary
PIC24FJ64GA004 FAMILY
TABLE 5-1:
Flag Bit
Setting Event
Clearing Event
TRAPR (RCON<15>)
POR
IOPUWR (RCON<14>)
POR
CM (RCON<9>)
POR
EXTR (RCON<7>)
MCLR Reset
POR
SWR (RCON<6>)
RESET Instruction
POR
WDTO (RCON<4>)
WDT Time-out
SLEEP (RCON<3>)
POR
IDLE (RCON<2>)
POR
BOR (RCON<1>)
POR, BOR
POR (RCON<0>)
POR
Note:
5.1
All Reset flag bits may be set or cleared by the user software.
TABLE 5-2:
Reset Type
POR
BOR
MCLR
WDTO
5.2
SWR
Preliminary
DS39881C-page 49
PIC24FJ64GA004 FAMILY
TABLE 5-3:
Reset Type
SYSRST Delay
POR
BOR
System Clock
Delay
FSCM
Delay
Notes
1, 2, 3
ECPLL, FRCPLL
TLOCK
TFSCM
1, 2, 3, 5, 6
TOST
TFSCM
1, 2, 3, 4, 6
XTPLL, HSPLL
TFSCM
1, 2, 3, 4, 5, 6
TSTARTUP + TRST
2, 3
ECPLL, FRCPLL
TSTARTUP + TRST
TLOCK
TFSCM
2, 3, 5, 6
TSTARTUP + TRST
TOST
TFSCM
2, 3, 4, 6
XTPLL, HSPLL
TSTARTUP + TRST
TOST + TLOCK
TFSCM
2, 3, 4, 5, 6
MCLR
Any Clock
TRST
WDT
Any Clock
TRST
Software
Any clock
TRST
Illegal Opcode
Any Clock
TRST
Uninitialized W
Any Clock
TRST
Trap Conflict
Any Clock
TRST
Note 1:
2:
3:
4:
5:
6:
DS39881C-page 50
Preliminary
PIC24FJ64GA004 FAMILY
5.2.1
5.2.2.1
5.2.2
5.3
Most of the Special Function Registers (SFRs) associated with the PIC24F CPU and peripherals are reset to a
particular value at a device Reset. The SFRs are
grouped by their peripheral or CPU function and their
Reset values are specified in each section of this manual.
The Reset value for each SFR does not depend on the
type of Reset, with the exception of four registers. The
Reset value for the Reset Control register, RCON, will
depend on the type of device Reset. The Reset value
for the Oscillator Control register, OSCCON, will
depend on the type of Reset and the programmed
values of the FNOSC bits in the CW2 register (see
Table 5-2). The RCFGCAL and NVMCON registers are
only affected by a POR.
Preliminary
DS39881C-page 51
PIC24FJ64GA004 FAMILY
NOTES:
DS39881C-page 52
Preliminary
PIC24FJ64GA004 FAMILY
6.0
Note:
INTERRUPT CONTROLLER
6.1.1
6.1
6.2
Reset Sequence
Preliminary
DS39881C-page 53
PIC24FJ64GA004 FAMILY
FIGURE 6-1:
Interrupt Vector 52
Interrupt Vector 53
Interrupt Vector 54
Interrupt Vector 52
Interrupt Vector 53
Interrupt Vector 54
Note 1:
TABLE 6-1:
000000h
000002h
000004h
000014h
00007Ch
00007Eh
000080h
0000FCh
0000FEh
000100h
000102h
000114h
0001FEh
000200h
Vector Number
IVT Address
AIVT Address
Trap Source
000004h
000104h
000006h
000106h
Oscillator Failure
000008h
000108h
Address Error
Reserved
00000Ah
00010Ah
Stack Error
00000Ch
00010Ch
Math Error
00000Eh
00010Eh
Reserved
000010h
000110h
Reserved
000012h
0001172h
Reserved
DS39881C-page 54
Preliminary
PIC24FJ64GA004 FAMILY
TABLE 6-2:
Interrupt Source
ADC1 Conversion Done
Vector
Number
IVT Address
AIVT
Address
Flag
Enable
Priority
13
00002Eh
00012Eh
IFS0<13>
IEC0<13>
IPC3<6:4>
Comparator Event
18
000038h
000138h
IFS1<2>
IEC1<2>
IPC4<10:8>
CRC Generator
67
00009Ah
00019Ah
IFS4<3>
IEC4<3>
IPC16<14:12>
External Interrupt 0
000014h
000114h
IFS0<0>
IEC0<0>
IPC0<2:0>
External Interrupt 1
20
00003Ch
00013Ch
IFS1<4>
IEC1<4>
IPC5<2:0>
External Interrupt 2
29
00004Eh
00014Eh
IFS1<13>
IEC1<13>
IPC7<6:4>
17
000036h
000136h
IFS1<1>
IEC1<1>
IPC4<6:4>
16
000034h
000034h
IFS1<0>
IEC1<0>
IPC4<2:0>
50
000078h
000178h
IFS3<2>
IEC3<2>
IPC12<10:8>
49
000076h
000176h
IFS3<1>
IEC3<1>
IPC12<6:4>
Input Capture 1
000016h
000116h
IFS0<1>
IEC0<1>
IPC0<6:4>
Input Capture 2
00001Eh
00011Eh
IFS0<5>
IEC0<5>
IPC1<6:4>
Input Capture 3
37
00005Eh
00015Eh
IFS2<5>
IEC2<5>
IPC9<6:4>
Input Capture 4
38
000060h
000160h
IFS2<6>
IEC2<6>
IPC9<10:8>
Input Capture 5
39
000062h
000162h
IFS2<7>
IEC2<7>
IPC9<14:12>
19
00003Ah
00013Ah
IFS1<3>
IEC1<3>
IPC4<14:12>
Output Compare 1
000018h
000118h
IFS0<2>
IEC0<2>
IPC0<10:8>
IPC1<10:8>
Output Compare 2
000020h
000120h
IFS0<6>
IEC0<6>
Output Compare 3
25
000046h
000146h
IFS1<9>
IEC1<9>
IPC6<6:4>
Output Compare 4
26
000048h
000148h
IFS1<10>
IEC1<10>
IPC6<10:8>
Output Compare 5
41
000066h
000166h
IFS2<9>
IEC2<9>
IPC10<6:4>
45
00006Eh
00016Eh
IFS2<13>
IEC2<13>
IPC11<6:4>
Real-Time Clock/Calendar
62
000090h
000190h
IFS3<14>
IEC3<13>
IPC15<10:8>
SPI1 Error
000026h
000126h
IFS0<9>
IEC0<9>
IPC2<6:4>
SPI1 Event
10
000028h
000128h
IFS0<10>
IEC0<10>
IPC2<10:8>
SPI2 Error
32
000054h
000154h
IFS2<0>
IEC0<0>
IPC8<2:0>
SPI2 Event
33
000056h
000156h
IFS2<1>
IEC2<1>
IPC8<6:4>
Timer1
00001Ah
00011Ah
IFS0<3>
IEC0<3>
IPC0<14:12>
Timer2
000022h
000122h
IFS0<7>
IEC0<7>
IPC1<14:12>
Timer3
000024h
000124h
IFS0<8>
IEC0<8>
IPC2<2:0>
Timer4
27
00004Ah
00014Ah
IFS1<11>
IEC1<11>
IPC6<14:12>
Timer5
28
00004Ch
00014Ch
IFS1<12>
IEC1<12>
IPC7<2:0>
UART1 Error
65
000096h
000196h
IFS4<1>
IEC4<1>
IPC16<6:4>
IPC2<14:12>
UART1 Receiver
11
00002Ah
00012Ah
IFS0<11>
IEC0<11>
UART1 Transmitter
12
00002Ch
00012Ch
IFS0<12>
IEC0<12>
IPC3<2:0>
UART2 Error
66
000098h
000198h
IFS4<2>
IEC4<2>
IPC16<10:8>
UART2 Receiver
30
000050h
000150h
IFS1<14>
IEC1<14>
IPC7<10:8>
UART2 Transmitter
31
000052h
000152h
IFS1<15>
IEC1<15>
IPC7<14:12>
72
0000A4h
000124h
IFS4<8>
IEC4<8>
IPC17<2:0>
Preliminary
DS39881C-page 55
PIC24FJ64GA004 FAMILY
6.3
INTCON1
INTCON2
IFS0 through IFS4
IEC0 through IEC4
IPC0 through IPC12, IPC15, IPC16 and IPC18
DS39881C-page 56
Preliminary
PIC24FJ64GA004 FAMILY
REGISTER 6-1:
U-0
U-0
U-0
U-0
U-0
U-0
U-0
R-0
DC(1)
bit 15
bit 8
R/W-0
IPL2
(2,3)
R/W-0
R/W-0
R-0
R/W-0
R/W-0
R/W-0
R/W-0
IPL1(2,3)
IPL0(2,3)
RA(1)
N(1)
OV(1)
Z(1)
C(1)
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 7-5
Note 1:
2:
3:
See Register 2-1 for the description of the remaining bit(s) that are not dedicated to interrupt control
functions.
The IPL bits are concatenated with the IPL3 bit (CORCON<3>) to form the CPU interrupt priority level.
The value in parentheses indicates the interrupt priority level if IPL3 = 1.
The IPL Status bits are read-only when NSTDIS (INTCON1<15>) = 1.
REGISTER 6-2:
U-0
U-0
U-0
U-0
U-0
U-0
U-0
U-0
bit 15
bit 8
U-0
U-0
U-0
U-0
R/C-0
R/W-0
U-0
U-0
IPL3(2)
PSV(1)
bit 7
bit 0
Legend:
C = Clearable bit
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 3
Note 1:
2:
See Register 2-2 for the description of the remaining bit(s) that are not dedicated to interrupt control
functions.
The IPL3 bit is concatenated with the IPL2:IPL0 bits (SR<7:5>) to form the CPU interrupt priority level.
Preliminary
DS39881C-page 57
PIC24FJ64GA004 FAMILY
REGISTER 6-3:
R/W-0
U-0
U-0
U-0
U-0
U-0
U-0
U-0
NSTDIS
bit 15
bit 8
U-0
U-0
U-0
R/W-0
R/W-0
R/W-0
R/W-0
U-0
MATHERR
ADDRERR
STKERR
OSCFAIL
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15
bit 14-5
Unimplemented: Read as 0
bit 4
bit 3
bit 2
bit 1
bit 0
Unimplemented: Read as 0
DS39881C-page 58
Preliminary
x = Bit is unknown
PIC24FJ64GA004 FAMILY
REGISTER 6-4:
R/W-0
R-0
U-0
U-0
U-0
U-0
U-0
U-0
ALTIVT
DISI
bit 15
bit 8
U-0
U-0
U-0
U-0
U-0
R/W-0
R/W-0
R/W-0
INT2EP
INT1EP
INT0EP
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15
bit 14
bit 13-3
Unimplemented: Read as 0
bit 2
bit 1
bit 0
Preliminary
x = Bit is unknown
DS39881C-page 59
PIC24FJ64GA004 FAMILY
REGISTER 6-5:
U-0
bit 15
U-0
R/W-0
AD1IF
R/W-0
U1TXIF
R/W-0
U1RXIF
R/W-0
SPI1IF
R/W-0
SPF1IF
R/W-0
T3IF
bit 8
R/W-0
T2IF
bit 7
R/W-0
OC2IF
R/W-0
IC2IF
U-0
R/W-0
T1IF
R/W-0
OC1IF
R/W-0
IC1IF
R/W-0
INT0IF
bit 0
Legend:
R = Readable bit
-n = Value at POR
bit 15-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
W = Writable bit
1 = Bit is set
Unimplemented: Read as 0
AD1IF: A/D Conversion Complete Interrupt Flag Status bit
1 = Interrupt request has occurred
0 = Interrupt request has not occurred
U1TXIF: UART1 Transmitter Interrupt Flag Status bit
1 = Interrupt request has occurred
0 = Interrupt request has not occurred
U1RXIF: UART1 Receiver Interrupt Flag Status bit
1 = Interrupt request has occurred
0 = Interrupt request has not occurred
SPI1IF: SPI1 Event Interrupt Flag Status bit
1 = Interrupt request has occurred
0 = Interrupt request has not occurred
SPF1IF: SPI1 Fault Interrupt Flag Status bit
1 = Interrupt request has occurred
0 = Interrupt request has not occurred
T3IF: Timer3 Interrupt Flag Status bit
1 = Interrupt request has occurred
0 = Interrupt request has not occurred
T2IF: Timer2 Interrupt Flag Status bit
1 = Interrupt request has occurred
0 = Interrupt request has not occurred
OC2IF: Output Compare Channel 2 Interrupt Flag Status bit
1 = Interrupt request has occurred
0 = Interrupt request has not occurred
IC2IF: Input Capture Channel 2 Interrupt Flag Status bit
1 = Interrupt request has occurred
0 = Interrupt request has not occurred
Unimplemented: Read as 0
T1IF: Timer1 Interrupt Flag Status bit
1 = Interrupt request has occurred
0 = Interrupt request has not occurred
OC1IF: Output Compare Channel 1 Interrupt Flag Status bit
1 = Interrupt request has occurred
0 = Interrupt request has not occurred
IC1IF: Input Capture Channel 1 Interrupt Flag Status bit
1 = Interrupt request has occurred
0 = Interrupt request has not occurred
INT0IF: External Interrupt 0 Flag Status bit
1 = Interrupt request has occurred
0 = Interrupt request has not occurred
DS39881C-page 60
Preliminary
PIC24FJ64GA004 FAMILY
REGISTER 6-6:
R/W-0
U2TXIF
bit 15
R/W-0
INT2IF
R/W-0
T5IF
R/W-0
T4IF
U-0
U-0
R/W-0
INT1IF
R/W-0
CNIF
bit 7
Legend:
R = Readable bit
-n = Value at POR
bit 14
bit 13
bit 12
bit 11
bit 10
bit 9
bit 8-5
bit 4
bit 3
bit 2
bit 1
bit 0
R/W-0
OC3IF
U-0
bit 8
U-0
bit 15
R/W-0
OC4IF
W = Writable bit
1 = Bit is set
R/W-0
CMIF
R/W-0
MI2C1IF
R/W-0
SI2C1IF
bit 0
Preliminary
DS39881C-page 61
PIC24FJ64GA004 FAMILY
REGISTER 6-7:
U-0
U-0
R/W-0
U-0
U-0
U-0
R/W-0
U-0
PMPIF
OC5IF
bit 15
bit 8
R/W-0
R/W-0
R/W-0
U-0
U-0
U-0
R/W-0
R/W-0
IC5IF
IC4IF
IC3IF
SPI2IF
SPF2IF
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15-14
Unimplemented: Read as 0
bit 13
bit 12-10
Unimplemented: Read as 0
bit 9
bit 8
Unimplemented: Read as 0
bit 7
bit 6
bit 5
bit 4-2
Unimplemented: Read as 0
bit 1
bit 0
DS39881C-page 62
Preliminary
x = Bit is unknown
PIC24FJ64GA004 FAMILY
REGISTER 6-8:
U-0
R/W-0
U-0
U-0
U-0
U-0
U-0
U-0
RTCIF
bit 15
bit 8
U-0
U-0
U-0
U-0
U-0
R/W-0
R/W-0
U-0
MI2C2IF
SI2C2IF
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15
Unimplemented: Read as 0
bit 14
bit 13-3
Unimplemented: Read as 0
bit 2
bit 1
bit 0
Unimplemented: Read as 0
Preliminary
x = Bit is unknown
DS39881C-page 63
PIC24FJ64GA004 FAMILY
REGISTER 6-9:
U-0
U-0
U-0
U-0
U-0
U-0
U-0
R/W-0
LVDIF
bit 15
bit 8
U-0
U-0
U-0
U-0
R/W-0
R/W-0
R/W-0
U-0
CRCIF
U2ERIF
U1ERIF
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15-9
Unimplemented: Read as 0
bit 8
bit 7-4
Unimplemented: Read as 0
bit 3
bit 2
bit 1
bit 0
Unimplemented: Read as 0
DS39881C-page 64
Preliminary
x = Bit is unknown
PIC24FJ64GA004 FAMILY
REGISTER 6-10:
U-0
bit 15
U-0
R/W-0
AD1IE
R/W-0
U1TXIE
R/W-0
U1RXIE
R/W-0
SPI1IE
R/W-0
SPF1IE
R/W-0
T2IE
bit 7
R/W-0
OC2IE
R/W-0
IC2IE
U-0
R/W-0
T1IE
R/W-0
OC1IE
R/W-0
IC1IE
Legend:
R = Readable bit
-n = Value at POR
bit 15-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
Note 1:
W = Writable bit
1 = Bit is set
R/W-0
T3IE
bit 8
R/W-0
INT0IE(1)
bit 0
Unimplemented: Read as 0
AD1IE: A/D Conversion Complete Interrupt Enable bit
1 = Interrupt request enabled
0 = Interrupt request not enabled
U1TXIE: UART1 Transmitter Interrupt Enable bit
1 = Interrupt request enabled
0 = Interrupt request not enabled
U1RXIE: UART1 Receiver Interrupt Enable bit
1 = Interrupt request enabled
0 = Interrupt request not enabled
SPI1IE: SPI1 Transfer Complete Interrupt Enable bit
1 = Interrupt request enabled
0 = Interrupt request not enabled
SPF1IE: SPI1 Fault Interrupt Enable bit
1 = Interrupt request enabled
0 = Interrupt request not enabled
T3IE: Timer3 Interrupt Enable bit
1 = Interrupt request enabled
0 = Interrupt request not enabled
T2IE: Timer2 Interrupt Enable bit
1 = Interrupt request enabled
0 = Interrupt request not enabled
OC2IE: Output Compare Channel 2 Interrupt Enable bit
1 = Interrupt request enabled
0 = Interrupt request not enabled
IC2IE: Input Capture Channel 2 Interrupt Enable bit
1 = Interrupt request enabled
0 = Interrupt request not enabled
Unimplemented: Read as 0
T1IE: Timer1 Interrupt Enable bit
1 = Interrupt request enabled
0 = Interrupt request not enabled
OC1IE: Output Compare Channel 1 Interrupt Enable bit
1 = Interrupt request enabled
0 = Interrupt request not enabled
IC1IE: Input Capture Channel 1 Interrupt Enable bit
1 = Interrupt request enabled
0 = Interrupt request not enabled
INT0IE: External Interrupt 0 Enable bit(1)
1 = Interrupt request enabled
0 = Interrupt request not enabled
If INTxIE = 1, this external interrupt input must be configured to an available RPn pin. See Section 9.4
Peripheral Pin Select for more information.
Preliminary
DS39881C-page 65
PIC24FJ64GA004 FAMILY
REGISTER 6-11:
R/W-0
U2TXIE
bit 15
R/W-0
U2RXIE
R/W-0
INT2IE(1)
R/W-0
T5IE
R/W-0
T4IE
U-0
U-0
R/W-0
INT1IE(1)
R/W-0
CNIE
bit 7
Legend:
R = Readable bit
-n = Value at POR
bit 14
bit 13
bit 12
bit 11
bit 10
bit 9
bit 8-5
bit 4
bit 3
bit 2
bit 1
bit 0
Note 1:
R/W-0
OC3IE
U-0
bit 8
U-0
bit 15
R/W-0
OC4IE
W = Writable bit
1 = Bit is set
R/W-0
CMIE
R/W-0
MI2C1IE
R/W-0
SI2C1IE
bit 0
DS39881C-page 66
Preliminary
PIC24FJ64GA004 FAMILY
REGISTER 6-12:
U-0
U-0
R/W-0
U-0
U-0
U-0
R/W-0
U-0
PMPIE
OC5IE
bit 15
bit 8
R/W-0
R/W-0
R/W-0
U-0
U-0
U-0
R/W-0
R/W-0
IC5IE
IC4IE
IC3IE
SPI2IE
SPF2IE
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15-14
Unimplemented: Read as 0
bit 13
bit 12-10
Unimplemented: Read as 0
bit 9
bit 8
Unimplemented: Read as 0
bit 7
bit 6
bit 5
bit 4-2
Unimplemented: Read as 0
bit 1
bit 0
Preliminary
x = Bit is unknown
DS39881C-page 67
PIC24FJ64GA004 FAMILY
REGISTER 6-13:
U-0
R/W-0
U-0
U-0
U-0
U-0
U-0
U-0
RTCIE
bit 15
bit 8
U-0
U-0
U-0
U-0
U-0
R/W-0
R/W-0
U-0
MI2C2IE
SI2C2IE
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15
Unimplemented: Read as 0
bit 14
bit 13-3
Unimplemented: Read as 0
bit 2
bit 1
bit 0
Unimplemented: Read as 0
DS39881C-page 68
Preliminary
x = Bit is unknown
PIC24FJ64GA004 FAMILY
REGISTER 6-14:
U-0
U-0
U-0
U-0
U-0
U-0
U-0
R/W-0
LVDIE
bit 15
bit 8
U-0
U-0
U-0
U-0
R/W-0
R/W-0
R/W-0
U-0
CRCIE
U2ERIE
U1ERIE
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15-9
Unimplemented: Read as 0
bit 8
bit 7-4
Unimplemented: Read as 0
bit 3
bit 2
bit 1
bit 0
Unimplemented: Read as 0
Preliminary
x = Bit is unknown
DS39881C-page 69
PIC24FJ64GA004 FAMILY
REGISTER 6-15:
U-0
R/W-1
R/W-0
R/W-0
U-0
R/W-1
R/W-0
R/W-0
T1IP2
T1IP1
T1IP0
OC1IP2
OC1IP1
OC1IP0
bit 15
bit 8
U-0
R/W-1
R/W-0
R/W-0
U-0
R/W-1
R/W-0
R/W-0
IC1IP2
IC1IP1
IC1IP0
INT0IP2
INT0IP1
INT0IP0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15
Unimplemented: Read as 0
bit 14-12
bit 11
Unimplemented: Read as 0
bit 10-8
bit 7
Unimplemented: Read as 0
bit 6-4
bit 3
Unimplemented: Read as 0
bit 2-0
DS39881C-page 70
Preliminary
x = Bit is unknown
PIC24FJ64GA004 FAMILY
REGISTER 6-16:
U-0
R/W-1
R/W-0
R/W-0
U-0
R/W-1
R/W-0
R/W-0
T2IP2
T2IP1
T2IP0
OC2IP2
OC2IP1
OC2IP0
bit 15
bit 8
U-0
R/W-1
R/W-0
R/W-0
U-0
U-0
U-0
U-0
IC2IP2
IC2IP1
IC2IP0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15
Unimplemented: Read as 0
bit 14-12
bit 11
Unimplemented: Read as 0
bit 10-8
bit 7
Unimplemented: Read as 0
bit 6-4
bit 3-0
Unimplemented: Read as 0
Preliminary
x = Bit is unknown
DS39881C-page 71
PIC24FJ64GA004 FAMILY
REGISTER 6-17:
U-0
R/W-1
R/W-0
R/W-0
U-0
R/W-1
R/W-0
R/W-0
U1RXIP2
U1RXIP1
U1RXIP0
SPI1IP2
SPI1IP1
SPI1IP0
bit 15
bit 8
U-0
R/W-1
R/W-0
R/W-0
U-0
R/W-1
R/W-0
R/W-0
SPF1IP2
SPF1IP1
SPF1IP0
T3IP2
T3IP1
T3IP0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15
Unimplemented: Read as 0
bit 14-12
bit 11
Unimplemented: Read as 0
bit 10-8
bit 7
Unimplemented: Read as 0
bit 6-4
bit 3
Unimplemented: Read as 0
bit 2-0
DS39881C-page 72
Preliminary
x = Bit is unknown
PIC24FJ64GA004 FAMILY
REGISTER 6-18:
U-0
U-0
U-0
U-0
U-0
U-0
U-0
U-0
bit 15
bit 8
U-0
R/W-1
R/W-0
R/W-0
U-0
R/W-1
R/W-0
R/W-0
AD1IP2
AD1IP1
AD1IP0
U1TXIP2
U1TXIP1
U1TXIP0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15-7
Unimplemented: Read as 0
bit 6-4
bit 3
Unimplemented: Read as 0
bit 2-0
Preliminary
x = Bit is unknown
DS39881C-page 73
PIC24FJ64GA004 FAMILY
REGISTER 6-19:
U-0
R/W-1
R/W-0
R/W-0
U-0
R/W-1
R/W-0
R/W-0
CNIP2
CNIP1
CNIP0
CMIP2
CMIP1
CMIP0
bit 15
bit 8
U-0
R/W-1
R/W-0
R/W-0
U-0
R/W-1
R/W-0
R/W-0
MI2C1P2
MI2C1P1
MI2C1P0
SI2C1P2
SI2C1P1
SI2C1P0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15
Unimplemented: Read as 0
bit 14-12
bit 11
Unimplemented: Read as 0
bit 10-8
bit 7
Unimplemented: Read as 0
bit 6-4
bit 3
Unimplemented: Read as 0
bit 2-0
DS39881C-page 74
Preliminary
x = Bit is unknown
PIC24FJ64GA004 FAMILY
REGISTER 6-20:
U-0
U-0
U-0
U-0
U-0
U-0
U-0
U-0
bit 15
bit 8
U-0
U-0
U-0
U-0
U-0
R/W-1
R/W-0
R/W-0
INT1IP2
INT1IP1
INT1IP0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15-3
Unimplemented: Read as 0
bit 2-0
Preliminary
x = Bit is unknown
DS39881C-page 75
PIC24FJ64GA004 FAMILY
REGISTER 6-21:
U-0
R/W-1
R/W-0
R/W-0
U-0
R/W-1
R/W-0
R/W-0
T4IP2
T4IP1
T4IP0
OC4IP2
OC4IP1
OC4IP0
bit 15
bit 8
U-0
R/W-1
R/W-0
R/W-0
U-0
U-0
U-0
U-0
OC3IP2
OC3IP1
OC3IP0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15
Unimplemented: Read as 0
bit 14-12
bit 11
Unimplemented: Read as 0
bit 10-8
bit 7
Unimplemented: Read as 0
bit 6-4
bit 3-0
Unimplemented: Read as 0
DS39881C-page 76
Preliminary
x = Bit is unknown
PIC24FJ64GA004 FAMILY
REGISTER 6-22:
U-0
R/W-1
R/W-0
R/W-0
U-0
R/W-1
R/W-0
R/W-0
U2TXIP2
U2TXIP1
U2TXIP0
U2RXIP2
U2RXIP1
U2RXIP0
bit 15
bit 8
U-0
R/W-1
R/W-0
R/W-0
U-0
R/W-1
R/W-0
R/W-0
INT2IP2
INT2IP1
INT2IP0
T5IP2
T5IP1
T5IP0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15
Unimplemented: Read as 0
bit 14-12
bit 11
Unimplemented: Read as 0
bit 10-8
bit 7
Unimplemented: Read as 0
bit 6-4
bit 3
Unimplemented: Read as 0
bit 2-0
Preliminary
x = Bit is unknown
DS39881C-page 77
PIC24FJ64GA004 FAMILY
REGISTER 6-23:
U-0
U-0
U-0
U-0
U-0
U-0
U-0
U-0
bit 15
bit 8
U-0
R/W-1
R/W-0
R/W-0
U-0
R/W-1
R/W-0
R/W-0
SPI2IP2
SPI2IP1
SPI2IP0
SPF2IP2
SPF2IP1
SPF2IP0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15-7
Unimplemented: Read as 0
bit 6-4
bit 3
Unimplemented: Read as 0
bit 2-0
DS39881C-page 78
Preliminary
x = Bit is unknown
PIC24FJ64GA004 FAMILY
REGISTER 6-24:
U-0
R/W-1
R/W-0
R/W-0
U-0
R/W-1
R/W-0
R/W-0
IC5IP2
IC5IP1
IC5IP0
IC4IP2
IC4IP1
IC4IP0
bit 15
bit 8
U-0
R/W-1
R/W-0
R/W-0
U-0
U-0
U-0
U-0
IC3IP2
IC3IP1
IC3IP0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15
Unimplemented: Read as 0
bit 14-12
bit 11
Unimplemented: Read as 0
bit 10-8
bit 7
Unimplemented: Read as 0
bit 6-4
bit 3-0
Unimplemented: Read as 0
Preliminary
x = Bit is unknown
DS39881C-page 79
PIC24FJ64GA004 FAMILY
REGISTER 6-25:
U-0
U-0
U-0
U-0
U-0
U-0
U-0
U-0
bit 15
bit 8
U-0
R/W-1
R/W-0
R/W-0
U-0
U-0
U-0
U-0
OC5IP2
OC5IP1
OC5IP0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-7
Unimplemented: Read as 0
bit 6-4
bit 3-0
Unimplemented: Read as 0
REGISTER 6-26:
U-0
U-0
U-0
U-0
U-0
U-0
U-0
U-0
bit 15
bit 8
U-0
R/W-1
R/W-0
R/W-0
U-0
U-0
U-0
U-0
PMPIP2
PMPIP1
PMPIP0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15-7
Unimplemented: Read as 0
bit 6-4
bit 3-0
Unimplemented: Read as 0
DS39881C-page 80
Preliminary
x = Bit is unknown
PIC24FJ64GA004 FAMILY
REGISTER 6-27:
U-0
U-0
U-0
U-0
U-0
R/W-1
R/W-0
R/W-0
MI2C2P2
MI2C2P1
MI2C2P0
bit 15
bit 8
U-0
R/W-1
R/W-0
R/W-0
U-0
U-0
U-0
U-0
SI2C2P2
SI2C2P1
SI2C2P0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15-11
Unimplemented: Read as 0
bit 10-8
bit 7
Unimplemented: Read as 0
bit 6-4
bit 3-0
Unimplemented: Read as 0
Preliminary
x = Bit is unknown
DS39881C-page 81
PIC24FJ64GA004 FAMILY
REGISTER 6-28:
U-0
U-0
U-0
U-0
U-0
R/W-1
R/W-0
R/W-0
RTCIP2
RTCIP1
RTCIP0
bit 15
bit 8
U-0
U-0
U-0
U-0
U-0
U-0
U-0
U-0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15-11
Unimplemented: Read as 0
bit 10-8
bit 7-0
Unimplemented: Read as 0
DS39881C-page 82
Preliminary
x = Bit is unknown
PIC24FJ64GA004 FAMILY
REGISTER 6-29:
U-0
R/W-1
R/W-0
R/W-0
U-0
R/W-1
R/W-0
R/W-0
CRCIP2
CRCIP1
CRCIP0
U2ERIP2
U2ERIP1
U2ERIP0
bit 15
bit 8
U-0
R/W-1
R/W-0
R/W-0
U-0
U-0
U-0
U-0
U1ERIP2
U1ERIP1
U1ERIP0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15
Unimplemented: Read as 0
bit 14-12
bit 11
Unimplemented: Read as 0
bit 10-8
bit 7
Unimplemented: Read as 0
bit 6-4
bit 3-0
Unimplemented: Read as 0
Preliminary
x = Bit is unknown
DS39881C-page 83
PIC24FJ64GA004 FAMILY
REGISTER 6-30:
U-0
U-0
U-0
U-0
U-0
U-0
U-0
U-0
bit 15
bit 8
U-0
U-0
U-0
U-0
U-0
R/W-1
R/W-0
R/W-0
LVDIP2
LVDIP1
LVDIP0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15-3
Unimplemented: Read as 0
bit 2-0
DS39881C-page 84
Preliminary
x = Bit is unknown
PIC24FJ64GA004 FAMILY
6.4
6.4.1
6.4.3
INITIALIZATION
3.
4.
6.4.2
6.4.4
INTERRUPT DISABLE
Preliminary
DS39881C-page 85
PIC24FJ64GA004 FAMILY
NOTES:
DS39881C-page 86
Preliminary
PIC24FJ64GA004 FAMILY
7.0
OSCILLATOR
CONFIGURATION
Note:
Primary Oscillator
XT, HS, EC
OSCO
OSCI
4 x PLL
8 MHz
(nominal)
CLKDIV<10:8>
LPRC
Oscillator
CLKDIV<14:12>
XTPLL, HSPLL
ECPLL,FRCPLL
8 MHz
4 MHz
Postscaler
FRC
Oscillator
CLKO
Postscaler
FIGURE 7-1:
CPU
FRCDIV
Peripherals
FRC
LPRC
31 kHz (nominal)
Secondary Oscillator
SOSC
SOSCO
SOSCI
SOSCEN
Enable
Oscillator
WDT, PWRT
Clock Source Option
for Other Modules
Preliminary
DS39881C-page 87
PIC24FJ64GA004 FAMILY
7.1
7.2
7.2.1
TABLE 7-1:
POSCMD1:
POSCMD0
FNOSC2:
FNOSC0
Note
Internal
11
111
1, 2
(Reserved)
Internal
xx
110
Oscillator Mode
Internal
11
101
Secondary
00
100
Primary
01
011
Primary
00
011
Primary
10
010
Primary
01
010
Primary
00
010
Internal
11
001
Internal
11
000
Note 1:
2:
DS39881C-page 88
Preliminary
PIC24FJ64GA004 FAMILY
7.3
Control Registers
REGISTER 7-1:
U-0
R-0
R-0
R-0
U-0
R/W-x(1)
R/W-x(1)
R/W-x(1)
COSC2
COSC1
COSC0
NOSC2
NOSC1
NOSC0
bit 15
bit 8
R/SO-0
R/W-0
R-0(3)
U-0
R/CO-0
U-0
R/W-0
R/W-0
CLKLOCK
IOLOCK(2)
LOCK
CF
SOSCEN
OSWEN
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15
Unimplemented: Read as 0
bit 14-12
bit 11
Unimplemented: Read as 0
bit 10-8
Note 1:
2:
3:
x = Bit is unknown
Reset values for these bits are determined by the FNOSC Configuration bits.
The state of the IOLOCK bit can only be changed once an unlocking sequence has been executed. In
addition, if the IOL1WAY Configuration bit is 1 once the IOLOCK bit is set, it cannot be cleared.
Also resets to 0 during any valid clock switch or whenever a non-PLL Clock mode is selected.
Preliminary
DS39881C-page 89
PIC24FJ64GA004 FAMILY
REGISTER 7-1:
bit 7
bit 6
bit 5
bit 4
Unimplemented: Read as 0
bit 3
bit 2
Unimplemented: Read as 0
bit 1
bit 0
Note 1:
2:
3:
Reset values for these bits are determined by the FNOSC Configuration bits.
The state of the IOLOCK bit can only be changed once an unlocking sequence has been executed. In
addition, if the IOL1WAY Configuration bit is 1 once the IOLOCK bit is set, it cannot be cleared.
Also resets to 0 during any valid clock switch or whenever a non-PLL Clock mode is selected.
DS39881C-page 90
Preliminary
PIC24FJ64GA004 FAMILY
REGISTER 7-2:
R/W-0
ROI
R/W-1
DOZE2
DOZE1
R/W-1
R/W-0
R/W-0
R/W-0
R/W-1
DOZE0
DOZEN(1)
RCDIV2
RCDIV1
RCDIV0
bit 15
bit 8
U-0
U-1
U-0
U-0
U-0
U-0
U-0
U-0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15
bit 14-12
bit 11
bit 10-8
bit 7
Unimplemented: Read as 0
bit 6
Unimplemented: Read as 1
bit 5-0
Unimplemented: Read as 0
Note 1:
This bit is automatically cleared when the ROI bit is set and an interrupt occurs.
Preliminary
DS39881C-page 91
PIC24FJ64GA004 FAMILY
REGISTER 7-3:
U-0
U-0
U-0
U-0
U-0
U-0
U-0
U-0
bit 15
bit 8
U-0
U-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
TUN5(1)
TUN4(1)
TUN3(1)
TUN2(1)
TUN1(1)
TUN0(1)
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-6
Unimplemented: Read as 0
bit 5-0
000001 =
000000 = Center frequency, oscillator is running at factory calibrated frequency
111111 =
100001 =
100000 = Minimum frequency deviation
Note 1:
7.4
Increments or decrements of TUN5:TUN0 may not change the FRC frequency in equal steps over the
FRC tuning range, and may not be monotonic.
7.4.1
DS39881C-page 92
Preliminary
PIC24FJ64GA004 FAMILY
7.4.2
OSCILLATOR SWITCHING
SEQUENCE
1.
1.
2.
2.
3.
4.
5.
If
desired,
read
the
COSCx
bits
(OSCCON<14:12>), to determine the current
oscillator source.
Perform the unlock sequence to allow a write to
the OSCCON register high byte.
Write the appropriate value to the NOSCx bits
(OSCCON<10:8>) for the new oscillator source.
Perform the unlock sequence to allow a write to
the OSCCON register low byte.
Set the OSWEN bit to initiate the oscillator
switch.
3.
4.
5.
6.
1.
7.
2.
3.
4.
5.
6.
8.
EXAMPLE 7-1:
Preliminary
DS39881C-page 93
PIC24FJ64GA004 FAMILY
NOTES:
DS39881C-page 94
Preliminary
PIC24FJ64GA004 FAMILY
8.0
Note:
POWER-SAVING FEATURES
This data sheet summarizes the features
of this group of PIC24F devices. It is not
intended to be a comprehensive reference
source. For more information, refer to the
PIC24F Family Reference Manual,
Section 10. Power-Saving Features
(DS39698). Additional power-saving tips
can also be found in Appendix B: Additional Guidance for PIC24FJ64GA004
Family Applications of this document.
Clock frequency
Instruction-based Sleep and Idle modes
Software controlled Doze mode
Selective peripheral control in software
Combinations of these methods can be used to selectively tailor an applications power consumption, while
still maintaining critical application features, such as
timing-sensitive communications.
8.1
8.2
Instruction-Based Power-Saving
Modes
8.2.1
SLEEP MODE
EXAMPLE 8-1:
PWRSAV
PWRSAV
#SLEEP_MODE
#IDLE_MODE
Preliminary
DS39881C-page 95
PIC24FJ64GA004 FAMILY
8.2.2
IDLE MODE
8.2.3
8.3
Doze Mode
DS39881C-page 96
8.4
Preliminary
PIC24FJ64GA004 FAMILY
9.0
Note:
I/O PORTS
9.1
FIGURE 9-1:
Output Multiplexers
PIO Module
WR TRIS
Output Enable
0
1
Output Data
Read TRIS
Data Bus
I/O
1
I/O Pin
CK
TRIS Latch
D
WR LAT +
WR PORT
CK
Data Latch
Read LAT
Input Data
Read PORT
Preliminary
DS39881C-page 97
PIC24FJ64GA004 FAMILY
9.1.1
9.3
OPEN-DRAIN CONFIGURATION
9.2
9.2.1
EXAMPLE 9-1:
MOV
MOV
NOP
BTSS
0xFF00, W0
W0, TRISBB
PORTB, #13
DS39881C-page 98
Preliminary
PIC24FJ64GA004 FAMILY
9.4
A major challenge in general purpose devices is providing the largest possible set of peripheral features while
minimizing the conflict of features on I/O pins. The challenge is even greater on low pin count devices similar
to the PIC24FJ64GA family. In an application that
needs to use more than one peripheral multiplexed on
single pin, inconvenient workarounds in application
code or a complete redesign may be the only option.
9.4.2.1
The peripheral pin select feature provides an alternative to these choices by enabling the users peripheral
set selection and their placement on a wide range of
I/O pins. By increasing the pinout options available on
a particular device, users can better tailor the
microcontroller to their entire application, rather than
trimming the application to fit the device.
9.4.3
9.4.1
The association of a peripheral to a peripheral selectable pin is handled in two different ways, depending on
if an input or an output is being mapped.
AVAILABLE PINS
9.4.2
AVAILABLE PERIPHERALS
9.4.3.1
Input Mapping
Preliminary
DS39881C-page 99
PIC24FJ64GA004 FAMILY
TABLE 9-1:
Register
Configuration
Bits
External Interrupt 1
External Interrupt 2
Timer2 External Clock
Timer3 External Clock
Timer4 External Clock
Timer5 External Clock
Input Capture 1
Input Capture 2
Input Capture 3
Input Capture 4
Input Capture 5
Output Compare Fault A
Output Compare Fault B
UART1 Receive
INT1
INT2
T2CK
T3CK
T4CK
T5CK
IC1
IC2
IC3
IC4
IC5
OCFA
OCFB
U1RX
RPINR0
RPINR1
RPINR3
RPINR3
RPINR4
RPINR4
RPINR7
RPINR7
RPINR8
RPINR8
RPINR9
RPINR11
RPINR11
RPINR18
INTR1<4:0>
INTR2R<4:0>
T2CKR<4:0>
T3CKR<4:0>
T4CKR<4:0>
T5CKR<4:0>
IC1R<4:0>
IC2R<4:0>
IC3R<4:0>
IC4R<4:0>
IC5R<4:0>
OCFAR<4:0>
OCFBR<4:0>
U1RXR<4:0>
U1CTS
U2RX
RPINR18
RPINR19
U1CTSR<4:0>
U2RXR<4:0>
Input Name
9.4.3.2
Output Mapping
DS39881C-page 100
U2CTSR<4:0>
SDI1R<4:0>
SCK1R<4:0>
SS1R<4:0>
SDI2R<4:0>
SCK2R<4:0>
SS2R<4:0>
Because of the mapping technique, the list of peripherals for output mapping also includes a null value of
00000. This permits any given pin to remain disconnected from the output of any of the pin selectable
peripherals.
Preliminary
PIC24FJ64GA004 FAMILY
TABLE 9-2:
Function
SELECTABLE OUTPUT
SOURCES (MAPS FUNCTION
TO OUTPUT)
Output Function
Number(1)
Output Name
NULL(2)
C1OUT
C2OUT
U1TX
0
1
2
3
NULL
Comparator 1 Output
Comparator 2 Output
UART1 Transmit
U1RTS(3)
U2TX
4
5
U2RTS(3)
6
UART2 Request To Send
SDO1
7
SPI1 Data Output
SCK1OUT
8
SPI1 Clock Output
SS1OUT
9
SPI1 Slave Select Output
SDO2
10
SPI2 Data Output
SCK2OUT
11
SPI2 Clock Output
SS2OUT
12
SPI2 Slave Select Output
OC1
18
Output Compare 1
OC2
19
Output Compare 2
OC3
20
Output Compare 3
OC4
21
Output Compare 4
OC5
22
Output Compare 5
Note 1: Value assigned to the RPn<4:0> pins corresponds to the peripheral output function
number.
2: The NULL function is assigned to all RPn
outputs at device Reset and disables the
RPn output function.
3: IrDA BCLK functionality uses this output.
9.4.3.3
Mapping Limitations
9.4.4
CONTROLLING CONFIGURATION
CHANGES
9.4.4.1
9.4.4.2
9.4.4.3
As an additional level of safety, the device can be configured to prevent more than one write session to the
RPINRx and RPORx registers. The IOL1WAY
(CW2<4>) Configuration bit blocks the IOLOCK bit
from being cleared after it has been set once. If
IOLOCK remains set, the register unlock procedure will
not execute and the Peripheral Pin Select Control registers cannot be written to. The only way to clear the bit
and re-enable peripheral remapping is to perform a
device Reset.
In the default (unprogrammed) state, IOL1WAY is set,
restricting users to one write session. Programming
IOL1WAY allows users unlimited access (with the
proper use of the unlock sequence) to the Peripheral
Pin Select registers.
Preliminary
DS39881C-page 101
PIC24FJ64GA004 FAMILY
9.4.5
CONSIDERATIONS FOR
PERIPHERAL PIN SELECTION
DS39881C-page 102
A final consideration is that peripheral pin select functions neither override analog inputs, nor reconfigure
pins with analog functions for digital I/O. If a pin is
configured as an analog input on device Reset, it must
be explicitly reconfigured as digital I/O when used with
a peripheral pin select.
Example 9-2 shows a configuration for bidirectional
communication with flow control using UART1. The
following input and output functions are used:
Input Functions: U1RX, U1CTS
Output Functions: U1TX, U1RTS
EXAMPLE 9-2:
CONFIGURING UART1
INPUT AND OUTPUT
FUNCTIONS
//*************************************
// Unlock Registers
//*************************************
asm volatile ( "MOV
#OSCCON, w1 \n"
"MOV
#0x46, w2
\n"
"MOV
#0x57, w3
\n"
"MOV.b w2, [w1]
\n"
"MOV.b w3, [w1]
\n"
"BCLR OSCCON,#6");
//***************************
// Configure Input Functions
// (See Table 9-1)
//***************************
//***************************
// Assign U1RX To Pin RP0
//***************************
RPINR18bits.U1RXR = 0;
//***************************
// Assign U1CTS To Pin RP1
//***************************
RPINR18bits.U1CTSR = 1;
//***************************
// Configure Output Functions
// (See Table 9-2)
//***************************
//***************************
// Assign U1TX To Pin RP2
//***************************
RPOR1bits.RP2R = 3;
//***************************
// Assign U1RTS To Pin RP3
//***************************
RPOR1bits.RP3R = 4;
//*************************************
// Lock Registers
//*************************************
asm volatile ( "MOV
#OSCCON, w1 \n"
"MOV
#0x46, w2
\n"
"MOV
#0x57, w3
\n"
"MOV.b w2, [w1]
\n"
"MOV.b w3, [w1]
\n"
"BSET
OSCCON, #6" );
Preliminary
PIC24FJ64GA004 FAMILY
9.5
Note:
REGISTER 9-1:
U-0
U-0
U-0
R/W-1
R/W-1
R/W-1
R/W-1
R/W-1
INT1R4
INT1R3
INT1R2
INT1R1
INT1R0
bit 15
bit 8
U-0
U-0
U-0
U-0
U-0
U-0
U-0
U-0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-13
Unimplemented: Read as 0
bit 12-8
INT1R4:INT1R0: Assign External Interrupt 1 (INT1) to the Corresponding RPn Pin bits
bit 7-0
Unimplemented: Read as 0
REGISTER 9-2:
U-0
U-0
U-0
U-0
U-0
U-0
U-0
U-0
bit 15
bit 8
U-0
U-0
U-0
R/W-1
R/W-1
R/W-1
R/W-1
R/W-1
INT2R4
INT2R3
INT2R2
INT2R1
INT2R0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-5
Unimplemented: Read as 0
bit 4-0
INT2R4:INT2R0: Assign External Interrupt 2 (INT2) to the Corresponding RPn Pin bits
Preliminary
DS39881C-page 103
PIC24FJ64GA004 FAMILY
REGISTER 9-3:
U-0
U-0
U-0
R/W-1
R/W-1
R/W-1
R/W-1
R/W-1
T3CKR4
T3CKR3
T3CKR2
T3CKR1
T3CKR0
bit 15
bit 8
U-0
U-0
U-0
R/W-1
R/W-1
R/W-1
R/W-1
R/W-1
T2CKR4
T2CKR3
T2CKR2
T2CKR1
T2CKR0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-13
Unimplemented: Read as 0
bit 12-8
T3CKR4:T3CKR0: Assign Timer3 External Clock (T3CK) to the Corresponding RPn Pin bits
bit 7-5
Unimplemented: Read as 0
bit 4-0
T2CKR4:T2CKR0: Assign Timer2 External Clock (T2CK) to the Corresponding RPn Pin bits
REGISTER 9-4:
U-0
U-0
U-0
R/W-1
R/W-1
R/W-1
R/W-1
R/W-1
T5CKR4
T5CKR3
T5CKR2
T5CKR1
T5CKR0
bit 15
bit 8
U-0
U-0
U-0
R/W-1
R/W-1
R/W-1
R/W-1
R/W-1
T4CKR4
T4CKR3
T4CKR2
T4CKR1
T4CKR0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-13
Unimplemented: Read as 0
bit 12-8
T5CKR4:T5CKR0: Assign Timer5 External Clock (T5CK) to the Corresponding RPn Pin bits
bit 7-5
Unimplemented: Read as 0
bit 4-0
T4CKR4:T4CKR0: Assign Timer4 External Clock (T4CK) to the Corresponding RPn Pin bits
DS39881C-page 104
Preliminary
PIC24FJ64GA004 FAMILY
REGISTER 9-5:
U-0
U-0
U-0
R/W-1
R/W-1
R/W-1
R/W-1
R/W-1
IC2R4
IC2R3
IC2R2
IC2R1
IC2R0
bit 15
bit 8
U-0
U-0
U-0
R/W-1
R/W-1
R/W-1
R/W-1
R/W-1
IC1R4
IC1R3
IC1R2
IC1R1
IC1R0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-13
Unimplemented: Read as 0
bit 12-8
IC2R4:IC2R0: Assign Input Capture 2 (IC2) to the Corresponding RPn Pin bits
bit 7-5
Unimplemented: Read as 0
bit 4-0
IC1R4:IC1R0: Assign Input Capture 1 (IC1) to the Corresponding RPn Pin bits
REGISTER 9-6:
U-0
U-0
U-0
R/W-1
R/W-1
R/W-1
R/W-1
R/W-1
IC4R4
IC4R3
IC4R2
IC4R1
IC4R0
bit 15
bit 8
U-0
U-0
U-0
R/W-1
R/W-1
R/W-1
R/W-1
R/W-1
IC3R4
IC3R3
IC3R2
IC3R1
IC3R0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-13
Unimplemented: Read as 0
bit 12-8
IC4R4:IC4R0: Assign Input Capture 4 (IC4) to the Corresponding RPn Pin bits
bit 7-5
Unimplemented: Read as 0
bit 4-0
IC3R4:IC3R0: Assign Input Capture 3 (IC3) to the Corresponding RPn Pin bits
Preliminary
DS39881C-page 105
PIC24FJ64GA004 FAMILY
REGISTER 9-7:
U-0
U-0
U-0
U-0
U-0
U-0
U-0
U-0
bit 15
bit 8
U-0
U-0
U-0
R/W-1
R/W-1
R/W-1
R/W-1
R/W-1
IC5R4
IC5R3
IC5R2
IC5R1
IC5R0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-5
Unimplemented: Read as 0
bit 4-0
IC5R4:IC5R0: Assign Input Capture 5 (IC5) to the Corresponding RPn Pin bits
REGISTER 9-8:
U-0
U-0
U-0
R/W-1
R/W-1
R/W-1
R/W-1
R/W-1
OCFBR4
OCFBR3
OCFBR2
OCFBR1
OCFBR0
bit 15
bit 8
U-0
U-0
U-0
R/W-1
R/W-1
R/W-1
R/W-1
R/W-1
OCFAR4
OCFAR3
OCFAR2
OCFAR1
OCFAR0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-13
Unimplemented: Read as 0
bit 12-8
OCFBR4:OCFBR0: Assign Output Compare Fault B (OCFB) to the Corresponding RPn Pin bits
bit 7-5
Unimplemented: Read as 0
bit 4-0
OCFAR4:OCFAR0: Assign Output Compare Fault A (OCFA) to the Corresponding RPn Pin bits
DS39881C-page 106
Preliminary
PIC24FJ64GA004 FAMILY
REGISTER 9-9:
U-0
U-0
U-0
R/W-1
R/W-1
R/W-1
R/W-1
R/W-1
U1CTSR4
U1CTSR3
U1CTSR2
U1CTSR1
U1CTSR0
bit 15
bit 8
U-0
U-0
U-0
R/W-1
R/W-1
R/W-1
R/W-1
R/W-1
U1RXR4
U1RXR3
U1RXR2
U1RXR1
U1RXR0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15-13
x = Bit is unknown
Unimplemented: Read as 0
bit 12-8
U1CTSR4:U1CTSR0: Assign UART1 Clear to Send (U1CTS) to the Corresponding RPn Pin bits
bit 7-5
Unimplemented: Read as 0
bit 4-0
U1RXR4:U1RXR0: Assign UART1 Receive (U1RX) to the Corresponding RPn Pin bits
REGISTER 9-10:
U-0
U-0
U-0
R/W-1
R/W-1
R/W-1
R/W-1
R/W-1
U2CTSR4
U2CTSR3
U2CTSR2
U2CTSR1
U2CTSR0
bit 15
bit 8
U-0
U-0
U-0
R/W-1
R/W-1
R/W-1
R/W-1
R/W-1
U2RXR4
U2RXR3
U2RXR2
U2RXR1
U2RXR0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15-13
x = Bit is unknown
Unimplemented: Read as 0
bit 12-8
U2CTSR4:U2CTSR0: Assign UART2 Clear to Send (U2CTS) to the Corresponding RPn Pin bits
bit 7-5
Unimplemented: Read as 0
bit 4-0
U2RXR4:U2RXR0: Assign UART2 Receive (U2RX) to the Corresponding RPn Pin bits
Preliminary
DS39881C-page 107
PIC24FJ64GA004 FAMILY
REGISTER 9-11:
U-0
U-0
U-0
R/W-1
R/W-1
R/W-1
R/W-1
R/W-1
SCK1R4
SCK1R3
SCK1R2
SCK1R1
SCK1R0
bit 15
bit 8
U-0
U-0
U-0
R/W-1
R/W-1
R/W-1
R/W-1
R/W-1
SDI1R4
SDI1R3
SDI1R2
SDI1R1
SDI1R0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-13
Unimplemented: Read as 0
bit 12-8
SCK1R4:SCK1R0: Assign SPI1 Clock Input (SCK1IN) to the Corresponding RPn Pin bits
bit 7-5
Unimplemented: Read as 0
bit 4-0
SDI1R4:SDI1R0: Assign SPI1 Data Input (SDI1) to the Corresponding RPn Pin bits
REGISTER 9-12:
U-0
U-0
U-0
U-0
U-0
U-0
U-0
U-0
bit 15
bit 8
U-0
U-0
U-0
R/W-1
R/W-1
R/W-1
R/W-1
R/W-1
SS1R4
SS1R3
SS1R2
SS1R1
SS1R0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-5
Unimplemented: Read as 0
bit 4-0
SS1R4:SS1R0: Assign SPI1 Slave Select Input (SS1IN) to the Corresponding RPn Pin bits
DS39881C-page 108
Preliminary
PIC24FJ64GA004 FAMILY
REGISTER 9-13:
U-0
U-0
U-0
R/W-1
R/W-1
R/W-1
R/W-1
R/W-1
SCK2R4
SCK2R3
SCK2R2
SCK2R1
SCK2R0
bit 15
bit 8
U-0
U-0
U-0
R/W-1
R/W-1
R/W-1
R/W-1
R/W-1
SDI2R4
SDI2R3
SDI2R2
SDI2R1
SDI2R0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-13
Unimplemented: Read as 0
bit 12-8
SCK2R4:SCK2R0: Assign SPI2 Clock Input (SCK2IN) to the Corresponding RPn Pin bits
bit 7-5
Unimplemented: Read as 0
bit 4-0
SDI2R4:SDI2R0: Assign SPI2 Data Input (SDI2) to the Corresponding RPn Pin bits
REGISTER 9-14:
U-0
U-0
U-0
U-0
U-0
U-0
U-0
U-0
bit 15
bit 8
U-0
U-0
U-0
R/W-1
R/W-1
R/W-1
R/W-1
R/W-1
SS2R4
SS2R3
SS2R2
SS2R1
SS2R0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-5
Unimplemented: Read as 0
bit 4-0
SS2R4:SS2R0: Assign SPI2 Slave Select Input (SS2IN) to the Corresponding RPn Pin bits
Preliminary
DS39881C-page 109
PIC24FJ64GA004 FAMILY
REGISTER 9-15:
U-0
U-0
U-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
RP1R4
RP1R3
RP1R2
RP1R1
RP1R0
bit 15
bit 8
U-0
U-0
U-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
RP0R4
RP0R3
RP0R2
RP0R1
RP0R0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-13
Unimplemented: Read as 0
bit 12-8
bit 7-5
Unimplemented: Read as 0
bit 4-0
REGISTER 9-16:
U-0
U-0
U-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
RP3R4
RP3R3
RP3R2
RP3R1
RP3R0
bit 15
bit 8
U-0
U-0
U-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
RP2R4
RP2R3
RP2R2
RP2R1
RP2R0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-13
Unimplemented: Read as 0
bit 12-8
bit 7-5
Unimplemented: Read as 0
bit 4-0
DS39881C-page 110
Preliminary
PIC24FJ64GA004 FAMILY
REGISTER 9-17:
U-0
U-0
U-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
RP5R4
RP5R3
RP5R2
RP5R1
RP5R0
bit 15
bit 8
U-0
U-0
U-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
RP4R4
RP4R3
RP4R2
RP4R1
RP4R0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-13
Unimplemented: Read as 0
bit 12-8
bit 7-5
Unimplemented: Read as 0
bit 4-0
REGISTER 9-18:
U-0
U-0
U-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
RP7R4
RP7R3
RP7R2
RP7R1
RP7R0
bit 15
bit 8
U-0
U-0
U-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
RP6R4
RP6R3
RP6R2
RP6R1
RP6R0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-13
Unimplemented: Read as 0
bit 12-8
bit 7-5
Unimplemented: Read as 0
bit 4-0
Preliminary
DS39881C-page 111
PIC24FJ64GA004 FAMILY
REGISTER 9-19:
U-0
U-0
U-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
RP9R4
RP9R3
RP9R2
RP9R1
RP9R0
bit 15
bit 8
U-0
U-0
U-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
RP8R4
RP8R3
RP8R2
RP8R1
RP8R0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-13
Unimplemented: Read as 0
bit 12-8
bit 7-5
Unimplemented: Read as 0
bit 4-0
REGISTER 9-20:
U-0
U-0
U-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
RP11R4
RP11R3
RP11R2
RP11R1
RP11R0
bit 15
bit 8
U-0
U-0
U-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
RP10R4
RP10R3
RP10R2
RP10R1
RP10R0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-13
Unimplemented: Read as 0
bit 12-8
bit 7-5
Unimplemented: Read as 0
bit 4-0
DS39881C-page 112
Preliminary
PIC24FJ64GA004 FAMILY
REGISTER 9-21:
U-0
U-0
U-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
RP13R4
RP13R3
RP13R2
RP13R1
RP13R0
bit 15
bit 8
U-0
U-0
U-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
RP12R4
RP12R3
RP12R2
RP12R1
RP12R0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-13
Unimplemented: Read as 0
bit 12-8
bit 7-5
Unimplemented: Read as 0
bit 4-0
REGISTER 9-22:
U-0
U-0
U-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
RP15R4
RP15R3
RP15R2
RP15R1
RP15R0
bit 15
bit 8
U-0
U-0
U-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
RP14R4
RP14R3
RP14R2
RP14R1
RP14R0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-13
Unimplemented: Read as 0
bit 12-8
bit 7-5
Unimplemented: Read as 0
bit 4-0
Preliminary
DS39881C-page 113
PIC24FJ64GA004 FAMILY
REGISTER 9-23:
U-0
U-0
U-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
RP17R4(1)
RP17R3(1)
RP17R2(1)
RP17R1(1)
RP17R0(1)
bit 15
bit 8
U-0
U-0
U-0
R/W-0
RP16R4
(1)
R/W-0
RP16R3
(1)
R/W-0
RP16R2
(1)
R/W-0
RP16R1
(1)
R/W-0
RP16R0(1)
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-13
Unimplemented: Read as 0
bit 12-8
bit 7-5
Unimplemented: Read as 0
bit 4-0
Note 1:
Bits are only available on the 44-pin devices; otherwise, they read as 0.
REGISTER 9-24:
U-0
U-0
U-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
RP19R4
RP19R3
RP19R2
RP19R1
RP19R0
bit 15
bit 8
U-0
U-0
U-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
RP18R4
RP18R3
RP18R2
RP18R1
RP18R0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-13
Unimplemented: Read as 0
bit 12-8
bit 7-5
Unimplemented: Read as 0
bit 4-0
Note 1:
Bits are only available on the 44-pin devices; otherwise, they read as 0.
DS39881C-page 114
Preliminary
PIC24FJ64GA004 FAMILY
REGISTER 9-25:
U-0
U-0
U-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
RP21R4(1)
RP21R3(1)
RP21R2(1)
RP21R1(1)
RP21R0(1)
bit 15
bit 8
U-0
U-0
U-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
RP20R4(1)
RP20R3(1)
RP20R2(1)
RP20R1(1)
RP20R0(1)
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-13
Unimplemented: Read as 0
bit 12-8
bit 7-5
Unimplemented: Read as 0
bit 4-0
Note 1:
Bits are only available on the 44-pin devices; otherwise, they read as 0.
REGISTER 9-26:
U-0
U-0
U-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
RP23R4(1)
RP23R3(1)
RP23R2(1)
RP23R1(1)
RP23R0(1)
bit 15
bit 8
U-0
U-0
U-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
RP22R4(1)
RP22R3(1)
RP22R2(1)
RP22R1(1)
RP22R0(1)
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-13
Unimplemented: Read as 0
bit 12-8
bit 7-5
Unimplemented: Read as 0
bit 4-0
Note 1:
Bits are only available on the 44-pin devices; otherwise, they read as 0.
Preliminary
DS39881C-page 115
PIC24FJ64GA004 FAMILY
REGISTER 9-27:
U-0
U-0
R/W-0
RP25R4
(1)
R/W-0
RP25R3
(1)
R/W-0
RP25R2
(1)
R/W-0
RP25R1
(1)
R/W-0
RP25R0(1)
bit 15
bit 8
U-0
U-0
U-0
R/W-0
RP24R4
(1)
R/W-0
RP24R3
(1)
R/W-0
RP24R2
(1)
R/W-0
RP24R1
(1)
R/W-0
RP24R0(1)
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-13
Unimplemented: Read as 0
bit 12-8
bit 7-5
Unimplemented: Read as 0
bit 4-0
Note 1:
Bits are only available on the 44-pin devices; otherwise, they read as 0.
DS39881C-page 116
Preliminary
PIC24FJ64GA004 FAMILY
10.0
Note:
TIMER1
4.
5.
16-Bit Timer
16-Bit Synchronous Counter
16-Bit Asynchronous Counter
6.
FIGURE 10-1:
SOSCO/
T1CK
1x
SOSCEN
SOSCI
Gate
Sync
01
TCY
00
Prescaler
1, 8, 64, 256
TGATE
TCS
TGATE
Set T1IF
TON
CK
Reset
0
TMR1
1
Equal
Comparator
Sync
TSYNC
PR1
Preliminary
DS39881C-page 117
PIC24FJ64GA004 FAMILY
REGISTER 10-1:
R/W-0
U-0
R/W-0
U-0
U-0
U-0
U-0
U-0
TON
TSIDL
bit 15
bit 8
U-0
R/W-0
R/W-0
R/W-0
U-0
R/W-0
R/W-0
U-0
TGATE
TCKPS1
TCKPS0
TSYNC
TCS
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15
bit 14
Unimplemented: Read as 0
bit 13
bit 12-7
Unimplemented: Read as 0
bit 6
bit 5-4
bit 3
Unimplemented: Read as 0
bit 2
bit 1
bit 0
Unimplemented: Read as 0
DS39881C-page 118
Preliminary
x = Bit is unknown
PIC24FJ64GA004 FAMILY
11.0
Note:
1.
2.
3.
4.
5.
6.
2.
3.
4.
5.
6.
Preliminary
DS39881C-page 119
PIC24FJ64GA004 FAMILY
FIGURE 11-1:
T2CK
(T4CK)
1x
Gate
Sync
01
TCY
00
TCKPS1:TCKPS0
2
TON
Prescaler
1, 8, 64, 256
TGATE(2)
TGATE
TCS(2)
Set T3IF (T5IF)
0
PR3
(PR5)
ADC Event Trigger(3)
Equal
D
CK
PR2
(PR4)
Comparator
MSB
LSB
TMR3
(TMR5)
Reset
TMR2
(TMR4)
Sync
16
Read TMR2 (TMR4)
(1)
16
TMR3HLD
(TMR5HLD)
16
Data Bus<15:0>
Note 1:
2:
3:
The 32-Bit Timer Configuration bit, T32, must be set for 32-bit timer/counter operation. All control bits are
respective to the T2CON and T4CON registers.
This peripherals inputs must be assigned to an available RPn pin before use. Please see Section 9.4 Peripheral
Pin Select for more information.
The ADC event trigger is available only on Timer2/3.
DS39881C-page 120
Preliminary
PIC24FJ64GA004 FAMILY
FIGURE 11-2:
T2CK
(T4CK)
1x
Gate
Sync
TON
TCKPS1:TCKPS0
2
Prescaler
1, 8, 64, 256
01
00
TGATE
TCS(1)
TCY
1
Set T2IF (T4IF)
0
Reset
Equal
CK
TMR2 (TMR4)
TGATE(1)
Sync
Comparator
PR2 (PR4)
Note 1:
This peripherals inputs must be assigned to an available RPn pin before use. Please see Section 9.4 Peripheral
Pin Select for more information.
FIGURE 11-3:
T3CK
(T5CK)
1x
Sync
TON
TCKPS1:TCKPS0
2
Prescaler
1, 8, 64, 256
01
00
TGATE
TCY
1
Set T3IF (T5IF)
0
Reset
CK
TCS(1)
TGATE(1)
TMR3 (TMR5)
Comparator
PR3 (PR5)
Note 1:
2:
This peripherals inputs must be assigned to an available RPn pin before use. Please see Section 9.4 Peripheral
Pin Select for more information.
The ADC event trigger is available only on Timer3.
Preliminary
DS39881C-page 121
PIC24FJ64GA004 FAMILY
REGISTER 11-1:
R/W-0
U-0
R/W-0
U-0
U-0
U-0
U-0
U-0
TON
TSIDL
bit 15
bit 8
U-0
R/W-0
R/W-0
R/W-0
R/W-0
U-0
R/W-0
U-0
TGATE
TCKPS1
TCKPS0
T32(1)
TCS(2)
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15
bit 14
Unimplemented: Read as 0
bit 13
bit 12-7
Unimplemented: Read as 0
bit 6
bit 5-4
bit 3
bit 2
Unimplemented: Read as 0
bit 1
bit 0
Unimplemented: Read as 0
Note 1:
2:
x = Bit is unknown
In 32-bit mode, the T3CON or T5CON control bits do not affect 32-bit timer operation.
If TCS = 1, RPINRx (TxCK) must be configured to an available RPn pin. For more information, see
Section 9.4 Peripheral Pin Select.
DS39881C-page 122
Preliminary
PIC24FJ64GA004 FAMILY
REGISTER 11-2:
R/W-0
U-0
R/W-0
U-0
U-0
U-0
U-0
U-0
TON(1)
TSIDL(1)
bit 15
bit 8
U-0
R/W-0
R/W-0
R/W-0
U-0
U-0
R/W-0
U-0
TGATE(1)
TCKPS1(1)
TCKPS0(1)
TCS(1,2)
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15
bit 14
Unimplemented: Read as 0
bit 13
bit 12-7
Unimplemented: Read as 0
bit 6
bit 5-4
bit 3-2
Unimplemented: Read as 0
bit 1
bit 0
Unimplemented: Read as 0
Note 1:
2:
x = Bit is unknown
When 32-bit operation is enabled (T2CON<3> or T4CON<3> = 1), these bits have no effect on Timery
operation; all timer functions are set through T2CON and T4CON.
If TCS = 1, RPINRx (TxCK) must be configured to an available RPn pin. See Section 9.4 Peripheral
Pin Select for more information.
Preliminary
DS39881C-page 123
PIC24FJ64GA004 FAMILY
NOTES:
DS39881C-page 124
Preliminary
PIC24FJ64GA004 FAMILY
12.0
INPUT CAPTURE
Note:
FIGURE 12-1:
16
1
Prescaler
Counter
(1, 4, 16)
ICTMR
(ICxCON<7>)
ICM<2:0> (ICxCON<2:0>)
Mode Select
FIFO
FIFO
R/W
Logic
ICx Pin
16
Interrupt
Logic
System Bus
Set Flag ICxIF
(in IFSn Register)
Note 1:
2:
An x in a signal, register or bit name denotes the number of the capture channel.
This peripherals inputs must be assigned to an available RPn pin before use. Please see Section 9.4
Peripheral Pin Select for more information.
Preliminary
DS39881C-page 125
PIC24FJ64GA004 FAMILY
12.1
REGISTER 12-1:
U-0
U-0
R/W-0
U-0
U-0
U-0
U-0
U-0
ICSIDL
bit 15
bit 8
R/W-0
R/W-0
ICTMR
ICI1
R/W-0
ICI0
R-0, HC
ICOV
R-0, HC
R/W-0
ICBNE
ICM2(1)
R/W-0
(1)
ICM1
R/W-0
ICM0(1)
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-14
Unimplemented: Read as 0
bit 13
bit 12-8
Unimplemented: Read as 0
bit 7
bit 6-5
bit 4
bit 3
bit 2-0
Note 1:
RPINRx (ICxRx) must be configured to an available RPn pin. For more information, see Section 9.4
Peripheral Pin Select.
DS39881C-page 126
Preliminary
PIC24FJ64GA004 FAMILY
13.0
Note:
13.1
OUTPUT COMPARE
This data sheet summarizes the features
of this group of PIC24F devices. It is not
intended to be a comprehensive reference
source. For more information, refer to the
PIC24F Family Reference Manual,
Section
16.
Output
Compare
(DS39706).
2.
3.
4.
5.
6.
7.
8.
9.
13.2
Preliminary
DS39881C-page 127
PIC24FJ64GA004 FAMILY
13.3
Note:
EQUATION 13-1:
5.
6.
13.3.1
Note:
13.3.2
PWM PERIOD
EQUATION 13-2:
(F
PWM
FCY
(Timer Prescale Value)
bits
log10(2)
Note 1: Based on FCY = FOSC/2, Doze mode and PLL are disabled.
DS39881C-page 128
Preliminary
PIC24FJ64GA004 FAMILY
EXAMPLE 13-1:
1. Find the Timer Period register value for a desired PWM frequency of 52.08 kHz, where FOSC = 8 MHz with PLL
(32 MHz device clock rate) and a Timer2 prescaler setting of 1:1.
TCY = 2 * Tosc = 62.5 ns
PWM Period = 1/PWM Frequency = 1/52.08 kHz = 19.2 s
PWM Period = (PR2 + 1) TCY (Timer 2 Prescale Value)
19.2 s
= (PR2 + 1) 62.5 ns 1
PR2
= 306
2. Find the maximum resolution of the duty cycle that can be used with a 52.08 kHz frequency and a 32 MHz device clock rate:
PWM Resolution = log10 (FCY/FPWM)/log102) bits
= (log10 (16 MHz/52.08 kHz)/log102) bits
= 8.3 bits
Note 1:
TABLE 13-1:
PWM Frequency
7.6 Hz
61 Hz
122 Hz
977 Hz
3.9 kHz
31.3 kHz
125 kHz
FFFFh
FFFFh
7FFFh
0FFFh
03FFh
007Fh
001Fh
16
16
15
12
10
Resolution (bits)
Note 1:
TABLE 13-2:
PWM Frequency
30.5 Hz
244 Hz
488 Hz
3.9 kHz
15.6 kHz
125 kHz
500 kHz
FFFFh
FFFFh
7FFFh
0FFFh
03FFh
007Fh
001Fh
16
16
15
12
10
Resolution (bits)
Note 1:
Preliminary
DS39881C-page 129
PIC24FJ64GA004 FAMILY
FIGURE 13-1:
Output
Logic
OCxR(1)
3
OCM2:OCM0
Mode Select(4)
Comparator
0
16
OCTSEL
2:
3:
4:
OCx(1)
Output Enable
OCFA or OCFB(2)
16
S Q
R
Where x is shown, reference is made to the registers associated with the respective output compare channels 1
through 5.
OCFA pin controls OC1-OC4 channels. OCFB pin controls the OC5 channel.
Each output compare channel can use one of two selectable time bases. Refer to the device data sheet for the time
bases associated with the module.
This peripherals inputs and outputs must be assigned to an available RPn pin before use. Please see Section 9.4
Peripheral Pin Select section for more information.
DS39881C-page 130
Preliminary
PIC24FJ64GA004 FAMILY
13.4
REGISTER 13-1:
U-0
U-0
R/W-0
U-0
U-0
U-0
U-0
U-0
OCSIDL
bit 15
bit 8
U-0
U-0
U-0
R-0, HC
R/W-0
R/W-0
R/W-0
R/W-0
OCFLT
OCTSEL
OCM2(1)
OCM1(1)
OCM0(1)
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-14
Unimplemented: Read as 0
bit 13
bit 12-5
Unimplemented: Read as 0
bit 4
bit 3
bit 2-0
Note 1:
2:
RPORx (OCx) must be configured to an available RPn pin. For more information, see Section 9.4
Peripheral Pin Select.
OCFA pin controls OC1-OC4 channels. OCFB pin controls the OC5 channel.
Preliminary
DS39881C-page 131
PIC24FJ64GA004 FAMILY
NOTES:
DS39881C-page 132
Preliminary
PIC24FJ64GA004 FAMILY
14.0
Note:
SERIAL PERIPHERAL
INTERFACE (SPI)
Preliminary
DS39881C-page 133
PIC24FJ64GA004 FAMILY
To set up the SPI module for the Standard Master mode
of operation:
1.
1.
2.
2.
3.
4.
5.
If using interrupts:
a) Clear the SPIxIF bit in the respective IFSx
register.
b) Set the SPIxIE bit in the respective IECx
register.
c) Write the SPIxIP bits in the respective IPCx
register to set the interrupt priority.
Write the desired settings to the SPIxCON1 and
SPIxCON2
registers
with
MSTEN
(SPIxCON1<5>) = 1.
Clear the SPIROV bit (SPIxSTAT<6>).
Enable SPI operation by setting the SPIEN bit
(SPIxSTAT<15>).
Write the data to be transmitted to the SPIxBUF
register. Transmission (and reception) will start
as soon as data is written to the SPIxBUF
register.
FIGURE 14-1:
3.
4.
5.
6.
7.
SCKx
1:1 to 1:8
Secondary
Prescaler
SSx/FSYNCx
Sync
Control
1:1/4/16/64
Primary
Prescaler
Select
Edge
Control
Clock
SPIxCON1<1:0>
SPIxCON1<4:2>
Shift Control
SDOx
Enable
Master Clock
bit 0
SDIx
FCY
SPIxSR
Transfer
Transfer
SPIxBUF
Read SPIxBUF
Write SPIxBUF
16
Internal Data Bus
DS39881C-page 134
Preliminary
PIC24FJ64GA004 FAMILY
To set up the SPI module for the Enhanced Buffer
Master mode of operation:
1.
1.
2.
2.
3.
4.
5.
6.
If using interrupts:
a) Clear the SPIxIF bit in the respective IFSx
register.
b) Set the SPIxIE bit in the respective IECx
register.
c) Write the SPIxIP bits in the respective IPCx
register.
Write the desired settings to the SPIxCON1 and
SPIxCON2
registers
with
MSTEN
(SPIxCON1<5>) = 1.
Clear the SPIROV bit (SPIxSTAT<6>).
Select Enhanced Buffer mode by setting the
SPIBEN bit (SPIxCON2<0>).
Enable SPI operation by setting the SPIEN bit
(SPIxSTAT<15>).
Write the data to be transmitted to the SPIxBUF
register. Transmission (and reception) will start
as soon as data is written to the SPIxBUF
register.
FIGURE 14-2:
3.
4.
5.
6.
7.
8.
SCKx
1:1 to 1:8
Secondary
Prescaler
SSx/FSYNCx
Sync
Control
1:1/4/16/64
Primary
Prescaler
Select
Edge
Control
Clock
SPIxCON1<1:0>
SPIxCON1<4:2>
Shift Control
SDOx
Enable
Master Clock
bit0
SDIx
FCY
SPIxSR
Transfer
Transfer
8-Level FIFO
Receive Buffer
8-Level FIFO
Transmit Buffer
SPIxBUF
Read SPIxBUF
Write SPIxBUF
16
Internal Data Bus
Preliminary
DS39881C-page 135
PIC24FJ64GA004 FAMILY
REGISTER 14-1:
R/W-0
SPIEN
(1)
R/W-0
U-0
U-0
R-0
R-0
R-0
SPISIDL
SPIBEC2
SPIBEC1
SPIBEC0
bit 15
bit 8
R-0
R/C-0
R/W-0
R/W-0
R/W-0
R/W-0
R-0
R-0
SRMPT
SPIROV
SRXMPT
SISEL2
SISEL1
SISEL0
SPITBF
SPIRBF
bit 7
bit 0
Legend:
C = Clearable bit
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15
bit 14
Unimplemented: Read as 0
bit 13
bit 12-11
Unimplemented: Read as 0
bit 10-8
SPIBEC2:SPIBEC0: SPIx Buffer Element Count bits (valid in Enhanced Buffer mode)
Master mode:
Number of SPI transfers pending.
Slave mode:
Number of SPI transfers unread.
bit 7
SRMPT: Shift Register (SPIxSR) Empty bit (valid in Enhanced Buffer mode)
1 = SPIx Shift register is empty and ready to send or receive
0 = SPIx Shift register is not empty
bit 6
bit 5
bit 4-2
SISEL2:SISEL0: SPIx Buffer Interrupt Mode bits (valid in Enhanced Buffer mode)
111 = Interrupt when SPIx transmit buffer is full (SPITBF bit is set)
110 = Interrupt when last bit is shifted into SPIxSR; as a result, the TX FIFO is empty
101 = Interrupt when the last bit is shifted out of SPIxSR; now the transmit is complete
100 = Interrupt when one data is shifted into the SPIxSR; as a result, the TX FIFO has one open spot
011 = Interrupt when SPIx receive buffer is full (SPIRBF bit set)
010 = Interrupt when SPIx receive buffer is 3/4 or more full
001 = Interrupt when data is available in receive buffer (SRMPT bit is set)
000 = Interrupt when the last data in the receive buffer is read; as a result, the buffer is empty
(SRXMPT bit is set)
Note 1:
If SPIEN = 1, these functions must be assigned to available RPn pins before use. See Section 9.4
Peripheral Pin Select for more information.
DS39881C-page 136
Preliminary
PIC24FJ64GA004 FAMILY
REGISTER 14-1:
bit 1
bit 0
Note 1:
If SPIEN = 1, these functions must be assigned to available RPn pins before use. See Section 9.4
Peripheral Pin Select for more information.
Preliminary
DS39881C-page 137
PIC24FJ64GA004 FAMILY
REGISTER 14-2:
U-0
U-0
U-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
DISSCK(1)
DISSDO(2)
MODE16
SMP
CKE(3)
bit 15
bit 8
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
CKP
MSTEN
SPRE2
SPRE1
SPRE0
PPRE1
PPRE0
(4)
SSEN
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-13
Unimplemented: Read as 0
bit 12
bit 11
bit 10
bit 9
bit 8
bit 7
bit 6
bit 5
Note 1:
2:
3:
4:
If DISSCK = 0, SCKx must be configured to an available RPn pin. See Section 9.4 Peripheral Pin
Select for more information.
If DISSDO = 0, SDOx must be configured to an available RPn pin. See Section 9.4 Peripheral Pin
Select for more information.
The CKE bit is not used in the Framed SPI modes. The user should program this bit to 0 for the Framed
SPI modes (FRMEN = 1).
If SSEN = 1, SSx must be configured to an available RPn pin. See Section 9.4 Peripheral Pin Select
for more information.
DS39881C-page 138
Preliminary
PIC24FJ64GA004 FAMILY
REGISTER 14-2:
bit 4-2
bit 1-0
Note 1:
2:
3:
4:
If DISSCK = 0, SCKx must be configured to an available RPn pin. See Section 9.4 Peripheral Pin
Select for more information.
If DISSDO = 0, SDOx must be configured to an available RPn pin. See Section 9.4 Peripheral Pin
Select for more information.
The CKE bit is not used in the Framed SPI modes. The user should program this bit to 0 for the Framed
SPI modes (FRMEN = 1).
If SSEN = 1, SSx must be configured to an available RPn pin. See Section 9.4 Peripheral Pin Select
for more information.
REGISTER 14-3:
R/W-0
R/W-0
FRMEN
SPIFSD
R/W-0
U-0
U-0
U-0
U-0
U-0
SPIFPOL
bit 15
bit 8
U-0
U-0
U-0
U-0
U-0
U-0
R/W-0
R/W-0
SPIFE
SPIBEN
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15
bit 14
bit 13
bit 12-2
Unimplemented: Read as 0
bit 1
bit 0
Preliminary
x = Bit is unknown
DS39881C-page 139
PIC24FJ64GA004 FAMILY
FIGURE 14-3:
SDIx
SDOx
SDOx
SDIx
Shift Register
(SPIxSR)
LSb
MSb
MSb
SPIx Buffer
(SPIxBUF)(2)
Shift Register
(SPIxSR)
LSb
Serial Clock
SCKx
SCKx
SPIx Buffer
(SPIxBUF)(2)
SSx(1)
SSEN (SPIxCON1<7>) = 1 and MSTEN (SPIxCON1<5>) = 0
MSTEN (SPIxCON1<5>) = 1)
Note
1:
2:
FIGURE 14-4:
Shift Register
(SPIxSR)
SDOx
SDIx
SDIx
SDOx
LSb
MSb
MSb
SPIx Buffer
(SPIxBUF)(2)
SCKx
Serial Clock
SCKx
SPIx Buffer
(SPIxBUF)(2)
SSx(1)
SSEN (SPIxCON1<7>) = 1,
MSTEN (SPIxCON1<5>) = 0 and
SPIBEN (SPIxCON2<0>) = 1
LSb
SSx
Note
Shift Register
(SPIxSR)
DS39881C-page 140
Preliminary
PIC24FJ64GA004 FAMILY
FIGURE 14-5:
PIC24F
(SPI Slave, Frame Slave)
SDIx
SDOx
SDOx
SDIx
SCKx
SSx
FIGURE 14-6:
Serial Clock
Frame Sync
Pulse
SCKx
SSx
PIC24F
SPI Master, Frame Slave)
SDOx
SDIx
SDIx
SDOx
SCKx
SSx
FIGURE 14-7:
Serial Clock
Frame Sync
Pulse
SCKx
SSx
PIC24F
(SPI Slave, Frame Slave)
SDOx
SDIx
SDIx
SDOx
SCKx
SSx
FIGURE 14-8:
Serial Clock
Frame Sync.
Pulse
SCKx
SSx
PIC24F
(SPI Master, Frame Slave)
SDIx
SDOx
SDOx
SDIx
SCKx
SSx
Serial Clock
Frame Sync
Pulse
Preliminary
SCKx
SSx
DS39881C-page 141
PIC24FJ64GA004 FAMILY
EQUATION 14-1:
FCY
Primary Prescaler * Secondary Prescaler
Note 1: Based on FCY = FOSC/2; Doze mode and PLL are disabled.
TABLE 14-1:
FCY = 16 MHz
Primary Prescaler Settings
1:1
2:1
4:1
6:1
8:1
1:1
Invalid
8000
4000
2667
2000
4:1
4000
2000
1000
667
500
16:1
1000
500
250
167
125
64:1
250
125
63
42
31
1:1
5000
2500
1250
833
625
FCY = 5 MHz
Primary Prescaler Settings
Note 1:
2:
4:1
1250
625
313
208
156
16:1
313
156
78
52
39
64:1
78
39
20
13
10
DS39881C-page 142
Preliminary
PIC24FJ64GA004 FAMILY
15.0
Note:
INTER-INTEGRATED CIRCUIT
(I2C)
This data sheet summarizes the features
of this group of PIC24F devices. It is not
intended to be a comprehensive reference
source. For more information, refer to the
PIC24F Family Reference Manual,
Section 24. Inter-Integrated Circuit
(I2C) (DS39702).
2C
15.2
15.1
Communicating as a Master in a
Single Master Environment
I2C
The
modules are tied to fixed pin assignments, and
cannot be reassigned to alternate pins using peripheral
pin select. To allow some flexibility with peripheral
multiplexing, the I2C1 module in all devices, can be
reassigned to the alternate pins, designated as ASCL1
and ASDA1 during device configuration.
Pin assignment is controlled by the I2C1SEL Configuration bit; programming this bit (= 0) multiplexes the
module to the ASCL1 and ASDA1 pins.
Preliminary
DS39881C-page 143
PIC24FJ64GA004 FAMILY
FIGURE 15-1:
SCLx
Read
Shift
Clock
I2CxRSR
LSB
SDAx
Address Match
Match Detect
Write
I2CxMSK
Write
Read
I2CxADD
Read
Start and Stop
Bit Detect
Write
I2CxSTAT
Collision
Detect
Read
Write
I2CxCON
Acknowledge
Generation
Read
Clock
Stretching
Write
I2CxTRN
LSB
Read
Shift Clock
Reload
Control
Write
I2CxBRG
Read
TCY/2
DS39881C-page 144
Preliminary
PIC24FJ64GA004 FAMILY
15.3
15.4
EQUATION 15-1:
FCY
FSCL = ---------------------------------------------------------------------FCY
I2CxBRG + 1 + -----------------------------10, 000, 000
or
Note:
FCY
FCY
I2CxBRG = ------------ ------------------------------ 1
FSCL 10, 000, 000
Note 1: Based on FCY = FOSC/2; Doze mode and
PLL are disabled.
As a result of changes in the I2C protocol, the addresses in Table 15-2 are
reserved and will not be Acknowledged in
Slave mode. This includes any address
mask settings that include any of these
addresses.
TABLE 15-1:
Required
System
FSCL
FCY
I2CxBRG Value
100 kHz
100 kHz
(Decimal)
(Hexadecimal)
Actual
FSCL
16 MHz
8 MHz
157
78
9D
4E
100 kHz
100 kHz
100 kHz
400 kHz
4 MHz
16 MHz
39
37
27
25
99 kHz
404 kHz
400 kHz
400 kHz
8 MHz
4 MHz
18
9
12
9
404 kHz
385 kHz
400 kHz
1 MHz
2 MHz
16 MHz
4
13
4
D
385 kHz
1.026 MHz
1 MHz
1 MHz
8 MHz
4 MHz
6
3
6
3
1.026 MHz
0.909 MHz
Note 1:
TABLE 15-2:
Slave
Address
R/W
Bit
0000 000
0000 000
Start Byte
0000 001
Cbus Address
0000 010
Reserved
0000 011
Reserved
0000 1xx
1111 1xx
Reserved
1111 0xx
Note 1:
2:
3:
Description
The address bits listed here will never cause an address match, independent of the address mask settings.
Address will be Acknowledged only if GCEN = 1.
Match on this address can only occur on the upper byte in 10-Bit Addressing mode.
Preliminary
DS39881C-page 145
PIC24FJ64GA004 FAMILY
REGISTER 15-1:
R/W-0
U-0
R/W-0
R/W-1 HC
R/W-0
R/W-0
R/W-0
R/W-0
I2CEN
I2CSIDL
SCLREL
IPMIEN
A10M
DISSLW
SMEN
bit 15
bit 8
R/W-0
R/W-0
R/W-0
R/W-0, HC
R/W-0, HC
R/W-0, HC
R/W-0, HC
R/W-0, HC
GCEN
STREN
ACKDT
ACKEN
RCEN
PEN
RSEN
SEN
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15
bit 14
Unimplemented: Read as 0
bit 13
bit 12
bit 11
bit 10
bit 9
bit 8
bit 7
bit 6
STREN: SCLx Clock Stretch Enable bit (when operating as I2C slave)
Used in conjunction with SCLREL bit.
1 = Enables software or receive clock stretching
0 = Disables software or receive clock stretching
DS39881C-page 146
Preliminary
PIC24FJ64GA004 FAMILY
REGISTER 15-1:
bit 5
ACKDT: Acknowledge Data bit (When operating as I2C master. Applicable during master receive.)
Value that will be transmitted when the software initiates an Acknowledge sequence.
1 = Sends NACK during Acknowledge
0 = Sends ACK during Acknowledge
bit 4
ACKEN: Acknowledge Sequence Enable bit (When operating as I2C master. Applicable during master
receive.)
1 = Initiates Acknowledge sequence on SDAx and SCLx pins and transmits ACKDT data bit. Hardware
clear at end of master Acknowledge sequence.
0 = Acknowledge sequence not in progress
bit 3
bit 2
bit 1
RSEN: Repeated Start Condition Enabled bit (when operating as I2C master)
1 = Initiates Repeated Start condition on SDAx and SCLx pins. Hardware clear at end of master
Repeated Start sequence.
0 = Repeated Start condition not in progress
bit 0
Preliminary
DS39881C-page 147
PIC24FJ64GA004 FAMILY
REGISTER 15-2:
R-0, HSC
R-0, HSC
U-0
U-0
U-0
R/C-0, HS
R-0, HSC
R-0, HSC
ACKSTAT
TRSTAT
BCL
GCSTAT
ADD10
bit 15
bit 8
R/C-0, HS
R/C-0, HS
R-0, HSC
R/C-0, HSC
R/C-0, HSC
R-0, HSC
R-0, HSC
R-0, HSC
IWCOL
I2COV
D/A
R/W
RBF
TBF
bit 7
bit 0
Legend:
C = Clearable bit
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15
bit 14
bit 13-11
Unimplemented: Read as 0
bit 10
bit 9
bit 8
bit 7
bit 6
bit 5
DS39881C-page 148
Preliminary
PIC24FJ64GA004 FAMILY
REGISTER 15-2:
bit 4
P: Stop bit
1 = Indicates that a Stop bit has been detected last
0 = Stop bit was not detected last
Hardware set or clear when Start, Repeated Start or Stop detected.
bit 3
S: Start bit
1 = Indicates that a Start (or Repeated Start) bit has been detected last
0 = Start bit was not detected last
Hardware set or clear when Start, Repeated Start or Stop detected.
bit 2
bit 1
bit 0
Preliminary
DS39881C-page 149
PIC24FJ64GA004 FAMILY
REGISTER 15-3:
U-0
U-0
U-0
U-0
U-0
U-0
R/W-0
R/W-0
AMSK9
AMSK8
bit 15
bit 8
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
AMSK7
AMSK6
AMSK5
AMSK4
AMSK3
AMSK2
AMSK1
AMSK0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-10
Unimplemented: Read as 0
bit 9-0
DS39881C-page 150
Preliminary
PIC24FJ64GA004 FAMILY
16.0
UNIVERSAL ASYNCHRONOUS
RECEIVER TRANSMITTER
(UART)
Note:
FIGURE 16-1:
IrDA
BCLKx
UxRTS
UxCTS
Note:
UARTx Receiver
UxRX
UARTx Transmitter
UxTX
This peripherals inputs and outputs must be assigned to an available RPn pin before use. Please
see Section 9.4 Peripheral Pin Select for more information.
Preliminary
DS39881C-page 151
PIC24FJ64GA004 FAMILY
16.1
EQUATION 16-1:
Baud Rate =
EQUATION 16-2:
Baud Rate =
FCY
16 (UxBRG + 1)
UxBRG =
UxBRG =
Note 1:
FCY
1
16 Baud Rate
Note 1:
EXAMPLE 16-1:
Desired Baud Rate
Note 1:
DS39881C-page 152
Preliminary
PIC24FJ64GA004 FAMILY
16.2
1.
2.
3.
4.
5.
6.
2.
3.
4.
5.
6.
16.5
16.3
1.
16.4
1.
2.
3.
4.
5.
16.6
16.7
Infrared Support
16.7.1
1.
2.
16.7.2
3.
4.
5.
Preliminary
DS39881C-page 153
PIC24FJ64GA004 FAMILY
REGISTER 16-1:
R/W-0
(1)
UARTEN
R/W-0
USIDL
R/W-0
IREN
(2)
R/W-0
U-0
R/W-0(3)
R/W-0(3)
RTSMD
UEN1
UEN0
bit 15
bit 8
R/C-0, HC
R/W-0
R/W-0, HC
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
WAKE
LPBACK
ABAUD
RXINV
BRGH
PDSEL1
PDSEL0
STSEL
bit 7
bit 0
Legend:
C = Clearable bit
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15
bit 14
Unimplemented: Read as 0
bit 13
bit 12
bit 11
bit 10
Unimplemented: Read as 0
bit 9-8
bit 7
WAKE: Wake-up on Start Bit Detect During Sleep Mode Enable bit
1 = UARTx will continue to sample the UxRX pin; interrupt generated on falling edge, bit cleared in
hardware on following rising edge
0 = No wake-up enabled
bit 6
bit 5
Note 1:
2:
3:
If UARTEN = 1, the peripheral inputs and outputs must be configured to an available RPn pin. See
Section 9.4 Peripheral Pin Select for more information.
This feature is only available for the 16x BRG mode (BRGH = 0).
Bit availability depends on pin availability.
DS39881C-page 154
Preliminary
PIC24FJ64GA004 FAMILY
REGISTER 16-1:
bit 4
bit 3
bit 2-1
bit 0
Note 1:
2:
3:
If UARTEN = 1, the peripheral inputs and outputs must be configured to an available RPn pin. See
Section 9.4 Peripheral Pin Select for more information.
This feature is only available for the 16x BRG mode (BRGH = 0).
Bit availability depends on pin availability.
Preliminary
DS39881C-page 155
PIC24FJ64GA004 FAMILY
REGISTER 16-2:
R/W-0
R/W-0
R/W-0
U-0
R/W-0, HC
R/W-0
R-0
R-1
UTXISEL1
UTXINV
UTXISEL0
UTXBRK
UTXEN(1)
UTXBF
TRMT
bit 15
bit 8
R/W-0
R/W-0
R/W-0
R-1
R-0
R-0
R/C-0
R-0
URXISEL1
URXISEL0
ADDEN
RIDLE
PERR
FERR
OERR
URXDA
bit 7
bit 0
Legend:
C = Clearable bit
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15,13
bit 14
bit 12
Unimplemented: Read as 0
bit 11
bit 10
bit 9
bit 8
bit 7-6
Note 1:
If UARTEN = 1, the peripheral inputs and outputs must be configured to an available RPn pin. See
Section 9.4 Peripheral Pin Select for more information.
DS39881C-page 156
Preliminary
PIC24FJ64GA004 FAMILY
REGISTER 16-2:
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
Note 1:
If UARTEN = 1, the peripheral inputs and outputs must be configured to an available RPn pin. See
Section 9.4 Peripheral Pin Select for more information.
Preliminary
DS39881C-page 157
PIC24FJ64GA004 FAMILY
REGISTER 16-3:
U-x
bit 15
U-x
U-x
U-x
U-x
U-x
U-x
W-x
UTX8
bit 8
W-x
UTX7
bit 7
W-x
UTX6
W-x
UTX5
W-x
UTX4
W-x
UTX3
W-x
UTX2
W-x
UTX1
W-x
UTX0
bit 0
Legend:
R = Readable bit
-n = Value at POR
bit 15-9
bit 8
bit 7-0
W = Writable bit
1 = Bit is set
Unimplemented: Read as 0
UTX8: Data of the Transmitted Character bit (in 9-bit mode)
UTX7:UTX0: Data of the Transmitted Character bits
REGISTER 16-4:
U-0
bit 15
U-0
U-0
U-0
U-0
U-0
U-0
R-0
URX8
bit 8
R-0
URX7
bit 7
R-0
URX6
R-0
URX5
R-0
URX4
R-0
URX3
R-0
URX2
R-0
URX1
R-0
URX0
bit 0
Legend:
R = Readable bit
-n = Value at POR
bit 15-9
bit 8
bit 7-0
W = Writable bit
1 = Bit is set
Unimplemented: Read as 0
URX8: Data of the Received Character bit (in 9-bit mode)
URX7:URX0: Data of the Received Character bits
DS39881C-page 158
Preliminary
PIC24FJ64GA004 FAMILY
17.0
Note:
FIGURE 17-1:
PIC24F
Parallel Master Port
PMA<1>
PMALH
(1)
Up to 11-Bit Address
PMA<10:2>
EEPROM
PMCS1
PMBE
PMRD
PMRD/PMWR
Microcontroller
LCD
FIFO
Buffer
PMWR
PMENB
PMD<7:0>
PMA<7:0>
PMA<15:8>
Note 1:
8-Bit Data
Preliminary
DS39881C-page 159
PIC24FJ64GA004 FAMILY
REGISTER 17-1:
R/W-0
U-0
R/W-0
PMPEN
PSIDL
R/W-0
R/W-0
ADRMUX1(1) ADRMUX0(1)
R/W-0
R/W-0
R/W-0
PTBEEN
PTWREN
PTRDEN
bit 15
bit 8
R/W-0
R/W-0
R/W-0(2)
U-0
R/W-0(2)
R/W-0
R/W-0
R/W-0
CSF1
CSF0
ALP
CS1P
BEP
WRSP
RDSP
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15
bit 14
Unimplemented: Read as 0
bit 13
bit 12-11
bit 10
bit 9
bit 8
bit 7-6
bit 5
bit 4
Unimplemented: Read as 0
bit 3
Note 1:
2:
DS39881C-page 160
Preliminary
PIC24FJ64GA004 FAMILY
REGISTER 17-1:
bit 2
bit 1
bit 0
Note 1:
2:
Preliminary
DS39881C-page 161
PIC24FJ64GA004 FAMILY
REGISTER 17-2:
R-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
BUSY
IRQM1
IRQM0
INCM1
INCM0
MODE16
MODE1
MODE0
bit 15
bit 8
R/W-0
WAITB1
R/W-0
(1)
WAITB0
(1)
R/W-0
WAITM3
R/W-0
WAITM2
R/W-0
WAITM1
R/W-0
R/W-0
WAITM0
WAITE1
(1)
R/W-0
WAITE0(1)
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15
bit 14-13
bit 12-11
bit 10
bit 9-8
bit 7-6
bit 5-2
bit 1-0
Note 1:
DS39881C-page 162
Preliminary
PIC24FJ64GA004 FAMILY
REGISTER 17-3:
U-0
R/W-0
U-0
U-0
U-0
CS1
R/W-0
R/W-0
R/W-0
ADDR<10:8>(1)
bit 15
bit 8
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
(1)
ADDR<7:0>
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15
Unimplemented: Read as 0
bit 14
bit 13-11
Unimplemented: Read as 0
bit 10-0
Note 1:
x = Bit is unknown
REGISTER 17-4:
U-0
R/W-0
U-0
PTEN14
U-0
U-0
R/W-0
R/W-0
R/W-0
PTEN10(1)
PTEN9(1)
PTEN8(1)
bit 15
bit 8
R/W-0
PTEN7
(1)
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
PTEN6(1)
PTEN5(1)
PTEN4(1)
PTEN3(1)
PTEN2(1)
PTEN1
PTEN0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15
Unimplemented: Read as 0
bit 14
bit 13-11
Unimplemented: Read as 0
bit 10-2
bit 1-0
Note 1:
Preliminary
DS39881C-page 163
PIC24FJ64GA004 FAMILY
REGISTER 17-5:
R-0
R/W-0, HS
U-0
U-0
R-0
R-0
R-0
R-0
IBF
IBOV
IB3F
IB2F
IB1F
IB0F
bit 15
bit 8
R-1
R/W-0, HS
U-0
U-0
R-1
R-1
R-1
R-1
OBE
OBUF
OB3E
OB2E
OB1E
OB0E
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15
bit 14
bit 13-12
Unimplemented: Read as 0
bit 11-8
bit 7
bit 6
bit 5-4
Unimplemented: Read as 0
bit 3-0
DS39881C-page 164
Preliminary
PIC24FJ64GA004 FAMILY
REGISTER 17-6:
U-0
U-0
U-0
U-0
U-0
U-0
U-0
U-0
bit 15
bit 8
U-0
U-0
U-0
U-0
U-0
U-0
R/W-0
R/W-0
(1)
RTSECSEL
PMPTTL
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15-2
Unimplemented: Read as 0
bit 1
bit 0
Note 1:
x = Bit is unknown
To enable the actual RTCC output, the RTCOE (RCFGCAL) bit needs to be set.
Preliminary
DS39881C-page 165
PIC24FJ64GA004 FAMILY
FIGURE 17-2:
Master
PIC24F Slave
PMD<7:0>
FIGURE 17-3:
PMD<7:0>
PMCS1
PMCS1
PMRD
PMRD
PMWR
PMWR
Address Bus
Data Bus
Control Lines
Master
PIC24F Slave
PMA<1:0>
PMA<1:0>
PMD<7:0>
PMD<7:0>
Write
Address
Decode
Read
Address
Decode
PMDOUT1L (0)
PMDIN1L (0)
PMCS1
PMCS1
PMDOUT1H (1)
PMDIN1H (1)
PMRD
PMRD
PMDOUT2L (2)
PMDIN2L (2)
PMWR
PMWR
PMDOUT2H (3)
PMDIN2H (3)
Address Bus
Data Bus
Control Lines
TABLE 17-1:
PMA<1:0>
00
PMDOUT1<7:0> (0)
PMDIN1<7:0> (0)
01
PMDOUT1<15:8> (1)
PMDIN1<15:8> (1)
10
PMDOUT2<7:0> (2)
PMDIN2<7:0> (2)
11
PMDOUT2<15:8> (3)
PMDIN2<15:8> (3)
FIGURE 17-4:
PMA<10:0>
PMD<7:0>
PMCS1
PMRD
Address Bus
Data Bus
PMWR
DS39881C-page 166
Preliminary
Control Lines
PIC24FJ64GA004 FAMILY
FIGURE 17-5:
PMA<10:8>
PMD<7:0>
PMA<7:0>
PMCS1
Address Bus
PMALL
FIGURE 17-6:
PMRD
Multiplexed
Data and
Address Bus
PMWR
Control Lines
PIC24F
PMCS1
PMALL
PMALH
FIGURE 17-7:
PMRD
Multiplexed
Data and
Address Bus
PMWR
Control Lines
PIC24F
PMD<7:0>
PMALL
373
A<7:0>
D<7:0>
373
PMALH
A<15:8>
A<15:0>
D<7:0>
CE
OE
WR
PMCS1
FIGURE 17-8:
Address Bus
PMRD
Data Bus
PMWR
Control Lines
PIC24F
PMD<7:0>
373
PMALL
PMA<10:8>
A<7:0>
D<7:0>
A<10:8>
D<7:0>
CE
OE
PMCS1
WR
Address Bus
Data Bus
PMRD
Control Lines
PMWR
A<10:0>
Preliminary
DS39881C-page 167
PIC24FJ64GA004 FAMILY
FIGURE 17-9:
PIC24F
Parallel Peripheral
PMD<7:0>
PMALL
AD<7:0>
ALE
PMCS1
CS
Address Bus
PMRD
RD
Data Bus
PMWR
WR
Control Lines
FIGURE 17-10:
PIC24F
PMA<n:0>
Parallel EEPROM
A<n:0>
PMD<7:0>
D<7:0>
PMCS1
CE
PMRD
OE
PMWR
WR
FIGURE 17-11:
Address Bus
Data Bus
Control Lines
PIC24F
Parallel EEPROM
PMA<n:0>
A<n:1>
PMD<7:0>
D<7:0>
PMBE
A0
PMCS1
CE
PMRD
OE
PMWR
WR
FIGURE 17-12:
Address Bus
Data Bus
Control Lines
PIC24F
PM<7:0>
PMA0
PMRD/PMWR
PMCS1
LCD Controller
D<7:0>
RS
R/W
E
Address Bus
Data Bus
Control Lines
DS39881C-page 168
Preliminary
PIC24FJ64GA004 FAMILY
18.0
Note:
FIGURE 18-1:
RTCC Prescalers
ALCFGRPT
YEAR
0.5s
RTCVAL
RTCC Timer
Alarm
Event
MTHDY
WKDYHR
MINSEC
Comparator
ALMTHDY
Compare Registers
with Masks
ALRMVAL
ALWDHR
ALMINSEC
Repeat Counter
RTCC Interrupt
RTCC Interrupt Logic
Alarm Pulse
RTCC Pin
RTCOE
Preliminary
DS39881C-page 169
PIC24FJ64GA004 FAMILY
18.1
TABLE 18-2:
18.1.1
ALRMPTR
<1:0>
TABLE 18-1:
RTCPTR
<1:0>
RTCVAL<15:8>
RTCVAL<7:0>
00
MINUTES
SECONDS
01
WEEKDAY
HOURS
10
MONTH
DAY
11
YEAR
00
REGISTER MAPPING
ALRMVAL REGISTER
MAPPING
ALRMSEC
01
ALRMWD
ALRMHR
10
ALRMMNTH
ALRMDAY
11
18.1.2
WRITE LOCK
EXAMPLE 18-1:
asm
asm
asm
asm
asm
asm
asm
asm
asm
asm
volatile("push w7");
volatile("push w8");
volatile("disi #5");
volatile("mov #0x55, w7");
volatile("mov w7, _NVMKEY");
volatile("mov #0xAA, w8");
volatile("mov w8, _NVMKEY");
volatile("bset _RCFGCAL, #13"); //set the RTCWREN bit
volatile("pop w8");
volatile("pop w7");
DS39881C-page 170
Preliminary
PIC24FJ64GA004 FAMILY
18.1.3
REGISTER 18-1:
R/W-0
RTCEN
(2)
R/W-0
RTCWREN
R-0
RTCSYNC
R-0
(3)
HALFSEC
R/W-0
R/W-0
R/W-0
RTCOE
RTCPTR1
RTCPTR0
bit 15
bit 8
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
CAL7
CAL6
CAL5
CAL4
CAL3
CAL2
CAL1
CAL0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15
bit 14
Unimplemented: Read as 0
bit 13
bit 12
bit 11
bit 10
bit 9-8
Note 1:
2:
3:
Preliminary
DS39881C-page 171
PIC24FJ64GA004 FAMILY
REGISTER 18-1:
bit 7-0
Note 1:
2:
3:
REGISTER 18-2:
U-0
U-0
U-0
U-0
U-0
U-0
U-0
U-0
bit 15
bit 8
U-0
U-0
U-0
U-0
U-0
U-0
R/W-0
R/W-0
RTSECSEL(1)
PMPTTL
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15-2
Unimplemented: Read as 0
bit 1
bit 0
Note 1:
x = Bit is unknown
To enable the actual RTCC output, the RTCOE (RCFGCAL) bit needs to be set.
DS39881C-page 172
Preliminary
PIC24FJ64GA004 FAMILY
REGISTER 18-3:
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
ALRMEN
CHIME
AMASK3
AMASK2
AMASK1
AMASK0
ALRMPTR1
ALRMPTR0
bit 15
bit 8
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
ARPT7
ARPT6
ARPT5
ARPT4
ARPT3
ARPT2
ARPT1
ARPT0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15
bit 14
bit 13-10
bit 9-8
bit 7-0
Preliminary
DS39881C-page 173
PIC24FJ64GA004 FAMILY
18.1.4
REGISTER 18-4:
U-0
U-0
U-0
U-0
U-0
U-0
U-0
U-0
bit 15
bit 8
R/W-x
R/W-x
R/W-x
R/W-x
R/W-x
R/W-x
R/W-x
R/W-x
YRTEN3
YRTEN2
YRTEN1
YRTEN0
YRONE3
YRONE2
YRONE1
YRONE0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-8
Unimplemented: Read as 0
bit 7-4
YRTEN3:YRTEN0: Binary Coded Decimal Value of Years Tens Digit; Contains a value from 0 to 9
bit 3-0
YRONE3:YRONE0: Binary Coded Decimal Value of Years Ones Digit; Contains a value from 0 to 9
Note 1:
REGISTER 18-5:
U-0
U-0
U-0
R-x
R-x
R-x
R-x
R-x
MTHTEN0
MTHONE3
MTHONE2
MTHONE1
MTHONE0
bit 15
bit 8
U-0
U-0
R/W-x
R/W-x
R/W-x
R/W-x
R/W-x
R/W-x
DAYTEN1
DAYTEN0
DAYONE3
DAYONE2
DAYONE1
DAYONE0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-13
Unimplemented: Read as 0
bit 12
MTHTEN0: Binary Coded Decimal Value of Months Tens Digit; Contains a value of 0 or 1
bit 11-8
MTHONE3:MTHONE0: Binary Coded Decimal Value of Months Ones Digit; Contains a value from 0 to 9
bit 7-6
Unimplemented: Read as 0
bit 5-4
DAYTEN1:DAYTEN0: Binary Coded Decimal Value of Days Tens Digit; Contains a value from 0 to 3
bit 3-0
DAYONE3:DAYONE0: Binary Coded Decimal Value of Days Ones Digit; Contains a value from 0 to 9
Note 1:
DS39881C-page 174
Preliminary
PIC24FJ64GA004 FAMILY
WKDYHR: WEEKDAY AND HOURS VALUE REGISTER(1)
REGISTER 18-6:
U-0
U-0
U-0
U-0
U-0
R/W-x
R/W-x
R/W-x
WDAY2
WDAY1
WDAY0
bit 15
bit 8
U-0
U-0
R/W-x
R/W-x
R/W-x
R/W-x
R/W-x
R/W-x
HRTEN1
HRTEN0
HRONE3
HRONE2
HRONE1
HRONE0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-11
Unimplemented: Read as 0
bit 10-8
WDAY2:WDAY0: Binary Coded Decimal Value of Weekday Digit; Contains a value from 0 to 6
bit 7-6
Unimplemented: Read as 0
bit 5-4
HRTEN1:HRTEN0: Binary Coded Decimal Value of Hours Tens Digit; Contains a value from 0 to 2
bit 3-0
HRONE3:HRONE0: Binary Coded Decimal Value of Hours Ones Digit; Contains a value from 0 to 9
Note 1:
REGISTER 18-7:
U-0
R/W-x
R/W-x
R/W-x
R/W-x
R/W-x
R/W-x
R/W-x
MINTEN2
MINTEN1
MINTEN0
MINONE3
MINONE2
MINONE1
MINONE0
bit 15
bit 8
U-0
R/W-x
R/W-x
R/W-x
R/W-x
R/W-x
R/W-x
R/W-x
SECTEN2
SECTEN1
SECTEN0
SECONE3
SECONE2
SECONE1
SECONE0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15
Unimplemented: Read as 0
bit 14-12
MINTEN2:MINTEN0: Binary Coded Decimal Value of Minutes Tens Digit; Contains a value from 0 to 5
bit 11-8
MINONE3:MINONE0: Binary Coded Decimal Value of Minutes Ones Digit; Contains a value from 0 to 9
bit 7
Unimplemented: Read as 0
bit 6-4
SECTEN2:SECTEN0: Binary Coded Decimal Value of Seconds Tens Digit; Contains a value from 0 to 5
bit 3-0
SECONE3:SECONE0: Binary Coded Decimal Value of Seconds Ones Digit; Contains a value from 0 to 9
Preliminary
DS39881C-page 175
PIC24FJ64GA004 FAMILY
18.1.5
REGISTER 18-8:
U-0
U-0
U-0
R/W-x
R/W-x
R/W-x
R/W-x
R/W-x
MTHTEN0
MTHONE3
MTHONE2
MTHONE1
MTHONE0
bit 15
bit 8
U-0
U-0
R/W-x
R/W-x
R/W-x
R/W-x
R/W-x
R/W-x
DAYTEN1
DAYTEN0
DAYONE3
DAYONE2
DAYONE1
DAYONE0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-13
Unimplemented: Read as 0
bit 12
MTHTEN0: Binary Coded Decimal Value of Months Tens Digit; Contains a value of 0 or 1
bit 11-8
MTHONE3:MTHONE0: Binary Coded Decimal Value of Months Ones Digit; Contains a value from 0 to 9
bit 7-6
Unimplemented: Read as 0
bit 5-4
DAYTEN1:DAYTEN0: Binary Coded Decimal Value of Days Tens Digit; Contains a value from 0 to 3
bit 3-0
DAYONE3:DAYONE0: Binary Coded Decimal Value of Days Ones Digit; Contains a value from 0 to 9
Note 1:
REGISTER 18-9:
U-0
U-0
U-0
U-0
U-0
R/W-x
R/W-x
R/W-x
WDAY2
WDAY1
WDAY0
bit 15
bit 8
U-0
U-0
R/W-x
R/W-x
R/W-x
R/W-x
R/W-x
R/W-x
HRTEN1
HRTEN0
HRONE3
HRONE2
HRONE1
HRONE0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-11
Unimplemented: Read as 0
bit 10-8
WDAY2:WDAY0: Binary Coded Decimal Value of Weekday Digit; Contains a value from 0 to 6
bit 7-6
Unimplemented: Read as 0
bit 5-4
HRTEN1:HRTEN0: Binary Coded Decimal Value of Hours Tens Digit; Contains a value from 0 to 2
bit 3-0
HRONE3:HRONE0: Binary Coded Decimal Value of Hours Ones Digit; Contains a value from 0 to 9
Note 1:
DS39881C-page 176
Preliminary
PIC24FJ64GA004 FAMILY
REGISTER 18-10:
U-0
R/W-x
R/W-x
R/W-x
R/W-x
R/W-x
R/W-x
R/W-x
MINTEN2
MINTEN1
MINTEN0
MINONE3
MINONE2
MINONE1
MINONE0
bit 15
bit 8
U-0
R/W-x
R/W-x
R/W-x
R/W-x
R/W-x
R/W-x
R/W-x
SECTEN2
SECTEN1
SECTEN0
SECONE3
SECONE2
SECONE1
SECONE0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15
Unimplemented: Read as 0
bit 14-12
MINTEN2:MINTEN0: Binary Coded Decimal Value of Minutes Tens Digit; Contains a value from 0 to 5
bit 11-8
MINONE3:MINONE0: Binary Coded Decimal Value of Minutes Ones Digit; Contains a value from 0 to 9
bit 7
Unimplemented: Read as 0
bit 6-4
SECTEN2:SECTEN0: Binary Coded Decimal Value of Seconds Tens Digit; Contains a value from 0 to 5
bit 3-0
SECONE3:SECONE0: Binary Coded Decimal Value of Seconds Ones Digit; Contains a value from 0 to 9
18.2
Calibration
3.
2.
EQUATION 18-1:
(Ideal Frequency Measured Frequency) * 60 = Clocks
per Minute
Ideal frequency = 32,768 Hz
4.
Preliminary
DS39881C-page 177
PIC24FJ64GA004 FAMILY
18.3
Alarm
18.3.1
18.3.2
At every alarm event, an interrupt is generated. In addition, an alarm pulse output is provided that operates at
half the frequency of the alarm. This output is
completely synchronous to the RTCC clock and can be
used as a trigger clock to other peripherals.
Note:
FIGURE 18-2:
ALARM INTERRUPT
Day of
the
Week
Month
Day
Hours
Minutes
Seconds
DS39881C-page 178
Preliminary
PIC24FJ64GA004 FAMILY
19.0
PROGRAMMABLE CYCLIC
REDUNDANCY CHECK (CRC)
GENERATOR
Note:
TABLE 19-1:
Bit Name
Bit Value
PLEN3:PLEN0
1111
X<15:1>
000100000010000
Note that for the value of X<15:1>, the 12th bit and the
5th bit are set to 1, as required by the equation. The 0
bit required by the equation is always XORed. For a
16-bit polynomial, the 16th bit is also always assumed
to be XORed; therefore, the X<15:1> bits do not have
the 0 bit or the 16th bit.
FIGURE 19-1:
PLEN<3:0>
15
OUT
IN
BIT 0
p_clk
X1
0
1
Hold
OUT
IN
BIT 1
p_clk
X2
Hold
0
1
OUT
IN
BIT 2
X3
X15
p_clk
Hold
OUT
IN
BIT 15
p_clk
Preliminary
DS39881C-page 179
PIC24FJ64GA004 FAMILY
CRC GENERATOR RECONFIGURED FOR x16 + x12 + x5 + 1
FIGURE 19-2:
XOR
D
SDOx
BIT 0
BIT 4
BIT 5
BIT 12
BIT 15
p_clk
p_clk
p_clk
p_clk
p_clk
19.1
19.1.1
User Interface
DATA INTERFACE
data[5:0] = crc_input[5:0]
data[7:6] = bxx
Once data is written into the CRCWDAT MSb (as
defined by PLEN), the value of the VWORD bits
(CRCCON<12:8>) increments by one. The serial
shifter starts shifting data into the CRC engine when
CRCGO = 1 and VWORD > 0. When the MSb is
shifted out, VWORD decrements by one. The serial
shifter continues shifting until the VWORD reaches 0.
Therefore, for a given value of PLEN, it will take
(PLEN + 1) * VWORD number of clock cycles to
complete the CRC calculations.
When VWORD reaches 8 (or 16), the CRCFUL bit will
be set. When VWORD reaches 0, the CRCMPT bit will
be set.
To continually feed data into the CRC engine, the recommended mode of operation is to initially prime the
FIFO with a sufficient number of words so no interrupt
is generated before the next word can be written. Once
that is done, start the CRC by setting the CRCGO bit to
1. From that point onward, the VWORD bits should be
polled. If they read less than 8 or 16, another word can
be written into the FIFO.
DS39881C-page 180
19.1.2
INTERRUPT OPERATION
19.2
19.2.1
19.2.2
IDLE MODE
Preliminary
PIC24FJ64GA004 FAMILY
19.3
Registers
CRCCON
CRCXOR
CRCDAT
CRCWDAT
REGISTER 19-1:
U-0
U-0
R/W-0
R-0
R-0
R-0
R-0
R-0
CSIDL
VWORD4
VWORD3
VWORD2
VWORD1
VWORD0
bit 15
bit 8
R-0
R-1
U-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
CRCFUL
CRCMPT
CRCGO
PLEN3
PLEN2
PLEN1
PLEN0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-14
Unimplemented: Read as 0
bit 13
bit 12-8
bit 7
bit 6
bit 5
Unimplemented: Read as 0
bit 4
bit 3-0
Preliminary
DS39881C-page 181
PIC24FJ64GA004 FAMILY
REGISTER 19-2:
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
X15
X14
X13
X12
X11
X10
X9
X8
bit 15
bit 8
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
U-0
X7
X6
X5
X4
X3
X2
X1
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15-1
bit 0
Unimplemented: Read as 0
DS39881C-page 182
Preliminary
x = Bit is unknown
PIC24FJ64GA004 FAMILY
20.0
Note:
2.
Preliminary
DS39881C-page 183
PIC24FJ64GA004 FAMILY
FIGURE 20-1:
VR Select
AVDD
AVSS
VREF+
16
VR+
VR-
Comparator
VREF-
VINH
VINL
AN0
VRS/H
VINH
AN1
AN3
AN4
DAC
10-Bit SAR
MUX A
AN2
VR+
Conversion Logic
Data Formatting
VINL
ADC1BUF0:
ADC1BUFF
AN5
AN6(1)
AD1CON1
AD1CON2
AN7(1)
MUX B
AN8(1)
AN9
AD1CON3
AD1CHS
AD1PCFG
AD1CSSL
VINH
VINL
AN10
AN11
Sample Control
AN12
Control Logic
Conversion Control
VBG(2)
Note 1:
2:
Analog channels AN6 through AN8 are available on 28-pin devices only.
Band gap voltage reference (VBG) is internally connected to analog channel AN15, which does not appear on any pin.
DS39881C-page 184
Preliminary
PIC24FJ64GA004 FAMILY
REGISTER 20-1:
R/W-0
U-0
R/C-0
U-0
U-0
U-0
R/W-0
R/W-0
ADON
ADSIDL
FORM1
FORM0
bit 15
bit 8
R/W-0
R/W-0
R/W-0
U-0
U-0
R/W-0
R/W-0, HCS
R/W-0, HCS
SSRC2
SSRC1
SSRC0
ASAM
SAMP
DONE
bit 7
bit 0
Legend:
C = Clearable bit
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15
bit 14
Unimplemented: Read as 0
bit 13
bit 12-10
Unimplemented: Read as 0
bit 9-8
bit 7-5
bit 4-3
Unimplemented: Read as 0
bit 2
bit 1
bit 0
Preliminary
DS39881C-page 185
PIC24FJ64GA004 FAMILY
REGISTER 20-2:
R/W-0
R/W-0
R/W-0
R/W-0
U-0
R/W-0
U-0
U-0
VCFG2
VCFG1
VCFG0
CSCNA
bit 15
bit 8
R-0
U-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
BUFS
SMPI3
SMPI2
SMPI1
SMPI0
BUFM
ALTS
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15-13
x = Bit is unknown
VR+
VR-
000
AVDD*
AVSS*
001
AVSS*
010
AVDD*
011
1xx
AVDD*
AVSS*
AVDD and AVSS inputs are tied to VDD and VSS on 28-pin devices.
bit 12-11
Unimplemented: Read as 0
bit 10
CSCNA: Scan Input Selections for CH0+ S/H Input for MUX A Input Multiplexer Setting bit
1 = Scan inputs
0 = Do not scan inputs
bit 9-8
Unimplemented: Read as 0
bit 7
bit 6
Unimplemented: Read as 0
bit 5-2
bit 1
bit 0
DS39881C-page 186
Preliminary
PIC24FJ64GA004 FAMILY
REGISTER 20-3:
R/W-0
U-0
U-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
ADRC
SAMC4
SAMC3
SAMC2
SAMC1
SAMC0
bit 15
bit 8
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
ADCS7
ADCS6
ADCS5
ADCS4
ADCS3
ADCS2
ADCS1
ADCS0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15
bit 14-13
Unimplemented: Read as 0
bit 12-8
00001 = 1 TAD
00000 = 0 TAD (not recommended)
bit 7-0
00000001 = 2 TCY
00000000 = TCY
Preliminary
x = Bit is unknown
DS39881C-page 187
PIC24FJ64GA004 FAMILY
REGISTER 20-4:
R/W-0
U-0
U-0
U-0
CH0NB
R/W-0
R/W-0
R/W-0
R/W-0
bit 15
bit 8
U-0
R/W-0
CH0NA
U-0
U-0
R/W-0
CH0SA3
(1,2)
R/W-0
R/W-0
(1,2)
CH0SA2
CH0SA1
(1,2)
R/W-0
CH0SA0(1,2)
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15
CH0NB: Channel 0 Negative Input Select for MUX B Multiplexer Setting bit
1 = Channel 0 negative input is AN1
0 = Channel 0 negative input is VR-
bit 14-12
Unimplemented: Read as 0
bit 11-8
CH0SB3:CH0SB0: Channel 0 Positive Input Select for MUX B Multiplexer Setting bits(1,2)
1111 = Channel 0 positive input is AN15 (band gap voltage reference)
1100 = Channel 0 positive input is AN12
1011 = Channel 0 positive input is AN11
bit 7
CH0NA: Channel 0 Negative Input Select for MUX A Multiplexer Setting bit
1 = Channel 0 negative input is AN1
0 = Channel 0 negative input is VR-
bit 6-4
Unimplemented: Read as 0
bit 3-0
CH0SA3:CH0SA0: Channel 0 Positive Input Select for MUX A Multiplexer Setting bits(1,2)
1111 = Channel 0 positive input is AN15 (band gap voltage reference)
1100 = Channel 0 positive input is AN12
1011 = Channel 0 positive input is AN11
Note 1:
2:
DS39881C-page 188
Preliminary
PIC24FJ64GA004 FAMILY
REGISTER 20-5:
R/W-0
U-0
U-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
PCFG15
PCFG12
PCFG11
PCFG10
PCFG9
PCFG8(1)
bit 15
bit 8
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
PCFG7(1)
PCFG6(1)
PCFG5
PCFG4
PCFG3
PCFG2
PCFG1
PCFG0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15
bit 14-13
Unimplemented: Read as 0
bit 12-0
Note 1:
Analog channels AN6, AN7 and AN8 are unavailable on 28-pin devices; leave these corresponding bits
set.
REGISTER 20-6:
R/W-0
U-0
U-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
CSSL15
CSSL12
CSSL11
CSSL10
CSSL9
CSSL8(1)
bit 15
bit 8
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
CSSL7(1)
CSSL6(1)
CSSL5
CSSL4
CSSL3
CSSL2
CSSL1
CSSL0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
bit 15
bit 14-13
Unimplemented: Read as 0
bit 12-0
Note 1:
x = Bit is unknown
Analog channels AN6, AN7 and AN8 are unavailable on 28-pin devices; leave these corresponding bits
cleared.
Preliminary
DS39881C-page 189
PIC24FJ64GA004 FAMILY
A/D CONVERSION CLOCK PERIOD(1)
EQUATION 20-1:
ADCS =
Note 1:
FIGURE 20-2:
TAD
1
TCY
Rs
VA
RIC 250
VT = 0.6V
ANx
CPIN
6-11 pF
(Typical)
VT = 0.6V
Sampling
Switch
RSS 5 k (Typical)
RSS
ILEAKAGE
500 nA
CHOLD
= DAC capacitance
= 4.4 pF (Typical)
VSS
Legend: CPIN
= Input Capacitance
= Threshold Voltage
VT
ILEAKAGE = Leakage Current at the pin due to
various junctions
= Interconnect Resistance
RIC
= Sampling Switch Resistance
RSS
= Sample/Hold Capacitance (from DAC)
CHOLD
Note: CPIN value depends on device package and is not tested. Effect of CPIN negligible if Rs 5 k.
DS39881C-page 190
Preliminary
PIC24FJ64GA004 FAMILY
FIGURE 20-3:
Output Code
(Binary (Decimal))
Preliminary
(VINH VINL)
VR+
1024
1023*(VR+ VR-)
VR- +
1024
VR- +
512*(VR+ VR-)
1024
VR- +
Voltage Level
VR+ VR-
0
VR-
DS39881C-page 191
PIC24FJ64GA004 FAMILY
NOTES:
DS39881C-page 192
Preliminary
PIC24FJ64GA004 FAMILY
21.0
COMPARATOR MODULE
Note:
FIGURE 21-1:
C1IN+
C1IN-
C1EN
VINC1POS
C1IN+
CVREF
C1OUT(1)
C1
VIN+
C2NEG
C2IN+
C2IN-
C1OUTEN
C2EN
CMCON<7>
C2INV
VINC2POS
C2IN+
CVREF
Note 1:
CMCON<6>
C1INV
C2OUT(1)
C2
VIN+
C2OUTEN
This peripherals outputs must be assigned to an available RPn pin before use. Please see
Section 9.4 Peripheral Pin Select for more information.
Preliminary
DS39881C-page 193
PIC24FJ64GA004 FAMILY
REGISTER 21-1:
R/W-0
U-0
R/C-0
R/C-0
R/W-0
R/W-0
CMIDL
C2EVT
C1EVT
C2EN
C1EN
R/W-0
R/W-0
C2OUTEN(1) C1OUTEN(2)
bit 15
bit 8
R-0
R-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
C2OUT
C1OUT
C2INV
C1INV
C2NEG
C2POS
C1NEG
C1POS
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15
bit 14
Unimplemented: Read as 0
bit 13
bit 12
bit 11
bit 10
bit 9
bit 8
bit 7
bit 6
DS39881C-page 194
Preliminary
PIC24FJ64GA004 FAMILY
REGISTER 21-1:
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
Note 1:
2:
If C2OUTEN = 1, the C2OUT peripheral output must be configured to an available RPn pin. See
Section 9.4 Peripheral Pin Select for more information.
If C1OUTEN = 1, the C1OUT peripheral output must be configured to an available RPn pin. See
Section 9.4 Peripheral Pin Select for more information.
Preliminary
DS39881C-page 195
PIC24FJ64GA004 FAMILY
NOTES:
DS39881C-page 196
Preliminary
PIC24FJ64GA004 FAMILY
22.0
Note:
22.1
COMPARATOR VOLTAGE
REFERENCE
This data sheet summarizes the features
of this group of PIC24F devices. It is not
intended to be a comprehensive reference
source. For more information, refer to the
PIC24F Family Reference Manual,
Section 20. Comparator Voltage
Reference Module (DS39709).
FIGURE 22-1:
CVRSS = 1
8R
CVRSS = 0
CVR3:CVR0
CVREN
R
R
16-to-1 MUX
R
16 Steps
CVREF
R
R
CVRR
VREF-
8R
CVRSS = 1
CVRSS = 0
AVSS
Preliminary
DS39881C-page 197
PIC24FJ64GA004 FAMILY
REGISTER 22-1:
U-0
U-0
U-0
U-0
U-0
U-0
U-0
U-0
bit 15
bit 8
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
R/W-0
CVREN
CVROE
CVRR
CVRSS
CVR3
CVR2
CVR1
CVR0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
-n = Value at POR
1 = Bit is set
0 = Bit is cleared
x = Bit is unknown
bit 15-8
Unimplemented: Read as 0
bit 7
bit 6
bit 5
bit 4
bit 3-0
DS39881C-page 198
Preliminary
PIC24FJ64GA004 FAMILY
23.0
Note:
SPECIAL FEATURES
23.1.1
Flexible Configuration
Watchdog Timer (WDT)
Code Protection
JTAG Boundary Scan Interface
In-Circuit Serial Programming
In-Circuit Emulation
CONSIDERATIONS FOR
CONFIGURING PIC24FJ64GA004
FAMILY DEVICES
TABLE 23-1:
Device
23.1
Configuration Bits
FLASH CONFIGURATION
WORD LOCATIONS FOR
PIC24FJ64GA004 FAMILY
DEVICES
Configuration Word
Addresses
1
PIC24FJ16GA
002BFEh
002BFCh
PIC24FJ32GA
0057FEh
0057FCh
PIC24FJ48GA
0083FEh
0083FCh
PIC24FJ64GA
00ABFEh
00ABFCh
Preliminary
DS39881C-page 199
PIC24FJ64GA004 FAMILY
REGISTER 23-1:
U-1
U-1
U-1
U-1
U-1
U-1
U-1
U-1
bit 23
bit 16
r-x
R/PO-1
R/PO-1
R/PO-1
R/PO-1
r-1
R/PO-1
R/PO-1
JTAGEN
GCP
GWRP
DEBUG
ICS1
ICS0
bit 15
bit 8
R/PO-1
R/PO-1
U-1
R/PO-1
R/PO-1
R/PO-1
R/PO-1
R/PO-1
FWDTEN
WINDIS
FWPSA
WDTPS3
WDTPS2
WDTPS1
WDTPS0
bit 7
bit 0
Legend:
r = Reserved bit
R = Readable bit
bit 23-16
Unimplemented: Read as 1
bit 15
bit 14
bit 13
bit 12
bit 11
bit 10
bit 9-8
bit 7
bit 6
bit 5
Unimplemented: Read as 1
bit 4
DS39881C-page 200
Preliminary
0 = Bit is cleared
PIC24FJ64GA004 FAMILY
REGISTER 23-1:
bit 3-0
Preliminary
DS39881C-page 201
PIC24FJ64GA004 FAMILY
REGISTER 23-2:
U-1
bit 23
U-1
U-1
U-1
U-1
U-1
U-1
R/PO-1
IESO
bit 15
U-1
U-1
U-1
U-1
R/PO-1
FNOSC2
R/PO-1
FNOSC1
R/PO-1
FNOSC0
bit 8
R/PO-1
FCKSM1
bit 7
R/PO-1
FCKSM0
R/PO-1
OSCIOFCN
R/PO-1
IOL1WAY
U-1
R/PO-1
I2C1SEL
R/PO-1
POSCMD1
R/PO-1
POSCMD0
bit 0
Legend:
r = Reserved bit
R = Readable bit
PO = Program Once bit
-n = Value when device is unprogrammed
bit 23-16
bit 15
bit 14-11
bit 10-8
bit 7-6
bit 5
bit 4
bit 3
bit 2
bit 1-0
U-1
bit 16
Unimplemented: Read as 1
IESO: Internal External Switchover bit
1 = IESO mode (Two-Speed Start-up) enabled
0 = IESO mode (Two-Speed Start-up) disabled
Unimplemented: Read as 1
FNOSC2:FNOSC0: Initial Oscillator Select bits
111 = Fast RC Oscillator with Postscaler (FRCDIV)
110 = Reserved
101 = Low-Power RC Oscillator (LPRC)
100 = Secondary Oscillator (SOSC)
011 = Primary Oscillator with PLL module (XTPLL, HSPLL, ECPLL)
010 = Primary Oscillator (XT, HS, EC)
001 = Fast RC Oscillator with postscaler and PLL module (FRCPLL)
000 = Fast RC Oscillator (FRC)
FCKSM1:FCKSM0: Clock Switching and Fail-Safe Clock Monitor Configuration bits
1x = Clock switching and Fail-Safe Clock Monitor are disabled
01 = Clock switching is enabled, Fail-Safe Clock Monitor is disabled
00 = Clock switching is enabled, Fail-Safe Clock Monitor is enabled
OSCIOFCN: OSCO Pin Configuration bit
If POSCMD1:POSCMD0 = 11 or 00:
1 = OSCO/CLKO/RA3 functions as CLKO (FOSC/2)
0 = OSCO/CLKO/RA3 functions as port I/O (RA3)
If POSCMD1:POSCMD0 = 10 or 01:
OSCIOFCN has no effect on OSCO/CLKO/RA3.
IOL1WAY: IOLOCK One-Way Set Enable bit
1 = The OSCCON<IOLOCK> bit can be set once, provided the unlock sequence has been completed.
Once set, the Peripheral Pin Select registers cannot be written to a second time.
0 = The OSCCON<IOLOCK> bit can be set and cleared as needed, provided the unlock sequence has
been completed
Unimplemented: Read as 1
I2C1SEL: I2C1 Pin Select bit
1 = Use default SCL1/SDA1 pins
0 = Use alternate SCL1/SDA1 pins
POSCMD1:POSCMD0: Primary Oscillator Configuration bits
11 = Primary oscillator disabled
10 = HS Oscillator mode selected
01 = XT Oscillator mode selected
00 = EC Oscillator mode selected
DS39881C-page 202
Preliminary
PIC24FJ64GA004 FAMILY
REGISTER 23-3:
bit 23
bit 15
R
FAMID7
R
FAMID6
R
FAMID5
R
FAMID4
R
FAMID3
R
FAMID2
bit 8
R
FAMID0
R
DEV5
R
DEV4
R
DEV3
R
DEV2
R
DEV1
R
DEV0
bit 0
R
FAMID1
bit 7
bit 16
U = Unimplemented bit
Unimplemented: Read as 1
FAMID7:FAMID0: Device Family Identifier bits
00010001 = PIC24FJ64GA004 family
DEV5:DEV0: Individual Device Identifier bits
000100 = PIC24FJ16GA002
000101 = PIC24FJ32GA002
000110 = PIC24FJ48GA002
000111 = PIC24FJ64GA002
001100 = PIC24FJ16GA004
001101 = PIC24FJ32GA004
001110 = PIC24FJ48GA004
001111 = PIC24FJ64GA004
REGISTER 23-4:
bit 23
bit 16
bit 15
R
MAJRV2
bit 8
R
MAJRV0
R
DOT2
R
DOT1
R
MAJRV1
bit 7
R
DOT0
bit 0
U = Unimplemented bit
Unimplemented: Read as 0
MAJRV2:MAJRV0: Major Revision Identifier bits
Unimplemented: Read as 0
DOT2:DOT0: Minor Revision Identifier bits
Preliminary
DS39881C-page 203
PIC24FJ64GA004 FAMILY
23.2
FIGURE 23-1:
VDDCORE/VCAP
CEFC
(10 F typ)
2.5V(1)
PIC24FJ64GA
DISVREG
VDDCORE/VCAP
VSS
DS39881C-page 204
3.3V(1)
VDD
VSS
23.2.1
PIC24FJ64GA
VDD
DISVREG
VDDCORE/VCAP
VSS
Note 1:
23.2.2
When the voltage regulator is enabled, it takes approximately 20 s for it to generate output. During this time,
designated as TSTARTUP, code execution is disabled.
TSTARTUP is applied every time the device resumes
operation after any power-down, including Sleep mode.
If the regulator is disabled, a separate Power-up Timer
(PWRT) is automatically enabled. The PWRT adds a
fixed delay of 64 ms nominal delay at device start-up.
Preliminary
PIC24FJ64GA004 FAMILY
23.2.3
When
the
on-chip
regulator
is
enabled,
PIC24FJ64GA004 family devices also have a simple
brown-out capability. If the voltage supplied to the regulator is inadequate to maintain the tracking level, the
regulator Reset circuitry will generate a Brown-out
Reset. This event is captured by the BOR flag bit
(RCON<1>). The brown-out voltage levels are specified in Section 26.1 DC Characteristics.
23.2.4
POWER-UP REQUIREMENTS
23.2.5
23.3
Preliminary
DS39881C-page 205
PIC24FJ64GA004 FAMILY
23.3.1
WINDOWED OPERATION
23.3.2
FIGURE 23-2:
CONTROL REGISTER
SWDTEN
FWDTEN
LPRC Control
FWPSA
WDTPS3:WDTPS0
Prescaler
(5-bit/7-bit)
LPRC Input
31 kHz
WDT
Counter
Postscaler
1:1 to 1:32.768
1 ms/4 ms
WDT Overflow
Reset
23.4
JTAG Interface
23.5.1
23.5
DS39881C-page 206
CONFIGURATION REGISTER
PROTECTION
Preliminary
PIC24FJ64GA004 FAMILY
23.6
23.7
PIC24FJ64GA004 family microcontrollers can be serially programmed while in the end application circuit.
This is simply done with two lines for clock (PGCx) and
data (PGDx) and three other lines for power, ground
and the programming voltage. This allows customers to
manufacture boards with unprogrammed devices and
then program the microcontroller just before shipping
the product. This also allows the most recent firmware
or a custom firmware to be programmed.
In-Circuit Debugger
Preliminary
DS39881C-page 207
PIC24FJ64GA004 FAMILY
NOTES:
DS39881C-page 208
Preliminary
PIC24FJ64GA004 FAMILY
24.0
DEVELOPMENT SUPPORT
24.1
Preliminary
DS39881C-page 209
PIC24FJ64GA004 FAMILY
24.2
MPASM Assembler
24.5
24.3
24.6
24.4
DS39881C-page 210
Preliminary
PIC24FJ64GA004 FAMILY
24.7
24.9
24.8
Preliminary
DS39881C-page 211
PIC24FJ64GA004 FAMILY
24.11 PICSTART Plus Development
Programmer
DS39881C-page 212
Preliminary
PIC24FJ64GA004 FAMILY
25.0
Note:
simple
Preliminary
DS39881C-page 213
PIC24FJ64GA004 FAMILY
TABLE 25-1:
Field
Description
#text
(text)
[text]
{ }
<n:m>
.b
.d
.S
.w
bit4
C, DC, N, OV, Z
MCU Status bits: Carry, Digit Carry, Negative, Overflow, Sticky Zero
Expr
lit1
lit4
lit5
lit8
lit10
10-bit unsigned literal {0...255} for Byte mode, {0:1023} for Word mode
lit14
lit16
lit23
None
PC
Program Counter
Slit10
Slit16
Slit6
Wb
Wd
Wdo
Destination W register
{ Wnd, [Wnd], [Wnd++], [Wnd--], [++Wnd], [--Wnd], [Wnd+Wb] }
Wm,Wn
Wn
Wnd
Wns
WREG
Ws
Wso
DS39881C-page 214
Preliminary
PIC24FJ64GA004 FAMILY
TABLE 25-2:
Assembly
Mnemonic
ADD
ADDC
AND
ASR
BCLR
BRA
BSET
BSW
BTG
BTSC
Assembly Syntax
Description
# of
Words
# of
Cycles
Status Flags
Affected
ADD
f = f + WREG
C, DC, N, OV, Z
ADD
f,WREG
WREG = f + WREG
C, DC, N, OV, Z
ADD
#lit10,Wn
Wd = lit10 + Wd
C, DC, N, OV, Z
ADD
Wb,Ws,Wd
Wd = Wb + Ws
C, DC, N, OV, Z
ADD
Wb,#lit5,Wd
Wd = Wb + lit5
C, DC, N, OV, Z
ADDC
f = f + WREG + (C)
C, DC, N, OV, Z
ADDC
f,WREG
C, DC, N, OV, Z
ADDC
#lit10,Wn
Wd = lit10 + Wd + (C)
C, DC, N, OV, Z
ADDC
Wb,Ws,Wd
Wd = Wb + Ws + (C)
C, DC, N, OV, Z
ADDC
Wb,#lit5,Wd
Wd = Wb + lit5 + (C)
C, DC, N, OV, Z
AND
f = f .AND. WREG
N, Z
AND
f,WREG
N, Z
AND
#lit10,Wn
Wd = lit10 .AND. Wd
N, Z
AND
Wb,Ws,Wd
Wd = Wb .AND. Ws
N, Z
AND
Wb,#lit5,Wd
Wd = Wb .AND. lit5
N, Z
ASR
C, N, OV, Z
ASR
f,WREG
C, N, OV, Z
ASR
Ws,Wd
C, N, OV, Z
ASR
Wb,Wns,Wnd
N, Z
ASR
Wb,#lit5,Wnd
N, Z
BCLR
f,#bit4
Bit Clear f
None
BCLR
Ws,#bit4
Bit Clear Ws
None
BRA
C,Expr
Branch if Carry
1 (2)
None
BRA
GE,Expr
1 (2)
None
BRA
GEU,Expr
1 (2)
None
BRA
GT,Expr
1 (2)
None
BRA
GTU,Expr
1 (2)
None
BRA
LE,Expr
1 (2)
None
BRA
LEU,Expr
1 (2)
None
BRA
LT,Expr
1 (2)
None
BRA
LTU,Expr
1 (2)
None
BRA
N,Expr
Branch if Negative
1 (2)
None
BRA
NC,Expr
1 (2)
None
BRA
NN,Expr
1 (2)
None
BRA
NOV,Expr
1 (2)
None
BRA
NZ,Expr
1 (2)
None
BRA
OV,Expr
Branch if Overflow
1 (2)
None
BRA
Expr
Branch Unconditionally
None
BRA
Z,Expr
Branch if Zero
1 (2)
None
BRA
Wn
Computed Branch
None
BSET
f,#bit4
Bit Set f
None
BSET
Ws,#bit4
Bit Set Ws
None
BSW.C
Ws,Wb
None
BSW.Z
Ws,Wb
None
BTG
f,#bit4
Bit Toggle f
None
BTG
Ws,#bit4
Bit Toggle Ws
None
BTSC
f,#bit4
1
None
(2 or 3)
BTSC
Ws,#bit4
1
None
(2 or 3)
Preliminary
DS39881C-page 215
PIC24FJ64GA004 FAMILY
TABLE 25-2:
Assembly
Mnemonic
BTSS
BTST
BTSTS
Assembly Syntax
Description
# of
Words
# of
Cycles
Status Flags
Affected
BTSS
f,#bit4
1
None
(2 or 3)
BTSS
Ws,#bit4
1
None
(2 or 3)
BTST
f,#bit4
Bit Test f
BTST.C
Ws,#bit4
Bit Test Ws to C
BTST.Z
Ws,#bit4
Bit Test Ws to Z
BTST.C
Ws,Wb
C
Z
BTST.Z
Ws,Wb
BTSTS
f,#bit4
BTSTS.C
Ws,#bit4
BTSTS.Z
Ws,#bit4
CALL
CALL
lit23
Call Subroutine
None
CALL
Wn
None
CLR
CLR
f = 0x0000
None
CLR
WREG
WREG = 0x0000
None
CLR
Ws
Ws = 0x0000
None
WDTO, Sleep
CLRWDT
CLRWDT
COM
COM
f=f
N, Z
COM
f,WREG
WREG = f
N, Z
COM
Ws,Wd
Wd = Ws
N, Z
CP
C, DC, N, OV, Z
CP
Wb,#lit5
C, DC, N, OV, Z
CP
Wb,Ws
C, DC, N, OV, Z
CP0
CP0
C, DC, N, OV, Z
CP0
Ws
C, DC, N, OV, Z
CPB
CPB
C, DC, N, OV, Z
CPB
Wb,#lit5
C, DC, N, OV, Z
CPB
Wb,Ws
C, DC, N, OV, Z
CPSEQ
CPSEQ
Wb,Wn
1
None
(2 or 3)
CPSGT
CPSGT
Wb,Wn
1
None
(2 or 3)
CPSLT
CPSLT
Wb,Wn
1
None
(2 or 3)
CPSNE
CPSNE
Wb,Wn
1
None
(2 or 3)
DAW
DAW
Wn
Wn = Decimal Adjust Wn
DEC
DEC
f = f 1
C, DC, N, OV, Z
DEC
f,WREG
WREG = f 1
C, DC, N, OV, Z
CP
DEC
Ws,Wd
Wd = Ws 1
C, DC, N, OV, Z
DEC2
f=f2
C, DC, N, OV, Z
DEC2
f,WREG
WREG = f 2
C, DC, N, OV, Z
DEC2
Ws,Wd
Wd = Ws 2
C, DC, N, OV, Z
DISI
DISI
#lit14
None
DIV
DIV.SW
Wm,Wn
18
N, Z, C, OV
DIV.SD
Wm,Wn
18
N, Z, C, OV
DIV.UW
Wm,Wn
18
N, Z, C, OV
DIV.UD
Wm,Wn
18
N, Z, C, OV
EXCH
EXCH
Wns,Wnd
None
FF1L
FF1L
Ws,Wnd
FF1R
FF1R
Ws,Wnd
DEC2
DS39881C-page 216
Preliminary
PIC24FJ64GA004 FAMILY
TABLE 25-2:
Assembly
Mnemonic
GOTO
INC
INC2
Assembly Syntax
Description
# of
Words
# of
Cycles
Status Flags
Affected
GOTO
Expr
Go to Address
None
GOTO
Wn
Go to Indirect
None
INC
f=f+1
C, DC, N, OV, Z
INC
f,WREG
WREG = f + 1
C, DC, N, OV, Z
C, DC, N, OV, Z
INC
Ws,Wd
Wd = Ws + 1
INC2
f=f+2
C, DC, N, OV, Z
INC2
f,WREG
WREG = f + 2
C, DC, N, OV, Z
C, DC, N, OV, Z
INC2
Ws,Wd
Wd = Ws + 2
IOR
f = f .IOR. WREG
N, Z
IOR
f,WREG
N, Z
IOR
#lit10,Wn
Wd = lit10 .IOR. Wd
N, Z
IOR
Wb,Ws,Wd
Wd = Wb .IOR. Ws
N, Z
IOR
Wb,#lit5,Wd
Wd = Wb .IOR. lit5
N, Z
LNK
LNK
#lit14
None
LSR
LSR
C, N, OV, Z
LSR
f,WREG
C, N, OV, Z
LSR
Ws,Wd
C, N, OV, Z
LSR
Wb,Wns,Wnd
N, Z
LSR
Wb,#lit5,Wnd
N, Z
MOV
f,Wn
Move f to Wn
None
MOV
[Wns+Slit10],Wnd
None
MOV
Move f to f
N, Z
MOV
f,WREG
Move f to WREG
N, Z
MOV
#lit16,Wn
None
MOV.b
#lit8,Wn
None
MOV
Wn,f
Move Wn to f
None
MOV
Wns,[Wns+Slit10]
MOV
Wso,Wdo
Move Ws to Wd
None
MOV
WREG,f
Move WREG to f
N, Z
MOV.D
Wns,Wd
None
MOV.D
Ws,Wnd
None
MUL.SS
Wb,Ws,Wnd
None
MUL.SU
Wb,Ws,Wnd
None
MUL.US
Wb,Ws,Wnd
None
MUL.UU
Wb,Ws,Wnd
None
MUL.SU
Wb,#lit5,Wnd
None
MUL.UU
Wb,#lit5,Wnd
None
MUL
W3:W2 = f * WREG
None
NEG
f=f+1
C, DC, N, OV, Z
NEG
f,WREG
WREG = f + 1
C, DC, N, OV, Z
NEG
Ws,Wd
Wd = Ws + 1
C, DC, N, OV, Z
NOP
No Operation
None
NOPR
No Operation
None
IOR
MOV
MUL
NEG
NOP
POP
POP
None
POP
Wdo
None
POP.D
Wnd
None
All
POP.S
PUSH
PUSH
None
PUSH
Wso
None
PUSH.D
Wns
None
None
PUSH.S
Preliminary
DS39881C-page 217
PIC24FJ64GA004 FAMILY
TABLE 25-2:
Assembly
Mnemonic
Assembly Syntax
Description
# of
Words
# of
Cycles
Status Flags
Affected
PWRSAV
PWRSAV
#lit1
WDTO, Sleep
RCALL
RCALL
Expr
Relative Call
None
RCALL
Wn
Computed Call
None
REPEAT
REPEAT
#lit14
None
REPEAT
Wn
None
RESET
RESET
None
RETFIE
RETFIE
3 (2)
None
RETLW
RETLW
3 (2)
None
RETURN
RETURN
3 (2)
None
RLC
RLC
C, N, Z
RLC
f,WREG
C, N, Z
C, N, Z
RLNC
RRC
RRNC
#lit10,Wn
RLC
Ws,Wd
RLNC
N, Z
RLNC
f,WREG
N, Z
N, Z
RLNC
Ws,Wd
RRC
C, N, Z
RRC
f,WREG
C, N, Z
RRC
Ws,Wd
C, N, Z
RRNC
N, Z
RRNC
f,WREG
N, Z
RRNC
Ws,Wd
N, Z
SE
SE
Ws,Wnd
Wnd = Sign-Extended Ws
C, N, Z
SETM
SETM
f = FFFFh
None
SETM
WREG
WREG = FFFFh
None
SETM
Ws
Ws = FFFFh
None
SL
f = Left Shift f
C, N, OV, Z
SL
f,WREG
C, N, OV, Z
SL
Ws,Wd
Wd = Left Shift Ws
C, N, OV, Z
SL
Wb,Wns,Wnd
N, Z
SL
Wb,#lit5,Wnd
N, Z
SUB
f = f WREG
C, DC, N, OV, Z
SUB
f,WREG
WREG = f WREG
C, DC, N, OV, Z
SUB
#lit10,Wn
Wn = Wn lit10
C, DC, N, OV, Z
SUB
Wb,Ws,Wd
Wd = Wb Ws
C, DC, N, OV, Z
SUB
Wb,#lit5,Wd
Wd = Wb lit5
C, DC, N, OV, Z
SUBB
f = f WREG (C)
C, DC, N, OV, Z
SL
SUB
SUBB
SUBR
SUBBR
SWAP
TBLRDH
SUBB
f,WREG
C, DC, N, OV, Z
SUBB
#lit10,Wn
Wn = Wn lit10 (C)
C, DC, N, OV, Z
SUBB
Wb,Ws,Wd
Wd = Wb Ws (C)
C, DC, N, OV, Z
SUBB
Wb,#lit5,Wd
Wd = Wb lit5 (C)
C, DC, N, OV, Z
SUBR
f = WREG f
C, DC, N, OV, Z
SUBR
f,WREG
WREG = WREG f
C, DC, N, OV, Z
SUBR
Wb,Ws,Wd
Wd = Ws Wb
C, DC, N, OV, Z
SUBR
Wb,#lit5,Wd
Wd = lit5 Wb
C, DC, N, OV, Z
SUBBR
f = WREG f (C)
C, DC, N, OV, Z
SUBBR
f,WREG
C, DC, N, OV, Z
SUBBR
Wb,Ws,Wd
Wd = Ws Wb (C)
C, DC, N, OV, Z
C, DC, N, OV, Z
SUBBR
Wb,#lit5,Wd
Wd = lit5 Wb (C)
SWAP.b
Wn
Wn = Nibble Swap Wn
None
SWAP
Wn
Wn = Byte Swap Wn
None
TBLRDH
Ws,Wd
None
DS39881C-page 218
Preliminary
PIC24FJ64GA004 FAMILY
TABLE 25-2:
Assembly
Mnemonic
Assembly Syntax
Description
# of
Words
# of
Cycles
Status Flags
Affected
TBLRDL
TBLRDL
Ws,Wd
Read Prog<15:0> to Wd
None
TBLWTH
TBLWTH
Ws,Wd
None
TBLWTL
TBLWTL
Ws,Wd
Write Ws to Prog<15:0>
None
ULNK
ULNK
None
XOR
XOR
f = f .XOR. WREG
N, Z
XOR
f,WREG
N, Z
XOR
#lit10,Wn
Wd = lit10 .XOR. Wd
N, Z
XOR
Wb,Ws,Wd
Wd = Wb .XOR. Ws
N, Z
XOR
Wb,#lit5,Wd
Wd = Wb .XOR. lit5
N, Z
ZE
Ws,Wnd
Wnd = Zero-Extend Ws
C, Z, N
ZE
Preliminary
DS39881C-page 219
PIC24FJ64GA004 FAMILY
NOTES:
DS39881C-page 220
Preliminary
PIC24FJ64GA004 FAMILY
26.0
ELECTRICAL CHARACTERISTICS
This section provides an overview of the PIC24FJ64GA004 family electrical characteristics. Additional information will
be provided in future revisions of this document as it becomes available.
Absolute maximum ratings for the PIC24FJ64GA004 family are listed below. Exposure to these maximum rating
conditions for extended periods may affect device reliability. Functional operation of the device at these, or any other
conditions above the parameters indicated in the operation listings of this specification, is not implied.
Preliminary
DS39881C-page 221
PIC24FJ64GA004 FAMILY
26.1
DC Characteristics
FIGURE 26-1:
3.00V
Voltage (VDDCORE)(1)
2.75V
2.75V
2.50V
PIC24FJ64GA004/32GA004/64GA002/32GA002
2.35V
2.25V
2.00V
32 MHz
16 MHz
Frequency
For frequencies between 16 MHz and 32 MHz, FMAX = (45.7 MHz/V) * (VDDCORE 2V) + 16 MHz.
WHEN the voltage regulator is disabled, VDD and VDDCORE must be maintained so that
VDDCORE VDD 3.6V.
Note 1:
FIGURE 26-2:
Voltage (VDDCORE)(1)
2.75V
2.50V
2.75V
PIC24FJ64GA004/32GA004/64GA002/32GA002
2.35V
2.25V
2.00V
16 MHz
24 MHz
Frequency
For frequencies between 16 MHz and 24 MHz, FMAX = (22.9 MHz/V) * (VDDCORE 2V) + 16 MHz.
Note 1:
DS39881C-page 222
WHEN the voltage regulator is disabled, VDD and VDDCORE must be maintained so that
VDDCORE VDD 3.6V.
Preliminary
PIC24FJ64GA004 FAMILY
TABLE 26-1:
Symbol
Min
Typ
Max
Unit
TJ
-40
+140
TA
-40
+125
PIC24FJ64GA004 Family:
Power Dissipation:
Internal Chip Power Dissipation:
PINT = VDD x (IDD IOH)
PD
PINT + PI/O
PDMAX
(TJ TA)/JA
TABLE 26-2:
Symbol
Typ
Max
Unit
Notes
JA
49
C/W
(Note 1)
JA
33.7
C/W
(Note 1)
JA
28
C/W
(Note 1)
JA
39.3
C/W
(Note 1)
Note 1:
Junction to ambient thermal resistance, Theta-JA (JA) numbers are achieved by package simulations.
Preliminary
DS39881C-page 223
PIC24FJ64GA004 FAMILY
TABLE 26-3:
DC CHARACTERISTICS
Param
Symbol
No.
Typ(1)
Max
Units
VDD
2.2
3.6
Regulator enabled
VDD
VDDCORE
3.6
Regulator disabled
2.0
2.75
Regulator disabled
Characteristic
Conditions
Operating Voltage
DC10
Supply Voltage
VDDCORE
DC12
VDR
1.5
DC16
VPOR
VSS
DC17
SVDD
0.05
V/ms
Note 1:
2:
0-3.3V in 0.1s
0-2.5V in 60 ms
Data in Typ column is at 3.3V, 25C unless otherwise stated. Parameters are for design guidance only
and are not tested.
This is the limit to which VDD can be lowered without losing RAM data.
DS39881C-page 224
Preliminary
PIC24FJ64GA004 FAMILY
TABLE 26-4:
DC CHARACTERISTICS
Parameter No.
Typical(1)
Max
Units
Conditions
Set(2)
DC20
0.650
0.850
mA
-40C
DC20a
0.650
0.850
mA
+25C
DC20b
0.650
0.850
mA
+85C
DC20c
0.650
0.850
mA
+125C
DC20d
1.2
1.6
mA
-40C
DC20e
1.2
1.6
mA
+25C
DC20f
1.2
1.6
mA
+85C
DC20g
1.2
1.6
mA
+125C
DC23
2.6
3.4
mA
-40C
DC23a
2.6
3.4
mA
+25C
DC23b
2.6
3.4
mA
+85C
DC23c
2.6
3.4
mA
+125C
DC23d
4.1
5.4
mA
-40C
DC23e
4.1
5.4
mA
+25C
DC23f
4.1
5.4
mA
+85C
DC23g
4.1
5.4
mA
+125C
DC24
13.5
17.6
mA
-40C
DC24a
13.5
17.6
mA
+25C
DC24b
13.5
17.6
mA
+85C
DC24c
13.5
17.6
mA
+125C
DC24d
15
20
mA
-40C
DC24e
15
20
mA
+25C
DC24f
15
20
mA
+85C
DC24g
15
20
mA
+125C
DC31
13
17
-40C
DC31a
13
17
+25C
DC31b
20
26
+85C
DC31c
40
50
+125C
DC31d
54
70
-40C
DC31e
54
70
+25C
DC31f
95
124
+85C
DC31g
120
260
+125C
Note 1:
2:
3:
4:
2.0V(3)
1 MIPS
3.3V(4)
2.0V(3)
4 MIPS
3.3V(4)
2.5V(3)
16 MIPS
3.3V(4)
2.0V(3)
LPRC (31 kHz)
3.3V(4)
Data in Typical column is at 3.3V, 25C unless otherwise stated. Parameters are for design guidance only and
are not tested.
The supply current is mainly a function of the operating voltage and frequency. Other factors, such as I/O pin loading
and switching rate, oscillator type, internal code execution pattern and temperature, also have an impact on the
current consumption. The test conditions for all IDD measurements are as follows: OSCI driven with external square
wave from rail to rail. All I/O pins are configured as inputs and pulled to VDD.
MCLR = VDD; WDT and FSCM are disabled. CPU, SRAM, program memory and data memory are operational. No
peripheral modules are operating and all of the Peripheral Module Disable (PMD) bits are set.
On-chip voltage regulator disabled (DISVREG tied to VDD).
On-chip voltage regulator enabled (DISVREG tied to VSS). Low-Voltage Detect (LVD) and Brown-out Detect
(BOD) are enabled.
Preliminary
DS39881C-page 225
PIC24FJ64GA004 FAMILY
TABLE 26-5:
DC CHARACTERISTICS
Parameter
No.
Typical(1)
Max
Units
Conditions
Idle Current (IIDLE): Core Off, Clock On Base Current, PMD Bits are Set(2)
DC40
150
200
-40C
DC40a
150
200
+25C
DC40b
150
200
+85C
DC40c
165
220
+125C
DC40d
250
325
-40C
DC40e
250
325
+25C
DC40f
250
325
+85C
+125C
DC40g
275
360
DC43
0.55
0.72
mA
-40C
DC43a
0.55
0.72
mA
+25C
DC43b
0.55
0.72
mA
+85C
DC43c
0.60
0.8
mA
+125C
DC43d
0.82
1.1
mA
-40C
DC43e
0.82
1.1
mA
+25C
DC43f
0.82
1.1
mA
+85C
DC43g
0.91
1.2
mA
+125C
DC47
mA
-40C
DC47a
mA
+25C
DC47b
mA
+85C
DC47c
3.3
4.4
mA
+125C
DC47d
3.5
4.6
mA
-40C
DC47e
3.5
4.6
mA
+25C
DC47f
3.5
4.6
mA
+85C
DC47g
3.9
5.1
mA
+125C
DC50
0.85
1.1
mA
-40C
DC50a
0.85
1.1
mA
+25C
DC50b
0.85
1.1
mA
+85C
DC50c
0.94
1.2
mA
+125C
DC50d
1.2
1.6
mA
-40C
DC50e
1.2
1.6
mA
+25C
DC50f
1.2
1.6
mA
+85C
1.3
1.8
mA
+125C
DC50g
Note 1:
2:
3:
4:
2.0V(3)
1 MIPS
3.3V(4)
2.0V(3)
4 MIPS
3.3V(4)
2.5V(3)
16 MIPS
3.3V(4)
2.0V(3)
FRC (4 MIPS)
3.3V(4)
Data in Typical column is at 3.3V, 25C unless otherwise stated. Parameters are for design guidance only and
are not tested.
The test conditions for all IIDLE measurements are as follows: OSCI driven with external square wave from rail to
rail. All I/O pins are configured as inputs and pulled to VDD. MCLR = VDD; WDT and FSCM are disabled. CPU,
SRAM, program memory and data memory are operational. No peripheral modules are operating and all of the
Peripheral Module Disable (PMD) bits are set.
On-chip voltage regulator disabled (DISVREG tied to VDD).
On-chip voltage regulator enabled (DISVREG tied to VSS). Low-Voltage Detect (LVD) and Brown-out Detect
(BOD) are enabled.
DS39881C-page 226
Preliminary
PIC24FJ64GA004 FAMILY
TABLE 26-5:
DC CHARACTERISTICS
Parameter
No.
Typical(1)
Max
Units
Conditions
Idle Current (IIDLE): Core Off, Clock On Base Current, PMD Bits are Set(2)
DC51
-40C
DC51a
+25C
DC51b
+85C
DC51c
14
18
+125C
DC51d
42
55
-40C
DC51e
42
55
+25C
DC51f
70
91
+85C
DC51g
100
180
+125C
Note 1:
2:
3:
4:
2.0V(3)
LPRC (31 kHz)
3.3V(4)
Data in Typical column is at 3.3V, 25C unless otherwise stated. Parameters are for design guidance only and
are not tested.
The test conditions for all IIDLE measurements are as follows: OSCI driven with external square wave from rail to
rail. All I/O pins are configured as inputs and pulled to VDD. MCLR = VDD; WDT and FSCM are disabled. CPU,
SRAM, program memory and data memory are operational. No peripheral modules are operating and all of the
Peripheral Module Disable (PMD) bits are set.
On-chip voltage regulator disabled (DISVREG tied to VDD).
On-chip voltage regulator enabled (DISVREG tied to VSS). Low-Voltage Detect (LVD) and Brown-out Detect
(BOD) are enabled.
Preliminary
DS39881C-page 227
PIC24FJ64GA004 FAMILY
TABLE 26-6:
DC CHARACTERISTICS
Parameter
No.
Typical(1)
Max
Units
Conditions
Power-Down Current (IPD): PMD Bits are Set, VREGS Bit is 0(2)
DC60
0.1
-40C
DC60a
0.15
+25C
DC60b
3.7
12
+85C
DC60j
15
50
+125C
DC60c
0.2
-40C
DC60d
0.25
+25C
DC60e
4.2
25
+85C
DC60k
16
100
+125C
DC60f
3.3
-40C
DC60g
3.5
10
+25C
DC60h
30
+85C
DC60l
36
120
+125C
DC61
1.75
-40C
DC61a
1.75
+25C
DC61b
1.75
+85C
DC61j
3.5
+125C
DC61c
2.4
-40C
DC61d
2.4
+25C
DC61e
2.4
+85C
DC61k
4.8
+125C
DC61f
2.8
-40C
DC61g
2.8
+25C
DC61h
2.8
+85C
DC61l
5.6
10
+125C
Note 1:
2:
3:
4:
5:
2.0V(3)
2.5V(3)
3.3V(4)
2.0V(3)
2.5V(3)
3.3V(4)
Data in the Typical column is at 3.3V, 25C unless otherwise stated. Parameters are for design guidance only
and are not tested.
Base IPD is measured with all peripherals and clocks shut down. All I/Os are configured as inputs and pulled
high. WDT, etc., are all switched off.
On-chip voltage regulator disabled (DISVREG tied to VDD).
On-chip voltage regulator enabled (DISVREG tied to VSS). Low-Voltage Detect (LVD) and Brown-out Detect
(BOD) are enabled.
The current is the additional current consumed when the module is enabled. This current should be added to
the base IPD current.
DS39881C-page 228
Preliminary
PIC24FJ64GA004 FAMILY
TABLE 26-6:
DC CHARACTERISTICS
Parameter
No.
Typical(1)
Max
Units
Conditions
Power-Down Current (IPD): PMD Bits are Set, VREGS Bit is 0(2)
DC62
16
-40C
DC62a
12
16
+25C
DC62b
12
16
+85C
DC62j
18
23
+125C
DC62c
16
-40C
DC62d
12
16
+25C
DC62e
12.5
16
+85C
DC62k
20
25
+125C
DC62f
10.3
18
-40C
DC62g
13.4
18
+25C
DC62h
14.2
18
+85C
23
28
+125C
DC62l
Note 1:
2:
3:
4:
5:
2.0V(3)
2.5V(3)
3.3V(4)
Data in the Typical column is at 3.3V, 25C unless otherwise stated. Parameters are for design guidance only
and are not tested.
Base IPD is measured with all peripherals and clocks shut down. All I/Os are configured as inputs and pulled
high. WDT, etc., are all switched off.
On-chip voltage regulator disabled (DISVREG tied to VDD).
On-chip voltage regulator enabled (DISVREG tied to VSS). Low-Voltage Detect (LVD) and Brown-out Detect
(BOD) are enabled.
The current is the additional current consumed when the module is enabled. This current should be added to
the base IPD current.
Preliminary
DS39881C-page 229
PIC24FJ64GA004 FAMILY
TABLE 26-7:
DC CHARACTERISTICS
Param
No.
Min
Typ(1)
Max
Units
I/O Pins
VSS
0.2 VDD
DI11
PMP Pins
VSS
0.15 VDD
DI15
MCLR
VSS
0.2 VDD
Sym
VIL
DI10
Characteristic
Conditions
DI16
VSS
0.2 VDD
DI17
VSS
0.2 VDD
2C
Buffer
PMPTTL = 1
VSS
0.3 VDD
SMBus disabled
VSS
0.8
SMBus enabled
I/O Pins:
with Analog Functions
Digital Only
0.8 VDD
0.8 VDD
VDD
5.5
V
V
PMP Pins:
with Analog Functions
Digital Only
VDD
5.5
V
V
MCLR
0.8 VDD
VDD
DI26
0.7 VDD
VDD
DI27
0.7 VDD
VDD
DI28
2C
0.7 VDD
0.7 VDD
VDD
5.5
V
V
2.1
2.1
VDD
5.5
V
v
50
250
400
DI18
DI19
DI20
DI21
DI25
DI29
DI30
PMPTTL = 1
DI50
I/O Ports
+1
DI51
+1
DI55
MCLR
+1
DI56
OSCI
+1
Note 1:
2:
3:
4:
Data in Typ column is at 3.3V, 25C unless otherwise stated. Parameters are for design guidance only
and are not tested.
The leakage current on the MCLR pin is strongly dependent on the applied voltage level. The specified
levels represent normal operating conditions. Higher leakage current may be measured at different input
voltages.
Negative current is defined as current sourced by the pin.
Refer to Table 1-2 for I/O pin buffer types.
DS39881C-page 230
Preliminary
PIC24FJ64GA004 FAMILY
TABLE 26-8:
DC CHARACTERISTICS
Param
No.
Sym
VOL
DO10
DO20
Max
Units
0.4
0.4
0.4
0.4
Conditions
1.8
1.8
Data in Typ column is at 25C unless otherwise stated. Parameters are for design guidance only and are not
tested.
TABLE 26-9:
DC CHARACTERISTICS
Param
No.
Typ(1)
DO26
Min
DO16
Note 1:
Characteristic
Sym
Characteristic
Min
Typ(1)
Max
Units
Conditions
EP
Cell Endurance
10000
E/W
D131
VPR
VMIN
3.6
D132B
VPEW
2.25
2.75
D133A
TIW
ms
D134
20
Year
D135
IDDP
mA
Note 1:
-40C to +125C
VMIN = Minimum operating voltage
Symbol
Characteristics
Min
Typ
Max
Units
Comments
VRGOUT
2.5
CEFC
4.7
10
TVREG
10
DISVREG = VSS
TPWRT
64
ms
DISVREG = VDD
Preliminary
DS39881C-page 231
PIC24FJ64GA004 FAMILY
26.2
The information contained in this section defines the PIC24FJ64GA004 family AC characteristics and timing
parameters.
AC CHARACTERISTICS
FIGURE 26-3:
VDD/2
CL
Pin
RL
VSS
CL
Pin
RL = 464
CL = 50 pF for all pins except OSCO
15 pF for OSCO output
VSS
Characteristic
Min
Typ(1)
Max
Units
Conditions
15
pF
COSC2
OSCO/CLKO pin
DO56
CIO
50
pF
EC mode.
DO58
CB
SCLx, SDAx
400
pF
In I2C mode.
DO50
Note 1:
Data in Typ column is at 3.3V, 25C unless otherwise stated. Parameters are for design guidance only
and are not tested.
DS39881C-page 232
Preliminary
PIC24FJ64GA004 FAMILY
FIGURE 26-4:
Q1
Q2
Q3
Q4
Q1
Q2
Q3
Q4
Q1
Q2
Q3
OSCI
OS20
OS30
OS31
OS30
OS31
OS25
CLKO
OS41
OS40
Characteristic
Typ(1)
Max
Units
DC
4
DC
4
32
8
24
6
MHz
MHz
MHz
MHz
3
3
10
31
3
10
10
8
32
33
6
24
MHz
MHz
MHz
kHz
MHz
MHz
XT
XTPLL, -40C TA +85C
HS, -40C TA +85C
SOSC
XTPLL, -40C TA +125C
HS, -40C TA +125C
Conditions
OS20
OS25
TCY
62.5
DC
ns
OS30
0.45 x TOSC
ns
EC
OS31
20
ns
EC
OS40
TckR
10
ns
OS41
TckF
10
ns
Note 1:
2:
3:
Data in Typ column is at 3.3V, 25C unless otherwise stated. Parameters are for design guidance only
and are not tested.
Instruction cycle period (TCY) equals two times the input oscillator time base period. All specified values are
based on characterization data for that particular oscillator type under standard operating conditions with
the device executing code. Exceeding these specified limits may result in an unstable oscillator operation
and/or higher than expected current consumption. All devices are tested to operate at Min. values with an
external clock applied to the OSCI/CLKI pin. When an external clock input is used, the Max. cycle time
limit is DC (no clock) for all devices.
Measurements are taken in EC mode. The CLKO signal is measured on the OSCO pin. CLKO is low for the
Q1-Q2 period (1/2 TCY) and high for the Q3-Q4 period (1/2 TCY).
Preliminary
DS39881C-page 233
PIC24FJ64GA004 FAMILY
TABLE 26-14: PLL CLOCK TIMING SPECIFICATIONS (VDD = 2.0V TO 3.6V)
Standard Operating Conditions: 2.0V to 3.6V (unless otherwise stated)
Operating temperature -40C TA +85C for Industrial
-40C TA +125C for Extended
AC CHARACTERISTICS
Param
No.
Characteristic(1)
Sym
OS50
FPLLI
Typ(2)
Max
Units
MHz
MHz
8
8
32
24
MHz
MHz
OS51
FSYS
OS52
ms
OS53
DCLK
-2
Note 1:
2:
Min
Conditions
ECPLL, HSPLL, XTPLL
modes, -40C TA +85C
ECPLL, HSPLL, XTPLL
modes, -40C TA +125C
-40C TA +85C
-40C TA +125C
Characteristic
Typ
Max
Units
Conditions
-2
25C
-5
-40C TA +125C
FRC
Note 1:
Frequency calibrated at 25C and 3.3V. OSCTUN bits can be used to compensate for temperature drift.
Characteristic
Typ
Max
Units
Conditions
-15
15
25C
-15
15
-40C TA +85C
-20
20
125C
LPRC @ 31 kHz(1)
F21
Note 1:
DS39881C-page 234
Preliminary
PIC24FJ64GA004 FAMILY
FIGURE 26-5:
I/O Pin
(Input)
DI35
DI40
I/O Pin
(Output)
New Value
Old Value
DO31
DO32
Sym
Characteristic
Typ(1)
Max
Units
DO31
TIOR
10
25
ns
DO32
TIOF
10
25
ns
DI35
TINP
20
ns
DI40
TRBP
TCY
Note 1:
Conditions
Preliminary
DS39881C-page 235
PIC24FJ64GA004 FAMILY
TABLE 26-18: ADC MODULE SPECIFICATIONS
Standard Operating Conditions: 2.0V to 3.6V
(unless otherwise stated)
Operating temperature -40C TA +85C for Industrial
-40C TA +125C for Extended
AC CHARACTERISTICS
Param
No.
Symbol
Characteristic
Min.
Typ
Max.
Units
Conditions
Device Supply
AD01
AVDD
Greater of
VDD 0.3
or 2.0
Lesser of
VDD + 0.3
or 3.6
AD02
AVSS
VSS 0.3
VSS + 0.3
Reference Inputs
AD05
VREFH
AVSS + 1.7
AVDD
AD06
VREFL
AVSS
AVDD 1.7
AD07
VREF
Absolute Reference
Voltage
AVSS 0.3
AVDD + 0.3
Analog Input
AD10
VREFL
VREFH
AD11
VIN
AVSS 0.3
AVDD + 0.3
AD12
VINL
AVSS 0.3
AVDD/2
AD17
RIN
Recommended Impedance
of Analog Voltage Source
2.5K
(Note 2)
10-bit
ADC Accuracy
AD20b Nr
Resolution
10
bits
AD21b INL
Integral Nonlinearity
<2
LSb
AD22b DNL
Differential Nonlinearity
<1.25
LSb
AD23b GERR
Gain Error
LSb
AD24b EOFF
Offset Error
LSb
AD25b
Monotonicity(1)
Note 1:
2:
Guaranteed
The ADC conversion result never decreases with an increase in the input voltage and has no missing codes.
Measurements taken with external VREF+ and VREF- used as the ADC voltage reference.
DS39881C-page 236
Preliminary
PIC24FJ64GA004 FAMILY
TABLE 26-19: ADC CONVERSION TIMING REQUIREMENTS(1)
Standard Operating Conditions: 2.0V to 3.6V
(unless otherwise stated)
Operating temperature -40C TA +85C for Industrial
AC CHARACTERISTICS
Param
No.
Symbol
Characteristic
Min.
Typ
Max.
Units
Conditions
Clock Parameters
AD50
TAD
75
ns
AD51
tRC
250
ns
Conversion Rate
AD55
tCONV
Conversion Time
12
TAD
AD56
FCNV
Throughput Rate
500
ksps
AD57
tSAMP
Sample Time
TAD
AD61
tPSS
TAD
AVDD 2.7V
Clock Parameters
Note 1:
Because the sample caps will eventually lose charge, clock rates below 10 kHz can affect linearity
performance, especially at elevated temperatures.
Preliminary
DS39881C-page 237
PIC24FJ64GA004 FAMILY
NOTES:
DS39881C-page 238
Preliminary
PIC24FJ64GA004 FAMILY
27.0
PACKAGING INFORMATION
27.1
28-Lead SPDIP
PIC24FJ16GA002
-I/SP e3
0810017
XXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXX
YYWWNNN
28-Lead SSOP
Example
XXXXXXXXXXXX
XXXXXXXXXXXX
YYWWNNN
24FJ16GA002
/SS e3
0810017
Example
XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX
YYWWNNN
28-Lead QFN
PIC24FJ16GA002/SO e3
0810017
Example
XXXXXXXX
XXXXXXXX
YYWWNNN
Legend: XX...X
Y
YY
WW
NNN
*
Note:
24FJ48GA
002/ML e3
0810017
Customer-specific information
Year code (last digit of calendar year)
Year code (last 2 digits of calendar year)
Week code (week of January 1 is week 01)
Alphanumeric traceability code
Pb-free JEDEC designator for Matte Tin (Sn)
This package is Pb-free. The Pb-free JEDEC designator ( e3 )
can be found on the outer packaging for this package.
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.
Preliminary
DS39881C-page 239
PIC24FJ64GA004 FAMILY
44-Lead QFN
Example
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
YYWWNNN
24FJ32GA
004-I/ML e3
0810017
44-Lead TQFP
Example
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
YYWWNNN
DS39881C-page 240
24FJ32GA
004-I/PT e3
0810017
Preliminary
PIC24FJ64GA004 FAMILY
27.2
Package Details
/HDG6NLQQ\3ODVWLF'XDO,Q/LQH63PLO%RG\>63',3@
1RWH
)RUWKHPRVWFXUUHQWSDFNDJHGUDZLQJVSOHDVHVHHWKH0LFURFKLS3DFNDJLQJ6SHFLILFDWLRQORFDWHGDW
KWWSZZZPLFURFKLSFRPSDFNDJLQJ
N
NOTE 1
E1
2 3
D
E
A2
b1
A1
eB
8QLWV
'LPHQVLRQ/LPLWV
1XPEHURI3LQV
,1&+(6
0,1
120
0$;
3LWFK
7RSWR6HDWLQJ3ODQH
0ROGHG3DFNDJH7KLFNQHVV
$
%DVHWR6HDWLQJ3ODQH
$
6KRXOGHUWR6KRXOGHU:LGWK
0ROGHG3DFNDJH:LGWK
(
2YHUDOO/HQJWK
'
7LSWR6HDWLQJ3ODQH
/HDG7KLFNQHVV
E
H%
8SSHU/HDG:LGWK
/RZHU/HDG:LGWK
2YHUDOO5RZ6SDFLQJ
%6&
1RWHV
3LQYLVXDOLQGH[IHDWXUHPD\YDU\EXWPXVWEHORFDWHGZLWKLQWKHKDWFKHGDUHD
6LJQLILFDQW&KDUDFWHULVWLF
'LPHQVLRQV'DQG(GRQRWLQFOXGHPROGIODVKRUSURWUXVLRQV0ROGIODVKRUSURWUXVLRQVVKDOOQRWH[FHHGSHUVLGH
'LPHQVLRQLQJDQGWROHUDQFLQJSHU$60(<0
%6& %DVLF'LPHQVLRQ7KHRUHWLFDOO\H[DFWYDOXHVKRZQZLWKRXWWROHUDQFHV
0LFURFKLS 7HFKQRORJ\ 'UDZLQJ &%
Preliminary
DS39881C-page 241
PIC24FJ64GA004 FAMILY
/HDG3ODVWLF6KULQN6PDOO2XWOLQH66PP%RG\>6623@
1RWH
)RUWKHPRVWFXUUHQWSDFNDJHGUDZLQJVSOHDVHVHHWKH0LFURFKLS3DFNDJLQJ6SHFLILFDWLRQORFDWHGDW
KWWSZZZPLFURFKLSFRPSDFNDJLQJ
D
N
E
E1
1 2
NOTE 1
b
e
c
A2
A1
L1
8QLWV
'LPHQVLRQ/LPLWV
1XPEHURI3LQV
0,//,0(7(56
0,1
120
0$;
3LWFK
2YHUDOO+HLJKW
%6&
0ROGHG3DFNDJH7KLFNQHVV
$
6WDQGRII
$
2YHUDOO:LGWK
0ROGHG3DFNDJH:LGWK
(
2YHUDOO/HQJWK
'
)RRW/HQJWK
)RRWSULQW
/
5()
/HDG7KLFNQHVV
)RRW$QJOH
/HDG:LGWK
1RWHV
3LQYLVXDOLQGH[IHDWXUHPD\YDU\EXWPXVWEHORFDWHGZLWKLQWKHKDWFKHGDUHD
'LPHQVLRQV'DQG(GRQRWLQFOXGHPROGIODVKRUSURWUXVLRQV0ROGIODVKRUSURWUXVLRQVVKDOOQRWH[FHHGPPSHUVLGH
'LPHQVLRQLQJDQGWROHUDQFLQJSHU$60(<0
%6& %DVLF'LPHQVLRQ7KHRUHWLFDOO\H[DFWYDOXHVKRZQZLWKRXWWROHUDQFHV
5() 5HIHUHQFH'LPHQVLRQXVXDOO\ZLWKRXWWROHUDQFHIRULQIRUPDWLRQSXUSRVHVRQO\
0LFURFKLS 7HFKQRORJ\ 'UDZLQJ &%
DS39881C-page 242
Preliminary
PIC24FJ64GA004 FAMILY
/HDG3ODVWLF6PDOO2XWOLQH62:LGHPP%RG\>62,&@
1RWH
)RUWKHPRVWFXUUHQWSDFNDJHGUDZLQJVSOHDVHVHHWKH0LFURFKLS3DFNDJLQJ6SHFLILFDWLRQORFDWHGDW
KWWSZZZPLFURFKLSFRPSDFNDJLQJ
D
N
E
E1
NOTE 1
1 2 3
b
h
c
A2
L
A1
L1
8QLWV
'LPHQVLRQ/LPLWV
1XPEHURI3LQV
0,//,0(7(56
0,1
120
0$;
3LWFK
2YHUDOO+HLJKW
%6&
0ROGHG3DFNDJH7KLFNQHVV
$
6WDQGRII
$
2YHUDOO:LGWK
0ROGHG3DFNDJH:LGWK
(
%6&
2YHUDOO/HQJWK
'
%6&
%6&
&KDPIHURSWLRQDO
)RRW/HQJWK
)RRWSULQW
/
5()
)RRW$QJOH7RS
/HDG7KLFNQHVV
/HDG:LGWK
0ROG'UDIW$QJOH7RS
0ROG'UDIW$QJOH%RWWRP
1RWHV
3LQYLVXDOLQGH[IHDWXUHPD\YDU\EXWPXVWEHORFDWHGZLWKLQWKHKDWFKHGDUHD
6LJQLILFDQW&KDUDFWHULVWLF
'LPHQVLRQV'DQG(GRQRWLQFOXGHPROGIODVKRUSURWUXVLRQV0ROGIODVKRUSURWUXVLRQVVKDOOQRWH[FHHGPPSHUVLGH
'LPHQVLRQLQJDQGWROHUDQFLQJSHU$60(<0
%6& %DVLF'LPHQVLRQ7KHRUHWLFDOO\H[DFWYDOXHVKRZQZLWKRXWWROHUDQFHV
5() 5HIHUHQFH'LPHQVLRQXVXDOO\ZLWKRXWWROHUDQFHIRULQIRUPDWLRQSXUSRVHVRQO\
0LFURFKLS 7HFKQRORJ\ 'UDZLQJ &%
Preliminary
DS39881C-page 243
PIC24FJ64GA004 FAMILY
/HDG3ODVWLF4XDG)ODW1R/HDG3DFNDJH0/[PP%RG\>4)1@
ZLWKPP&RQWDFW/HQJWK
1RWH
)RUWKHPRVWFXUUHQWSDFNDJHGUDZLQJVSOHDVHVHHWKH0LFURFKLS3DFNDJLQJ6SHFLILFDWLRQORFDWHGDW
KWWSZZZPLFURFKLSFRPSDFNDJLQJ
D
D2
EXPOSED
PAD
e
E
E2
2
N
NOTE 1
L
BOTTOM VIEW
TOP VIEW
A3
A1
8QLWV
'LPHQVLRQ/LPLWV
1XPEHURI3LQV
0,//,0(7(56
0,1
120
0$;
3LWFK
2YHUDOO+HLJKW
6WDQGRII
$
&RQWDFW7KLFNQHVV
$
2YHUDOO:LGWK
([SRVHG3DG:LGWK
(
2YHUDOO/HQJWK
'
([SRVHG3DG/HQJWK
%6&
5()
%6&
%6&
'
&RQWDFW:LGWK
&RQWDFW/HQJWK
&RQWDFWWR([SRVHG3DG
.
1RWHV
3LQYLVXDOLQGH[IHDWXUHPD\YDU\EXWPXVWEHORFDWHGZLWKLQWKHKDWFKHGDUHD
3DFNDJHLVVDZVLQJXODWHG
'LPHQVLRQLQJDQGWROHUDQFLQJSHU$60(<0
%6& %DVLF'LPHQVLRQ7KHRUHWLFDOO\H[DFWYDOXHVKRZQZLWKRXWWROHUDQFHV
5() 5HIHUHQFH'LPHQVLRQXVXDOO\ZLWKRXWWROHUDQFHIRULQIRUPDWLRQSXUSRVHVRQO\
DS39881C-page 244
Preliminary
PIC24FJ64GA004 FAMILY
/HDG3ODVWLF4XDG)ODW1R/HDG3DFNDJH0/[PP%RG\>4)1@
ZLWKPP&RQWDFW/HQJWK
1RWH
)RUWKHPRVWFXUUHQWSDFNDJHGUDZLQJVSOHDVHVHHWKH0LFURFKLS3DFNDJLQJ6SHFLILFDWLRQORFDWHGDW
KWWSZZZPLFURFKLSFRPSDFNDJLQJ
Preliminary
DS39881C-page 245
PIC24FJ64GA004 FAMILY
/HDG3ODVWLF4XDG)ODW1R/HDG3DFNDJH0/[PP%RG\>4)1@
1RWH
)RUWKHPRVWFXUUHQWSDFNDJHGUDZLQJVSOHDVHVHHWKH0LFURFKLS3DFNDJLQJ6SHFLILFDWLRQORFDWHGDW
KWWSZZZPLFURFKLSFRPSDFNDJLQJ
D
D2
EXPOSED
PAD
e
E
E2
b
2
2
1
N
1
N
NOTE 1
TOP VIEW
L
BOTTOM VIEW
A
A3
A1
8QLWV
'LPHQVLRQ/LPLWV
1XPEHURI3LQV
0,//,0(7(56
0,1
120
0$;
3LWFK
2YHUDOO+HLJKW
6WDQGRII
$
&RQWDFW7KLFNQHVV
$
2YHUDOO:LGWK
([SRVHG3DG:LGWK
(
2YHUDOO/HQJWK
'
([SRVHG3DG/HQJWK
%6&
5()
%6&
%6&
'
&RQWDFW:LGWK
&RQWDFW/HQJWK
&RQWDFWWR([SRVHG3DG
.
1RWHV
3LQYLVXDOLQGH[IHDWXUHPD\YDU\EXWPXVWEHORFDWHGZLWKLQWKHKDWFKHGDUHD
3DFNDJHLVVDZVLQJXODWHG
'LPHQVLRQLQJDQGWROHUDQFLQJSHU$60(<0
%6& %DVLF'LPHQVLRQ7KHRUHWLFDOO\H[DFWYDOXHVKRZQZLWKRXWWROHUDQFHV
5() 5HIHUHQFH'LPHQVLRQXVXDOO\ZLWKRXWWROHUDQFHIRULQIRUPDWLRQSXUSRVHVRQO\
DS39881C-page 246
Preliminary
PIC24FJ64GA004 FAMILY
/HDG3ODVWLF4XDG)ODW1R/HDG3DFNDJH0/[PP%RG\>4)1@
1RWH
)RUWKHPRVWFXUUHQWSDFNDJHGUDZLQJVSOHDVHVHHWKH0LFURFKLS3DFNDJLQJ6SHFLILFDWLRQORFDWHGDW
KWWSZZZPLFURFKLSFRPSDFNDJLQJ
Preliminary
DS39881C-page 247
PIC24FJ64GA004 FAMILY
/HDG3ODVWLF7KLQ4XDG)ODWSDFN37[[PP%RG\PP>74)3@
1RWH
)RUWKHPRVWFXUUHQWSDFNDJHGUDZLQJVSOHDVHVHHWKH0LFURFKLS3DFNDJLQJ6SHFLILFDWLRQORFDWHGDW
KWWSZZZPLFURFKLSFRPSDFNDJLQJ
D
D1
E
e
E1
NOTE 1
1 2 3
NOTE 2
A1
8QLWV
'LPHQVLRQ/LPLWV
1XPEHURI/HDGV
A2
L1
0,//,0(7(56
0,1
120
0$;
/HDG3LWFK
2YHUDOO+HLJKW
%6&
0ROGHG3DFNDJH7KLFNQHVV
$
6WDQGRII
$
)RRW/HQJWK
)RRWSULQW
/
5()
)RRW$QJOH
2YHUDOO:LGWK
%6&
2YHUDOO/HQJWK
'
%6&
0ROGHG3DFNDJH:LGWK
(
%6&
0ROGHG3DFNDJH/HQJWK
'
%6&
/HDG7KLFNQHVV
/HDG:LGWK
0ROG'UDIW$QJOH7RS
0ROG'UDIW$QJOH%RWWRP
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 &%
DS39881C-page 248
Preliminary
PIC24FJ64GA004 FAMILY
/HDG3ODVWLF7KLQ4XDG)ODWSDFN37[[PP%RG\PP>74)3@
1RWH
)RUWKHPRVWFXUUHQWSDFNDJHGUDZLQJVSOHDVHVHHWKH0LFURFKLS3DFNDJLQJ6SHFLILFDWLRQORFDWHGDW
KWWSZZZPLFURFKLSFRPSDFNDJLQJ
Preliminary
DS39881C-page 249
PIC24FJ64GA004 FAMILY
NOTES:
DS39881C-page 250
Preliminary
PIC24FJ64GA004 FAMILY
APPENDIX A:
REVISION HISTORY
Preliminary
DS39881C-page 251
PIC24FJ64GA004 FAMILY
APPENDIX B:
ADDITIONAL
GUIDANCE FOR
PIC24FJ64GA004
FAMILY
APPLICATIONS
FIGURE B-1:
POWER REDUCTION
EXAMPLE FOR CONSTANT
VOLTAGE SUPPLIES
PIC24FJ64GA
VDD
B.1
DISVREG
Devices in the PIC24FJ64GA004 family include a number of core features to significantly reduce the applications power requirements. For truly power-sensitive
applications, it is possible to further reduce the
applications power demands by taking advantage of
the devices regulator architecture. These methods
help decrease power in two ways: by disabling the
internal voltage regulator to eliminate its power consumption, and by reducing the voltage on VDDCORE to
lower the devices dynamic current requirements.
Using these methods, it is possible to reduce Sleep
currents (IPD) from 3.5 A to 250 nA (typical values,
refer to specifications DC60d and DC60g in
Table 26-6). For dynamic power consumption, the
reduction in VDDCORE from 2.5V, provided by the
regulator, to 2.0V can provide a power reduction of
about 30%.
When using a regulated power source or a battery with
a constant output voltage, it is possible to decrease
power consumption by disabling the regulator. In this
case (Figure B-1), a simple diode can be used to
reduce the voltage from 3V or greater to the 2V-2.5V
required for VDDCORE. This method is only advised on
power supplies, such as Lithium Coin cells, which
maintain a constant voltage over the life of the battery.
DS39881C-page 252
D1
3.0V
Coin Cell
2.3V
VDDCORE
VSS
FIGURE B-2:
POWER REDUCTION
EXAMPLE FOR
NON-REGULATED SUPPLIES
PIC24FJ64GA
VDD
DISVREG
3.3V
AA
Preliminary
MCP1700
2.0V
VDDCORE
VSS
PIC24FJ64GA004 FAMILY
INDEX
A
A/D Converter
Analog Input Model ................................................... 190
Transfer Function...................................................... 191
Additional Guidance for Family Applications..................... 252
Assembler
MPASM Assembler................................................... 210
B
Block Diagrams
10-Bit High-Speed A/D Converter............................. 184
Accessing Program Memory with Table Instructions .. 39
Addressable PMP Example ...................................... 166
CALL Stack Frame...................................................... 37
Comparator Operating Modes .................................. 193
Comparator Voltage Reference ................................ 197
CPU Programmers Model .......................................... 19
CRC Reconfigured for Polynomial ............................ 180
CRC Shifter Details................................................... 179
Data Access From Program Space
Address Generation ............................................ 38
I2C Module ................................................................ 144
Input Capture ............................................................ 125
Legacy PMP Example............................................... 166
On-Chip Regulator Connections ............................... 204
Output Compare ....................................................... 130
PIC24F CPU Core ...................................................... 18
PIC24FJ64GA004 Family (General) ........................... 10
PMP
Master Port Examples .............................. 166168
PMP Module Overview ............................................. 159
PSV Operation ............................................................ 40
Reset System.............................................................. 47
RTCC ........................................................................ 169
Shared I/O Port Structure ........................................... 97
Simplified UART........................................................ 151
SPI Master/Frame Master Connection...................... 141
SPI Master/Frame Slave Connection........................ 141
SPI Master/Slave Connection
(Enhanced Buffer Mode)................................... 140
SPI Master/Slave Connection
(Standard Mode) ............................................... 140
SPI Slave/Frame Master Connection........................ 141
SPI Slave/Frame Slave Connection.......................... 141
SPIx Module (Enhanced Mode) ................................ 135
SPIx Module (Standard Mode).................................. 134
System Clock Diagram ............................................... 87
Timer1....................................................................... 117
Timer2 and Timer4 (16-Bit Modes) ........................... 121
Timer2/3 and Timer4/5 (32-Bit Mode)....................... 120
Timer3 and Timer5 (16-Bit Modes) ........................... 121
Watchdog Timer (WDT) ............................................ 206
C
C Compilers
MPLAB C18 .............................................................. 210
MPLAB C30 .............................................................. 210
Code Examples
Basic Clock Switching Example ................................. 93
Configuring UART 1 Input and Output
Functions (PPS) ............................................... 102
Erasing a Program Memory Block.............................. 44
I/O Port Read/Write .................................................... 98
Initiating a Programming Sequence ........................... 45
Loading the Write Buffers ........................................... 45
Single-Word Flash Programming ............................... 46
Code Protection ................................................................ 206
Configuration Bits ............................................................. 199
Core Features....................................................................... 7
CPU
ALU............................................................................. 21
Control Registers........................................................ 20
Core Registers............................................................ 19
Programmers Model .................................................. 17
CRC
CRCXOR Register.................................................... 182
Operation in Power Save Modes.............................. 180
User Interface ........................................................... 180
Customer Change Notification Service............................. 256
Customer Notification Service .......................................... 256
Customer Support............................................................. 256
D
Data Memory
Address Space ........................................................... 25
Memory Map............................................................... 25
Near Data Space ........................................................ 26
Organization ............................................................... 26
SFR Space ................................................................. 26
Software Stack ........................................................... 37
Development Support ....................................................... 209
Device Features (Summary)................................................. 9
DISVREG Pin ................................................................... 204
Doze Mode ......................................................................... 96
E
Electrical Characteristics
A/D Specifications .................................................... 236
Absolute Maximum Ratings ...................................... 221
Current Specifications ...................................... 225229
I/O Pin Specifications ....................................... 230231
Internal Clock Specifications .................................... 234
Load Conditions and Requirements for
AC Characteristics............................................ 232
Program Memory Specifications............................... 231
Thermal Operating Conditions.................................. 223
V/F Graphs ............................................................... 222
Voltage Ratings ........................................................ 224
Voltage Regulator Specifications.............................. 231
Equations
A/D Clock Conversion Period ................................... 190
Baud Rate Reload Calculation ................................. 145
Calculating the PWM Period..................................... 128
Calculation for Maximum PWM Resolution .............. 128
Device and SPI Clock Speed Relationship............... 142
UART Baud Rate with BRGH = 0 ............................. 152
UART Baud Rate with BRGH = 1 ............................. 152
Errata .................................................................................... 6
Preliminary
DS39881C-page 253
PIC24FJ64GA004 FAMILY
F
Flash Configuration Words.................................. 24, 199202
Flash Program Memory
and Table Instructions................................................. 41
Enhanced ICSP Operation.......................................... 42
JTAG Operation .......................................................... 42
Programming Algorithm .............................................. 44
RTSP Operation.......................................................... 42
Single-Word Programming.......................................... 46
I
I/O Ports
Analog Port Configuration ........................................... 98
Input Change Notification............................................ 98
Open-Drain Configuration ........................................... 98
Parallel (PIO) .............................................................. 97
Peripheral Pin Select .................................................. 99
Pull-ups ....................................................................... 98
I2C
Clock Rates............................................................... 145
Peripheral Remapping Options ................................. 143
Reserved Addresses................................................. 145
Slave Address Masking ............................................ 145
Idle Mode ............................................................................ 96
Instruction Set
Overview ................................................................... 215
Summary................................................................... 213
Instruction-Based Power-Saving Modes ............................. 95
Inter-Integrated Circuit. See I2C........................................ 143
Internet Address................................................................ 256
Interrupts
Alternate Interrupt Vector Table (AIVT) ...................... 53
and Reset Sequence .................................................. 53
Implemented Vectors .................................................. 55
Interrupt Vector Table (IVT) ........................................ 53
Registers ............................................................... 5684
Setup and Service Procedures ................................... 85
Trap Vectors ............................................................... 54
Vector Table................................................................ 54
J
JTAG Interface .................................................................. 206
M
Microchip Internet Web Site .............................................. 256
MPLAB ASM30 Assembler, Linker, Librarian ................... 210
MPLAB ICD 2 In-Circuit Debugger.................................... 211
MPLAB ICE 2000 High-Performance
Universal In-Circuit Emulator .................................... 211
MPLAB Integrated Development
Environment Software............................................... 209
MPLAB PM3 Device Programmer..................................... 211
MPLAB REAL ICE In-Circuit Emulator System................. 211
MPLINK Object Linker/MPLIB Object Librarian ................ 210
N
Near Data Space................................................................. 26
O
Oscillator Configuration
Clock Switching........................................................... 92
Sequence............................................................ 93
Initial Configuration on POR ....................................... 88
Oscillator Modes ......................................................... 88
DS39881C-page 254
Output Compare
PWM Mode ............................................................... 128
Period and Duty Cycle Calculation ................... 129
Single Output Pulse Generation ............................... 127
P
Packaging
Details....................................................................... 241
Marking ..................................................................... 239
Parallel Master Port. See PMP. ........................................ 159
Peripheral Enable Bits ........................................................ 96
Peripheral Module Disable (PMD) bits................................ 96
Peripheral Pin Select (PPS)................................................ 99
Available Peripherals and Pins ................................... 99
Configuration Control................................................ 101
Considerations for Use ............................................. 102
Input Mapping ............................................................. 99
Mapping Exceptions ................................................. 101
Output Mapping ........................................................ 100
Peripheral Priority ....................................................... 99
Registers .......................................................... 103116
PICSTART Plus Development Programmer..................... 212
Pinout Descriptions....................................................... 1116
PMP
Master Port Examples ...................................... 166168
Power-Saving Features ...................................................... 95
Power-up Requirements ................................................... 205
Product Identification System ........................................... 258
Program Memory
Access Using Table Instructions................................. 39
Address Construction ................................................. 37
Address Space ........................................................... 23
Flash Configuration Words ......................................... 24
Memory Map............................................................... 23
Organization ............................................................... 24
Program Space Visibility............................................. 40
Pulse-Width Modulation. See PWM.................................. 128
R
Reader Response............................................................. 257
Register Maps
A/D Converter (ADC) .................................................. 33
Clock Control .............................................................. 36
CPU ............................................................................ 27
CRC ............................................................................ 34
Dual Comparator ........................................................ 34
I2C .............................................................................. 30
ICN ............................................................................. 27
Input Capture .............................................................. 29
Interrupt Controller...................................................... 28
NVM............................................................................ 36
Output Compare ......................................................... 30
Pad Configuration ....................................................... 32
Parallel Master/Slave Port .......................................... 33
Peripheral Pin Select .................................................. 35
PMD............................................................................ 36
PORTA ....................................................................... 32
PORTB ....................................................................... 32
PORTC ....................................................................... 32
Real-Time Clock and Calendar (RTCC) ..................... 34
SPI .............................................................................. 31
Timers......................................................................... 29
UART .......................................................................... 31
Preliminary
PIC24FJ64GA004 FAMILY
Registers
AD1CHS (A/D Input Select) ...................................... 188
AD1CON1 (A/D Control 1) ........................................ 185
AD1CON2 (A/D Control 2) ........................................ 186
AD1CON3 (A/D Control 3) ........................................ 187
AD1CSSL (A/D Input Scan Select) ........................... 189
AD1PCFG (A/D Port Configuration).......................... 189
ALCFGRPT (Alarm Configuration)............................ 173
ALMINSEC (Alarm Minutes and
Seconds Value) ................................................ 177
ALMTHDY (Alarm Month and Day Value) ................ 176
ALWDHR (Alarm Weekday and Hours Value).......... 176
CLKDIV (Clock Divider) .............................................. 91
CMCON (Comparator Control) ................................. 194
CORCON (Core Control) ............................................ 57
CORCON (CPU Control) ............................................ 21
CRCCON (CRC Control) .......................................... 181
CRCXOR (CRC XOR Polynomial)............................ 182
CVRCON (Comparator Voltage
Reference Control) ........................................... 198
CW1 (Flash Configuration Word 1)........................... 200
CW2 (Flash Configuration Word 2)........................... 202
DEVID (Device ID) .................................................... 203
DEVREV (Device Revision) ...................................... 203
I2CxCON (I2Cx Control) ........................................... 146
I2CxMSK (I2Cx Slave Mode Address Mask) ............ 150
I2CxSTAT (I2Cx Status) ........................................... 148
ICxCON (Input Capture x Control) ............................ 126
IECn (Interrupt Enable Control 0-4) ...................... 6569
IFSn (Interrupt Flag Status 0-4) ............................ 6064
INTCON1 (Interrupt Control 1).................................... 58
INTCON2 (Interrupt Control 2).................................... 59
IPCn (Interrupt Priority Control 0-18) .................... 7084
MINSEC (RTCC Minutes and Seconds Value)......... 175
MTHDY (RTCC Month and Day Value) .................... 174
NVMCON (Flash Memory Control) ............................. 43
OCxCON (Output Compare x Control) ..................... 131
OSCCON (Oscillator Control) ..................................... 89
OSCTUN (FRC Oscillator Tune)................................. 92
PADCFG1 (Pad Configuration Control) ............ 165, 172
PMADDR (PMP Address) ......................................... 163
PMAEN (PMP Enable).............................................. 163
PMCON (PMP Control)............................................. 160
PMMODE (PMP Mode)............................................. 162
PMPSTAT (PMP Status)........................................... 164
RCFGCAL (RTCC Calibration and
Configuration) ................................................... 171
RCON (Reset Control) ................................................ 48
RPINRn (PPS Input Mapping 0-23) .................. 103109
RPORn (PPS Output Mapping 0-12) ................ 110116
SPIxCON1 (SPIx Control 1)...................................... 138
SPIxCON2 (SPIx Control 2)...................................... 139
SPIxSTAT (SPIx Status and Control) ....................... 136
SR (ALU STATUS) ............................................... 20, 57
T1CON (Timer1 Control)........................................... 118
TxCON (Timer2 and Timer4 Control)........................ 122
TyCON (Timer3 and Timer5 Control)........................ 123
UxMODE (UARTx Mode).......................................... 154
UxRXREG (UARTx Receive).................................... 158
UxSTA (UARTx Status and Control)......................... 156
UxTXREG (UARTx Transmit) ................................... 158
WKDYHR (RTCC Weekday and
Hours Value) ..................................................... 175
YEAR (RTCC Year Value) ........................................ 174
Resets
Clock Source Selection .............................................. 49
Delay Times................................................................ 50
RCON Flags Operation .............................................. 49
SFR States ................................................................. 51
Revision History................................................................ 251
RTCC
Alarm Configuration.................................................. 178
Calibration ................................................................ 177
Register Mapping ..................................................... 170
S
Serial Peripheral Interface. See SPI. ................................ 133
SFR Space ......................................................................... 26
Selective Peripheral Power Control .................................... 96
Sleep Mode ........................................................................ 95
Software Simulator (MPLAB SIM) .................................... 210
Software Stack ................................................................... 37
T
Timer1 .............................................................................. 117
Timer2/3 and Timer4/5 ..................................................... 119
Timing Diagrams
CLKO and I/O Timing ............................................... 235
External Clock Timing............................................... 233
U
UART
Baud Rate Generator (BRG) .................................... 152
Break and Sync Sequence ....................................... 153
IrDA Support ............................................................. 153
Operation of UxCTS and UxRTS
Control Pins ...................................................... 153
Receiving.................................................................. 153
Transmitting.............................................................. 153
V
VDDCORE/VCAP pin............................................................ 204
Voltage Regulator (On-Chip) ............................................ 204
and BOR................................................................... 205
and POR................................................................... 204
Standby Mode .......................................................... 205
Tracking Mode.......................................................... 204
W
Watchdog Timer (WDT).................................................... 205
Windowed Operation ................................................ 206
WWW Address ................................................................. 256
WWW, On-Line Support ....................................................... 6
Preliminary
DS39881C-page 255
PIC24FJ64GA004 FAMILY
NOTES:
DS39881C-page 256
Preliminary
PIC24FJ64GA004 FAMILY
THE MICROCHIP WEB SITE
CUSTOMER SUPPORT
Distributor or Representative
Local Sales Office
Field Application Engineer (FAE)
Technical Support
Development Systems Information Line
Customers
should
contact
their
distributor,
representative or field application engineer (FAE) for
support. Local sales offices are also available to help
customers. A listing of sales offices and locations is
included in the back of this document.
Technical support is available through the web site
at: http://support.microchip.com
Preliminary
DS39881C-page 257
PIC24FJ64GA004 FAMILY
READER RESPONSE
It is our intention to provide you with the best documentation possible to ensure successful use of your Microchip product. If you wish to provide your comments on organization, clarity, subject matter, and ways in which our documentation
can better serve you, please FAX your comments to the Technical Publications Manager at (480) 792-4150.
Please list the following information, and use this outline to provide us with your comments about this document.
To:
RE:
Reader Response
From: Name
Company
Address
City / State / ZIP / Country
Telephone: (_______) _________ - _________
Application (optional):
Would you like a reply?
N
Literature Number: DS39881C
Questions:
1. What are the best features of this document?
2. How does this document meet your hardware and software development needs?
3. Do you find the organization of this document easy to follow? If not, why?
4. What additions to the document do you think would enhance the structure and subject?
5. What deletions from the document could be made without affecting the overall usefulness?
DS39881C-page 258
Preliminary
PIC24FJ64GA004 FAMILY
PRODUCT IDENTIFICATION SYSTEM
To order or obtain information, e.g., on pricing or delivery, refer to the factory or the listed sales office.
PIC 24 FJ 64 GA0 04 T - I / PT - XXX
Examples:
a)
Microchip Trademark
Architecture
Flash Memory Family
b)
PIC24FJ32GA002-I/ML:
General purpose PIC24F, 32-Kbyte program
memory, 28-pin, Industrial temp.,
QFN package.
PIC24FJ64GA004-E/PT:
General purpose PIC24F, 64-Kbyte program
memory, 44-pin, Extended temp.,
TQFP package.
Pin Count
Tape and Reel Flag (if applicable)
Temperature Range
Package
Pattern
Architecture
24
FJ
Product Group
Pin Count
02
04
= 28-pin
= 44-pin
Temperature Range
E
I
Package
SP
SO
SS
ML
PT
=
=
=
=
=
Pattern
SPDIP
SOIC
SSOP
QFN
TQFP
Preliminary
DS39881C-page 259
ASIA/PACIFIC
ASIA/PACIFIC
EUROPE
Corporate Office
2355 West Chandler Blvd.
Chandler, AZ 85224-6199
Tel: 480-792-7200
Fax: 480-792-7277
Technical Support:
http://support.microchip.com
Web Address:
www.microchip.com
India - Bangalore
Tel: 91-80-4182-8400
Fax: 91-80-4182-8422
India - New Delhi
Tel: 91-11-4160-8631
Fax: 91-11-4160-8632
Austria - Wels
Tel: 43-7242-2244-39
Fax: 43-7242-2244-393
Denmark - Copenhagen
Tel: 45-4450-2828
Fax: 45-4485-2829
India - Pune
Tel: 91-20-2566-1512
Fax: 91-20-2566-1513
France - Paris
Tel: 33-1-69-53-63-20
Fax: 33-1-69-30-90-79
Japan - Yokohama
Tel: 81-45-471- 6166
Fax: 81-45-471-6122
Germany - Munich
Tel: 49-89-627-144-0
Fax: 49-89-627-144-44
Atlanta
Duluth, GA
Tel: 678-957-9614
Fax: 678-957-1455
Boston
Westborough, MA
Tel: 774-760-0087
Fax: 774-760-0088
Chicago
Itasca, IL
Tel: 630-285-0071
Fax: 630-285-0075
Dallas
Addison, TX
Tel: 972-818-7423
Fax: 972-818-2924
Detroit
Farmington Hills, MI
Tel: 248-538-2250
Fax: 248-538-2260
Kokomo
Kokomo, IN
Tel: 765-864-8360
Fax: 765-864-8387
Los Angeles
Mission Viejo, CA
Tel: 949-462-9523
Fax: 949-462-9608
Santa Clara
Santa Clara, CA
Tel: 408-961-6444
Fax: 408-961-6445
Toronto
Mississauga, Ontario,
Canada
Tel: 905-673-0699
Fax: 905-673-6509
Australia - Sydney
Tel: 61-2-9868-6733
Fax: 61-2-9868-6755
China - Beijing
Tel: 86-10-8528-2100
Fax: 86-10-8528-2104
Korea - Daegu
Tel: 82-53-744-4301
Fax: 82-53-744-4302
China - Chengdu
Tel: 86-28-8665-5511
Fax: 86-28-8665-7889
China - Hong Kong SAR
Tel: 852-2401-1200
Fax: 852-2401-3431
Korea - Seoul
Tel: 82-2-554-7200
Fax: 82-2-558-5932 or
82-2-558-5934
China - Nanjing
Tel: 86-25-8473-2460
Fax: 86-25-8473-2470
China - Qingdao
Tel: 86-532-8502-7355
Fax: 86-532-8502-7205
Malaysia - Penang
Tel: 60-4-227-8870
Fax: 60-4-227-4068
China - Shanghai
Tel: 86-21-5407-5533
Fax: 86-21-5407-5066
Philippines - Manila
Tel: 63-2-634-9065
Fax: 63-2-634-9069
China - Shenyang
Tel: 86-24-2334-2829
Fax: 86-24-2334-2393
Singapore
Tel: 65-6334-8870
Fax: 65-6334-8850
China - Shenzhen
Tel: 86-755-8203-2660
Fax: 86-755-8203-1760
China - Wuhan
Tel: 86-27-5980-5300
Fax: 86-27-5980-5118
Taiwan - Kaohsiung
Tel: 886-7-536-4818
Fax: 886-7-536-4803
China - Xiamen
Tel: 86-592-2388138
Fax: 86-592-2388130
Taiwan - Taipei
Tel: 886-2-2500-6610
Fax: 886-2-2508-0102
China - Xian
Tel: 86-29-8833-7252
Fax: 86-29-8833-7256
Thailand - Bangkok
Tel: 66-2-694-1351
Fax: 66-2-694-1350
Italy - Milan
Tel: 39-0331-742611
Fax: 39-0331-466781
Netherlands - Drunen
Tel: 31-416-690399
Fax: 31-416-690340
Spain - Madrid
Tel: 34-91-708-08-90
Fax: 34-91-708-08-91
UK - Wokingham
Tel: 44-118-921-5869
Fax: 44-118-921-5820
China - Zhuhai
Tel: 86-756-3210040
Fax: 86-756-3210049
01/02/08
DS39881C-page 260
Preliminary