Click here to load reader

28/40/44-Pin Enhanced Flash Microcontrollers with ECAN … · 2018. 10. 3. · PIC18F2585/2680/4585/4680 family introduces design enhancements that make these microcontrollers a logical

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

  • PIC18F2585/2680/4585/468028/40/44-Pin Enhanced Flash Microcontrollers with

    ECAN™ Technology, 10-Bit A/D

    Power Managed Modes:• Run: CPU on, peripherals on• Idle: CPU off, peripherals on• Sleep: CPU off, peripherals off• Idle mode currents down to 5.8 A typical• Sleep mode currents down to 0.1 A typical• Timer1 Oscillator: 1.1 A, 32 kHz, 2V• Watchdog Timer: 2.1 A• Two-Speed Oscillator Start-up

    Flexible Oscillator Structure:• Four Crystal modes, up to 40 MHz• 4x Phase Lock Loop (PLL) – available for crystal

    and internal oscillators• Two External RC modes, up to 4 MHz• Two External Clock modes, up to 40 MHz• Internal oscillator block:

    - 8 user selectable frequencies, from 31 kHz to 8 MHz- Provides a complete range of clock speeds,

    from 31 kHz to 32 MHz when used with PLL- User tunable to compensate for frequency drift

    • Secondary oscillator using Timer1 @ 32 kHz• Fail-Safe Clock Monitor

    - Allows for safe shutdown if peripheral clock stops

    Special Microcontroller Features:• C compiler optimized architecture with optional

    extended instruction set• 100,000 erase/write cycle Enhanced Flash

    program memory typical• 1,000,000 erase/write cycle Data EEPROM

    memory typical• Flash/Data EEPROM Retention: > 40 years• Self-programmable under software control• Priority levels for interrupts• 8 x 8 Single Cycle Hardware Multiplier• Extended Watchdog Timer (WDT):

    - Programmable period from 41 ms to 131s• Single-Supply 5V In-Circuit Serial

    Programming™ (ICSP™) via two pins• In-Circuit Debug (ICD) via two pins• Wide operating voltage range: 2.0V to 5.5V

    Peripheral Highlights:• High current sink/source 25 mA/25 mA• Three external interrupts• One Capture/Compare/PWM (CCP1) module• Enhanced Capture/Compare/PWM (ECCP1) module

    (40/44-pin devices only):

    - One, two or four PWM outputs- Selectable polarity- Programmable dead time- Auto-Shutdown and Auto-Restart

    • Master Synchronous Serial Port (MSSP) module supporting 3-wire SPI (all 4 modes) and I2C™ Master and Slave modes

    • Enhanced Addressable USART module:- Supports RS-485, RS-232 and LIN 1.3- RS-232 operation using internal oscillator

    block (no external crystal required)- Auto-Wake-up on Start bit- Auto-Baud Detect

    • 10-bit, up to 11-channel Analog-to-Digital Converter module (A/D), up to 100 Ksps- Auto-acquisition capability- Conversion available during Sleep

    • Dual analog comparators with input multiplexing

    ECAN Module Features:• Message bit rates up to 1 Mbps• Conforms to CAN 2.0B ACTIVE Specification• Fully backward compatible with PIC18XXX8 CAN

    modules• Three modes of operation:

    - Legacy, Enhanced Legacy, FIFO• Three dedicated transmit buffers with prioritization• Two dedicated receive buffers• Six programmable receive/transmit buffers• Three full 29-bit acceptance masks• 16 full 29-bit acceptance filters w/ dynamic association• DeviceNet™ data byte filter support• Automatic remote frame handling• Advanced error management features

    2007-2018 Microchip Technology Inc. DS30009625D-page 1

  • PIC18F2585/2680/4585/4680

    Pin Diagrams

    DeviceProgram Memory Data Memory

    I/O 10-BitA/D (ch)CCP1/ECCP1(PWM)

    MSSP

    EUSA

    RT

    Comp. Timers8/16-bitFlash(bytes)

    # Single-WordInstructions

    SRAM(bytes)

    EEPROM(bytes) SPI

    MasterI2C™

    PIC18F2585 48K 24576 3328 1024 28 8 1/0 Y Y 1 0 1/3PIC18F2680 64K 32768 3328 1024 28 8 1/0 Y Y 1 0 1/3PIC18F4585 48K 24576 3328 1024 44 11 1/1 Y Y 1 2 1/3PIC18F4680 64K 32768 3328 1024 40/44 11 1/1 Y Y 1 2 1/3

    RB7/KBI3/PGDRB6/KBI2/PGCRB5/KBI1/PGMRB4/KBI0/AN9RB3/CANRXRB2/INT2/CANTXRB1/INT1/AN8RB0/INT0/FLT0/AN10VDDVSSRD7/PSP7/P1DRD6/PSP6/P1CRD5/PSP5/P1BRD4/PSP4/ECCP1/P1ARC7/RX/DTRC6/TX/CKRC5/SDORC4/SDI/SDARD3/PSP3/C2IN-RD2/PSP2/C2IN+

    MCLR/VPP/RE3RA0/AN0/CVREF

    RA1/AN1RA2/AN2/VREF-RA3/AN3/VREF+

    RA4/T0CKIRA5/AN4/SS/HLVDIN

    RE0/RD/AN5RE1/WR/AN6/C1OUTRE2/CS/AN7/C2OUT

    VDDVSS

    OSC1/CLKI/RA7OSC2/CLKO/RA6

    RC0/T1OSO/T13CKIRC1/T1OSIRC2/CCP1

    RC3/SCK/SCLRD0/PSP0/C1IN+RD1/PSP1/C1IN-

    1234567891011121314151617181920

    4039383736353433323130292827262524232221

    PIC

    18F4

    585

    40-Pin PDIP

    PIC

    18F4

    680

    PIC

    18F2

    585

    1011

    23456

    1

    87

    9

    121314 15

    1617181920

    232425262728

    2221

    MCLR/VPP/RE3RA0/AN0RA1/AN1

    RA2/AN2/VREF-RA3/AN3/VREF+

    RA4/T0CKIRA5/AN4/SS/HLVDIN

    VSSOSC1/CLKI/RA7

    OSC2/CLKO/RA6RC0/T1OSO/T13CKI

    RC1/T1OSIRC2/CCP1

    RC3/SCK/SCL

    RB7/KBI3/PGDRB6/KBI2/PGCRB5/KBI1/PGMRB4/KBI0/AN9RB3/CANRXRB2/INT2/CANTXRB1/INT1/AN8RB0/INT0/AN10VDDVSSRC7/RX/DTRC6/TX/CKRC5/SDORC4/SDI/SDA

    28-Pin PDIP, SOIC

    PIC

    18F2

    680

    2007-2018 Microchip Technology Inc. DS30009625D-page 2

  • PIC18F2585/2680/4585/4680

    Pin Diagrams (Continued)

    1011

    23

    6

    1

    18 19 20 21 2212 13 14 15

    38

    87

    44 43 42 41 40 3916 17

    2930313233

    232425262728

    36 3435

    9

    PIC18F4585

    37

    RA

    3/A

    N3/

    VRE

    F+R

    A2/A

    N2/

    V RE

    F-R

    A1/

    AN

    1R

    A0/

    AN

    0/C

    VRE

    FM

    CLR

    /VP

    P/R

    E3

    NC

    RB7

    /KB

    I3/P

    GD

    RB6

    /KB

    I2/P

    GC

    RB5

    /KB

    I1/P

    GM

    RB4

    /KB

    I0/A

    N9

    NC

    RC

    6/TX

    /CK

    RC

    5/S

    DO

    RC

    4/S

    DI/S

    DA

    RD

    3/P

    SP3/

    C2I

    N-

    RD

    2/P

    SP2/

    C2I

    N+

    RD

    1/P

    SP1/

    C1I

    N-

    RD

    0/P

    SP0/

    C1I

    N+

    RC

    3/S

    CK/

    SCL

    RC

    2/C

    CP

    1R

    C1/

    T1O

    SI

    NC

    NCRC0/T1OSO/T13CKIOSC2/CLKO/RA6OSC1/CLKI/RA7VSSVDDRE2/CS/AN7/C2OUTRE1/WR/AN6/C1OUTRE0/RD/AN5RA5/AN4/SS/HLVDINRA4/T0CKI

    RC7/RX/DTRD4/PSP4/ECCP1/P1A

    RD5/PSP5/P1BRD6/PSP6/P1C

    VSSVDD

    RB0/INT0/FLT0/AN10RB1/INT1/AN8

    RB2/INT2/CANTXRB3/CANRX

    44-Pin TQFP

    RD7/PSP7/P1D 54

    44-Pin QFN

    1011

    23

    6

    1

    18 19 20 21 2212 13 14 15

    38

    87

    44 43 42 41 40 3916 17

    2930313233

    232425262728

    36 3435

    9

    PIC18F4585

    37

    RA

    3/A

    N3/

    VRE

    F+R

    A2/

    AN

    2/VR

    EF-

    RA

    1/A

    N1

    RA

    0/A

    N0/

    CVR

    EF

    MC

    LR/V

    PP/R

    E3

    RB7

    /KB

    I3/P

    GD

    RB6

    /KB

    I2/P

    GC

    RB5

    /KB

    I1/P

    GM

    RB

    4/K

    BI0

    /AN

    9N

    CR

    C6/

    TX/C

    KR

    C5/

    SD

    OR

    C4/

    SD

    I/SD

    AR

    D3/

    PS

    P3/C

    2IN

    -R

    D2/

    PS

    P2/C

    2IN

    +R

    D1/

    PS

    P1/C

    1IN

    -R

    D0/

    PS

    P0/C

    1IN

    +R

    C3/

    SC

    K/S

    CL

    RC

    2/C

    CP1

    RC

    1/T1

    OS

    IR

    C0/

    T1O

    SO

    /T13

    CK

    I

    OSC2/CLKO/RA6OSC1/CLKI/RA7VSS

    AVDDRE2/CS/AN7/C2OUTRE1/WR/AN6/C1OUTRE0/RD/AN5RA5/AN4/SS/HLVDINRA4/T0CKI

    RC7/RX/DT

    RD5/PSP5/P1BRD6/PSP6/P1C

    VSS

    VDDRB0/INT0/FLT0/AN10

    RB1/INT1/AN8RB2/INT2/CANTX

    RB

    3/C

    AN

    RX

    RD7/PSP7/P1D 54 AVSS

    VDD

    AVDD

    PIC18F4680

    PIC18F4680

    RD4/PSP4/ECCP1/P1A

    2007-2018 Microchip Technology Inc. DS30009625D-page 3

  • PIC18F2585/2680/4585/4680

    Table of Contents1.0 Device Overview .......................................................................................................................................................................... 72.0 Oscillator Configurations ............................................................................................................................................................ 233.0 Power Managed Modes ............................................................................................................................................................. 334.0 Reset .......................................................................................................................................................................................... 415.0 Memory Organization ................................................................................................................................................................. 616.0 Flash Program Memory.............................................................................................................................................................. 957.0 Data EEPROM Memory ........................................................................................................................................................... 1058.0 8 x 8 Hardware Multiplier.......................................................................................................................................................... 1119.0 Interrupts .................................................................................................................................................................................. 11310.0 I/O Ports ................................................................................................................................................................................... 12911.0 Timer0 Module ......................................................................................................................................................................... 14712.0 Timer1 Module ......................................................................................................................................................................... 15113.0 Timer2 Module ......................................................................................................................................................................... 15714.0 Timer3 Module ......................................................................................................................................................................... 15915.0 Capture/Compare/PWM (CCP1) Modules ............................................................................................................................... 16316.0 Enhanced Capture/Compare/PWM (ECCP1) Module.............................................................................................................. 17317.0 Master Synchronous Serial Port (MSSP) Module .................................................................................................................... 18718.0 Enhanced Universal Synchronous Receiver Transmitter (EUSART)....................................................................................... 22719.0 10-Bit Analog-to-Digital Converter (A/D) Module ..................................................................................................................... 24720.0 Comparator Module.................................................................................................................................................................. 25721.0 Comparator Voltage Reference Module................................................................................................................................... 26322.0 High/Low-Voltage Detect (HLVD)............................................................................................................................................. 26723.0 ECAN™ Technology ................................................................................................................................................................ 27324.0 Special Features of the CPU.................................................................................................................................................... 34325.0 Instruction Set Summary .......................................................................................................................................................... 36126.0 Development Support............................................................................................................................................................... 41127.0 Electrical Characteristics .......................................................................................................................................................... 41528.0 DC and AC Characteristics Graphs and Tables....................................................................................................................... 45129.0 Packaging Information.............................................................................................................................................................. 453Appendix A: Revision History............................................................................................................................................................. 461Appendix B: Device Differences ........................................................................................................................................................ 461Appendix C: Conversion Considerations ........................................................................................................................................... 462Appendix D: Migration From Baseline to Enhanced Devices ............................................................................................................ 462Appendix E: Migration from Mid-Range to Enhanced Devices .......................................................................................................... 463Appendix F: Migration from High-End to Enhanced Devices............................................................................................................. 463The Microchip Web Site..................................................................................................................................................................... 477Customer Change Notification Service .............................................................................................................................................. 477Customer Support .............................................................................................................................................................................. 477Reader Response .............................................................................................................................................................................. 478PIC18F2585/2680/4585/4680 Product Identification System ............................................................................................................ 479

    2007-2018 Microchip Technology Inc. DS30009625D-page 4

  • PIC18F2585/2680/4585/4680

    TO OUR VALUED CUSTOMERSIt is our intention to provide our valued customers with the best documentation possible to ensure successful use of your Microchipproducts. To this end, we will continue to improve our publications to better suit your needs. Our publications will be refined andenhanced as new volumes and updates are introduced. If you have any questions or comments regarding this publication, please contact the Marketing Communications Department viaE-mail at [email protected]. We welcome your feedback.

    Most Current Data SheetTo obtain the most up-to-date version of this data sheet, please register at our Worldwide Website at:

    http://www.microchip.comYou can determine the version of a data sheet by examining its literature number found on the bottom outside corner of any page.The last character of the literature number is the version number, (e.g., DS30000000A is version A of document DS30000000).

    ErrataAn errata sheet, describing minor operational differences from the data sheet and recommended workarounds, may exist for currentdevices. As device/documentation issues become known to us, we will publish an errata sheet. The errata will specify the revisionof silicon and revision of document to which it applies.To determine if an errata sheet exists for a particular device, please check with one of the following:• Microchip’s Worldwide Website; http://www.microchip.com• Your local Microchip sales office (see last page)When contacting a sales office, please specify which device, revision of silicon and data sheet (include literature number) you areusing.

    Customer Notification SystemRegister on our website at www.microchip.com to receive the most current information on all of our products.

    2007-2018 Microchip Technology Inc. DS30009625D-page 5

    mailto:[email protected]://www.microchip.comhttp://www.microchip.com

  • PIC18F2585/2680/4585/4680

    1.0 DEVICE OVERVIEWThis document contains device specific information forthe following devices:

    • PIC18F2585• PIC18F2680• PIC18F4585• PIC18F4680

    This family of devices offers the advantages of all PIC18microcontrollers – namely, high computationalperformance at an economical price – with the additionof high-endurance, Enhanced Flash program memory.In addition to these features, thePIC18F2585/2680/4585/4680 family introduces designenhancements that make these microcontrollers alogical choice for many high-performance, powersensitive applications.

    1.1 New Core Features

    1.1.1 TECHNOLOGYAll of the devices in the PIC18F2585/2680/4585/4680family incorporate a range of features that can signifi-cantly reduce power consumption during operation.Key items include:

    • Alternate Run Modes: By clocking the controller from the Timer1 source or the internal oscillator block, power consumption during code execution can be reduced by as much as 90%.

    • Multiple Idle Modes: The controller can also run with its CPU core disabled but the peripherals still active. In these states, power consumption can be reduced even further, to as little as 4% of normal operation requirements.

    • On-the-fly Mode Switching: The power managed modes are invoked by user code during operation, allowing the user to incorporate power-saving ideas into their application’s software design.

    • Lower Consumption in Key Modules: The power requirements for both Timer1 and the Watchdog Timer have been reduced by up to 80%, with typical values of 1.1 and 2.1 A, respectively.

    • Extended Instruction Set: In addition to the standard 75 instructions of the PIC18 instruction set, PIC18F2585/2680/4585/4680 devices also provide an optional extension to the core CPU functionality. The added features include eight additional instructions that augment indirect and indexed addressing operations and the implementation of Indexed Literal Offset Addressing mode for many of the standard PIC18 instructions.

    1.1.2 MULTIPLE OSCILLATOR OPTIONS AND FEATURES

    All of the devices in the PIC18F2585/2680/4585/4680family offer ten different oscillator options, allowingusers a wide range of choices in developing applicationhardware. These include:

    • Four Crystal modes, using crystals or ceramic resonators

    • Two External Clock modes, offering the option of using two pins (oscillator input and a divide-by-4 clock output) or one pin (oscillator input, with the second pin reassigned as general I/O)

    • Two External RC Oscillator modes with the same pin options as the External Clock modes

    • An internal oscillator block which provides an 8 MHz clock (±2% accuracy) and an INTRC source (approximately 31 kHz, stable over temperature and VDD), as well as a range of 6 user selectable clock frequencies, between 125 kHz to 4 MHz, for a total of 8 clock frequencies. This option frees the two oscillator pins for use as additional general purpose I/O.

    • A Phase Lock Loop (PLL) frequency multiplier, available to both the high-speed crystal and internal oscillator modes, which allows clock speeds of up to 40 MHz. Used with the internal oscillator, the PLL gives users a complete selection of clock speeds, from 31 kHz to 32 MHz – all without using an external crystal or clock circuit.

    Besides its availability as a clock source, the internaloscillator block provides a stable reference source thatgives the family additional features for robustoperation:

    • Fail-Safe Clock Monitor: This option constantly monitors the main clock source against a refer-ence signal provided by the internal oscillator. If a clock failure occurs, the controller is switched to the internal oscillator block, allowing for continued low-speed operation or a safe application shutdown.

    • Two-Speed Start-up: This option allows the internal oscillator to serve as the clock source from Power-on Reset, or wake-up from Sleep mode, until the primary clock source is available.

    2007-2018 Microchip Technology Inc. DS30009625D-page 6

  • PIC18F2585/2680/4585/4680

    1.2 Other Special Features• Memory Endurance: The Enhanced Flash cells

    for both program memory and data EEPROM are rated to last for many thousands of erase/write cycles – up to 100,000 for program memory and 1,000,000 for EEPROM. Data retention without refresh is conservatively estimated to be greater than 40 years.

    • Self-programmability: These devices can write to their own program memory spaces under inter-nal software control. By using a bootloader routine located in the protected Boot Block at the top of program memory, it becomes possible to create an application that can update itself in the field.

    • Extended Instruction Set: The PIC18F2585/2680/4585/4680 family introduces an optional extension to the PIC18 instruction set, which adds 8 new instructions and an Indexed Addressing mode. This extension, enabled as a device configuration option, has been specifically designed to optimize re-entrant application code originally developed in high-level languages, such as C.

    • Enhanced CCP1 module: In PWM mode, this module provides 1, 2 or 4 modulated outputs for controlling half-bridge and full-bridge drivers. Other features include Auto-Shutdown, for disabling PWM outputs on interrupt or other select conditions and Auto-Restart, to reactivate outputs once the condition has cleared.

    • Enhanced Addressable USART: This serial communication module is capable of standard RS-232 operation and provides support for the LIN bus protocol. Other enhancements include automatic baud rate detection and a 16-bit Baud Rate Generator for improved resolution. When the microcontroller is using the internal oscillator block, the EUSART provides stable operation for applications that talk to the outside world without using an external crystal (or its accompanying power requirement).

    • 10-bit A/D Converter: This module incorporates programmable acquisition time, allowing for a channel to be selected and a conversion to be initiated without waiting for a sampling period and thus, reduce code overhead.

    • Extended Watchdog Timer (WDT): This enhanced version incorporates a 16-bit prescaler, allowing a time-out range from 4 ms to over 131 seconds, that is stable across operating voltage and temperature.

    1.3 Details on Individual Family Members

    Devices in the PIC18F2585/2680/4585/4680 family areavailable in 28-pin (PIC18F2X8X) and 40/44-pin(PIC18F4X8X) packages. Block diagrams for the twogroups are shown in Figure 1-1 and Figure 1-2.

    The devices are differentiated from each other in sixways:

    1. Flash program memory (48 Kbytes forPIC18FX585 devices, 64 Kbytes forPIC18FX680).

    2. A/D channels (8 for PIC18F2X8X devices, 11 forPIC18F4X8X devices).

    3. I/O ports (3 bidirectional ports and 1 input onlyport on PIC18F2X8X devices, 5 bidirectionalports on PIC18F4X8X devices).

    4. CCP1 and Enhanced CCP1 implementation(PIC18F2X8X devices have 1 standard CCP1module, PIC18F4X8X devices have onestandard CCP1 module and one ECCP1module).

    5. Parallel Slave Port (present only onPIC18F4X8X devices).

    6. PIC18F4X8X devices provide two comparators.

    All other features for devices in this family are identical.These are summarized in Table 1-1.

    The pinouts for all devices are listed in Table 1-2 andTable 1-3.

    Like all Microchip PIC18 devices, members of thePIC18F2585/2680/4585/4680 family are available asboth standard and low-voltage devices. Standarddevices with Enhanced Flash memory, designated withan “F” in the part number (such as PIC18F2585),accommodate an operating VDD range of 4.2V to 5.5V.Low-voltage parts, designated by “LF” (such asPIC18LF2585), function over an extended VDD rangeof 2.0V to 5.5V.

    2007-2018 Microchip Technology Inc. DS30009625D-page 7

  • PIC18F2585/2680/4585/4680

    TABLE 1-1: DEVICE FEATURES

    Features PIC18F2585 PIC18F2680 PIC18F4585 PIC18F4680

    Operating Frequency DC – 40 MHz DC – 40 MHz DC – 40 MHz DC – 40 MHzProgram Memory (Bytes) 49152 65536 49152 65536Program Memory (Instructions) 24576 32768 24576 32768Data Memory (Bytes) 3328 3328 3328 3328Data EEPROM Memory (Bytes) 1024 1024 1024 1024Interrupt Sources 19 19 20 20I/O Ports Ports A, B, C, (E) Ports A, B, C, (E) Ports A, B, C, D, E Ports A, B, C, D, ETimers 4 4 4 4Capture/Compare/PWM Modules 1 1 1 1Enhanced Capture/Compare/PWM Modules

    0 0 1 1

    ECAN Module 1 1 1 1Serial Communications MSSP,

    Enhanced USARTMSSP,

    Enhanced USARTMSSP,

    Enhanced USARTMSSP,

    Enhanced USARTParallel Communications (PSP) No No Yes Yes10-bit Analog-to-Digital Module 8 Input Channels 8 Input Channels 11 Input Channels 11 Input ChannelsComparators 0 0 2 2Resets (and Delays) POR, BOR,

    RESET Instruction, Stack Full,

    Stack Underflow (PWRT, OST),

    MCLR (optional),WDT

    POR, BOR, RESET Instruction,

    Stack Full, Stack Underflow (PWRT, OST),

    MCLR (optional),WDT

    POR, BOR, RESET Instruction,

    Stack Full, Stack Underflow (PWRT, OST),

    MCLR (optional),WDT

    POR, BOR, RESET Instruction,

    Stack Full, Stack Underflow (PWRT, OST),

    MCLR (optional),WDT

    Programmable High/Low-Voltage Detect

    Yes Yes Yes Yes

    Programmable Brown-out Reset Yes Yes Yes YesInstruction Set 75 Instructions;

    83 with Extended Instruction Set

    enabled

    75 Instructions; 83 with Extended

    Instruction Set enabled

    75 Instructions; 83 with Extended

    Instruction Set enabled

    75 Instructions; 83 with Extended

    Instruction Set enabled

    Packages 28-pin PDIP28-pin SOIC

    28-pin PDIP28-pin SOIC

    40-pin PDIP44-pin QFN

    44-pin TQFP

    40-pin PDIP44-pin QFN

    44-pin TQFP

    2007-2018 Microchip Technology Inc. DS30009625D-page 8

  • PIC18F2585/2680/4585/4680

    FIGURE 1-1: PIC18F2585/2680 (28-PIN) BLOCK DIAGRAM

    InstructionDecode &

    Control

    PORTA

    PORTB

    PORTC

    RA4/T0CKIRA5/AN4/SS/HLVDIN

    RB0/INT0/AN10

    RC0/T1OSO/T13CKIRC1/T1OSIRC2/CCP1RC3/SCK/SCLRC4/SDI/SDARC5/SDORC6/TX/CKRC7/RX/DT

    RA3/AN3/VREF+RA2/AN2/VREF-RA1/AN1RA0/AN0

    RB1/INT1/AN8

    Data Latch

    Data Memory(3.9 Kbytes)

    Address Latch

    Data Address12

    AccessBSR4 4

    PCH PCL

    PCLATH

    8

    31 Level Stack

    Program Counter

    PRODLPRODH

    8 x 8 Multiply

    8

    88

    ALU

    Address Latch

    Program Memory(48/64 Kbytes)

    Data Latch

    20

    8

    8

    Table Pointer

    inc/dec logic

    21

    8

    Data Bus

    Table Latch8

    IR

    12

    3

    ROM Latch

    RB2/INT2/CANTXRB3/CANRX

    PCLATU

    PCU

    PORTE

    MCLR/VPP/RE3(1)

    OSC2/CLKO/RA6

    Note 1: RE3 is multiplexed with MCLR and is only available when the MCLR Resets are disabled.2: OSC1/CLKI and OSC2/CLKO are only available in select oscillator modes and when these pins are not being used as digital I/O.

    Refer to Section 2.0 “Oscillator Configurations” for additional information.

    RB4/KBI0/AN9RB5/KBI1/PGMRB6/KBI2/PGCRB7/KBI3/PGD

    EUSARTComparator MSSP 10-bit ADC

    Timer2Timer1 Timer3Timer0

    ECCP1

    HLVD

    CCP1

    BOR DataEEPROM

    W

    Instruction Bus

    STKPTR Bank

    8

    State MachineControl Signals

    8

    8Power-up

    TimerOscillator

    Start-up TimerPower-on

    ResetWatchdog

    Timer

    OSC1(2)

    OSC2(2)

    VDD,

    Brown-outReset

    InternalOscillator

    Fail-SafeClock Monitor

    ReferenceBand Gap

    VSS

    MCLR(1)

    Block

    INTRCOscillator

    8 MHzOscillator

    Single-SupplyProgramming

    In-CircuitDebugger

    T1OSI

    T1OSO

    OSC1/CLKI/RA7

    ECAN

    BITOP

    FSR0FSR1FSR2

    inc/dec

    Address

    12

    Decode

    logic

    2007-2018 Microchip Technology Inc. DS30009625D-page 9

  • PIC18F2585/2680/4585/4680

    FIGURE 1-2: PIC18F4585/4680 (40/44-PIN) BLOCK DIAGRAM

    InstructionDecode &

    Control

    Data Latch

    Data Memory(3.9 Kbytes)

    Address Latch

    Data Address12

    AccessBSR4 4

    PCH PCL

    PCLATH

    8

    31 Level Stack

    Program Counter

    PRODLPRODH

    8 x 8 Multiply

    8

    BITOP88

    ALU

    Address Latch

    Program Memory(48/64 Kbytes)

    Data Latch

    20

    8

    8

    Table Pointer

    inc/dec logic

    21

    8

    Data Bus

    Table Latch8

    IR

    12

    3

    ROM Latch

    PORTDRD0/PSP0

    PCLATU

    PCU

    PORTE

    MCLR/VPP/RE3(1)RE2/CS/AN7/C2OUT

    RE0/RD/AN5RE1/WR/AN6/C1OUT

    Note 1: RE3 is multiplexed with MCLR and is only available when the MCLR Resets are disabled.2: OSC1/CLKI and OSC2/CLKO are only available in select oscillator modes and when these pins are not being used as digital I/O.

    Refer to Section 2.0 “Oscillator Configurations” for additional information.

    /C1IN+

    EUSARTComparator MSSP 10-bit ADC

    Timer2Timer1 Timer3Timer0

    CCP1

    HLVD

    ECCP1

    BOR DataEEPROM

    W

    Instruction Bus

    STKPTR Bank

    8

    State MachineControl Signals

    8

    8Power-up

    TimerOscillator

    Start-up TimerPower-on

    ResetWatchdog

    Timer

    OSC1(2)

    OSC2(2)

    VDD,

    Brown-outReset

    InternalOscillator

    Fail-SafeClock Monitor

    ReferenceBand Gap

    VSS

    MCLR(1)

    Block

    INTRCOscillator

    8 MHzOscillator

    Single-SupplyProgramming

    In-CircuitDebugger

    T1OSI

    T1OSO

    RD1/PSP1/C1IN-RD2/PSP2/C2IN+RD3/PSP3/C2IN-

    PORTA

    PORTB

    PORTC

    RA4/T0CKIRA5/AN4/SS/HLVDIN

    RB0/INT0/FLT0/AN10

    RC0/T1OSO/T13CKIRC1/T1OSIRC2/CCP1RC3/SCK/SCLRC4/SDI/SDARC5/SDORC6/TX/CKRC7/RX/DT

    RA3/AN3/VREF+RA2/AN2/VREF-RA1/AN1RA0/AN0/CVREF

    RB1/INT1/AN8RB2/INT2/CANTXRB3/CANRX

    OSC2/CLKO/RA6

    RB4/KBI0/AN9RB5/KBI1/PGMRB6/KBI2/PGCRB7/KBI3/PGD

    OSC1/CLKI/RA7

    ECAN

    FSR0FSR1FSR2

    inc/dec

    Address

    12

    Decode

    logic

    RD4/PSP4/ECCP1/P1ARD5/PSP5/P1BRD6/PSP6/P1CRD7/PSP7/P1D

    2007-2018 Microchip Technology Inc. DS30009625D-page 10

  • PIC18F2585/2680/4585/4680

    TABLE 1-2: PIC18F2585/2680 PINOUT I/O DESCRIPTIONS

    Pin Name

    Pin Number Pin

    TypeBufferType DescriptionPDIP,

    SOIC

    MCLR/VPP/RE3MCLR

    VPPRE3

    1I

    PI

    ST

    ST

    Master Clear (input) or programming voltage (input).Master Clear (Reset) input. This pin is an active-low Reset to the device.Programming voltage input.Digital input.

    OSC1/CLKI/RA7OSC1

    CLKI

    RA7

    9I

    I

    I/O

    ST

    CMOS

    TTL

    Oscillator crystal or external clock input.Oscillator crystal input or external clock source input. ST buffer when configured in RC mode; CMOS otherwise.External clock source input. Always associated with pin function OSC1. (See related OSC1/CLKI, OSC2/CLKO pins.)General purpose I/O pin.

    OSC2/CLKO/RA6OSC2

    CLKO

    RA6

    10O

    O

    I/O

    TTL

    Oscillator crystal or clock output.Oscillator crystal output. Connects to crystal or resonator in Crystal Oscillator mode.In RC mode, OSC2 pin outputs CLKO which has 1/4 the frequency of OSC1 and denotes the instruction cycle rate. General purpose I/O pin.

    Legend: TTL = TTL compatible input CMOS= CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I= Input O = Output P = Power

    2007-2018 Microchip Technology Inc. DS30009625D-page 11

  • PIC18F2585/2680/4585/4680

    PORTA is a bidirectional I/O port.RA0/AN0

    RA0AN0

    2I/OI

    TTLAnalog

    Digital I/O.Analog input 0.

    RA1/AN1RA1AN1

    3I/OI

    TTLAnalog

    Digital I/O.Analog input 1.

    RA2/AN2/VREF-RA2AN2VREF-

    4I/OII

    TTLAnalogAnalog

    Digital I/O.Analog input 2.A/D reference voltage (low) input.

    RA3/AN3/VREF+RA3AN3VREF+

    5I/OII

    TTLAnalogAnalog

    Digital I/O.Analog input 3.A/D reference voltage (high) input.

    RA4/T0CKIRA4T0CKI

    6I/OI

    TTLST

    Digital I/O.Timer0 external clock input.

    RA5/AN4/SS/HLVDINRA5AN4SSHLVDIN

    7I/OIII

    TTLAnalog

    TTLAnalog

    Digital I/O.Analog input 4. SPI slave select input.High/Low-Voltage Detect input.

    RA6 See the OSC2/CLKO/RA6 pin.RA7 See the OSC1/CLKI/RA7 pin.

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

    Pin Name

    Pin Number Pin

    TypeBufferType DescriptionPDIP,

    SOIC

    Legend: TTL = TTL compatible input CMOS= CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I= Input O = Output P = Power

    2007-2018 Microchip Technology Inc. DS30009625D-page 12

  • PIC18F2585/2680/4585/4680

    PORTB is a bidirectional I/O port. PORTB can be software programmed for internal weak pull-ups on all inputs.

    RB0/INT0/AN10RB0INT0AN10

    21I/OII

    TTLST

    Analog

    Digital I/O.External interrupt 0.Analog input 10.

    RB1/INT1/AN8RB1INT1AN8

    22I/OII

    TTLST

    Analog

    Digital I/O.External interrupt 1.Analog input 8.

    RB2/INT2/CANTXRB2INT2CANTX

    23I/OIO

    TTLSTTTL

    Digital I/O.External interrupt 2.CAN bus TX.

    RB3/CANRXRB3CANRX

    24I/OI

    TTLTTL

    Digital I/O.CAN bus RX.

    RB4/KBI0/AN9RB4KBI0AN9

    25I/OII

    TTLTTL

    Analog

    Digital I/O.Interrupt-on-change pin.Analog input 9.

    RB5/KBI1/PGMRB5KBI1PGM

    26I/OI

    I/O

    TTLTTLST

    Digital I/O.Interrupt-on-change pin.Low-Voltage ICSP™ Programming enable pin.

    RB6/KBI2/PGCRB6KBI2PGC

    27I/OI

    I/O

    TTLTTLST

    Digital I/O.Interrupt-on-change pin. In-Circuit Debugger and ICSP programming clock pin.

    RB7/KBI3/PGDRB7KBI3PGD

    28I/OI

    I/O

    TTLTTLST

    Digital I/O.Interrupt-on-change pin. In-Circuit Debugger and ICSP programming data pin.

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

    Pin Name

    Pin Number Pin

    TypeBufferType DescriptionPDIP,

    SOIC

    Legend: TTL = TTL compatible input CMOS= CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I= Input O = Output P = Power

    2007-2018 Microchip Technology Inc. DS30009625D-page 13

  • PIC18F2585/2680/4585/4680

    PORTC is a bidirectional I/O port.RC0/T1OSO/T13CKI

    RC0T1OSOT13CKI

    11I/OOI

    ST—ST

    Digital I/O.Timer1 oscillator output. Timer1/Timer3 external clock input.

    RC1/T1OSIRC1T1OSI

    12I/OI

    STCMOS

    Digital I/O.Timer1 oscillator input.

    RC2/CCP1RC2CCP1

    13I/OI/O

    STST

    Digital I/O.Capture1 input/Compare1 output/PWM1 output.

    RC3/SCK/SCLRC3SCKSCL

    14I/OI/OI/O

    STSTST

    Digital I/O.Synchronous serial clock input/output for SPI mode.Synchronous serial clock input/output for I2C™ mode.

    RC4/SDI/SDARC4SDISDA

    15I/OI

    I/O

    STSTST

    Digital I/O.SPI data in.I2C data I/O.

    RC5/SDORC5SDO

    16I/OO

    ST—

    Digital I/O.SPI data out.

    RC6/TX/CKRC6TXCK

    17I/OO

    I/O

    ST—ST

    Digital I/O.EUSART asynchronous transmit. EUSART synchronous clock (see related RX/DT).

    RC7/RX/DTRC7RXDT

    18I/OI

    I/O

    STSTST

    Digital I/O.EUSART asynchronous receive.EUSART synchronous data (see related TX/CK).

    RE3 — — — See MCLR/VPP/RE3 pin.VSS 8, 19 P — Ground reference for logic and I/O pins.VDD 20 P — Positive supply for logic and I/O pins.

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

    Pin Name

    Pin Number Pin

    TypeBufferType DescriptionPDIP,

    SOIC

    Legend: TTL = TTL compatible input CMOS= CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I= Input O = Output P = Power

    2007-2018 Microchip Technology Inc. DS30009625D-page 14

  • PIC18F2585/2680/4585/4680

    TABLE 1-3: PIC18F4585/4680 PINOUT I/O DESCRIPTIONS

    Pin NamePin Number Pin

    TypeBufferType DescriptionPDIP QFN TQFP

    MCLR/VPP/RE3MCLR

    VPPRE3

    1 18 18I

    PI

    ST

    ST

    Master Clear (input) or programming voltage (input).Master Clear (Reset) input. This pin is an active-low Reset to the device.Programming voltage input.Digital input.

    OSC1/CLKI/RA7OSC1

    CLKI

    RA7

    13 32 30I

    I

    I/O

    ST

    CMOS

    TTL

    Oscillator crystal or external clock input.Oscillator crystal input or external clock source input. ST buffer when configured in RC mode; CMOS otherwise.External clock source input. Always associated with pin function OSC1. (See related OSC1/CLKI, OSC2/CLKO pins.)General purpose I/O pin.

    OSC2/CLKO/RA6OSC2

    CLKO

    RA6

    14 33 31O

    O

    I/O

    TTL

    Oscillator crystal or clock output.Oscillator crystal output. Connects to crystal or resonator in Crystal Oscillator mode.In RC mode, OSC2 pin outputs CLKO which has 1/4 the frequency of OSC1 and denotes the instruction cycle rate. General purpose I/O pin.

    Legend: TTL = TTL compatible input CMOS= CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I= Input O = Output P = Power

    2007-2018 Microchip Technology Inc. DS30009625D-page 15

  • PIC18F2585/2680/4585/4680

    PORTA is a bidirectional I/O port.RA0/AN0/CVREF

    RA0AN0CVREF

    2 19 19I/OIO

    TTLAnalogAnalog

    Digital I/O.Analog input 0.Analog comparator reference output.

    RA1/AN1RA1AN1

    3 20 20I/OI

    TTLAnalog

    Digital I/O.Analog input 1.

    RA2/AN2/VREF-RA2AN2VREF-

    4 21 21I/OII

    TTLAnalogAnalog

    Digital I/O.Analog input 2.A/D reference voltage (low) input.

    RA3/AN3/VREF+RA3AN3VREF+

    5 22 22I/OII

    TTLAnalogAnalog

    Digital I/O.Analog input 3.A/D reference voltage (high) input.

    RA4/T0CKIRA4T0CKI

    6 23 23I/OI

    TTLST

    Digital I/O.Timer0 external clock input.

    RA5/AN4/SS/HLVDINRA5AN4SSHLVDIN

    7 24 24I/OIII

    TTLAnalog

    TTLAnalog

    Digital I/O.Analog input 4.SPI slave select input.High/Low-Voltage Detect input.

    RA6 See the OSC2/CLKO/RA6 pin.RA7 See the OSC1/CLKI/RA7 pin.

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

    Pin NamePin Number Pin

    TypeBufferType DescriptionPDIP QFN TQFP

    Legend: TTL = TTL compatible input CMOS= CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I= Input O = Output P = Power

    2007-2018 Microchip Technology Inc. DS30009625D-page 16

  • PIC18F2585/2680/4585/4680

    PORTB is a bidirectional I/O port. PORTB can be software programmed for internal weak pull-ups on all inputs.

    RB0/INT0/FLT0/AN10RB0INT0FLT0AN10

    33 9 8I/OIII

    TTLSTST

    Analog

    Digital I/O.External interrupt 0.Enhanced PWM Fault input (ECCP1 module).Analog input 10.

    RB1/INT1/AN8RB1INT1AN8

    34 10 9I/OII

    TTLST

    Analog

    Digital I/O.External interrupt 1.Analog input 8.

    RB2/INT2/CANTXRB2INT2CANTX

    35 11 10I/OIO

    TTLSTTTL

    Digital I/O.External interrupt 2.CAN bus TX.

    RB3/CANRXRB3CANRX

    36 12 11I/OI

    TTLTTL

    Digital I/O.CAN bus RX.

    RB4/KBI0/AN9RB4KBI0AN9

    37 14 14I/OII

    TTLTTL

    Analog

    Digital I/O.Interrupt-on-change pin.Analog input 9.

    RB5/KBI1/PGMRB5KBI1PGM

    38 15 15I/OI

    I/O

    TTLTTLST

    Digital I/O.Interrupt-on-change pin.Low-Voltage ICSP™ Programming enable pin.

    RB6/KBI2/PGCRB6KBI2PGC

    39 16 16I/OI

    I/O

    TTLTTLST

    Digital I/O.Interrupt-on-change pin. In-Circuit Debugger and ICSP programmingclock pin.

    RB7/KBI3/PGDRB7KBI3PGD

    40 17 17I/OI

    I/O

    TTLTTLST

    Digital I/O.Interrupt-on-change pin. In-Circuit Debugger and ICSP programmingdata pin.

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

    Pin NamePin Number Pin

    TypeBufferType DescriptionPDIP QFN TQFP

    Legend: TTL = TTL compatible input CMOS= CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I= Input O = Output P = Power

    2007-2018 Microchip Technology Inc. DS30009625D-page 17

  • PIC18F2585/2680/4585/4680

    PORTC is a bidirectional I/O port.RC0/T1OSO/T13CKI

    RC0T1OSOT13CKI

    15 34 32I/OOI

    ST—ST

    Digital I/O.Timer1 oscillator output. Timer1/Timer3 external clock input.

    RC1/T1OSIRC1T1OSI

    16 35 35I/OI

    STCMOS

    Digital I/O.Timer1 oscillator input.

    RC2/CCP1RC2CCP1

    17 36 36I/OI/O

    STST

    Digital I/O.Capture1 input/Compare1 output/PWM1 output.

    RC3/SCK/SCLRC3SCK

    SCL

    18 37 37I/OI/O

    I/O

    STST

    ST

    Digital I/O.Synchronous serial clock input/output for SPI mode.Synchronous serial clock input/output for I2C™ mode.

    RC4/SDI/SDARC4SDISDA

    23 42 42I/OI

    I/O

    STSTST

    Digital I/O.SPI data in.I2C data I/O.

    RC5/SDORC5SDO

    24 43 43I/OO

    ST—

    Digital I/O.SPI data out.

    RC6/TX/CKRC6TXCK

    25 44 44I/OOI/O

    ST—ST

    Digital I/O.EUSART asynchronous transmit.EUSART synchronous clock (see related RX/DT).

    RC7/RX/DTRC7RXDT

    26 1 1I/OI

    I/O

    STSTST

    Digital I/O.EUSART asynchronous receive.EUSART synchronous data (see related TX/CK).

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

    Pin NamePin Number Pin

    TypeBufferType DescriptionPDIP QFN TQFP

    Legend: TTL = TTL compatible input CMOS= CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I= Input O = Output P = Power

    2007-2018 Microchip Technology Inc. DS30009625D-page 18

  • PIC18F2585/2680/4585/4680

    PORTD is a bidirectional I/O port or a Parallel Slave Port (PSP) for interfacing to a microprocessor port. These pins have TTL input buffers when PSP module is enabled.

    RD0/PSP0/C1IN+RD0PSP0C1IN+

    19 38 38I/OI/OI

    STTTL

    Analog

    Digital I/O.Parallel Slave Port data.Comparator 1 input (+).

    RD1/PSP1/C1IN-RD1PSP1C1IN-

    20 39 39I/OI/OI

    STTTL

    Analog

    Digital I/O.Parallel Slave Port data.Comparator 1 input (-)

    RD2/PSP2/C2IN+RD2PSP2C2IN+

    21 40 40I/OI/OI

    STTTL

    Analog

    Digital I/O.Parallel Slave Port data.Comparator 2 input (+).

    RD3/PSP3/C2IN-RD3PSP3C2IN-

    22 41 41I/OI/OI

    STTTL

    Analog

    Digital I/O.Parallel Slave Port data.Comparator 2 input (-).

    RD4/PSP4/ECCP1/P1A

    RD4PSP4ECCP1P1A

    27 2 2

    I/OI/OI/OO

    STTTLSTTTL

    Digital I/O.Parallel Slave Port data.Capture2 input/Compare2 output/PWM2 output.ECCP1 PWM output A.

    RD5/PSP5/P1BRD5PSP5P1B

    28 3 3I/OI/OO

    STTTLTTL

    Digital I/O.Parallel Slave Port data.ECCP1 PWM output B.

    RD6/PSP6/P1CRD6PSP6P1C

    29 4 4I/OI/OO

    STTTLTTL

    Digital I/O.Parallel Slave Port data.ECCP1 PWM output C.

    RD7/PSP7/P1DRD7PSP7P1D

    30 5 5I/OI/OO

    STTTLTTL

    Digital I/O.Parallel Slave Port data.ECCP1 PWM output D.

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

    Pin NamePin Number Pin

    TypeBufferType DescriptionPDIP QFN TQFP

    Legend: TTL = TTL compatible input CMOS= CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I= Input O = Output P = Power

    2007-2018 Microchip Technology Inc. DS30009625D-page 19

  • PIC18F2585/2680/4585/4680

    PORTE is a bidirectional I/O port.

    RE0/RD/AN5RE0RD

    AN5

    8 25 25I/OI

    I

    STTTL

    Analog

    Digital I/O.Read control for Parallel Slave Port (see also WR and CS pins).Analog input 5.

    RE1/WR/AN6/C1OUTRE1WR

    AN6C1OUT

    9 26 26I/OI

    IO

    STTTL

    AnalogTTL

    Digital I/O.Write control for Parallel Slave Port (see CS and RD pins).Analog input 6.Comparator 1 output.

    RE2/CS/AN7/C2OUTRE2CS

    AN7C2OUT

    10 27 27I/OI

    IO

    STTTL

    AnalogTTL

    Digital I/O.Chip select control for Parallel Slave Port (see related RD and WR).Analog input 7.Comparator 2 output.

    RE3 — — — — — See MCLR/VPP/RE3 pin.VSS 12,

    316, 30,

    316, 29 P — Ground reference for logic and I/O pins.

    VDD 11, 32 7, 8, 28, 29

    7, 28 P — Positive supply for logic and I/O pins.

    NC — 13 12, 13, 33, 34

    — — No connect.

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

    Pin NamePin Number Pin

    TypeBufferType DescriptionPDIP QFN TQFP

    Legend: TTL = TTL compatible input CMOS= CMOS compatible input or output ST = Schmitt Trigger input with CMOS levels I= Input O = Output P = Power

    2007-2018 Microchip Technology Inc. DS30009625D-page 20

  • PIC18F2585/2680/4585/4680

    2.0 OSCILLATOR CONFIGURATIONS

    2.1 Oscillator TypesPIC18F2585/2680/4585/4680 devices can be operatedin ten different oscillator modes. The user can programthe Configuration bits, FOSC3:FOSC0, in ConfigurationRegister 1H to select one of these ten modes:

    1. LP Low-Power Crystal2. XT Crystal/Resonator3. HS High-Speed Crystal/Resonator4. HSPLL High-Speed Crystal/Resonator

    with PLL enabled5. RC External Resistor/Capacitor with

    FOSC/4 output on RA66. RCIO External Resistor/Capacitor with I/O

    on RA67. INTIO1 Internal Oscillator with FOSC/4 output

    on RA6 and I/O on RA78. INTIO2 Internal Oscillator with I/O on RA6

    and RA79. EC External Clock with FOSC/4 output10. ECIO External Clock with I/O on RA6

    2.2 Crystal Oscillator/Ceramic Resonators

    In XT, LP, HS or HSPLL Oscillator modes, a crystal orceramic resonator is connected to the OSC1 andOSC2 pins to establish oscillation. Figure 2-1 showsthe pin connections.

    The oscillator design requires the use of a parallel cutcrystal.

    FIGURE 2-1: CRYSTAL/CERAMIC RESONATOR OPERATION (XT, LP, HS OR HSPLL CONFIGURATION)

    TABLE 2-1: CAPACITOR SELECTION FOR CERAMIC RESONATORS

    Note: Use of a series cut crystal may give afrequency out of the crystalmanufacturer’s specifications.

    Typical Capacitor Values Used:

    Mode Freq OSC1 OSC2

    XT 455 kHz2.0 MHz4.0 MHz

    56 pF47 pF33 pF

    56 pF47 pF33 pF

    HS 8.0 MHz16.0 MHz

    27 pF22 pF

    27 pF22 pF

    Capacitor values are for design guidance only. These capacitors were tested with the resonatorslisted below for basic start-up and operation. Thesevalues are not optimized.Different capacitor values may be required to produceacceptable oscillator operation. The user should testthe performance of the oscillator over the expectedVDD and temperature range for the application.

    See the notes on page 22 for additional information.

    Resonators Used:

    455 kHz 4.0 MHz2.0 MHz 8.0 MHz

    16.0 MHz

    Note: When using resonators with frequenciesabove 3.5 MHz, the use of HS mode,rather than XT mode, is recommended.HS mode may be used at any VDD forwhich the controller is rated. If HS isselected, it is possible that the gain of theoscillator will overdrive the resonator.Therefore, a series resistor should beplaced between the OSC2 pin and theresonator. As a good starting point, therecommended value of RS is 330.

    Note 1:See Table 2-1 and Table 2-2 for initial values of C1 and C2.

    2: A series resistor (RS) may be required for AT strip cut crystals.

    3: RF varies with the oscillator mode chosen.

    C1(1)

    C2(1)

    XTAL

    OSC2

    OSC1

    RF(3)

    Sleep

    To

    Logic

    PIC18FXXXXRS(2)

    Internal

    2007-2018 Microchip Technology Inc. DS30009625D-page 21

  • PIC18F2585/2680/4585/4680

    TABLE 2-2: CAPACITOR SELECTION FOR

    CRYSTAL OSCILLATOR

    An external clock source may also be connected to theOSC1 pin in the HS mode, as shown in Figure 2-2.

    FIGURE 2-2: EXTERNAL CLOCK INPUT OPERATION (HS OSCILLATOR CONFIGURATION)

    2.3 External Clock InputThe EC and ECIO Oscillator modes require an externalclock source to be connected to the OSC1 pin. There isno oscillator start-up time required after a Power-onReset or after an exit from Sleep mode.

    In the EC Oscillator mode, the oscillator frequencydivided by 4 is available on the OSC2 pin. This signalmay be used for test purposes or to synchronize otherlogic. Figure 2-3 shows the pin connections for the ECOscillator mode.

    FIGURE 2-3: EXTERNAL CLOCK INPUT OPERATION (EC CONFIGURATION)

    The ECIO Oscillator mode functions like the EC mode,except that the OSC2 pin becomes an additionalgeneral purpose I/O pin. The I/O pin becomes bit 6 ofPORTA (RA6). Figure 2-4 shows the pin connectionsfor the ECIO Oscillator mode.

    FIGURE 2-4: EXTERNAL CLOCK INPUT OPERATION (ECIO CONFIGURATION)

    Osc Type Crystal Freq

    Typical Capacitor Values Tested:

    C1 C2

    LP 32 kHz 33 pF 33 pF200 kHz 15 pF 15 pF

    XT 1 MHz 33 pF 33 pF4 MHz 27 pF 27 pF

    HS 4 MHz 27 pF 27 pF8 MHz 22 pF 22 pF

    20 MHz 15 pF 15 pFCapacitor values are for design guidance only. These capacitors were tested with the crystals listedbelow for basic start-up and operation. These valuesare not optimized.Different capacitor values may be required to produceacceptable oscillator operation. The user should testthe performance of the oscillator over the expectedVDD and temperature range for the application.

    See the notes following this table for additionalinformation.

    Crystals Used:32 kHz 4 MHz

    200 kHz 8 MHz1 MHz 20 MHz

    Note 1: Higher capacitance increases the stabil-ity of the oscillator but also increases thestart-up time.

    2: When operating below 3V VDD, or whenusing certain ceramic resonators at anyvoltage, it may be necessary to use theHS mode or switch to a crystal oscillator.

    3: Since each resonator/crystal has its owncharacteristics, the user should consultthe resonator/crystal manufacturer forappropriate values of externalcomponents.

    4: Rs may be required to avoid overdrivingcrystals with low drive level specification.

    5: Always verify oscillator performance overthe VDD and temperature range that isexpected for the application.

    OSC1

    OSC2Open

    Clock fromExt. System PIC18FXXXX

    (HS Mode)

    OSC1/CLKI

    OSC2/CLKOFOSC/4

    Clock fromExt. System PIC18FXXXX

    OSC1/CLKI

    I/O (OSC2)RA6

    Clock fromExt. System PIC18FXXXX

    2007-2018 Microchip Technology Inc. DS30009625D-page 22

  • PIC18F2585/2680/4585/4680

    2.4 RC OscillatorFor timing insensitive applications, the “RC” and“RCIO” device options offer additional cost savings.The actual oscillator frequency is a function of severalfactors:

    • supply voltage• values of the external resistor (REXT) and

    capacitor (CEXT)• operating temperature

    Given the same device, operating voltage and tempera-ture and component values, there will also be unit-to-unitfrequency variations. These are due to factors such as:

    • normal manufacturing variation• difference in lead frame capacitance between

    package types (especially for low CEXT values) • variations within the tolerance of limits of REXT

    and CEXT

    In the RC Oscillator mode, the oscillator frequencydivided by 4 is available on the OSC2 pin. This signalmay be used for test purposes or to synchronize otherlogic. Figure 2-5 shows how the R/C combination isconnected.

    FIGURE 2-5: RC OSCILLATOR MODE

    The RCIO Oscillator mode (Figure 2-6) functions likethe RC mode, except that the OSC2 pin becomes anadditional general purpose I/O pin. The I/O pinbecomes bit 6 of PORTA (RA6).

    FIGURE 2-6: RCIO OSCILLATOR MODE

    2.5 PLL Frequency MultiplierA Phase Locked Loop (PLL) circuit is provided as anoption for users who wish to use a lower frequencyoscillator circuit or to clock the device up to its highestrated frequency from a crystal oscillator. This may beuseful for customers who are concerned with EMI dueto high-frequency crystals or users who require higherclock speeds from an internal oscillator.

    2.5.1 HSPLL OSCILLATOR MODEThe HSPLL mode makes use of the HS mode oscillatorfor frequencies up to 10 MHz. A PLL then multiplies theoscillator output frequency by 4 to produce an internalclock frequency up to 40 MHz.

    The PLL is only available to the crystal oscillator whenthe FOSC3:FOSC0 Configuration bits are programmedfor HSPLL mode (= 0110).

    FIGURE 2-7: PLL BLOCK DIAGRAM (HS MODE)

    2.5.2 PLL AND INTOSCThe PLL is also available to the internal oscillator blockin selected oscillator modes. In this configuration, thePLL is enabled in software and generates a clockoutput of up to 32 MHz. The operation of INTOSC withthe PLL is described in Section 2.6.4 “PLL in INTOSCModes”.

    OSC2/CLKO

    CEXT

    REXT

    PIC18FXXXX

    OSC1

    FOSC/4

    InternalClock

    VDD

    VSS

    Recommended values: 3 k REXT 100 kCEXT > 20 pF

    CEXT

    REXT

    PIC18FXXXX

    OSC1 InternalClock

    VDD

    VSS

    Recommended values: 3 k REXT 100 kCEXT > 20 pF

    I/O (OSC2)RA6

    MU

    X

    VCO

    LoopFilter

    CrystalOsc

    OSC2

    OSC1

    PLL Enable

    FINFOUT

    SYSCLK

    PhaseComparator

    HS Osc Enable

    4

    (from Configuration Register 1H)

    HS Mode

    2007-2018 Microchip Technology Inc. DS30009625D-page 23

  • PIC18F2585/2680/4585/4680

    2.6 Internal Oscillator BlockThe PIC18F2585/2680/4585/4680 devices include aninternal oscillator block which generates two differentclock signals; either can be used as the microcontroller’sclock source. This may eliminate the need for externaloscillator circuits on the OSC1 and/or OSC2 pins.

    The main output (INTOSC) is an 8 MHz clock source,which can be used to directly drive the device clock. Italso drives a postscaler, which can provide a range ofclock frequencies from 31 kHz to 4 MHz. The INTOSCoutput is enabled when a clock frequency from 125 kHzto 8 MHz is selected.

    The other clock source is the internal RC oscillator(INTRC), which provides a nominal 31 kHz output.INTRC is enabled if it is selected as the device clocksource; it is also enabled automatically when any of thefollowing are enabled:

    • Power-up Timer• Fail-Safe Clock Monitor• Watchdog Timer• Two-Speed Start-up

    These features are discussed in greater detail inSection 24.0 “Special Features of the CPU”.The clock source frequency (INTOSC direct, INTRCdirect or INTOSC postscaler) is selected by configuringthe IRCF bits of the OSCCON register (Register 2-2).

    2.6.1 INTIO MODESUsing the internal oscillator as the clock sourceeliminates the need for up to two external oscillatorpins, which can then be used for digital I/O. Two distinctconfigurations are available:

    • In INTIO1 mode, the OSC2 pin outputs FOSC/4, while OSC1 functions as RA7 for digital input and output.

    • In INTIO2 mode, OSC1 functions as RA7 and OSC2 functions as RA6, both for digital input and output.

    2.6.2 INTOSC OUTPUT FREQUENCYThe internal oscillator block is calibrated at the factoryto produce an INTOSC output frequency of 8.0 MHz.

    The INTRC oscillator operates independently of theINTOSC source. Any changes in INTOSC acrossvoltage and temperature are not necessarily reflectedby changes in INTRC and vice versa.

    2.6.3 OSCTUNE REGISTERThe internal oscillator’s output has been calibrated atthe factory but can be adjusted in the user’s applica-tion. This is done by writing to the OSCTUNE register(Register 2-1). The tuning sensitivity is constantthroughout the tuning range.

    When the OSCTUNE register is modified, the INTOSCand INTRC frequencies will begin shifting to the newfrequency. The INTRC clock will reach the newfrequency within 8 clock cycles (approximately8 * 32 s = 256 s). The INTOSC clock will stabilizewithin 1 ms. Code execution continues during this shift.There is no indication that the shift has occurred.

    The OSCTUNE register also implements the INTSRCand PLLEN bits, which control certain features of theinternal oscillator block. The INTSRC bit allows usersto select which internal oscillator provides the clocksource when the 31 kHz frequency option is selected.This is covered in greater detail in Section 2.7.1“Oscillator Control Register”. The PLLEN bit controls the operation of the frequencymultiplier, PLL, in internal oscillator modes.

    2.6.4 PLL IN INTOSC MODESThe 4x frequency multiplier can be used with the inter-nal oscillator block to produce faster device clockspeeds than are normally possible with an internaloscillator. When enabled, the PLL produces a clockspeed of up to 32 MHz.

    Unlike HSPLL mode, the PLL is controlled through soft-ware. The control bit, PLLEN (OSCTUNE), is usedto enable or disable its operation.

    The PLL is available when the device is configured touse the internal oscillator block as its primary clocksource (FOSC3:FOSC0 = 1001 or 1000). Additionally,the PLL will only function when the selected output fre-quency is either 4 MHz or 8 MHz (OSCCON = 111or 110). If both of these conditions are not met, the PLLis disabled.

    The PLLEN control bit is only functional in those internaloscillator modes where the PLL is available. In all othermodes, it is forced to ‘0’ and is effectively unavailable.

    2.6.5 INTOSC FREQUENCY DRIFTThe factory calibrates the internal oscillator blockoutput (INTOSC) for 8 MHz. However, this frequencymay drift as VDD or temperature changes, which canaffect the controller operation in a variety of ways. It ispossible to adjust the INTOSC frequency by modifyingthe value in the OSCTUNE register. This has no effecton the INTRC clock source frequency.

    Tuning the INTOSC source requires knowing when tomake the adjustment, in which direction it should bemade and in some cases, how large a change isneeded. Three compensation techniques arediscussed in Section 2.6.5.1 “Compensating withthe EUSART”, Section 2.6.5.2 “Compensating withthe Timers” and Section 2.6.5.3 “Compensatingwith the CCP1 Module in Capture Mode”, but othertechniques may be used.

    2007-2018 Microchip Technology Inc. DS30009625D-page 24

  • PIC18F2585/2680/4585/4680

    REGISTER 2-1: OSCTUNE: OSCILLATOR TUNING REGISTER

    2.6.5.1 Compensating with the EUSART An adjustment may be required when the EUSARTbegins to generate framing errors or receives data witherrors while in Asynchronous mode. Framing errorsindicate that the device clock frequency is too high. Toadjust for this, decrement the value in OSCTUNE toreduce the clock frequency. On the other hand, errorsin data may suggest that the clock speed is too low. Tocompensate, increment OSCTUNE to increase theclock frequency.

    2.6.5.2 Compensating with the TimersThis technique compares device clock speed to somereference clock. Two timers may be used; one timer isclocked by the peripheral clock, while the other isclocked by a fixed reference source, such as the Tim-er1 oscillator.

    Both timers are cleared, but the timer clocked by thereference generates interrupts. When an interruptoccurs, the internally clocked timer is read and bothtimers are cleared. If the internally clocked timer valueis greater than expected, then the internal oscillatorblock is running too fast. To adjust for this, decrementthe OSCTUNE register.

    2.6.5.3 Compensating with the CCP1 Module in Capture Mode

    The CCP1 module can use free running Timer1 (orTimer3), clocked by the internal oscillator block and anexternal event with a known period (i.e., AC powerfrequency). The time of the first event is captured in theCCPRxH:CCPRxL registers and is recorded for uselater. When the second event causes a capture, thetime of the first event is subtracted from the time of thesecond event. Since the period of the external event isknown, the time difference between events can becalculated.

    If the measured time is much greater than thecalculated time, the internal oscillator block is runningtoo fast. To compensate, decrement the OSCTUNEregister. If the measured time is much less than thecalculated time, the internal oscillator block is runningtoo slow. To compensate, increment the OSCTUNEregister.

    R/W-0 R/W-0(1) U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 INTSRC PLLEN(1) — TUN4 TUN3 TUN2 TUN1 TUN0

    bit 7 bit 0

    bit 7 INTSRC: Internal Oscillator Low-Frequency Source Select bit1 = 31.25 kHz device clock derived from 8 MHz INTOSC source (divide-by-256 enabled)0 = 31 kHz device clock derived directly from INTRC internal oscillator

    bit 6 PLLEN: Frequency Multiplier PLL for INTOSC Enable bit(1)

    1 = PLL enabled for INTOSC (4 MHz and 8 MHz only)0 = PLL disabled

    Note 1: Available only in certain oscillator configurations; otherwise, this bit is unavailableand reads as ‘0’. See text for details.

    bit 5 Unimplemented: Read as ‘0’bit 4-0 TUN4:TUN0: Frequency Tuning bits

    01111 = Maximum frequency• •• •00001 00000 = Center frequency. Oscillator module is running at the calibrated frequency.11111 • •• •10000 = Minimum frequency

    Legend:R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown

    2007-2018 Microchip Technology Inc. DS30009625D-page 25

  • PIC18F2585/2680/4585/4680

    2.7 Clock Sources and Oscillator

    SwitchingLike previous PIC18 devices, the PIC2585/2680/4585/4680 family includes a feature that allows thedevice clock source to be switched from the mainoscillator to an alternate low-frequency clock source.PIC18F2585/2680/4585/4680 devices offer two alter-nate clock sources. When an alternate clock source isenabled, the various power managed operating modesare available.

    Essentially, there are three clock sources for thesedevices:

    • Primary oscillators• Secondary oscillators• Internal oscillator block

    The primary oscillators include the External Crystaland Resonator modes, the External RC modes, theExternal Clock modes and the internal oscillator block.The particular mode is defined by the FOSC3:FOSC0Configuration bits. The details of these modes arecovered earlier in this chapter.

    The secondary oscillators are those external sourcesnot connected to the OSC1 or OSC2 pins. Thesesources may continue to operate even after thecontroller is placed in a power managed mode.

    PIC18F2585/2680/4585/4680 devices offer the Timer1oscillator as a secondary oscillator. This oscillator, in allpower managed modes, is often the time base forfunctions such as a real-time clock.

    Most often, a 32.768 kHz watch crystal is connectedbetween the RC0/T1OSO/T13CKI and RC1/T1OSIpins. Like the LP mode oscillator circuit, loadingcapacitors are also connected from each pin to ground.

    The Timer1 oscillator is discussed in greater detail inSection 12.3 “Timer1 Oscillator”.In addition to being a primary clock source, the internaloscillator block is available as a power managedmode clock source. The INTRC source is also used asthe clock source for several special features, such asthe WDT and Fail-Safe Clock Monitor.

    The clock sources for the PIC18F2585/2680/4585/4680devices are shown in Figure 2-8. See Section 24.0“Special Features of the CPU” for Configurationregister details.

    FIGURE 2-8: PIC18F2585/2680/4585/4680 CLOCK DIAGRAM

    PIC18FX585/X680

    4 x PLL

    FOSC3:FOSC0

    Secondary Oscillator

    T1OSCENEnableOscillator

    T1OSO

    T1OSI

    Clock Source Option for other Modules

    OSC1

    OSC2

    Sleep

    Primary Oscillator

    HSPLL, INTOSC/PLL

    LP, XT, HS, RC, EC

    T1OSC

    CPU

    Peripherals

    IDLEN

    Pos

    tsca

    ler

    MU

    X

    MU

    X

    8 MHz

    4 MHz

    2 MHz

    1 MHz

    500 kHz

    125 kHz

    250 kHz

    OSCCON

    11111010110001101000100031 kHz

    INTRCSource

    InternalOscillator

    Block

    WDT, PWRT, FSCM

    8 MHz

    Internal Oscillator

    (INTOSC)

    OSCCON

    ClockControl

    OSCCON

    Source8 MHz

    31 kHz (INTRC)

    OSCTUNE

    01

    OSCTUNE

    and Two-Speed Startup

    2007-2018 Microchip Technology Inc. DS30009625D-page 26

  • PIC18F2585/2680/4585/4680

    2.7.1 OSCILLATOR CONTROL REGISTERThe OSCCON register (Register 2-2) controls severalaspects of the device clock’s operation, both in fullpower operation and in power managed modes.

    The System Clock Select bits, SCS1:SCS0, select theclock source. The available clock sources are theprimary clock (defined by the FOSC3:FOSC0 Configu-ration bits), the secondary clock (Timer1 oscillator) andthe internal oscillator block. The clock source changesimmediately after one or more of the bits is written to,following a brief clock transition interval. The SCS bitsare cleared on all forms of Reset.

    The Internal Oscillator Frequency Select bits,IRCF2:IRCF0, select the frequency output of theinternal oscillator block to drive the device clock. Thechoices are the INTRC source, the INTOSC source(8 MHz) or one of the frequencies derived from theINTOSC postscaler (31 kHz to 4 MHz). If the internaloscillator block is supplying the device clock, changingthe states of these bits will have an immediate changeon the internal oscillator’s output. On device Resets,the default output frequency of the internal oscillatorblock is set at 1 MHz.

    When an output frequency of 31 kHz is selected(IRCF2:IRCF0 = 000), users may choose whichinternal oscillator acts as the source. This is done withthe INTSRC bit in the OSCTUNE register(OSCTUNE). Setting this bit selects INTOSC as a31.25 kHz clock source by enabling the divide-by-256output of the INTOSC postscaler. Clearing INTSRCselects INTRC (nominally 31 kHz) as the clock source.

    This option allows users to select the tunable and moreprecise INTOSC as a clock source, while maintainingpower savings with a very low clock speed. Regardlessof the setting of INTSRC, INTRC always remains theclock source for features such as the Watchdog Timerand the Fail-Safe Clock Monitor.

    The OSTS, IOFS and T1RUN bits indicate which clocksource is currently providing the device clock. TheOSTS bit indicates that the Oscillator Start-up Timerhas timed out and the primary clock is providing thedevice clock in primary clock modes. The IOFS bitindicates when the internal oscillator block hasstabilized and is providing the device clock in RC Clockmodes. The T1RUN bit (T1CON) indicates whenthe Timer1 oscillator is providing the device clock insecondary clock modes. In power managed modes,only one of these three bits will be set at any time. Ifnone of these bits are set, the INTRC is providing theclock or the internal oscillator block has just started andis not yet stable.

    The IDLEN bit determines if the device goes into Sleepmode or one of the Idle modes when the SLEEPinstruction is executed.

    The use of the flag and control bits in the OSCCONregister is discussed in more detail in Section 3.0“Power Managed Modes”.

    2.7.2 OSCILLATOR TRANSITIONSPIC18F2585/2680/4585/4680 devices contain circuitryto prevent clock “glitches” when switching betweenclock sources. A short pause in the device clock occursduring the clock switch. The length of this pause is thesum of two cycles of the old clock source and three tofour cycles of the new clock source. This formulaassumes that the new clock source is stable.

    Clock transitions are discussed in greater detail inSection 3.1.2 “Entering Power Managed Modes”.

    Note 1: The Timer1 oscillator must be enabled toselect the secondary clock source. TheTimer1 oscillator is enabled by setting theT1OSCEN bit in the Timer1 Control regis-ter (T1CON). If the Timer1 oscillator isnot enabled, then any attempt to select asecondary clock source when executing aSLEEP instruction will be ignored.

    2: It is recommended that the Timer1oscillator be operating and stable beforeexecuting the SLEEP instruction, or avery long delay may occur while the Tim-er1 oscillator starts.

    2007-2018 Microchip Technology Inc. DS30009625D-page 27

  • PIC18F2585/2680/4585/4680

    REGISTER 2-2: OSCCON: OSCILLATOR CONTROL REGISTER

    R/W-0 R/W-1 R/W-0 R/W-0 R(1) R-0 R/W-0 R/W-0IDLEN IRCF2 IRCF1 IRCF0 OSTS IOFS SCS1 SCS0

    bit 7 bit 0

    bit 7 IDLEN: Idle Enable bit1 = Device enters Idle mode on SLEEP instruction0 = Device enters Sleep mode on SLEEP instruction

    bit 6-4 IRCF2:IRCF0: Internal Oscillator Frequency Select bits111 = 8 MHz (INTOSC drives clock directly)110 = 4 MHz 101 = 2 MHz 100 = 1 MHz(3) 011 = 500 kHz 010 = 250 kHz001 = 125 kHz000 = 31 kHz (from either INTOSC/256 or INTRC directly)(2)

    bit 3 OSTS: Oscillator Start-up Time-out Status bit(1)

    1 = Oscillator start-up time-out timer has expired; primary oscillator is running0 = Oscillator start-up time-out timer is running; primary oscillator is not ready

    bit 2 IOFS: INTOSC Frequency Stable bit 1 = INTOSC frequency is stable and the frequency is provided by one of the RC modes0 = INTOSC frequency is not stable

    bit 1-0 SCS1:SCS0: System Clock Select bits1x = Internal oscillator block01 = Timer1 oscillator00 = Primary oscillator

    Note 1: Depends on state of the IESO Configuration bit.2: Source selected by the INTSRC bit (OSCTUNE), see text.3: Default output frequency of INTOSC on Reset.

    Legend:R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown

    2007-2018 Microchip Technology Inc. DS30009625D-page 28

  • PIC18F2585/2680/4585/4680

    2.8 Effects of Power Managed Modes

    on the Various Clock SourcesWhen PRI_IDLE mode is selected, the designatedprimary oscillator continues to run without interruption.For all other power managed modes, the oscillatorusing the OSC1 pin is disabled. The OSC1 pin (andOSC2 pin, if used by the oscillator) will stop oscillating.

    In secondary clock modes (SEC_RUN and SEC_I-DLE), the Timer1 oscillator is operating and providingthe device clock. The Timer1 oscillator may also run inall power managed modes if required to clock Timer1 orTimer3.

    In internal oscillator modes (RC_RUN and RC_IDLE),the internal oscillator block provides the device clocksource. The 31 kHz INTRC output can be used directlyto provide the clock and may be enabled to supportvarious special features, regardless of the powermanaged mode (see Section 24.2 “Watchdog Timer(WDT)”, Section 24.3 “Two-Speed Start-up” andSection 24.4 “Fail-Safe Clock Monitor” for moreinformation on WDT, Two-Speed Start-up and Fail-SafeClock Monitor). The INTOSC output at 8 MHz may beused directly to clock the device or may be divideddown by the postscaler. The INTOSC output is disabledif the clock is provided directly from the INTRC output.

    If the Sleep mode is selected, all clock sources arestopped. Since all the transistor switching currentshave been stopped, Sleep mode achieves the lowestcurrent consumption of the device (only leakagecurrents).

    Enabling any on-chip feature that will operate duringSleep will increase the current consumed during Sleep.The INTRC is required to support WDT operation. TheTimer1 oscillator may be operating to support a

    real-time clock. Other features may be operating thatdo not require a device clock source (i.e., SSP slave,PSP, INTn pins and others). Peripherals that may addsignificant current consumption are listed inSection 27.2 “DC Characteristics: Power Downand Supply Current”.

    2.9 Power-up DelaysPower-up delays are controlled by two timers, so thatno external Reset circuitry is required for most applica-tions. The delays ensure that the device is kept inReset until the device power supply is stable under nor-mal circumstances and the primary clock is operatingand stable. For additional information on power-updelays, see Section 4.5 “Device Reset Timers”.The first timer is the Power-up Timer (PWRT), whichprovides a fixed delay on power-up (parameter 33,Table 27-10). It is enabled by clearing (= 0) thePWRTEN Configuration bit.

    The second timer is the Oscillator Start-up Timer(OST), intended to keep the chip in Reset until thecrystal oscillator is stable (LP, XT and HS modes). TheOST does this by counting 1024 oscillator cyclesbefore allowing the oscillator to clock the device.

    When the HSPLL Oscillator mode is selected, thedevice is kept in Reset for an additional 2 ms, followingthe HS mode OST delay, so the PLL can lock to theincoming clock frequency.

    There is a delay of interval TCSD (parameter 38,Table 27-10), following POR, while the controllerbecomes ready to execute instructions. This delay runsconcurrently with any other delays. This may be theonly delay that occurs when any of the EC, RC or INTIOmodes are used as the primary clock source.

    TABLE 2-3: OSC1 AND OSC2 PIN STATES IN SLEEP MODE OSC Mode OSC1 Pin OSC2 Pin

    RC, INTIO1 Floating, external resistor should pull high At logic low (clock/4 output)RCIO, INTIO2 Floating, external resistor should pull high Configured as PORTA, bit 6ECIO Floating, pulled by external clock Configured as PORTA, bit 6EC Floating, pulled by external clock At logic low (clock/4 output)LP, XT and HS Feedback inverter disabled at quiescent

    voltage levelFeedback inverter disabled at quiescent voltage level

    Note: See Table 4-2 in Section 4.0 “Reset” for time-outs due to Sleep and MCLR Reset.

    2007-2018 Microchip Technology Inc. DS30009625D-page 29

  • PIC18F2585/2680/4585/4680

    3.0 POWER MANAGED MODESPIC18F2585/2680/4585/4680 devices offer a total ofseven operating modes for more efficient powermanagement. These modes provide a variety ofoptions for selective power conservation in applicationswhere resources may be limited (i.e., battery-powereddevices).

    There are three categories of power managed modes:

    • Run modes• Idle modes • Sleep mode

    These categories define which portions of the deviceare clocked and sometimes, what speed. The Run andIdle modes may use any of the three available clocksources (primary, secondary or internal oscillatorblock); the Sleep mode does not use a clock source.

    The power managed modes include several powersaving features offered on previous PIC® devices. Oneis the clock switching feature, offered in other PIC18devices, allowing the controller to use the Timer1oscillator in place of the primary oscillator. Alsoincluded is the Sleep mode, offered by all PIC devices,where all device clocks are stopped.

    3.1 Selecting Power Managed ModesSelecting a power managed mode requires twodecisions: if the CPU is to be clocked or not and theselection of a clock source. The IDLEN bit(OSCCON) controls CPU clocking, while theSCS1:SCS0 bits (OSCCON) select the clocksource. The individual modes, bit settings, clock sourcesand affected modules are summarized in Table 3-1.

    3.1.1 CLOCK SOURCESThe SCS1:SCS0 bits allow the selection of one of threeclock sources for power managed modes. They are:

    • the primary clock, as defined by the FOSC3:FOSC0 Configuration bits

    • the secondary clock (the Timer1 oscillator)• the internal oscillator block (for RC modes)

    3.1.2 ENTERING POWER MANAGED MODES

    Switching from one power managed mode to anotherbegins by loading the OSCCON register. TheSCS1:SCS0 bits select the clock source and determinewhich Run or Idle mode is to be used. Changing thesebits causes an immediate switch to the new clocksource, assuming that it is running. The switch mayalso be subject to clock transition delays. These arediscussed in Section 3.1.3 “Clock Transitions AndStatus Indicators” and subsequent sections.Entry to the Power Managed Idle or Sleep modes istriggered by the execution of a SLEEP instruction. Theactual mode that results depends on the status of theIDLEN bit.

    Depending on the current mode and the mode beingswitched to, a change to a power managed mode doesnot always require setting all of these bits. Manytransitions may be done by changing the oscillatorselect bits, or changing the IDLEN bit, prior to issuing aSLEEP instruction. If the IDLEN bit is alreadyconfigured correctly, it may only be necessary toperform a SLEEP instruction to switch to the desiredmode.

    TABLE 3-1: POWER MANAGED MODES

    ModeOSCCON Bits Module Clocking

    Available Clock and Oscillator SourceIDLEN(1) SCS1:SCS0 CPU Peripherals

    Sleep 0 N/A Off Off None – All clocks are disabledPRI_RUN N/A 00 Clocked Clocked Primary – LP, XT, HS, HSPLL, RC, EC, INTRC(2):

    This is the normal full power execution mode.SEC_RUN N/A 01 Clocked Clocked Secondary – Timer1 OscillatorRC_RUN N/A 1x Clocked Clocked Internal Oscillator Block(2)PRI_IDLE 1 00 Off Clocked Primary – LP, XT, HS, HSPLL, RC, ECSEC_IDLE 1 01 Off Clocked Secondary – Timer1 OscillatorRC_IDLE 1 1x Off Clocked Internal Oscillator Block(2)Note 1: IDLEN reflects its value when the SLEEP instruction is executed.

    2: Includes INTOSC and INTOSC postscaler, as well as the INTRC source.

    2007-2018 Microchip Technology Inc. DS30009625D-page 30

  • PIC18F2585/2680/4585/4680

    3.1.3 CLOCK TRANSITIONS AND STATUS

    INDICATORSThe length of the transition between clock sources isthe sum of two cycles of the old clock source and threeto four cycles of the new clock source. This formulaassumes that the new clock source is stable.

    Three bits indicate the current clock source and itsstatus. They are:

    • OSTS (OSCCON) • IOFS (OSCCON) • T1RUN (T1CON)

    In general, only one of these bits will be set while in agiven power managed mode. When the OSTS bit isset, the primary clock is providing the device clock.When the IOFS bit is set, the INTOSC output is provid-ing a stable 8 MHz clock source to a divider thatactually drives the device clock. When the T1RUN bit isset, the Timer1 oscillator is providing the clock. If noneof these bits are set, then either the INTRC clocksource is clocking the device, or the INTOSC source isnot yet stable.

    If the internal oscillator block is configured as theprimary clock source by the FOSC3:FOSC0 Configura-tion bits, then both the OSTS and IOFS bits may be setwhen in PRI_RUN or PRI_IDLE modes. This indicatesthat the primary clock (INTOSC output) is generating astable 8 MHz output. Entering another RC powermanaged mode at the same frequency would clear theOSTS bit.

    3.1.4 MULTIPLE SLEEP COMMANDSThe power managed mode that is invoked with theSLEEP instruction is determined by the setting of theIDLEN bit at the time the instruction is executed. Ifanother SLEEP instruction is executed, the device willenter the power managed mode specified by IDLEN atthat time. If IDLEN has changed, the device will enterthe new power managed mode specified by the newsetting.

    3.2 Run ModesIn the Run modes, clocks to both the core andperipherals are active. The difference between thesemodes is the clock source.

    3.2.1 PRI_RUN MODEThe PRI_RUN mode is the normal, full power executionmode of the microcontroller. This is also the defaultmode upon a device Reset, unless Two-Speed Start-upis enabled (see Section 24.3 “Two-Speed Start-up”for details). In this mode, the OSTS bit is set. The IOFSbit may be set if the internal oscillator block is theprimary clock source (see Section 2.7.1 “OscillatorControl Register”).

    3.2.2 SEC_RUN MODEThe SEC_RUN mode is the compatible mode to the“clock switching” feature offered in other PIC18devices. In this mode, the CPU and peripherals areclocked from the Timer1 oscillator. This gives users theoption of lower power consumption while still using ahigh accuracy clock source.

    SEC_RUN mode is entered by setting the SCS1:SCS0bits to ‘01’. The device clock source is switched to theTimer1 oscillator (see Figure 3-1), the primary oscilla-tor is shut down, the T1RUN bit (T1CON) is set andthe OSTS bit is cleared.

    On transitions from SEC_RUN mode to PRI_RUN, theperipherals and CPU continue to be clocked from theTimer1 oscillator while the primary clock is started.When the primary clock becomes ready, a clock switchback to the primary clock occurs (see Figure 3-2).When the clock switch is complete, the T1RUN bit iscleared, the OSTS bit is set and the primary clock isproviding the clock. The IDLEN and SCS bits are notaffected by the wake-up; the Timer1 oscillatorcontinues to run.

    Note 1: Caution should be used when modifyinga single IRCF bit. If VDD is less than 3V, itis possible to select a higher clock speedthan is supported by the low VDD.Improper device operation may result ifthe VDD/FOSC specifications are violated.

    2: Executing a SLEEP instruction does notnecessarily place the device into Sleepmode. It acts as the trigger to place thecontroller into either the Sleep mode orone of the Idle modes, depending on thesetting of the IDLEN bit.

    Note: The Timer1 oscillator should already berunning prior to entering SEC_RUNmode. If the T1OSCEN bit is not set whenthe SCS1:SCS0 bits are set to ‘01’, entryto SEC_RUN mode will not occur. If theTimer1 oscillator is enabled but not yetrunning, device clocks will be delayed untilthe oscillator has started. In such situa-tions, initial oscillator operation is far fromstable and unpredictable operation mayresult.

    2007-2018 Microchip Technology Inc. DS30009625D-page 31

  • PIC18F2585/2680/4585/4680

    FIGURE 3-1: TRANSITION TIMING FOR ENTRY TO SEC_RUN MODE

    FIGURE 3-2: TRANSITION TIMING FROM SEC_RUN MODE TO PRI_RUN MODE (HSPLL)

    3.2.3 RC_RUN MODEIn RC_RUN mode, the CPU and peripherals areclocked from the internal oscillator block using theINTOSC multiplexer; the primary clock is shut down.When using the INTRC source, this mode provides thebest power conservation of all the Run modes, whilestill executing code. It works well for user applicationswhich are not highly timing sensitive or do not requirehigh-speed clocks at all times.

    If the primary clock source is the internal oscillatorblock (either INTRC or INTOSC), there are no distin-guishable differences between PRI_RUN andRC_RUN modes during execution. However, a clockswitch delay will occur during entry to and exit fromRC_RUN mode. Therefore, if the primary clock sourceis the internal oscillator block, the use of RC_RUNmode is not recommended.

    This mode is entered by setting SCS1 to ‘1’. Althoughit is ignored, it is recommended that SCS0 also becleared; this is to maintain software compatibility withfuture devices. When the clock source is switched tothe INTOSC multiplexer (see Figure 3-3), the primaryoscillator is shut down and the OSTS bit is cleared. TheIRCF bits may be modified at any time to immediatelychange the clock speed.

    Q4Q3Q2

    OSC1

    Peripheral

    Program

    Q1

    T1OSI

    Q1

    Counter

    Clock

    CPUClock

    PC + 2PC

    1 2 3 n-1 n

    Clock Transition

    Q4Q3Q2 Q1 Q3Q2

    PC + 4

    Q1 Q3 Q4

    OSC1

    Peripheral

    Program PC

    T1OSI

    PLL Clock

    Q1

    PC + 4

    Q2

    Output

    Q3 Q4 Q1

    CPU Clock

    PC + 2

    Clock

    Counter

    Q2 Q2 Q3

    Note 1:TOST = 1024 TOSC; TPLL = 2 ms (approx). These intervals are not shown to scale.

    SCS1:SCS0 bits changed

    TOST(1) TPLL(1)1 2 n-1 n

    Clock

    OSTS bit set

    Transition

    Note: Caution should be used when modifying asingle IRCF bit. If VDD is less than 3V, it ispossible to select a higher clock speedthan is supported by the low VDD.Improper device operation may result ifthe VDD/FOSC specifications are violated.

    2007-2018 Microchip Technology Inc. DS30009625D-page 32

  • PIC18F2585/2680/4585/4680

    If the IRCF bits and the INTSRC bit are all clear, theINTOSC output is not enabled and the IOFS bit willremain clear; there will be no indication of the currentclock source. The INTRC source is providing thedevice clocks.

    If the IRCF bits are changed from all clear (thus,enabling the INTOSC output) or if INTSRC is set, theIOFS bit becomes set after the INTOSC outputbecomes stable. Clocks to the device continue whilethe INTOSC source stabilizes after an interval ofTIOBST.

    If the IRCF bits were previously at a non-zero value orif INTSRC was set before setting SCS1 and theINTOSC source was already stable, the IOFS bit willremain set.

    On transitions from RC_RUN mode to PRI_RUN mode,the device continues to be clocked from the INTOSCmultiplexer while the primary clock is started. When theprimary clock becomes ready, a clock switch to theprimary clock occurs (see Figure 3-4). When the clockswitch is complete, the IOFS bit is cleared, the OSTSbit is set and the primary clock is providing the deviceclock. The IDLEN and SCS bits are not affected by theswitch. The INTRC source will continue to run if eitherthe WDT or the Fail-Safe Clock Monitor is enabled.

    FIGURE 3-3: TRANSITION TIMING TO RC_RUN MODE

    FIGURE 3-4: TRANSITION TIMING FROM RC_RUN MODE TO PRI_RUN MODE

    Q4Q3Q2

    OSC1

    Peripheral

    Program

    Q1

    INTRC

    Q1

    Counter

    Clock

    CPUClock

    PC + 2PC

    1 2 3 n-1 n

    Clock Transition

    Q4Q3Q2 Q1 Q3Q2

    PC + 4

    Q1 Q3 Q4

    OSC1

    Peripheral

    Program PC

    INTOSC

    PLL Clock

    Q1

    PC + 4

    Q2

    Output

    Q3 Q4 Q1

    CPU Clock

    PC + 2

    Clock

    Counter

    Q2 Q2 Q3

    Note 1:TOST = 1024 TOSC; TPLL = 2 ms (approx). These intervals are not shown to scale.

    SCS1:SCS0 bits changed

    TPLL(1)1 2 n-1 n

    Clock

    OSTS bit set

    Transition

    Multiplexer

    TOST(1)

    2007-2018 Microchip Technology Inc. DS30009625D-page 33

  • PIC18F2585/2680/4585/4680

    3.3 Sleep ModeThe Power Managed Sleep mode in thePIC18F2585/2680/4585/4680 devices is identical tothe legacy Sleep mode offered in all other PIC devices.It is entered by clearing the IDLEN bit (the default stateon device Reset) and executing the SLEEP instruction.This shuts down the selected oscillator (Figure 3-5). Allclock source status bits are cleared.

    Entering the Sleep mode from any other mode does notrequire a clock switch. This is because no clocks areneeded once the controller has entered Sleep. If theWDT is selected, the INTRC source will continue tooperate. If the Timer1 oscillator is enabled, it will alsocontinue to run.

    When a wake event occurs in Sleep mode (by interrupt,Reset or WDT time-out), the device will not be clockeduntil the clock source selected by the SCS1:SCS0 bitsbecomes ready (see Figure 3-6), or it will be clockedfrom the internal oscillator block if either the Two-SpeedStart-up or the Fail-Safe Clock Monitor are enabled(see Section 24.0 “Special Features of the CPU”). Ineither case, the OSTS bit is set when the primary clockis providing the device clocks. The IDLEN and SCS bitsare not affected by the wake-up.

    3.4 Idle ModesThe Idle modes allow the controller’s CPU to beselectively shut down while the peripherals continue tooperate. Selecting a particular Idle mode allows users