Oscillator Module HIGHLIGHTS. This section of the manual contains the following major topics:
|
|
|
- Brett Walsh
- 9 years ago
- Views:
Transcription
1 Oscillator Module HIGHLIGHTS This section of the manual contains the following major topics: 1.0 Introduction CPU Clocking Oscillator Configuration Registers Special Function Registers Primary Oscillator (POSC) Internal Fast RC (FRC) Oscillator Phase-Locked Loop (PLL) Secondary Oscillator (SOSC) Low-Power RC (LPRC) Oscillator Auxiliary Oscillator Auxiliary Phase-Locked Loop (APLL) Auxiliary PLL (x16) Fail-Safe Clock Monitor (FSCM) Clock Switching Two-Speed Start-up Reference Clock Output Linear Feedback Shift Register Register Maps Related Application Notes Revision History Microchip Technology Inc. DS A-page 1
2 dspic33/pic24 Family Reference Manual Note: This family reference manual section is meant to serve as a complement to device data sheets. This document applies to all dspic33/pic24 family devices. However, some features in this document will not apply to all devices. Please consult the note at the beginning of the Oscillator Configuration chapter in the current device data sheet to check whether this document supports the device you are using. Device data sheets and family reference manual sections are available for download from the Microchip Worldwide Web site at: INTRODUCTION The dspic33/pic24 family oscillator system includes these characteristics: External and internal oscillator sources On-chip Phase-Locked Loop (PLL) to boost internal operating frequency on select internal and external oscillator sources Auxiliary PLL (APLL) clock generator to boost operating frequency for ADC and PWM Auxiliary Oscillator (AOSC) and Auxiliary PLL Clock (ACLK) generator for USB Doze mode for system power savings Scalable Reference Clock Output (REFCLKO) On-the-fly clock switching between various clock sources Linear Feedback Shift Register (LFSR) to generate pseudorandom data Fail-Safe Clock Monitoring (FSCM) that detects clock failure and permits safe application recovery or shutdown A block diagram of the dspic33/pic24 family oscillator system is shown in Figure 1-1. DS A-page Microchip Technology Inc.
3 Oscillator Module Figure 1-1: Oscillator System Block Diagram Primary Oscillator (POSC) OSC1 POSCCLK XT, HS, EC S2 DOZE<2:0> R (2) OSC2 S3 S1 PLL (1) XTPLL, HSPLL, ECPLL, FRCPLL (FPLLO) FVCO (1) S1/S3 DOZE FCY(3) POSCMD<1:0> FP (3) FRC Oscillator FRCCLK FRCDIV FRCDIVN S7 2 FOSC TUN<5:0> 16 FRCDIV<2:0> FRCDIV16 S6 REFERENCE CLOCK OUTPUT POSCCLK REFCLKO LPRC Oscillator FRC LPRC SOSC S0 S5 S4 FOSC ROSEL N RPn RODIV<3:0> SOSCO Secondary Oscillator (SOSC) Clock Fail Clock Switch Reset SOSCI LPOSCEN 0b000 NOSC<2:0> FNOSC<2:0> WDT, PWRT, FSCM POSCMD<1:0> Auxiliary Oscillator (AOSC) To Auxiliary Clock Generator ENAPLL Note 1: See Figure 7-1 for the source of the FVCO signal. 2: If the oscillator is used with XT or HS modes, an external parallel resistor with the value of 1 MΩ must be connected. 3: The term, FP, refers to the clock source for all the peripherals, while FCY (or MIPS) refers to the clock source for the CPU. Throughout this document, FCY and FP are used interchangeably, except in the case of Doze mode. FP and FCY will be different when Doze mode is used in any ratio other than 1: Microchip Technology Inc. DS A-page 3
4 dspic33/pic24 Family Reference Manual Figure 1-2: Auxiliary Clock Generator for PWM and ADC POSCCLK GND FRCCLK APLL x FVCO (2) 0 1 N ACLK PWM/ADC/LFSR ASRCSEL FRCSEL ENAPLL SELACLK APSTSCLR<2:0> (1) Note 1: The Auxiliary Clock postscaler must be configured to divide-by-1 (APSTSCLR<2:0> = 111) for proper operation of the PWM and ADC modules. 2: See Figure 7-1 for the source of the FVCO signal. Figure 1-3: Auxiliary Clock Generator for USB POSCCLK From Either Secondary Oscillator (SOSC) or from Auxiliary Oscillator (AOSC) FRCCLK FRCSEL ASRCSEL APLL FVCO (1) SELACLK ENAPLL N ACLK APLLPOST<1:0> USB 48 MHz Note 1: See Figure 7-1 for source of FVCO signal. DS A-page Microchip Technology Inc.
5 Oscillator Module 2.0 CPU CLOCKING The system clock (FOSC) source can be provided by one of the following options: Primary Oscillator (POSC) on the OSC1 and OSC2 pins Internal Fast RC Oscillator (FRC) with optional clock divider Internal Low-Power RC Oscillator (LPRC) Primary Oscillator with PLL Internal Fast RC Oscillator with PLL Secondary Oscillator (SOSC) on the SOSCI and SOSCO pins The system clock source is divided by two to produce the internal instruction cycle clock. In this document, the instruction cycle clock is denoted by FCY. The timing diagram in Figure 2-1 illustrates the relationship between the system clock (FOSC), the instruction cycle clock (FCY) and the Program Counter (PC). The internal instruction cycle clock (FCY) can be output on the OSC2 I/O pin if the Primary Oscillator mode or the HS mode is not selected as the clock source. For more information, see Section 5.0 Primary Oscillator (POSC). Figure 2-1: Clock and Instruction Cycle Timing TCY FOSC FCY PC PC PC + 2 PC + 4 Fetch INST (PC) Execute INST (PC 2) Fetch INST (PC + 2) Execute INST (PC) Fetch INST (PC + 4) Execute INST (PC + 2) 2013 Microchip Technology Inc. DS A-page 5
6 dspic33/pic24 Family Reference Manual 3.0 OSCILLATOR CONFIGURATION REGISTERS Depending on the device, the Oscillator Configuration registers are implemented in one of two ways: - Oscillator Configuration registers are located in the program memory space and are not Special Function Registers (SFRs). These registers are mapped into program memory space and are programmed at the time of device programming. - Can only be programmed indirectly by programming the Flash Configuration Word. FOSCSEL: Oscillator Source Selection Register FOSCSEL selects the initial oscillator source and start-up option. FOSCSEL contains the following Configuration bits: The FNOSC<2:0> Configuration bits in the Oscillator Source Selection register (FOSCSEL<2:0>) determine the clock source that is used at a Power-on Reset (POR). Thereafter, the clock source can be changed between permissible clock sources with clock switching. The Internal FRC Oscillator with Postscaler (FRCDIVN) is the default (unprogrammed) selection. FOSC: Oscillator Configuration Register FOSC configures the Primary Oscillator mode, OSC2 pin function, Peripheral Pin Select (PPS), and the Fail-Safe and Clock Switching modes. FOSC contains the following Configuration bits: - The POSCMD<1:0> (FOSC<1:0>) Configuration bits select the operation mode of the POSC. - The OSCIOFNC (FOSC<2>) Configuration bit selects the OSC2 pin function, except in HS or Medium Speed Oscillator (XT) mode. If OSCIOFNC is unprogrammed ( 1 ), the FCY clock is output on the OSC2 pin. If OSCIOFNC is programmed ( 0 ), the OSC2 pin becomes a general purpose I/O pin. Table 3-1 lists the configuration settings that select the device oscillator source and operating mode at a POR. Table 3-1: Configuration Bit Values for Clock Selection Oscillator FNOSC<2:0> POSCMD<1:0> Oscillator Mode Notes Source Value Value S0 Fast RC Oscillator (FRC) 000 xx 1 S1 Fast RC Oscillator with PLL (FRCPLL) 001 xx 1 S2 Primary Oscillator (EC) S2 Primary Oscillator (XT) S2 Primary Oscillator (HS) S3 Primary Oscillator with PLL (ECPLL) S3 Primary Oscillator with PLL (XTPLL) S3 Primary Oscillator with PLL (HSPLL) S4 Secondary Oscillator (SOSC) 100 xx 1 S5 Low-Power RC Oscillator (LPRC) 101 xx 1 S6 Fast RC Oscillator with 16 Divider 110 xx 1 (FRCDIV16) S7 Fast RC Oscillator with N Divider 111 xx 1, 2 (FRCDIVN) Note 1: The OSC2 pin function is determined by the OSCIOFNC Configuration bit. 2: This is the default oscillator mode for an unprogrammed (erased) device. DS A-page Microchip Technology Inc.
7 Oscillator Module Register 3-1: FOSCSEL: Oscillator Source Selection Register U-Z U-Z U-Z U-Z U-Z U-Z U-Z U-Z bit 15 bit 8 R/P U-Z U-Z U-Z U-Z R/P R/P R/P IESO FNOSC2 FNOSC1 FNOSC0 bit 7 bit 0 Legend: Z = Either a 1 or a 0, depending on device R = Readable bit P = Programmable bit U = Unused bits, Program to Logic 1 -n = Value at POR 1 = Bit is set 0 = Bit is cleared x = Bit is unknown bit 15-8 Reserved: Reserved bits must be programmed as 1 bit 7 IESO: Internal External Start-up Option bit 1 = Start up device with Internal FRC Oscillator, then automatically switch to the user-selected oscillator source when ready 0 = Start up device with user-selected oscillator source bit 6-3 Reserved: Reserved bits must be programmed as 1 bit 2-0 FNOSC<2:0>: Initial Oscillator Source Selection bits 111 = Fast RC Oscillator with Divide-by-N (FRCDIVN) 110 = Fast RC Oscillator with Divide-by-16 (FRCDIV16) 101 = Low-Power RC Oscillator (LPRC) 100 = Secondary Oscillator (SOSC) 011 = Primary Oscillator with PLL (XTPLL, HSPLL, ECPLL) 010 = Primary Oscillator (XT, HS, EC) 001 = Fast RC Oscillator with PLL (FRCPLL) 000 = Fast RC Oscillator (FRC) 2013 Microchip Technology Inc. DS A-page 7
8 dspic33/pic24 Family Reference Manual Register 3-2: FOSC: Oscillator Configuration Register U-Z U-Z U-Z U-Z U-Z U-Z U-Z R/P PLLKEN bit 15 bit 8 R/P R/P R/P U-Z U-Z R/P R/P R/P FCKSM1 FCKSM0 IOL1WAY OSCIOFNC POSCMD1 POSCMD0 bit 7 bit 0 Legend: Z = Either a 1 or a 0, depending on device R = Readable bit P = Programmable bit U = Unused bits, Program to Logic 1 -n = Value at POR 1 = Bit is set 0 = Bit is cleared x = Bit is unknown bit 15-9 Reserved: Reserved bits must be programmed as 1 bit 8 PLLKEN: PLL Lock Enable bit 1 = Source for PLL lock signal is the lock detect 0 = Source for PLL lock signal is the PLL enable signal bit 7-6 FCKSM<1:0>: Clock Switching Mode bits 1x = Clock switching is disabled, Fail-Safe Clock Monitor is disabled 01 = Clock switching is enabled, Fail-Safe Clock Monitor is disabled 00 = Clock switching is enabled, Fail-Safe Clock Monitor is enabled bit 5 IOL1WAY: Peripheral Pin Select (PPS) Configuration bit 1 = Allows only one reconfiguration 0 = Allows multiple reconfigurations bit 4-3 Reserved: Reserved bits must be programmed as 1 bit 2 OSCIOFNC: OSC2 Pin Function bit (except in XT and HS modes) 1 = OSC2 is the clock output and the instruction cycle (FCY) clock is output on the OSC2 pin 0 = OSC2 is a general purpose digital I/O pin bit 1-0 POSCMD<1:0>: Primary Oscillator Mode Selection bits 11 = Primary Oscillator is disabled 10 = HS Crystal Oscillator mode (10 MHz to 40 MHz) 01 = XT Crystal Oscillator mode (3.5 MHz to 10 MHz) 00 = EC (External Clock) mode (0 MHz to 60 MHz) DS A-page Microchip Technology Inc.
9 Oscillator Module 4.0 SPECIAL FUNCTION REGISTERS These Special Function Registers provide run-time control and status of the oscillator system: OSCCON: Oscillator Control Register(4) This register controls clock switching and provides status information that allows current clock source, PLL lock and clock fail conditions to be monitored. CLKDIV: Clock Divisor Register This register controls the Doze mode and selects the PLL prescaler, PLL postscaler and FRC postscaler. PLLFBD: PLL Feedback Divisor Register This register selects the PLL feedback divisor. OSCTUN: FRC Oscillator Tuning Register This register is used to tune the Internal FRC oscillator frequency in software. REFOCON: Reference Oscillator Control Register This register controls the reference oscillator output. ACLKCON1: Auxiliary Clock Control Register 1(1) This register enables and controls the PLL Auxiliary Oscillator. ACLKCON3: Auxiliary Clock Control Register 3(1) This register controls and provides prescalar and postscalar values for the Auxiliary PLL module. ACLKDIV3: Auxiliary Clock Divisor Control Register 3(1) This register selects the PLL feedback divisor for the Auxiliary PLL module. LFSR: Linear Feedback Shift Register(1) This register provides pseudorandom values Microchip Technology Inc. DS A-page 9
10 dspic33/pic24 Family Reference Manual Register 4-1: OSCCON: Oscillator Control Register (4) U-0 R-y R-y R-y U-0 R/W-y R/W-y R/W-y COSC2 (1,2) COSC1 (1,2) COSC0 (1,2) NOSC2 NOSC1 NOSC0 bit 15 bit 8 R/S-0 R/W-0 R-0 U-0 R/C-0 U-0 R/W-0 R/W-0 CLKLOCK IOLOCK LOCK CF LPOSCEN OSWEN bit 7 bit 0 Legend: U = Unimplemented bit, read as 0 y = Depends on FNOSCx bits (FOSCSEL<2:0>) R = Readable bit W = Writable bit C = Clearable bit S = Settable bit -n = Value at POR 1 = Bit is set 0 = Bit is cleared x = Bit is unknown bit 15 Unimplemented: Read as 0 bit COSC<2:0>: Current Oscillator Selection bits (read-only) (1,2) 111 = Fast RC Oscillator with Divide-by-N (FRCDIVN) 110 = Fast RC Oscillator with Divide-by-16 (FRCDIV16) 101 = Low-Power RC Oscillator (LPRC) 100 = Secondary Oscillator (SOSC) 011 = Primary Oscillator with PLL (XTPLL, HSPLL, ECPLL) 010 = Primary Oscillator (XT, HS, EC) 001 = Fast RC Oscillator with PLL (FRCPLL) 000 = Fast RC Oscillator (FRC) bit 11 Unimplemented: Read as 0 bit 10-8 NOSC<2:0>: New Oscillator Selection bits (3) bit 7 bit = Fast RC Oscillator with Divide by N (FRCDIVN) 110 = Fast RC Oscillator with Divide by 16 (FRCDIV16) 101 = Low-Power RC Oscillator (LPRC) 100 = Secondary Oscillator (SOSC) 011 = Primary Oscillator with PLL (XTPLL, HSPLL, ECPLL) 010 = Primary Oscillator (XT, HS, EC) 001 = Fast RC Oscillator with PLL (FRCPLL) 000 = Fast RC Oscillator (FRC) CLKLOCK: Clock Lock Enable bit If clock switching is enabled and FSCM is disabled (FCKSM<1:0> (FOSC<7:6>) = 01): 1 = Clock switching is disabled, system clock source is locked 0 = Clock switching is enabled, system clock source may be modified by clock switching IOLOCK: Peripheral Pin Select (PPS) Lock bit 1 = Peripheral Pin Select is locked; writes to Peripheral Pin Select registers are not allowed 0 = Peripheral Pin Select is not locked; writes to Peripheral Pin Select registers are allowed bit 5 LOCK: PLL Lock Status bit (read-only) 1 = Indicates that PLL is in lock or PLL start-up timer is satisfied 0 = Indicates that PLL is out of lock, start-up timer is in progress or PLL is disabled bit 4 Unimplemented: Read as 0 Note 1: COSC<2:0> are set to FRC value on POR or BOR. 2: COSC<2:0> are loaded with NOSC<2:0> on Reset (not POR or BOR) and at the completion of a successful clock switch. 3: Set to the value specified by the FNOSC<2:0> Configuration bits on any Reset. 4: Writes to this register require an unlock sequence. For more information and examples, see Section 14.0 Clock Switching. DS A-page Microchip Technology Inc.
11 Oscillator Module Register 4-1: OSCCON: Oscillator Control Register (4) (Continued) bit 3 CF: Clock Fail Detect bit (read or cleared by application) 1 = FSCM has detected a clock failure 0 = FSCM has not detected a clock failure bit 2 Unimplemented: Read as 0 bit 1 bit 0 LPOSCEN: 32 khz Secondary (LP) Oscillator Enable bit 1 = Requests oscillator switch to selection specified by the NOSC<2:0> bits 0 = Oscillator switch is complete OSWEN: Oscillator Switch Enable bit 1 = Request oscillator switch to selection specified by the NOSC<2:0> bits 0 = Oscillator switch is complete Note 1: COSC<2:0> are set to FRC value on POR or BOR. 2: COSC<2:0> are loaded with NOSC<2:0> on Reset (not POR or BOR) and at the completion of a successful clock switch. 3: Set to the value specified by the FNOSC<2:0> Configuration bits on any Reset. 4: Writes to this register require an unlock sequence. For more information and examples, see Section 14.0 Clock Switching Microchip Technology Inc. DS A-page 11
12 dspic33/pic24 Family Reference Manual Register 4-2: CLKDIV: Clock Divisor Register R/W-0 R/W-0 R/W-1 R/W-1 R/W-0 R/W-0 R/W-0 R/W-0 ROI DOZE2 (2,3) DOZE1 (2,3) DOZE0 (2,3) DOZEN (1) FRCDIV2 FRCDIV1 FRCDIV0 bit 15 bit 8 R/W-0 R/W-1 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 PLLPOST1 PLLPOST0 PLLPRE4 PLLPRE3 PLLPRE2 PLLPRE1 PLLPRE0 bit 7 bit 0 Legend: R = Readable bit W = Writable bit U = Unimplemented bit, read as 0 -n = Value at POR 1 = Bit is set 0 = Bit is cleared x = Bit is unknown bit 15 ROI: Recover on Interrupt bit 1 = Interrupts will clear the DOZEN bit and the processor clock, and the peripheral clock ratio is set to 1:1 0 = Interrupts have no effect on the DOZEN bit bit DOZE<2:0>: Processor Clock Reduction Select bits (2,3) 111 = FCY divided by = FCY divided by = FCY divided by = FCY divided by = FCY divided by 8 (default) 010 = FCY divided by = FCY divided by = FCY divided by 1 bit 11 DOZEN: Doze Mode Enable bit (1) bit = DOZE<2:0> field specifies the ratio between the peripheral clocks and the processor clocks 0 = Processor clock and peripheral clock ratio are forced to 1:1 FRCDIV<2:0>: Internal Fast RC Oscillator Postscaler bits 111 = FRC divided by = FRC divided by = FRC divided by = FRC divided by = FRC divided by = FRC divided by = FRC divided by = FRC divided by 1 (default) bit 7-6 PLLPOST<1:0>: PLL VCO Output Divider Select bits (also denoted as N2, PLL postscaler) 11 = Output divided by 8 10 = Reserved 01 = Output divided by 4 (default) 00 = Output divided by 2 bit 5 Unimplemented: Read as 0 Note 1: This bit is cleared when the ROI bit is set and an interrupt occurs. 2: The DOZE<2:0> bits can only be written when the DOZEN bit is clear. If DOZEN = 1, any writes to DOZE<2:0> are ignored. 3: The DOZEN bit cannot be set if DOZE<2:0> = 000. If DOZE<2:0> = 000, any attempt by user software to set the DOZEN bit is ignored. DS A-page Microchip Technology Inc.
13 Oscillator Module Register 4-2: bit 4-0 CLKDIV: Clock Divisor Register (Continued) PLLPRE<4:0>: PLL Phase Detector Input Divider Select bits (also denoted as N1, PLL prescaler) = Input divided by = Input divided by = Input divided by 2 (default) Note 1: This bit is cleared when the ROI bit is set and an interrupt occurs. 2: The DOZE<2:0> bits can only be written when the DOZEN bit is clear. If DOZEN = 1, any writes to DOZE<2:0> are ignored. 3: The DOZEN bit cannot be set if DOZE<2:0> = 000. If DOZE<2:0> = 000, any attempt by user software to set the DOZEN bit is ignored Microchip Technology Inc. DS A-page 13
14 dspic33/pic24 Family Reference Manual Register 4-3: PLLFBD: PLL Feedback Divisor Register U-0 U-0 U-0 U-0 U-0 U-0 U-0 R/W-0 PLLDIV8 bit 15 bit 8 R/W-0 R/W-0 R/W-1 R/W-1 R/W-0 R/W-0 R/W-0 R/W-0 PLLDIV7 PLLDIV6 PLLDIV5 PLLDIV4 PLLDIV3 PLLDIV2 PLLDIV1 PLLDIV0 bit 7 bit 0 Legend: R = Readable bit W = Writable bit U = Unimplemented bit, read as 0 -n = Value at POR 1 = Bit is set 0 = Bit is cleared x = Bit is unknown bit 15-9 Unimplemented: Read as 0 bit 8-0 PLLDIV<8:0>: PLL Feedback Divisor bits (also denoted as M, PLL multiplier) = = 50 (default) = = = 2 DS A-page Microchip Technology Inc.
15 Oscillator Module Register 4-4: OSCTUN: FRC Oscillator Tuning Register 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 TUN4 TUN3 TUN2 TUN1 TUN0 bit 7 bit 0 Legend: R = Readable bit W = Writable bit U = Unimplemented bit, read as 0 -n = Value at POR 1 = Bit is set 0 = Bit is cleared x = Bit is unknown bit 15-6 Unimplemented: Read as 0 bit 5-0 TUN<5:0>: FRC Oscillator Tuning bits = Center frequency + (See data sheet for tolerance) = Center frequency + (See data sheet for tolerance) = Center frequency + (See data sheet for tolerance) = Center frequency + (See data sheet for tolerance) = Center frequency (7.373 MHz nominal) = Center frequency - (See data sheet for tolerance) = Center frequency (See data sheet for tolerance) = Center frequency (See data sheet for tolerance) 2013 Microchip Technology Inc. DS A-page 15
16 dspic33/pic24 Family Reference Manual Register 4-5: REFOCON: Reference Oscillator Control Register R/W-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 ROON ROSSLP ROSEL RODIV3 (1) RODIV2 (1) RODIV1 (1) RODIV0 (1) 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 U = Unimplemented bit, read as 0 -n = Value at POR 1 = Bit is set 0 = Bit is cleared x = Bit is unknown bit 15 ROON: Reference Oscillator Output Enable bit 1 = Reference oscillator output is enabled on REFOCLK pin (2) 0 = Reference oscillator output is disabled bit 14 Unimplemented: Read as 0 bit 13 ROSSLP: Reference Oscillator Run in Sleep bit 1 = Reference oscillator output continues to run in Sleep 0 = Reference oscillator output is disabled in Sleep bit 12 ROSEL: Reference Oscillator Source Select bit 1 = Oscillator crystal is used as the reference clock 0 = System clock is used as the reference clock bit 11-8 RODIV<3:0>: Reference Oscillator Divider bits (1) 1111 = Reference clock divided by 32, = Reference clock divided by 16, = Reference clock divided by 8, = Reference clock divided by 4, = Reference clock divided by 2, = Reference clock divided by 1, = Reference clock divided by = Reference clock divided by = Reference clock divided by = Reference clock divided by = Reference clock divided by = Reference clock divided by = Reference clock divided by = Reference clock divided by = Reference clock divided by = Reference clock bit 7-0 Unimplemented: Read as 0 Note 1: The reference oscillator output must be disabled (ROON = 0) before writing to these bits. 2: This pin is remappable. See the I/O Ports chapter in the specific device data sheet for information. DS A-page Microchip Technology Inc.
17 Oscillator Module Register 4-6: ACLKCON1: Auxiliary Clock Control Register 1 (1) R/W-0 R/W-0 R/W-Z U-0 U-0 R/W-1 R/W-1 R/W-1 ENAPLL APLLCK SELACLK APSTSCLR2 APSTSCLR1 APSTSCLR0 bit 15 bit 8 R/W-0 R/W-1 U-0 U-0 U-0 U-0 U-0 U-0 ASRCSEL FRCSEL bit 7 bit 0 Legend: Z = Either a 1 or a 0, depending on device R = Readable bit W = Writable bit U = Unimplemented bit, read as 0 -n = Value at POR 1 = Bit is set 0 = Bit is cleared x = Bit is unknown bit 15 bit 14 ENAPLL: Auxiliary PLL Enable bit 1 = Auxiliary PLL is enabled 0 = Auxiliary PLL is disabled APLLCK: Auxiliary PLL Phase Locked State Status bit (read-only) 1 = Auxiliary PLL is in lock 0 = Auxiliary PLL is not in lock bit 13 SELACLK: Select Auxiliary Clock Source for Auxiliary Clock Divider bit 1 = Auxiliary PLL, FRC or POSC provides the source clock for the Auxiliary Clock divider 0 = PLL output (FVCO) provides the source clock for the Auxiliary Clock divider bit Unimplemented: Read as 0 bit 10-8 bit 7 APSTSCLR<2:0>: Auxiliary Clock Output Divider bits 111 = Divide-by-1 (default) 110 = Divide-by = Divide-by = Divide-by = Divide-by = Divide-by = Divide-by = Divide-by-256 ASRCSEL: Select Reference Clock Source for Auxiliary Clock bit 1 = Primary Oscillator is the clock source 0 = Reserved bit 6 FRCSEL: Select Reference Clock Source for Auxiliary Clock bit 1 = Selects FRC clock for clock source 0 = POSC is the clock source for APLL (determined by the ASRCSEL bit) bit 5-0 Unimplemented: Read as 0 Note 1: This register is not available on all devices. Refer to the Oscillator Configuration chapter in the specific device data sheet for availability Microchip Technology Inc. DS A-page 17
18 dspic33/pic24 Family Reference Manual Register 4-7: ACLKCON3: Auxiliary Clock Control Register 3 (1) R/W-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 U-0 ENAPLL SELACLK AOSCMD1 AOSCMD0 ASRCSEL FRCSEL bit 15 bit 8 R/W-0 R/W-0 R/W-0 U-0 U-0 R/W-0 R/W-0 R/W-0 APLLPOST2 APLLPOST1 APLLPOST0 APLLPRE2 APLLPRE1 APLLPRE0 bit 7 bit 0 Legend: R = Readable bit W = Writable bit U = Unimplemented bit, read as 0 -n = Value at POR 1 = Bit is set 0 = Bit is cleared x = Bit is unknown bit 15 ENAPLL: Enable Auxiliary PLL (APLL) and Select APLL as USB Clock Source bit 1 = APLL is enabled, the USB clock source is the APLL output 0 = APLL is disabled, the USB clock source is the input clock to the APLL bit 14 Unimplemented: Read as 0 bit 13 bit bit 10 SELACLK: Select Auxiliary Clock Source for Auxiliary Clock Divider bit 1 = Auxiliary PLL or oscillators provide the source clock for the Auxiliary Clock divider 0 = Primary PLL provides the source clock for the Auxiliary Clock divider AOSCMD<1:0>: Auxiliary Oscillator Mode bits 11 = EC (External Clock) Oscillator mode select 10 = XT (Crystal) Oscillator mode select 01 = HS (High-Speed) Oscillator mode select 00 = (AOSC) Auxiliary Oscillator is disabled (default) ASRCSEL: Select Reference Clock Source for APLL bit 1 = Primary Oscillator is the clock source for APLL 0 = Auxiliary Oscillator is the clock source for APLL bit 9 FRCSEL: Select FRC as Reference Clock Source for APLL bit 1 = FRC is the clock source for APLL 0 = Auxiliary Oscillator or Primary Oscillator is the clock source for APLL (determined by ASRCSEL bit) bit 8 Unimplemented: Read as 0 bit 7-5 APLLPOST<2:0>: Select PLL VCO Output Divider bits 111 = Divided by = Divided by = Divided by = Divided by = Divided by = Divided by = Divided by = Divided by 256 (default) bit 4-3 Unimplemented: Read as 0 bit 2-0 APLLPRE<2:0>: PLL Phase Detector Input Divider bits 111 = Divided by = Divided by = Divided by = Divided by = Divided by = Divided by = Divided by = Divided by 1 (default) Note 1: This register is not available on all devices. Refer to the Oscillator Configuration chapter in the specific device data sheet for availability. DS A-page Microchip Technology Inc.
19 Oscillator Module Register 4-8: ACLKDIV3: Auxiliary Clock Divisor Control Register 3 (1) 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-0 R/W-0 R/W-0 APLLDIV2 APLLDIV1 APLLDIV0 bit 7 bit 0 Legend: R = Readable bit W = Writable bit U = Unimplemented bit, read as 0 -n = Value at POR 1 = Bit is set 0 = Bit is cleared x = Bit is unknown bit 15-3 Unimplemented: Read as 0 bit 2-0 APLLDIV<2:0>: PLL Feedback Divisor bits (PLL multiplier ratio) 111 = = = = = = = = 15 (default) Note 1: This register is not available on all devices. Refer to the Oscillator Configuration chapter in the specific device data sheet for availability Microchip Technology Inc. DS A-page 19
20 dspic33/pic24 Family Reference Manual Register 4-9: LFSR: Linear Feedback Shift Register (1) U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 LFSR14 LFSR13 LFSR12 LFSR11 LFSR10 LFSR9 LFSR8 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 LFSR7 LFSR6 LFSR5 LFSR4 LFSR3 LFSR2 LFSR1 LFSR0 bit 7 bit 0 Legend: R = Readable bit W = Writable bit U = Unimplemented bit, read as 0 -n = Value at POR 1 = Bit is set 0 = Bit is cleared x = Bit is unknown bit 15 Unimplemented: Read as 0 bit 14-0 LFSR<14:0>: Pseudorandom Data bits Note 1: This register is not available on all devices. DS A-page Microchip Technology Inc.
21 Oscillator Module 5.0 PRIMARY OSCILLATOR (POSC) The Primary Oscillator (POSC) is available on the OSC1 and OSC2 pins of the dspic33/pic24 family devices. This connection enables an external crystal (or ceramic resonator) to provide the clock to the device. Optionally, and depending on the device, it can be used with the internal PLL to boost the system frequency (FOSC) up to 140 MHz for 70 MIPS execution. The Primary Oscillator provides three modes of operation: Medium Speed Oscillator (XT Mode) The XT mode is a Medium Gain, Medium Frequency mode used to work with crystal frequencies of 3.5 MHz to 10 MHz. High-Speed Oscillator (HS Mode) The HS mode is a High Gain, High-Frequency mode used to work with crystal frequencies of 10 MHz to 40 MHz. External Clock Source Operation (EC Mode) If the on-chip oscillator is not used, the EC mode allows the internal oscillator to be bypassed. The device clocks are generated from an external source (0 MHz to up to 60 MHz) and input on the OSC1 pin. The FNOSC<2:0> Configuration bits in the Oscillator Source Selection register (FOSCSEL<2:0>) specify the Primary Oscillator clock source at Power-on Reset. The POSCMD<1:0> Configuration bits in the Oscillator Configuration register (FOSC<1:0>) specify the Primary Oscillator mode. Table 5-1 provides the options selected by specific bit configurations, which are programmed at the time of device programming. Table 5-1: FNOSC<2:0> Value Primary Oscillator Clock Source Options POSCMD<1:0> Value Primary Oscillator Source and Mode Primary Oscillator: External Clock Mode (EC) Primary Oscillator: Medium Frequency Mode (XT) Primary Oscillator: High-Frequency Mode (HS) Primary Oscillator with PLL: External Clock Mode (ECPLL) Primary Oscillator with PLL: Medium Frequency Mode (XTPLL) Primary Oscillator with PLL: High-Frequency Mode (HSPLL) Figure 5-1 is a recommended crystal oscillator circuit diagram for the dspic33/pic24 family devices. Capacitors, C1 and C2, form the Load Capacitance for the crystal. The optimum Load Capacitance (CL) for a given crystal is specified by the crystal manufacturer. Load Capacitance can be calculated as shown in Equation 5-1. Figure 5-1: Crystal or Ceramic Resonator Operation (XT or HS Oscillator Mode) C1 OSC1 To Internal Logic XTAL R 1M POSCMD<1:0> C2 OSC2 dspic33/pic24 Note: For more information, refer to the specific device data sheet Microchip Technology Inc. DS A-page 21
22 dspic33/pic24 Family Reference Manual Equation 5-1: Crystal Load Capacitance CL = CS + C1 x C2 C1 + C2 Note: Where Cs is the stray capacitance. Assuming C1 = C2, Equation 5-2 gives the capacitor value (C1, C2) for a given load and stray capacitance. Equation 5-2: External Capacitor for Crystal C1 = C2 = 2 x (CL CS) For more information on crystal oscillators and their operation, refer to Section 19.0 Related Application Notes. 5.1 Oscillator Start-up Time As the device voltage increases from VSS, the oscillator will start its oscillations. The time required for the oscillator to start oscillating depends on these factors: Crystal and resonator frequency Capacitor values used (C1 and C2 in Figure 5-1) Device VDD rise time System temperature Series resistor value and type if used Oscillator mode selection of device (selects the gain of the internal oscillator inverter) Crystal quality Oscillator circuit layout System noise Figure 5-2 illustrates a plot of a typical oscillator and resonator start-up. Figure 5-2: Example Oscillator and Resonator Start-up Characteristics Maximum VDD of System Device VDD VIH Voltage VIL 0V Crystal Start-up Time Time To ensure that a crystal oscillator (or ceramic resonator) has started and stabilized, an Oscillator Start-up Timer (OST) is provided with the Primary Oscillator (POSC) and the Secondary Oscillator (SOSC). The OST is a simple, 10-bit counter that counts 1024 cycles before releasing the oscillator clock to the rest of the system. This time-out period is denoted as TOST. The amplitude of the oscillator signal must reach the VIL and VIH thresholds for the oscillator pins before the OST can begin to count cycles. The TOST interval is required every time the oscillator restarts (that is, on POR, BOR and wake-up from Sleep mode) when XT or HS mode is selected in the Configuration Words. The TOST timer does not exist when EC mode is selected. DS A-page Microchip Technology Inc.
23 Oscillator Module After the Primary Oscillator is enabled, it takes a finite amount of time to start oscillating. This delay is denoted as TOSCD. After TOSCD, the OST timer takes 1024 clock cycles (TOST) to release the clock. The total delay for the clock to be ready is TOSCD + TOST. If the PLL is used, an additional delay is required for the PLL to lock. For more information, see Section 7.0 Phase-Locked Loop (PLL). Primary Oscillator start-up behavior is illustrated in Figure 5-3, where the CPU begins toggling an I/O pin when it starts execution after the TOSCD + TOST interval. Figure 5-3: Oscillator Start-up Characteristics 5.2 Primary Oscillator Pin Functionality The Primary Oscillator pins (OSC1 and OSC2) can be used for other functions when the oscillator is not being used. The POSCMD<1:0> Configuration bits in the Oscillator Configuration register (FOSC<1:0>) determine the oscillator pin function. The OSCIOFNC bit (FOSC<2>) determines the OSC2 pin function. POSCMD<1:0>: Primary Oscillator Mode Selection bits: 11 = Primary Oscillator mode disabled 10 = HS Oscillator mode selected 01 = XT Oscillator mode selected 00 = External Clock mode selected OSCIOFNC: OSC2 Pin Function bit (except in XT and HS modes): 1 = OSC2 is the clock output and the instruction cycle (FCY) clock is output on the OCS2 pin (see Figure 5-4) 0 = OSC2 is a general purpose digital I/O pin (see Figure 5-5) The oscillator pin functions are provided in Table Microchip Technology Inc. DS A-page 23
24 dspic33/pic24 Family Reference Manual Table 5-2: Oscillator Source Clock Pin Function Selection OSCIOFNC Value POSCMD<1:0> Value OSC1 (1) Pin Function OSC2 (2) Pin Function Primary OSC Disabled 1 11 Digital I/O Clock Output (FCY) Primary OSC Disabled 0 11 Digital I/O Digital I/O HS x 10 OSC1 OSC2 XT x 01 OSC1 OSC2 EC 1 00 OSC1 Clock Output (FCY) EC 0 00 OSC1 Digital I/O Note 1: OSC1 pin function is determined by the Primary Oscillator Mode (POSCMOD<1:0>) Configuration bits. 2: OSC2 pin function is determined by the Primary Oscillator Mode (POSCMOD<1:0>) and the OSC2 Pin Function (OSCIOFNC) Configuration bits. Figure 5-4: OSC2 Pin for Clock Output (in EC Mode) Clock from External System OSC1 dspic33/pic24 FCY OSC2 Figure 5-5: OSC2 Pin for Digital I/O (in EC Mode) Clock from External System OSC1 dspic33/pic24 I/O OSC2 DS A-page Microchip Technology Inc.
25 Oscillator Module 6.0 INTERNAL FAST RC (FRC) OSCILLATOR The Internal Fast RC (FRC) oscillator provides a nominal 7.37 MHz clock without requiring an external crystal or ceramic resonator, which results in system cost savings for applications that do not require a precise clock reference. The application software can tune the frequency of the oscillator using the FRC Oscillator Tuning bits (TUN<5:0>) in the FRC Oscillator Tuning register (OSCTUN<5:0>). Note: Refer to the Oscillator Configuration chapter in the specific device data sheet for the accuracy of the FRC clock frequency over temperature and voltage variations. The Internal FRC Oscillator starts immediately. Unlike a crystal oscillator, which can take several milliseconds to begin oscillation, the Internal FRC starts oscillating immediately. The Initial Oscillator Source Selection Configuration bits (FNOSC<2:0>) in the Oscillator Source Selection register (FOSCSEL<2:0>) select the FRC clock source. The FRC clock source options at the time of a Power-on Reset are provided in Table 6-1. The Configuration bits are programmed at the time of device programming. Table 6-1: FNOSC<2:0> Value FRC Clock Source Options 6.1 FRC Postscaler Mode (FRCDIVN) Primary Oscillator Source and Mode 000 FRC Oscillator (FRC) 001 FRC Oscillator: Postscaler Divide-by-N with PLL (FRCPLL) 110 FRC Oscillator: Postscaler Divide-by-16 (FRCDIV16) 111 FRC Oscillator: Postscaler Divide-by-N (FRCDIVN) In FRC Postscaler mode, a variable postscaler divides the FRC clock output and allows a lower frequency to be chosen. The postscaler is controlled by the Internal Fast RC Oscillator Postscaler bits (FRCDIV<2:0>) in the Clock Divisor register (CLKDIV<10:8>), which allows 8 settings, from 1:1 to 1:256, to be chosen. Table 6-2: FRCDIV<2:0> Value Internal Fast RC Oscillator Postscaler Settings 000 FRC Divide-by-1 (default) 001 FRC Divide-by FRC Divide-by FRC Divide-by FRC Divide-by FRC Divide-by FRC Divide-by FRC Divide-by-256 Internal FRC Oscillator Settings Optionally, and depending on the device, the FRC postscaler output can be used with the internal PLL to boost the system frequency (FOSC) up to 140 MHz for 70 MIPS instruction cycle execution speed. Note: The FRC divider should not be changed dynamically when operating in internal FRC with PLL. To change the FRC divider: 1. Switch the clock to non-pll mode (for example, Internal FRC). 2. Make the necessary changes. 3. Switch the clock back to the PLL mode Microchip Technology Inc. DS A-page 25
26 dspic33/pic24 Family Reference Manual 7.0 PHASE-LOCKED LOOP (PLL) The Primary Oscillator and Internal FRC Oscillator sources can optionally use an on-chip PLL to obtain higher operating speeds. Figure 7-1 illustrates a block diagram of the PLL module. Figure 7-1: dspic33/pic24 Family PLL Block Diagram 0.8 MHz FPLLI (1) 8.0 MHz 120 MHZ FVCO (1) 340 MHZ 15 MHz FPLLO (1) ºC 15 MHz FPLLO (1) ºC FIN FPLLI FVCO FPLLO N1 PFD VCO N2 PLLPRE<4:0> M PLLPOST<1:0> PLLDIV<8:0> Note 1: This frequency range must be met at all times. For PLL operation, the Phase Frequency Detector (PFD) input frequency and Voltage Controlled Oscillator (VCO) output frequency must meet the following requirements at all times, no exceptions: The PFD Input Frequency (FPLLI) must be in the range of 0.8 MHz to 8.0 MHz The VCO Output Frequency (FVCO) must be in the range of 120 MHz to 340 MHz The PLL Phase Detector Input Divider Select bits (PLLPRE<4:0>) in the Clock Divisor register (CLKDIV<4:0>) specify the input divider ratio (N1), which is used to scale down the input clock (FIN) to meet the PFD input frequency range of 0.8 MHz to 8.0 MHz. The PLL Feedback Divisor bits (PLLDIV<8:0>) in the PLL Feedback Divisor register (PLLFBD<8:0>) specify the divider ratio (M), which scales down the VCO Frequency (FVCO) for feedback to the PFD. The VCO Frequency (FVCO) is M times the input reference clock (FPLLI). The PLL VCO Output Divider Select bits (PLLPOST<1:0>) in the Clock Divisor register (CLKDIV<7:6>) specify the divider ratio (N2) to limit the system clock frequency, FOSC (FPLLO). Equation 7-1 provides the relation between Input Frequency (FIN) and VCO Frequency (FVCO). Equation 7-1: FVCO Calculation FVCO M = FIN = N1 PLLDIV + 2 FIN PLLPRE + 2 Equation 7-2 provides the relation between Input Frequency (FIN) and Output Frequency (FPLLO). Equation 7-2: FPLLO Calculation FPLLO = FIN M N1 = FIN (PLLDIV + 2) (PLLPRE + 2) 2(PLLPOST + 1) Where, N1 = PLLPRE + 2 N2 = 2 x (PLLPOST + 1) M = PLLDIV + 2 DS A-page Microchip Technology Inc.
27 Oscillator Module 7.1 Input Clock Limitation at Start-up for PLL Mode Table 7-1 provides the default values of the PLL Prescaler, PLL Postscaler and PLL Feedback Divisor Configuration bits at Power-on Reset. Table 7-1: PLL Mode Defaults Register Bit Field Value at POR Reset PLL Divider Ratio CLKDIV<4:0> PLLPRE<4:0> N1 = 2 CLKDIV<7:6> PLLPOST<1:0> 01 N2 = 4 PLLFBD<8:0> PLLDIV<8:0> M = 50 Given these Reset values, the following equations provide the relationship between Input Frequency (FIN) and PFD Input Frequency (FPLLI), VCO Frequency (FVCO) and System Clock Frequency (FOSC) at Power-on Reset. Equation 7-3: FPLLI at Power-on Reset FPLLI = FIN N1 = 0.5 FIN Equation 7-4: FVCO at Power-on Reset FVCO = FIN M N1 = FIN = 25 FIN Equation 7-5: FPLLO at Power-on Reset FPLLO = FIN M N1 = FIN = 6.25(FIN) To use the PLL, and to ensure that the PFD Input Frequency (FPLLI) and the VCO frequency are in the specified frequency range to meet the PLL requirements, follow this process: 1. Power up the device with the Internal FRC or the Primary Oscillator without PLL. 2. Change the PLLDIVx, PLLPREx and PLLPOSTx bit values, based on the input frequency, to meet these PLL requirements: The PFD Input Frequency (FPLLI) must be in the range of 0.8 MHz to 8.0 MHz The VCO Output Frequency (FVCO) must be in the range of 120 MHz to 340 MHz 3. Switch the clock to the PLL mode in software. Note: Due to the default PLL register setting on Reset, it would violate the OSC specification to power up with the Primary Oscillator with PLL enabled for input clock frequencies greater than 13.6 MHz. In that case, the user would need to power up in a non-pll mode, configure the PLL registers and then perform a clock switch to a PLL mode. It is not permitted to directly clock switch from one PLL clock source to a different PLL clock source. The user would need to transition between PLL clock sources with a clock switch to a non-pll clock source Microchip Technology Inc. DS A-page 27
28 dspic33/pic24 Family Reference Manual 7.2 PLL Lock Status Whenever the PLL input frequency, the PLL prescaler or the PLL feedback divisor is changed, the PLL requires a finite amount of time (TLOCK) to synchronize to the new settings. TLOCK is applied when the PLL is selected as the clock source at Power-on Reset, or during a clock switching operation. The value of TLOCK is relative to the time at which the clock is available to the PLL input. For example, with the POSC, TLOCK starts after the OST delay. For more information about oscillator start-up delay, see Section 5.1 Oscillator Start-up Time. Also, refer to the Oscillator Configuration chapter in the specific device data sheet for more information about typical TLOCK values. The LOCK bit in the Oscillator Control register (OSCCON<5>) is a read-only status bit that indicates the lock status of the PLL. The LOCK bit is cleared at Power-on Reset, and on a clock switch operation, when the PLL is selected as the destination clock source. It remains clear when any clock source not using the PLL is selected. It is advisable to wait for the LOCK bit to be set before executing other code after a clock switch event in which the PLL is enabled. Note: The PLL Prescaler (PLLPREx) and PLL Feedback Divisor (PLLDIVx) bits should not be changed when operating in PLL mode. You must clock switch to a non-pll mode (e.g., Internal FRC) to make the necessary changes and then clock switch back to the PLL mode SETUP FOR USING PLL WITH THE PRIMARY OSCILLATOR (POSC) The following process is used to set up the PLL to operate the device at 60 MIPS with a 10 MHz external crystal: 1. To execute instructions at 60 MHz, ensure that the required system clock frequency is: FOSC = 2 x FCY = 120 MHz 2. To set up the PLL and meet the requirements of the PLL, follow these steps: a) Select the PLL postscaler to meet the VCO output frequency requirement (120 MHz < FVCO < 340 MHz). Select a PLL postscaler ratio of N2 = 2 Ensure that FVCO = (FPLLO x N2) = 240 MHz b) Select the PLL prescaler to meet the PFD input frequency requirement (0.8 MHz < FPLLI < 8.0 MHz). Select a PLL prescaler ratio of N1 = 2 Ensure that FPLLI = (FIN N1) = 5 MHz c) Select the PLL feedback divisor to generate the required VCO output frequency based on the PFD input frequency. FVCO = FPLLI x M M = FVCO FPLLI = 48 d) Configure the FNOSC<2:0> bits (FOSCSEL<2:0>) to select a clock source without the PLL (for example, Internal FRC) at Power-on Reset. e) In the main program, change the PLL prescaler, PLL postscaler and PLL feedback divisor values to those just decided in the previous steps, and then perform a clock switch to the PLL mode. DS A-page Microchip Technology Inc.
29 Oscillator Module Example 7-1 illustrates code for using the PLL with the Primary Oscillator. (Also, see Section 14.0 Clock Switching for example code for clock switching.) Example 7-1: Code Example for Using PLL with the Primary Oscillator (POSC) // Select Internal FRC at POR _FOSCSEL(FNOSC_FRC & IESO_OFF); // Enable Clock Switching and Configure POSC in XT mode _FOSC(FCKSM_CSECMD & OSCIOFNC_OFF & POSCMD_XT); int main() { // Configure PLL prescaler, PLL postscaler, PLL divisor PLLFBD=46; // M=48 CLKDIVbits.PLLPOST=0; // N2=2 CLKDIVbits.PLLPRE=0; // N1=2 // Initiate Clock Switch to Primary Oscillator with PLL (NOSC=0b011) builtin_write_oscconh(0x03); builtin_write_oscconl(osccon 0x01); // Wait for Clock switch to occur while (OSCCONbits.COSC!= 0b011); // Wait for PLL to lock while (OSCCONbits.LOCK!= 1); SETUP FOR USING PLL WITH 7.37 MHZ INTERNAL FRC The following process is used to set up the PLL to operate the device at 60 MIPS with a 7.37 MHz Internal FRC. 1. To execute instructions at 60 MHz, ensure that the system clock frequency is: FOSC = 2 x FCY = 120 MHz 2. To set up the PLL and meet the requirements of the PLL, follow these steps: a) Select the PLL postscaler to meet the VCO output frequency requirement (120 MHz < FVCO < 340 MHz). Select a PLL postscaler ratio of N2 = 2 Ensure that FVCO = (FPLLO x N2) = 240 MHz b) Select the PLL prescaler to meet the PFD input frequency requirement (0.8 MHz < FPLLI < 8.0 MHz). Select a PLL prescaler ratio of N1 = 2 Ensure that FPLLI = (FIN N1) = 3.68 MHz c) Select the PLL feedback divisor to generate the required VCO output frequency based on the PFD input frequency. FVCO = FPLLI x M M = FVCO FPLLI = 65 d) Configure the FNOSC<2:0> bits (FOSCSEL<2:0>) to select a clock source without PLL (for example, Internal FRC) at Power-on Reset. e) In the main program, change the PLL prescaler, PLL postscaler and PLL feedback divisor to meet the user and PLL requirements, and then perform a clock switch to the PLL mode Microchip Technology Inc. DS A-page 29
30 dspic33/pic24 Family Reference Manual Example 7-2 illustrates code for using PLL with a 7.37 MHz Internal FRC. (See also Section 14.0 Clock Switching for example code for clock switching.) Example 7-2: Code Example for Using PLL with 7.37 MHz Internal FRC // Select Internal FRC at POR _FOSCSEL(FNOSC_FRC & IESO_OFF); // Enable Clock Switching and Configure Primary Oscillator in XT mode _FOSC(FCKSM_CSECMD & OSCIOFNC_OFF & POSCMD_NONE); int main() { // Configure PLL prescaler, PLL postscaler, PLL divisor PLLFBD=63; // M=65 CLKDIVbits.PLLPOST=0; // N2=2 CLKDIVbits.PLLPRE=1; // N1=3 // Initiate Clock Switch to FRC oscillator with PLL (NOSC=0b001) builtin_write_oscconh(0x01); builtin_write_oscconl(osccon 0x01); // Wait for Clock switch to occur while (OSCCONbits.COSC!= 0b001); // Wait for PLL to lock while (OSCCONbits.LOCK!= 1); DS A-page Microchip Technology Inc.
31 Oscillator Module 8.0 SECONDARY OSCILLATOR (SOSC) The Secondary Oscillator (SOSC) enables a khz crystal oscillator to be attached to the device as a secondary crystal clock source for low-power operation. It uses the SOSCI and SOSCO pins. The SOSC can also drive Timer1 for Real-Time Clock (RTC) applications. Note 1: The SOSC is sometimes referred to as the Low-Power Secondary Oscillator due to its low-power capabilities. However, this oscillator should not be confused with the Low-Power RC (LPRC) Oscillator. 2: This oscillator is not available on all devices. Refer to the specific device data sheet for more information. 8.1 SOSC for System Clock The SOSC is enabled as the system clock when: The Initial Oscillator Source Selection Configuration bits (FNOSC<2:0>) in the Oscillator Source Selection register (FOSCSEL<2:0>) are appropriately set to select the SOSC at a POR The user-assigned software initiates a clock switch to the SOSC for low-power operation When the SOSC is not being used to provide the system clock, or the device enters Sleep mode, the SOSC is disabled to save power. 8.2 SOSC Start-up Delay When the SOSC is enabled, it takes a finite amount of time to start oscillating. For more information, refer to Section 5.1 Oscillator Start-up Time. 8.3 Continuous SOSC Operation Optionally, you can leave the SOSC running continuously. The SOSC is always enabled if the Secondary Oscillator Enable bit (LPOSCEN) is set in the Oscillator Control register (OSCCON<1>). There are two reasons to leave the SOSC running: Keeping the SOSC always ON allows a fast switch to the 32 khz system clock for lower power operation, since returning to the faster main oscillator still requires an oscillator start-up time if it is a crystal type source. For more information, refer to Section 5.1 Oscillator Start-up Time. The oscillator should remain on continuously when Timer1 is used as an RTC. Note: In Sleep mode, all clock sources (the POSC, Internal FRC Oscillator and LPRC Oscillator) are shut down, with the exception of the SOSC and LPRC under certain conditions. If the Watchdog Timer is enabled, LPRC is always active, even during Sleep mode. The SOSC can be active in Sleep mode if the Secondary Oscillator Enable bit (LPOSCEN) is set in the Oscillator Control register (OSCCON<1>) Microchip Technology Inc. DS A-page 31
32 dspic33/pic24 Family Reference Manual 9.0 LOW-POWER RC (LPRC) OSCILLATOR The Low-Power RC (LPRC) Oscillator provides a nominal clock frequency of 32 khz. The LPRC is the clock source for the Power-up Timer (PWRT), Watchdog Timer (WDT) and Fail-Safe Clock Monitor (FSCM) circuits. It can also be used to provide a low-frequency clock source option for the device in those applications where power consumption is critical and timing accuracy is not required. Note: The clock frequency of the LPRC Oscillator will vary depending on the device voltage and operating temperature. Refer to the Electrical Characteristics section in the specific device data sheet for more information. 9.1 LPRC Oscillator for System Clock The LPRC oscillator is selected as the system clock when: The Initial Oscillator Source Selection bits (FNOSC<2:0>) in the Oscillator Source Selection register (FOSCSEL<2:0>) are appropriately set to select the LPRC Oscillator at Power-on Reset User-assigned software initiates a clock switch to the LPRC Oscillator for low-power operation 9.2 Enabling the LPRC Oscillator The LPRC Oscillator is the clock source for the PWRT, WDT and FSCM. The LPRC Oscillator is enabled at Power-on Reset, if the Power-on Reset Timer Value Select bits (FPWRT<2:0>) in the POR Configuration Fuse register (FPOR<2:0>) are programmed to a non-zero value. The LPRC oscillator remains enabled under these conditions: The FSCM is enabled The WDT is enabled The LPRC Oscillator is selected as the system clock If none of these conditions is true, the LPRC Oscillator shuts off after the PWRT expires. The LPRC Oscillator is shut off in Sleep mode. Note: The LPRC is enabled and running automatically if either WDT or clock fail detect is enabled. The LPRC runs in Sleep mode only if the Watchdog Timer is enabled. Under all other conditions, LPRC is disabled in Sleep mode. 9.3 LPRC Oscillator Start-up Delay The LPRC Oscillator starts up immediately, unlike a crystal oscillator, which can take several milliseconds to begin oscillation. DS A-page Microchip Technology Inc.
33 Oscillator Module 10.0 AUXILIARY OSCILLATOR Note: The Auxiliary Oscillator (AOSC) is used by the Universal Serial Bus (USB) module, which needs to operate at a frequency unrelated to the system clock. The Auxiliary Oscillator can use one of the following as its clock source: Crystal (XT): Crystal and ceramic resonators in the range of 3.5 MHz to 10 MHz. High-Speed Crystal (HS): Crystals in the range of 10 MHz to 40 MHz. The external crystal is connected to the SOSCI and SOSCO pins. External Clock (EC): External clock signal up to 60 MHz. The external clock signal is directly applied to the SOSCI pin Enabling the Auxiliary Oscillator To enable the Auxiliary Oscillator mode, the Enable Auxiliary PLL bit (ENAPLL) must be set in the Auxiliary Clock Control register (ACLKCONx<15>). The Auxiliary Oscillator Mode bits (AOSCMD<1:0>) allow four oscillator mode settings, as listed in Table Table 10-1: This feature is not available on all devices. Refer to the Oscillator Configuration chapter in the specific device data sheet for availability. Auxiliary Oscillator and External Oscillator Mode Settings AOSCMD<1:0> Bit Value Oscillator Mode Setting 11 EC (External Clock) Mode Select 10 XT (Crystal) Oscillator Mode Select 01 HS (High-Speed) Oscillator Mode Select 00 Auxiliary Oscillator Disabled (default setting) Note: By default, the USB module is clocked by the Primary Oscillator with PLL Auxiliary Clock Source The desired reference clock source for the Auxiliary PLL can be selected by setting the appropriate clock source select bits in the Auxiliary Clock Control Register 1 (ACLKCON1). Set the Auxiliary Reference Clock Select bit (ASRCSEL) to use the Primary Oscillator as the clock source or clear this bit to use the Auxiliary Oscillator as the clock source. Set the FRC Select bit (FRCSEL) to use the FRC as the clock source, or clear this bit to use the Auxiliary or Primary Oscillator selected by the ASRCSEL bit as the clock source. Set the Select Clock Source to Auxiliary Clock Divider bit (SELACLK) in the Auxiliary Clock Control Register 1 (ACLKCON1) to select the Auxiliary PLL or oscillators to provide the clock source for the Auxiliary Clock divider. Clearing the SELACLK bit will cause the primary PLL output to act as the clock source to the Auxiliary Clock divider Microchip Technology Inc. DS A-page 33
34 dspic33/pic24 Family Reference Manual 11.0 AUXILIARY PHASE-LOCKED LOOP (APLL) Note: This feature is not available on all devices. Refer to the Oscillator Configuration chapter in the specific device data sheet for availability. The Auxiliary Oscillator uses an on-chip PLL to obtain different Auxiliary Clock speeds. Figure 11-1 shows a block diagram of the APLL module. Figure 11-1: dspic33/pic24 Family APLL Block Diagram Secondary Oscillator 3 MHz AFPLLI (1) 5.5 MHz 60 MHZ AVCO (1) 120 MHZ SOSCO SOSCI Auxiliary Oscillator (2) AFIN AFPLLI AvCO ACLK N1 PFD VCO N2 48 MHz (USB) 3.5 MHz AUX_FIN (1) 10 MHz APLLPRE<2:0> M APLLPOST<2:0> APLLDIV<2:0> Note 1: This frequency range must be met at all times. 2: The Auxiliary Oscillator is not available on all devices. Refer to the Oscillator Configuration chapter in the specific device data sheet for availability. For operation of the APLL, the Auxiliary Phase Frequency Detector (APFD) input frequency and the Auxiliary Voltage Controlled Oscillator (AVCO) output frequency must meet the following requirements: The APFD Input Frequency (AFPLLI) must be in the range of 3 MHz to 5.5 MHz The AVCO output frequency must be in the range of 60 MHz to 120 MHz The APLL Phase Detector Input Divider bits (APLLPRE<2:0>) in the Auxiliary Clock Control Register 3 (ACLKCON3<2:0>) specify the input divider ratio (N1), which is used to scale down the Auxiliary PLL Input (AFIN) clock to meet the APFD input frequency range of 3 MHz to 5.5 MHz. The Auxiliary PLL Feedback Divisor bits (APLLDIV<2:0>) in the Auxiliary Clock Divisor Control Register 3 (ACLKDIV3<2:0>) specify the divider ratio (M), which scales down the AVCO frequency for feedback to the APFD. The AVCO frequency is M times the APFD Input Frequency (AFPLLI). The APLL VCO Output Divider Select bits (APLLPOST<2:0>) in the Auxiliary Clock Control Register 3 (ACLKCON3<7:5>) specify the divider ratio (N2). The correct combination of the APLL Phase Detector Input Divider bits (APLLPRE<2:0>), the Auxiliary PLL Feedback Divisor bits (APLLDIV<2:0>) and the APLL VCO Output Divider bits (APLLPOST<2:0>) will provide the 48 MHz Auxiliary Clock (ACLK) frequency needed by the USB module. Equation 11-1 shows the relationship between the Auxiliary PLL Input (AFIN) clock frequency and the Auxiliary Clock (ACLK) frequency. Equation 11-1: ACLK Calculation Where, N1 = APLLPRE + 1 N2 = APLLPOST + 1 M = APLLDIV + 15 M ACLK = AFIN N1 N2 APLLDIV + 15 = AFIN APLLPRE + 1 APLLPOST + 1 Note: When APLLDIV<2:0> = 111, substitute (APLLDIV + 15) with (APLLDIV + 18) in Equation DS A-page Microchip Technology Inc.
35 Oscillator Module Equation 11-2 shows the relationship between the Auxiliary PLL Input (AFIN) clock frequency and the AVCO Frequency. Equation 11-2: AVCO Calculation M Avco = AFIN ---- N PLLDIV + 15 = AFIN APLLPRE APLL Setup Note: This feature is not available on all devices. Refer to the Oscillator Configuration chapter in the specific device data sheet for availability SETUP FOR USING APLL WITH AUXILIARY OSCILLATOR WITH AN 8 MHz CRYSTAL 1. Clear the ASRCSEL bit to choose the Auxiliary Oscillator as the clock source for the APLL. 2. Clear the FRCSEL bit to choose the Auxiliary Oscillator at the clock source for the APLL. 3. Set the SELACLK bit to choose the Auxiliary PLL or oscillators to provide the source clock for the Auxiliary Clock divider. 4. Follow these steps to configure the APLL Phase Detector Input Divider bits (APLLPRE<2:0>), the Auxiliary PLL Feedback Divisor bits (APLLDIV<2:0>) and the APLL VCO Output Divider bits (APLLPOST<2:0>) to set up the APLL for a 48 MHz ACLK (used by the USB module) using an 8 MHz Auxiliary Oscillator: a) Select the APLL VCO output divider to meet the AVCO output frequency requirement (60 MHz < AVCO < 120 MHz). Select an APLL VCO output divider ratio of N2 = 2 Ensure that AVCO = (ACLK x N2) = 96 MHz b) Select the APLL phase detector input divider to meet the APFD input frequency requirement (3 MHz < AFPLLI < 5.5 MHz). Select an APLL phase detector input divider ratio of N1 = 2 Ensure that AFPLLI = (AFIN N1) = 4 MHz c) Select the Auxiliary PLL feedback divisor to generate the required VCO output frequency based on the PFD input frequency. AVCO = AFPLLI x M M = AVCO AFPLLI = Enable the Auxiliary PLL by setting the ENAPLL bit. Example 11-1 provides code for using the APLL with the Auxiliary Oscillator. Example 11-1: Code Example for Using the APLL with the Auxiliary Oscillator // Configure APLL prescaler, APLL postscaler, APLL divisor ACLKCON3bits.ASRCSEL = 0; // Select Auxiliary Oscillator as the clock source ACLKCON3bits.FRCSEL = 0; // Select Auxiliary Oscillator as the clock source ACLKCON3bits.SELACLK = 1; // Select Auxiliary PLL or oscillators to provide // the source clock for auxiliary clock divider ACLKDIV3bits.APLLDIV = 0b111; // M = 24 ACLKCON3bits.APLLPRE = 0b001; // N1 = 2 ACLKCON3bits.APLLPOST = 0b111; // N2 = 2 ACLKCON3bits.ENAPLL = 1; // Enable Auxiliary Clock 2013 Microchip Technology Inc. DS A-page 35
36 dspic33/pic24 Family Reference Manual SETUP FOR USING APLL WITH PRIMARY OSCILLATOR USING AN 8 MHz CRYSTAL 1. Set the ASRCSEL bit to choose the Primary Oscillator as the clock source for the APLL. 2. Clear the FRCSEL bit to choose the Primary Oscillator as the clock source for the APLL. 3. Set the SELACLK bit to choose the Auxiliary PLL or oscillators to provide the clock source for the Auxiliary Clock divider. 4. Follow these steps to configure the APLL Phase Detector Input Divider bits (APLLPRE<2:0>), the Auxiliary PLL Feedback Divisor bits (APLLDIV<2:0>) and the APLL VCO Output Divider bits (APLLPOST<2:0>) to set up the APLL for a 48 MHz ACLK (used by the USB module) using an 8 MHz Auxiliary Oscillator: a) Select the APLL VCO output divider to meet the AVCO output frequency requirement (60 MHz < AVCO < 120 MHz). Select an APLL VCO output divider ratio of N2 = 2 Ensure that AVCO = (ACLK x N2) = 96 MHz b) Select the APLL phase detector input divider to meet the APFD input frequency requirement (3 MHz < AFPLLI < 5.5 MHz). Select an APLL phase detector input divider ratio of N1 = 2 Ensure that AVCO = (AFIN N1) = 4 MHz c) Select the Auxiliary PLL feedback divisor to generate the required VCO output frequency based on the PFD input frequency. AVCO = AFPLLI x M M = AVCO AFPLLI = Enable the Auxiliary PLL by setting the ENAPLL bit. Example 11-2 provides code for using the APLL with the Primary Oscillator. Example 11-2: Code Example for Using the APLL with the Primary Oscillator // Configure APLL prescaler, APLL postscaler, APLL divisor ACLKCON3bits.ASRCSEL = 1; // Select Primary Oscillator as the clock source ACLKCON3bits.FRCSEL = 0; // Select Primary Oscillator as the clock source ACLKCON3bits.SELACLK = 1; // Select Auxiliary PLL or oscillators to provide // the source clock for auxiliary clock divider ACLKDIV3bits.APLLDIV = 0b111; // M = 24 ACLKCON3bits.APLLPRE = 0b001; // N1 = 2 ACLKCON3bits.APLLPOST = 0b111; // N2 = 2 ACLKCON3bits.ENAPLL = 1; // Enable Auxiliary Clock DS A-page Microchip Technology Inc.
37 Oscillator Module 12.0 AUXILIARY PLL (x16) Note: This feature is not available on all devices. Refer to the Oscillator Configuration chapter in the specific device data sheet for availability. The Auxiliary PLL can be used to provide a high-speed clock to peripherals, such as the PWM and the ADC. The ACLKCON register selects the reference clock and output dividers for obtaining the necessary Auxiliary Clock for the PWM and ADC modules. The Auxiliary Clock for the PWM and ADC can be either the: Internal FRC Oscillator (7.37 MHz nominal) Primary Oscillator Internal FRC Oscillator with PLL Primary Oscillator with PLL Auxiliary PLL 12.1 Enabling the Auxiliary PLL To enable the Auxiliary PLL, the following steps must be performed: 1. Select the reference clock for the Auxiliary PLL by setting the ASRCSEL bit (ACLKCON<7>) for the POSC or by setting the FRCSEL bit (ACLKCON<6>) for the Internal FRC Oscillator. 2. Enable the Auxiliary PLL by setting the ENAPLL bit (ACLKCON<15>). 3. Select the clock source for the Auxiliary Clock output divider by setting the SELACLK bit (ACLKCON<13>). 4. Select the appropriate clock divider by setting the APSTSCLR<2:0> bits (ACLKCON<10:8>). 5. Ensure that the Auxiliary PLL has locked and is ready for operation. This is done by polling the APLLCK bit (ACLKCON<14>). Example 12-1 illustrates a code example to set up the Auxiliary PLL for 120 MHz, using the Internal FRC Oscillator as a clock reference. Example 12-1: Enabling the Auxiliary PLL ACLKCONbits.FRCSEL = 1; /* Internal FRC is clock source for auxiliary PLL */ ACLKCONbits.ENAPLL = 1; /* APLL is enabled */ ACLKCONbits.SELACLK = 1; /* Auxiliary PLL provides the source clock for the */ /* clock divider */ ACLKCONbits.APSTSCLR = 7; /* Auxiliary Clock Output Divider is Divide-by-1 */ while(aclkconbits.apllck!= 1){}; /* Wait for Auxiliary PLL to Lock */ /* With 7.37 MHz FRC input selection, the Auxiliary Clock output will be 16x7.37 MHz = 118 MHz. */ Note 1: If the Primary PLL is used as a source for the Auxiliary Clock, then the Primary PLL should be configured to a maximum operation of up to 30 MIPS or less. 2: To achieve 1.04 ns PWM resolution, the Auxiliary Clock must use the x16 Auxiliary PLL and be set up for 120 MHz. All other clock sources will have a minimum PWM resolution of 8 ns. 3: By using various combinations of clock inputs and PLL settings, it is possible to configure the oscillator out of specification. The user-assigned software must ensure that the Auxiliary Clock is configured to be within the electrical specification range of 112 MHz to 120 MHz Microchip Technology Inc. DS A-page 37
38 dspic33/pic24 Family Reference Manual 12.2 Auxiliary Clock Divider The Auxiliary Clock Output Divider bits (APSTSCLR<2:0>) in the Auxiliary Clock Control register (ACLKCON<10:8>) divide the Auxiliary Clock, which allow a lower frequency to be chosen. These bits allow for eight postscaler settings, from 1:1 to 1:256, as shown in Table The Auxiliary Clock postscaler must be configured to divide-by-1 (APSTSCLR<2:0> = 111) for proper operation of the PWM module. Table 12-1: Auxiliary Clock Output Divider Settings APSTSCLR<2:0> Bit Value Auxiliary Oscillator Setting 111 Divide-by-1 (default setting) 110 Divide-by Divide-by Divide-by Divide-by Divide-by Divide-by Divide-by-256 DS A-page Microchip Technology Inc.
39 Oscillator Module 13.0 FAIL-SAFE CLOCK MONITOR (FSCM) The Fail-Safe Clock Monitor (FSCM) allows the device to continue to operate in the event of an oscillator failure. The FSCM function is enabled by programming the Clock Switching Mode Configuration bits (FCKSM<1:0>) in the Oscillator Configuration register (FOSC<7:6>) at the time of device programming. When FSCM is enabled (FCKSM<1:0> = 00), the LPRC Internal Oscillator will run at all times (except during Sleep mode). The FSCM monitors the system clock. If it does not detect a system clock within a specific period of time (typically 2 ms, maximum 4 ms), it generates a clock failure trap and switches the system clock to the FRC Oscillator. The user-assigned application has the option to either attempt to restart the oscillator or execute a controlled shutdown. Note: When the device is in Sleep mode, if the clock fails, the FSCM does not wake-up the device. The FSCM module takes the following actions when it switches to the FRC Oscillator: The Current Oscillator Selection bits, COSC<2:0> (OSCCON<14:12>), are loaded with 000 (Internal FRC). The Clock Fail (CF) detect bit (OSCCON<3>) is set to indicate the clock failure. The Oscillator Switch Enable (OSWEN) control bit (OSCCON<0>) is cleared to cancel any pending clock switches FSCM Delay The FSCM monitors the system clock for activity after the system clock is ready and the nominal delay (TFSCM) has elapsed. The FSCM delay (TFSCM) is applied when the FSCM is enabled and the Primary or Secondary Oscillator is selected as the system clock. For more information, refer to the dspic33e/pic24e Family Reference Manual, Reset (DS70602). For recent documentation, visit the Microchip web site at Note: Refer to the Electrical Characteristics section of the specific device data sheet for TFSCM values FSCM and WDT The FSCM and WDT use the LPRC Oscillator as their time base. In the event of a clock failure, the WDT is unaffected and continues to run on the LPRC Microchip Technology Inc. DS A-page 39
40 dspic33/pic24 Family Reference Manual 14.0 CLOCK SWITCHING Clock switching can be initiated as a result of a hardware event or a software request. A typical scenario includes: Two-Speed Start-up sequence upon Power-on Reset, which initially uses the Internal FRC Oscillator for quick start-up and then automatically switches to the selected clock source when the clock is ready. Fail-Safe Clock Monitor automatically switches to the Internal FRC Oscillator on a clock failure. User-assigned application software requests clock switching by setting the OSWEN bit (OSCCON<0>), causing the hardware to switch to the clock source selected by the NOSC<2:0> bits (OSCCON<10:8>) when the clock is ready. In each of these cases, the clock switch event assures that the proper make-before-break sequence is executed. That is, the new clock source is ready before the old clock is deactivated and code continues to execute as clock switching occurs. dspic33/pic24 family devices feature the Phase-Locked Loop Enable (PLLKEN) bit in the Oscillator Configuration register (FOSC<8>). Setting this bit will cause the device to wait until the PLL locks before switching to the PLL clock source. When this bit is set to 0, the device will not wait for the PLL lock and will proceed with the clock switch. The default setting for this bit is 1. With few limitations, applications are free to switch between any of the four clock sources (POSC, SOSC, FRC and LPRC), under software control, at any time. To limit the possible side effects that could result from this flexibility, dspic33/pic24 family devices have a safeguard lock built into the switch process. That is, the OSCCON register is write-protected during clock switching Enabling Clock Switching The Clock Switching Mode Configuration bits (FCKSM<1:0>) in the Oscillator Configuration register (FOSC<7:6>) must be programmed to enable clock switching and the Fail-Safe Clock Monitor (see Table 14-1). Table 14-1: Configurable Clock Switching Modes FCKSM<1:0> Values Clock Switching Configuration FSCM Configuration 1x Disabled Disabled 01 Enabled Disabled 00 Enabled Enabled The first bit determines if clock switching is enabled ( 0 ) or disabled ( 1 ). The second bit determines if the FSCM is enabled ( 0 ) or disabled ( 1 ). FSCM can only be enabled if clock switching is also enabled. If clock switching is disabled ( 1 ), the value of the second bit is irrelevant Clock Switch Sequence The recommended process for a clock switch is as follows: 1. Read the COSC<2:0> bits (OSCCON<14:12>) to determine the current oscillator source (if this information is relevant to the application). 2. Execute the unlock sequence to allow a write to the high byte of the OSCCON register. 3. Write the appropriate value to the NOSC<2:0> control bits (OSCCON<10:8>) for the new oscillator source. 4. Execute the unlock sequence to allow a write to the low byte of the OSCCON register. 5. Set the OSWEN bit (OSCCON<0>) to initiate the oscillator switch. DS A-page Microchip Technology Inc.
41 Oscillator Module After the previous steps are completed, the clock switch logic performs the following tasks: 1. The clock switching hardware compares the COSC<2:0> status bits (OSCCON<14:12>) with the new value of the NOSC<2:0> control bits (OSCCON<10:8>). If they are the same, the clock switch is a redundant operation. In this case, the OSWEN bit (OSCCON<0>) is cleared automatically and the clock switch is aborted. 2. If a valid clock switch has been initiated, the PLL LOCK (OSCCON<5>) and CF (OSCCON<3>) status bits are cleared. 3. The new oscillator is turned on by the hardware (if it is not running). If a crystal oscillator (the POSC or SOSC) must be turned on, the hardware waits for TOSCD until the crystal starts oscillating and TOST expires. If the new source uses the PLL, the hardware waits until a PLL lock is detected (OSCCON<5> = 1). 4. The hardware waits for the new clock source to stabilize and then performs the clock switch. 5. The hardware clears the OSWEN bit (OSCCON<0>) to indicate a successful clock transition. In addition, the NOSC<2:0> bit (OSCCON<10:8>) values are transferred to the COSC<2:0> status bits (OSCCON<14:12>). 6. The old clock source is turned off at this time, with the exception of LPRC (if WDT or FSCM is enabled) or SOSC (if SOSCEN remains set). The timing of the transition between clock sources is illustrated in Figure Note 1: Clock switching between the XT, HS and EC Primary Oscillator modes is not possible without reprogramming the device. 2: Direct clock switching between PLL modes is not possible. For example, clock switching should not occur between the Primary Oscillator with PLL and the Internal FRC oscillator with PLL. 3: Setting the CLKLOCK bit (OSCCON<7>) prevents clock switching when clock switching is enabled and Fail-Safe Clock Monitoring is disabled by Configuration bits, FCKSM<1:0> (FOSC<7:6>) = 01. The CLKLOCK bit cannot be cleared after it is set by the software; it clears on a Power-on Reset. 4: The processor continues to execute code throughout the clock switching sequence. Timing-sensitive code should not be executed during this time. 5: The clock switch will not wait for the PLL lock if the PLLKEN bit in the Oscillator Configuration register (FOSC<8>) is set to 0. Figure 14-1: Clock Transition Timing Diagram New Source Enabled New Source Stable Old Source Disabled Old Clock Source New Clock Source System Clock OSWEN Both Oscillators Active Note: The system clock can be any selected source Primary, FRC or LPRC Microchip Technology Inc. DS A-page 41
42 dspic33/pic24 Family Reference Manual The following steps are the recommended code sequence for a clock switch: 1. Disable interrupts during the OSCCON register unlock and write sequence. 2. Execute the unlock sequence for the OSCCON high byte. In two, back-to-back instructions: Write 0x78 to OSCCON<15:8> Write 0x9A to OSCCON<15:8> 3. In the instruction immediately following the unlock sequence, write the new oscillator source to the NOSC<2:0> control bits (OSCCON<10:8>). 4. Execute the unlock sequence for the OSCCON low byte. In two, back-to-back instructions: Write 0x46 to OSCCON<7:0> Write 0x57 to OSCCON<7:0> 5. In the instruction immediately following the unlock sequence, set the OSWEN bit (OSCCON<0>). 6. Continue to execute code that is not clock-sensitive (optional). 7. Check to see if the OSWEN bit (OSCCON<0>) is 0. If it is, the switch was successful. Note: MPLAB C30 provides built-in C language functions for unlocking the OSCCON register: builtin_write_oscconh(value) builtin_write_oscconl(osccon value) For more information, see the MPLAB IDE Help file. Example 14-1 illustrates the code sequence for unlocking the OSCCON register and switching from FRC with the PLL clock to the LPRC clock source. Example 14-1: Code Example for Clock Switching ;Place the New Oscillator Selection (NOSC=0b101) in W0 MOV #0x5,WREG ;OSCCONH (high byte) Unlock Sequence MOV #OSCCONH, w1 MOV #0x78, w2 MOV #0x9A, w3 MOV.B w2, [w1] ; Write 0x78 MOV.B w3, [w1] ; Write 0x9A ;Set New Oscillator Selection MOV.B w0, [w1] ; Place 0x01 in W0 for setting clock switch enabled bit MOV #0x01, w0 ;OSCCONL (low byte) Unlock Sequence MOV #OSCCONL, w1 MOV #0x46, w2 MOV #0x57, w3 MOV.B w2, [w1] ; Write 0x46 MOV.B w3, [w1] ; Write 0x57 ; Enable Clock Switch BSET OSCON, #0; Request Clock Switching by Setting OSWEN bit wait: btsc bra OSCCONL, #OSWEN wait DS A-page Microchip Technology Inc.
43 Oscillator Module 14.3 Clock Switching Consideration When you incorporate clock switching into an application, consider these points when designing the code: The OSCCON unlock sequence is extremely timing critical. The OSCCON register byte is only writable for one instruction cycle following the sequence. Some high-level languages, such as C, may not preserve the timing-sensitive sequence of instructions when compiled. When clock switching is required for an application written in a high-level language, it is good to create the routine in assembler and link it to the application, and then call it as a function when it is required. If the destination clock source is a crystal oscillator, the clock switch time will be dominated by the oscillator start-up time. If the new clock source does not start or is not present, the clock switching hardware will continue to run from the current clock source. User-assigned software can detect this situation because the OSWEN bit (OSCCON<0>) remains set indefinitely. If the new clock source uses the PLL, a clock switch will not occur until the lock has been achieved. User-assigned software can detect a loss of PLL lock because the LOCK bit (OSCCON<5>) is cleared and the OSWEN bit (OSCCON<0>) is set. Switching to a low-frequency clock source, like the Secondary Oscillator, will result in slow device operation Aborting a Clock Switch If a clock switch does not complete, the clock switch logic can be reset by clearing the OSWEN bit (OSCCON<0>). When OSWEN is cleared, the clock switch process is aborted, the Oscillator Start-up Timer (if applicable) is stopped and reset, and the PLL (if applicable) is stopped. Typical assembly code for aborting a clock switch is shown in Example A clock switch procedure can be aborted at any time. A clock switch that is already in progress can also be aborted by performing a second clock switch. Example 14-2: Aborting a Clock Switch MOV #OSCCON,W1 ; pointer to OSCCON MOV.b #0x46,W2 ; first unlock code MOV.b #0x57,W3 ; second unlock code MOV.b W2, [W1] ; write first unlock code MOV.b W3, [W1] ; write second unlock code BCLR OSCCON,#OSWEN ; ABORT the switch 14.5 Entering Sleep Mode During a Clock Switch If the device enters Sleep mode during a clock switch operation, the clock switch operation is aborted. The processor keeps the old clock selection and the OSWEN bit is cleared. The PWRSAV instruction is then executed normally. It is useful to perform a clock switch to the Internal FRC Oscillator before entering Sleep mode, as this will ensure fast wake-up from Sleep mode Microchip Technology Inc. DS A-page 43
44 dspic33/pic24 Family Reference Manual 15.0 TWO-SPEED START-UP The Internal External Start-up Option Configuration bit (IESO) in the Oscillator Source Selection register (FOSCSEL<7>) specifies whether to start the device with a user-selected oscillator source or to initially start with the Internal FRC, and then switch to the user-selected oscillator. If this bit is set to 1, the device will always power up on the Internal FRC Oscillator, regardless of the other oscillator source settings (FOSCSEL<2:0>). Then, the device switches to the specified oscillator when it is ready. Unless FSCM is enabled, the FRC Oscillator is turned off immediately after the clock switch is completed. The Two-Speed Start-up option is a faster way to get the device up and running, and works independently from the state of the Clock Switching Mode Configuration bits, FCKSM<1:0> (FOSC<7:6>). Two-Speed Start-up is useful when an external oscillator is selected by the FNOSC<2:0> Configuration bits (FOSCSEL<2:0>) and a crystal-based oscillator (Primary Oscillator) has a longer start-up time. As an Internal RC Oscillator, the FRC clock source is available immediately following a Power-on Reset. With Two-Speed Start-up, the device starts executing code in its default oscillator configuration (FRC). It continues to operate in this mode until the specified external oscillator source becomes stable, at which time, it switches to that source. User code can check which clock source is currently providing the device clocking by checking the status of the COSC<2:0> bits (OSCCON<14:12>) against the NOSC<2:0> bits (OSCCON<10:8>). If these two sets of bits match, the clock switch has completed successfully and the device is running from the intended clock source. Note: 16.0 REFERENCE CLOCK OUTPUT The reference clock output provides a clock signal to any remappable pin (RPn). The reference clock can be either the Primary Oscillator or the system clock. The ROSEL bit (REFOCON<12>) in the Reference Oscillator Control register selects between the external oscillator and the system clock. Figure 1-1 shows a block diagram for the reference clock. See the REFOCON register (Register 4-5) for the bits associated with the reference clock output. Refer to the specific device data sheet for more information on peripheral remapping LINEAR FEEDBACK SHIFT REGISTER Two-Speed Start-up is redundant if the selected device clock source is FRC. Some devices incorporate a Linear Feedback Shift Register (LFSR) which is composed of a 15-bit shift register, providing pseudorandom data with unique values for use by the user via software. The pseudorandom number generator is incremented on every PWM cycle. DS A-page Microchip Technology Inc.
45 2013 Microchip Technology Inc. DS A-page REGISTER MAPS Table 18-1 maps the bit functions for the Oscillator Special Function Control registers. Table 18-2 maps the bit functions for the Oscillator Configuration registers. Table 18-1: Oscillator Special Function Control Registers File Name Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 OSCCON COSC2 COSC1 COSC0 NOSC2 NOSC1 NOSC0 CLKLOCK IOLOCK LOCK CF LPOSCEN OSWEN 7700 (1) CLKDIV ROI DOZE2 DOZE1 DOZE0 DOZEN FRCDIV2 FRCDIV1 FRCDIV0 PLLPOST1 PLLPOST0 PLLPRE4 PLLPRE3 PLLPRE2 PLLPRE1 PLLPRE PLLFBD PLLDIV8 PLLDIV7 PLLDIV6 PLLDIV5 PLLDIV4 PLLDIV3 PLLDIV2 PLLDIV1 PLLDIV OSCTUN TUN5 TUN4 TUN3 TUN2 TUN1 TUN REFOCON ROON ROSSLP ROSEL RODIV3 RODIV2 RODIV1 RODIV ACLKCON1 ENAPLL APLLCK SELACLK APSTSCLR2 APSTSCLR1 APSTSCLR0 ASRCSEL FRCSEL 2740 ACLKCON3 ENAPLL SELACLK AOSCMD1 AOSCMD0 ASRCSEL FRCSEL APLLPOST2 APLLPOST1 APLLPOST0 APLLPRE2 APLLPRE1 APLLPRE ACLKDIV3 APLLDIV2 APLLDIV1 APLLDIV LFSR LFSR14 LFSR13 LFSR12 LFSR11 LFSR10 LFSR9 LFSR8 LFSR7 LFSR6 LFSR5 LFSR4 LFSR3 LFSR2 LFSR1 LFSR Legend: = unimplemented, read as 0. Reset values are shown in hexadecimal. Note 1: The OSCCON register Reset values are dependent on the FOSCSEL Configuration bits and by the type of Reset. Table 18-2: Oscillator Configuration Registers File Name Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 All Resets FOSCSEL IESO FNOSC2 FNOSC1 FNOSC FOSC PLLKEN FCKSM1 FCKSM0 IOL1WAY OSCIOFNC POSCMD1 POSCMD Legend: = unimplemented, read as 0. Reset values are shown in hexadecimal. All Resets Oscillator Module
46 dspic33/pic24 Family Reference Manual 19.0 RELATED APPLICATION NOTES This section lists application notes that pertain to this section of the manual. These application notes may not be written specifically for the dspic33/pic24 Product Family, but the concepts are pertinent and could be used with modification and possible limitations. The current application notes related to the Oscillator Module include: Title Application Note # PICmicro Microcontroller Oscillator Design Guide AN588 Low-Power Design Using PICmicro Microcontrollers AN606 Crystal Oscillator Basics and Crystal Selection for rfpic and PICmicro Devices AN826 Note: Please visit the Microchip web site ( for additional application notes and code examples for the dspic33/pic24 family of devices. DS A-page Microchip Technology Inc.
47 Oscillator Module 20.0 REVISION HISTORY Revision A (August 2013) This is the initial released revision of this document Microchip Technology Inc. DS A-page 47
48 dspic33/pic24 Family Reference Manual NOTES: DS A-page Microchip Technology Inc.
49 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 Microchip s Data Sheets. Most likely, the person doing so is engaged in theft of intellectual property. Microchip is willing to work with the customer who is concerned about the integrity of their code. Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not mean that we are guaranteeing the product as unbreakable. Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our products. Attempts to break Microchip s code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act. Information contained in this publication regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer s risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights. QUALITY MANAGEMENT SYSTEM CERTIFIED BY DNV == ISO/TS == Trademarks The Microchip name and logo, the Microchip logo, dspic, FlashFlex, KEELOQ, KEELOQ logo, MPLAB, PIC, PICmicro, PICSTART, PIC 32 logo, rfpic, SST, SST Logo, SuperFlash and UNI/O are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. FilterLab, Hampshire, HI-TECH C, Linear Active Thermistor, MTP, SEEVAL and The Embedded Control Solutions Company are registered trademarks of Microchip Technology Incorporated in the U.S.A. Silicon Storage Technology is a registered trademark of Microchip Technology Inc. in other countries. Analog-for-the-Digital Age, Application Maestro, BodyCom, chipkit, chipkit logo, CodeGuard, dspicdem, dspicdem.net, dspicworks, dsspeak, ECAN, ECONOMONITOR, FanSense, HI-TIDE, In-Circuit Serial Programming, ICSP, Mindi, MiWi, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, mtouch, Omniscient Code Generation, PICC, PICC-18, PICDEM, PICDEM.net, PICkit, PICtail, REAL ICE, rflab, Select Mode, SQI, Serial Quad I/O, Total Endurance, TSHARC, UniWinDriver, WiperLock, ZENA and Z-Scale 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. GestIC and ULPP are registered trademarks of Microchip Technology Germany II GmbH & Co. KG, a subsidiary of Microchip Technology Inc., in other countries. All other trademarks mentioned herein are property of their respective companies. 2013, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved. Printed on recycled paper. ISBN: Microchip received ISO/TS-16949:2009 certification for its worldwide headquarters, design and wafer fabrication facilities in Chandler and Tempe, Arizona; Gresham, Oregon and design centers in California and India. The Company s quality system processes and procedures are for its PIC MCUs and dspic DSCs, KEELOQ code hopping devices, Serial EEPROMs, microperipherals, nonvolatile memory and analog products. In addition, Microchip s quality system for the design and manufacture of development systems is ISO 9001:2000 certified Microchip Technology Inc. DS A-page 49
50 Worldwide Sales and Service AMERICAS Corporate Office 2355 West Chandler Blvd. Chandler, AZ Tel: Fax: Technical Support: support Web Address: Atlanta Duluth, GA Tel: Fax: Boston Westborough, MA Tel: Fax: Chicago Itasca, IL Tel: Fax: Cleveland Independence, OH Tel: Fax: Dallas Addison, TX Tel: Fax: Detroit Farmington Hills, MI Tel: Fax: Indianapolis Noblesville, IN Tel: Fax: Los Angeles Mission Viejo, CA Tel: Fax: Santa Clara Santa Clara, CA Tel: Fax: Toronto Mississauga, Ontario, Canada Tel: Fax: ASIA/PACIFIC Asia Pacific Office Suites , 37th Floor Tower 6, The Gateway Harbour City, Kowloon Hong Kong Tel: Fax: Australia - Sydney Tel: Fax: China - Beijing Tel: Fax: China - Chengdu Tel: Fax: China - Chongqing Tel: Fax: China - Hangzhou Tel: Fax: China - Hong Kong SAR Tel: Fax: China - Nanjing Tel: Fax: China - Qingdao Tel: Fax: China - Shanghai Tel: Fax: China - Shenyang Tel: Fax: China - Shenzhen Tel: Fax: China - Wuhan Tel: Fax: China - Xian Tel: Fax: China - Xiamen Tel: Fax: ASIA/PACIFIC India - Bangalore Tel: Fax: India - New Delhi Tel: Fax: India - Pune Tel: Fax: Japan - Osaka Tel: Fax: Japan - Tokyo Tel: Fax: Korea - Daegu Tel: Fax: Korea - Seoul Tel: Fax: or Malaysia - Kuala Lumpur Tel: Fax: Malaysia - Penang Tel: Fax: Philippines - Manila Tel: Fax: Singapore Tel: Fax: Taiwan - Hsin Chu Tel: Fax: Taiwan - Kaohsiung Tel: Fax: Taiwan - Taipei Tel: Fax: Thailand - Bangkok Tel: Fax: EUROPE Austria - Wels Tel: Fax: Denmark - Copenhagen Tel: Fax: France - Paris Tel: Fax: Germany - Munich Tel: Fax: Italy - Milan Tel: Fax: Netherlands - Drunen Tel: Fax: Spain - Madrid Tel: Fax: UK - Wokingham Tel: Fax: China - Zhuhai Tel: Fax: /29/12 DS A-page Microchip Technology Inc.
Section 7. Oscillator
HIGHLIGHTS Section 7. This section of the manual contains the following topics: 7 7.1 Introduction... 7-2 7.2 CPU Clocking...7-4 7.3 Configuration Registers... 7-5 7.4 Special Function Registers... 7-8
Introduction to the dspic DSC SMPS (Part 1)
Introduction to the dspic DSC SMPS (Part 1) 2008 Microchip Technology Incorporated. All Rights Reserved. Introduction to dspic DSC SMPS Slide 1 Welcome to part 1 of the Introduction to the dspic DSC SMPS
Hello, and welcome to this presentation of the STM32L4 reset and clock controller.
Hello, and welcome to this presentation of the STM32L4 reset and clock controller. 1 The STM32L4 reset and clock controller manages system and peripheral clocks. STM32L4 devices embed three internal oscillators,
Section 14. Compare/Capture/PWM (CCP)
M Section 14. Compare/Capture/PWM (CCP) HIGHLIGHTS This section of the manual contains the following major topics: 14.1 Introduction...14-2 14.2 Control Register...14-3 14.3 Capture Mode...14-4 14.4 Compare
Section 21. 8-bit A/D Converter
M Section 21. Converter HIGHLIGHTS 21 Convertor This section of the manual contains the following major topics: 21.1 Introduction...21-2 21.2 Control Registers...21-3 21.3 Operation...21-5 21.4 A/D Acquisition
Chapter 6 PLL and Clock Generator
Chapter 6 PLL and Clock Generator The DSP56300 core features a Phase Locked Loop (PLL) clock generator in its central processing module. The PLL allows the processor to operate at a high internal clock
Section 29. Real-Time Clock and Calendar (RTCC)
Section 29. Real-Time Clock and Calendar (RTCC) HIGHLIGHTS This section of the manual contains the following topics: 29.1 Introduction... 29-2 29.2 Status and Control Registers... 29-3 29.3 Modes of Operation...
Section 23. 10-bit A/D Converter
M Section 23. A/D Converter HIGHLIGHTS This section of the manual contains the following major topics: 23.1 Introduction...23-2 23.2 Control Register...23-3 23.3 Operation...23-5 23.4 A/D Acquisition Requirements...23-6
AVR1003: Using the XMEGA Clock System. 8-bit Microcontrollers. Application Note. Features. 1 Introduction
AVR1003: Using the XMEGA Clock System Features Internal 32 khz, 2 MHz, and 32 MHz oscillators External crystal oscillator or clock input Internal PLL with multiplication factor 1x to 31x Safe clock source
Real-Time Clock. * Real-Time Computing, edited by Duncan A. Mellichamp, Van Nostrand Reinhold
REAL-TIME CLOCK Real-Time Clock The device is not a clock! It does not tell time! It has nothing to do with actual or real-time! The Real-Time Clock is no more than an interval timer connected to the computer
Section 19. Voltage Reference
M Section 19. Voltage Reference HIGHLIGHTS This section of the manual contains the following major topics: 19.1 Introduction...19-2 19.2 Control Register...19-3 19.3 Configuring the Voltage Reference...19-4
Hello and welcome to this training module for the STM32L4 Liquid Crystal Display (LCD) controller. This controller can be used in a wide range of
Hello and welcome to this training module for the STM32L4 Liquid Crystal Display (LCD) controller. This controller can be used in a wide range of applications such as home appliances, medical, automotive,
PAC52XX Clock Control Firmware Design
APPLICATION NOTE PAC52XX Clock Control Firmware Design TM Marc Sousa Senior Manager, Systems and Firmware www.active-semi.com Copyright 2014 Active-Semi, Inc. TABLE OF CONTENTS APPLICATION NOTE... 1 Table
AN1416. Low-Power Design Guide INTRODUCTION LOW-POWER BASICS. Main Sources of Power Consumption DYNAMIC POWER
Low-Power Design Guide Authors: INTRODUCTION Brant Ivey Microchip Technology Inc. Low-power applications represent a significant portion of the future market for embedded systems. Every year, more designers
Chapter 13. PIC Family Microcontroller
Chapter 13 PIC Family Microcontroller Lesson 01 PIC Characteristics and Examples PIC microcontroller characteristics Power-on reset Brown out reset Simplified instruction set High speed execution Up to
8-Bit Flash Microcontroller for Smart Cards. AT89SCXXXXA Summary. Features. Description. Complete datasheet available under NDA
Features Compatible with MCS-51 products On-chip Flash Program Memory Endurance: 1,000 Write/Erase Cycles On-chip EEPROM Data Memory Endurance: 100,000 Write/Erase Cycles 512 x 8-bit RAM ISO 7816 I/O Port
Phase-Locked Loop Based Clock Generators
Phase-Locked Loop Based Clock Generators INTRODUCTION As system clock frequencies reach 100 MHz and beyond maintaining control over clock becomes very important In addition to generating the various clocks
Freescale Semiconductor, Inc. Product Brief Integrated Portable System Processor DragonBall ΤΜ
nc. Order this document by MC68328/D Microprocessor and Memory Technologies Group MC68328 MC68328V Product Brief Integrated Portable System Processor DragonBall ΤΜ As the portable consumer market grows
Section 27. Device Configuration Bits
M Section 27. Device Configuration Bits HIGHLIGHTS This section of the manual contains the following major topics: 27.1 Introduction...27-2 27.2 Configuration Word Bits...27-4 27.3 Program Verification/Code
PIC18F1230/1330 Data Sheet
Data Sheet 18/20/28-Pin, Enhanced Flash Microcontrollers with nanowatt Technology, High-Performance PWM and A/D 2006 Microchip Technology Inc. Advance Information DS39758B te the following details of the
Lab Experiment 1: The LPC 2148 Education Board
Lab Experiment 1: The LPC 2148 Education Board 1 Introduction The aim of this course ECE 425L is to help you understand and utilize the functionalities of ARM7TDMI LPC2148 microcontroller. To do that,
8-bit Microcontroller. Application Note. AVR134: Real-Time Clock (RTC) using the Asynchronous Timer. Features. Theory of Operation.
AVR134: Real-Time Clock (RTC) using the Asynchronous Timer Features Real-Time Clock with Very Low Power Consumption (4µA @ 3.3V) Very Low Cost Solution Adjustable Prescaler to Adjust Precision Counts Time,
PLL frequency synthesizer
ANALOG & TELECOMMUNICATION ELECTRONICS LABORATORY EXERCISE 4 Lab 4: PLL frequency synthesizer 1.1 Goal The goals of this lab exercise are: - Verify the behavior of a and of a complete PLL - Find capture
Atmel Norway 2005. XMEGA Introduction
Atmel Norway 005 XMEGA Introduction XMEGA XMEGA targets Leadership on Peripheral Performance Leadership in Low Power Consumption Extending AVR market reach XMEGA AVR family 44-100 pin packages 16K 51K
PIC18F1220/1320 Data Sheet
Data Sheet 18/20/28-Pin High-Performance, Enhanced Flash Microcontrollers with 10-Bit A/D and nanowatt Technology 2007 Microchip Technology Inc. DS39605F te the following details of the code protection
PIC18F2450/4450 Data Sheet
Data Sheet 28/40/44-Pin, High-Performance, 12 MIPS, Enhanced Flash, USB Microcontrollers with nanowatt Technology 2006 Microchip Technology Inc. Advance Information DS39760A te the following details of
PowerPC Microprocessor Clock Modes
nc. Freescale Semiconductor AN1269 (Freescale Order Number) 1/96 Application Note PowerPC Microprocessor Clock Modes The PowerPC microprocessors offer customers numerous clocking options. An internal phase-lock
Spread-Spectrum Crystal Multiplier DS1080L. Features
Rev 1; 3/0 Spread-Spectrum Crystal Multiplier General Description The is a low-jitter, crystal-based clock generator with an integrated phase-locked loop (PLL) to generate spread-spectrum clock outputs
ET-BASE AVR ATmega64/128
ET-BASE AVR ATmega64/128 ET-BASE AVR ATmega64/128 which is a Board Microcontroller AVR family from ATMEL uses MCU No.ATmega64 and ATmega128 64PIN. Board ET-BASE AVR ATmega64/128 uses MCU s resources on
ICS514 LOCO PLL CLOCK GENERATOR. Description. Features. Block Diagram DATASHEET
DATASHEET ICS514 Description The ICS514 LOCO TM is the most cost effective way to generate a high-quality, high-frequency clock output from a 14.31818 MHz crystal or clock input. The name LOCO stands for
A PIC16F628 controlled FLL (Frequency Locked Loop) VFO for HF
Abstract A PI6F628 controlled FLL (Frequency Locked Loop) VFO for HF It is described a device which joins in a single microprocessor a digital programmable frequency meter and a control logic capable to
APPLICATION NOTE. Atmel AVR134: Real Time Clock (RTC) Using the Asynchronous Timer. Atmel AVR 8-bit Microcontroller. Introduction.
APPLICATION NOTE Atmel AVR134: Real Time Clock (RTC) Using the Asynchronous Timer Introduction Atmel AVR 8-bit Microcontroller This application note describes how to implement a real time counter (RTC)
A Lesson on Digital Clocks, One Shots and Counters
A Lesson on Digital Clocks, One Shots and Counters Topics Clocks & Oscillators LM 555 Timer IC Crystal Oscillators Selection of Variable Resistors Schmitt Gates Power-On Reset Circuits One Shots Counters
A Lesson on Digital Clocks, One Shots and Counters
A Lesson on Digital Clocks, One Shots and Counters Topics Clocks & Oscillators LM 555 Timer IC Crystal Oscillators Selection of Variable Resistors Schmitt Gates Power-On Reset Circuits One Shots Counters
CERAMIC RESONATOR PRINCIPLES
CERAMIC RESONATOR PRINCIPLES Principles of Operation for Ceramic Resonators Equivalent Circuit Constants: Fig.1.2 shows the symbol for a ceramic resonator. The impedance and phase characteristics measured
dspic33e/pic24e dspic33e/pic24e Flash Programming Specification 1.0 DEVICE OVERVIEW 2.0 PROGRAMMING OVERVIEW OF THE dspic33e/pic24e
dspic33e/pic24e dspic33e/pic24e Flash Programming Specification 1.0 DEVICE OVERVIEW This document defines the programming specification for the dspic33e 16-bit Digital Signal Controller (DSC) and PIC24E
ICS379. Quad PLL with VCXO Quick Turn Clock. Description. Features. Block Diagram
Quad PLL with VCXO Quick Turn Clock Description The ICS379 QTClock TM generates up to 9 high quality, high frequency clock outputs including a reference from a low frequency pullable crystal. It is designed
Section 17. UART HIGHLIGHTS UART. This section of the manual contains the following major topics:
HIGHLIGHTS Section 17. UART This section of the manual contains the following major topics: 17 17.1 Introduction... 17-2 17.2 Control Registers... 17-4 17.3 UART Baud Rate Generator... 17-10 17.4 UART
PIC18F2455/2550/4455/4550 Data Sheet
Data Sheet 28/40/44-Pin, High Performance, Enhanced Flash, USB Microcontrollers with nanowatt Technology 2007 Microchip Technology Inc. DS39632D te the following details of the code protection feature
Timer A (0 and 1) and PWM EE3376
Timer A (0 and 1) and PWM EE3376 General Peripheral Programming Model Each peripheral has a range of addresses in the memory map peripheral has base address (i.e. 0x00A0) each register used in the peripheral
How To Program A Microcontroller Board (Eb064) With A Psp Microcontroller (B064-74) With An Ios 2.5V (Power) And A Ppt (Power Control) (Power Supply) (
dspic / PIC24 Multiprogrammer datasheet EB064-00 00-1 Contents 1. About this document... 2 2. General information... 3 3. Board layout... 4 4. Testing this product... 5 5. Circuit description... 6 Appendix
The MSP430x1xx Basic Clock System
Application Report SLAA81 - June 2 The MSP431 Basic Clock System Darren Staples and Torsten Brandes MSDS Controller MSP43 ABSTRACT The MSP43 family of microcontrollers offers designers a unique blend of
TRIPLE PLL FIELD PROG. SPREAD SPECTRUM CLOCK SYNTHESIZER. Features
DATASHEET ICS280 Description The ICS280 field programmable spread spectrum clock synthesizer generates up to four high-quality, high-frequency clock outputs including multiple reference clocks from a low-frequency
DS1307ZN. 64 x 8 Serial Real-Time Clock
DS137 64 x 8 Serial Real-Time Clock www.maxim-ic.com FEATURES Real-time clock (RTC) counts seconds, minutes, hours, date of the month, month, day of the week, and year with leap-year compensation valid
AVR131: Using the AVR s High-speed PWM. Introduction. Features. AVR 8-bit Microcontrollers APPLICATION NOTE
AVR 8-bit Microcontrollers AVR131: Using the AVR s High-speed PWM APPLICATION NOTE Introduction This application note is an introduction to the use of the high-speed Pulse Width Modulator (PWM) available
Abstract. Cycle Domain Simulator for Phase-Locked Loops
Abstract Cycle Domain Simulator for Phase-Locked Loops Norman James December 1999 As computers become faster and more complex, clock synthesis becomes critical. Due to the relatively slower bus clocks
AVR134: Real Time Clock (RTC) using the Asynchronous Timer. 8-bit Microcontrollers. Application Note. Features. 1 Introduction
AVR134: Real Time Clock (RTC) using the Asynchronous Timer Features Real Time Clock with Very Low Power Consumption (4 μa @ 3.3V) Very Low Cost Solution Adjustable Prescaler to Adjust Precision Counts
AN1229. Class B Safety Software Library for PIC MCUs and dspic DSCs OVERVIEW OF THE IEC 60730 STANDARD INTRODUCTION
Class B Safety Software Library for PIC MCUs and dspic DSCs AN1229 Authors: Veena Kudva & Adrian Aur Microchip Technology Inc. OVERVIEW OF THE IEC 60730 STANDARD INTRODUCTION This application note describes
Allows the user to protect against inadvertent write operations. Device select and address bytes are Acknowledged Data Bytes are not Acknowledged
Write Protect CAT24WCxxx I 2 C Serial EEPROMs. Allows the user to protect against inadvertent write operations. WP = V CC : Write Protected Device select and address bytes are Acknowledged Data Bytes are
Optimizing VCO PLL Evaluations & PLL Synthesizer Designs
Optimizing VCO PLL Evaluations & PLL Synthesizer Designs Today s mobile communications systems demand higher communication quality, higher data rates, higher operation, and more channels per unit bandwidth.
Application Note 58 Crystal Considerations for Dallas Real-Time Clocks
www.maxim-ic.com Application Note 58 Crystal Considerations for Dallas Real-Time Clocks OVERVIEW This application note describes crystal selection and layout techniques for connecting a 32,768Hz crystal
Tire pressure monitoring
Application Note AN601 Tire pressure monitoring 1 Purpose This document is intended to give hints on how to use the Intersema pressure sensors in a low cost tire pressure monitoring system (TPMS). 2 Introduction
Designing VM2 Application Boards
Designing VM2 Application Boards This document lists some things to consider when designing a custom application board for the VM2 embedded controller. It is intended to complement the VM2 Datasheet. A
GCLK (Generic Clock Management) PM (Power Management) SYSCTRL (Clock Source Control) The following devices can use this module:
APPLICATION NOTE AT03259: SAM System Clock Management Driver (SYSTEM CLOCK) ASF PROGRAMMERS MANUAL SAM System Clock Management Driver (SYSTEM CLOCK) This driver for Atmel SMART SAM devices provides an
Getting Started with PIC24F/PIC24H Programming and Interfacing in C
Getting Started with PIC24F/PIC24H Programming and Interfacing in C This series of short articles covers the basics of programming a PIC24FJ32GA002/PIC24H 16-bit microcontroller, using Microchip s free
M68EVB908QL4 Development Board for Motorola MC68HC908QL4
M68EVB908QL4 Development Board for Motorola MC68HC908QL4! Axiom Manufacturing 2813 Industrial Lane Garland, TX 75041 Email: [email protected] Web: http://www.axman.com! CONTENTS CAUTIONARY NOTES...3 TERMINOLOGY...3
AVR Timer/Counter. Prof Prabhat Ranjan DA-IICT, Gandhinagar
AVR Timer/Counter Prof Prabhat Ranjan DA-IICT, Gandhinagar 8-bit Timer/Counter0 with PWM Single Compare Unit Counter Clear Timer on Compare Match (Auto Reload) Glitch-free, Phase Correct Pulse Width Modulator
AVR1321: Using the Atmel AVR XMEGA 32-bit Real Time Counter and Battery Backup System. 8-bit Microcontrollers. Application Note.
AVR1321: Using the Atmel AVR XMEGA 32-bit Real Time Counter and Battery Backup System Features 32-bit Real Time Counter (RTC) - 32-bit counter - Selectable clock source 1.024kHz 1Hz - Long overflow time
STM32 F-2 series High-performance Cortex-M3 MCUs
STM32 F-2 series High-performance Cortex-M3 MCUs STMicroelectronics 32-bit microcontrollers, 120 MHz/150 DMIPS with ART Accelerator TM and advanced peripherals www.st.com/mcu STM32 F-2 series The STM32
Application Note AN_299. FT800_FT801_Internal_Clock _Trimming
AN_299 FT800_FT801_Internal_Clock _Trimming Issue Date: 2014-03-04 The FTDI FT800 and FT801 video controllers offer a low cost solution for embedded graphics requirements. In addition to the graphics,
RENESAS TECHNICAL UPDATE
RENESAS TECHNICAL UPDATE TN-RX*-A***A/E RENESAS TECHNICAL UPDATE 1753, Shimonumabe, Nakahara-ku, Kawasaki-shi, Kanagawa 211-8668 Japan Renesas Electronics Corporation Date: Apr. 1, 2013 Product Category
Simple PWM Boost Converter with I/O Disconnect Solves Malfunctions Caused when V OUT <V IN
Simple PWM Boost Converter with I/O Disconnect Solves Malfunctions Caused when V OUT
The FT6x06 series ICs include FT6206 /FT6306, the difference of their specifications will be listed individually in this datasheet.
FT6x06 Self-Capacitive Touch Panel Controller INTRODUCTION The FT6x06 Series ICs are single-chip capacitive touch panel controller ICs with a built-in 8 bit enhanced Micro-controller unit (MCU).They adopt
LC7218, 7218M, 7218JM
Ordering number : EN4758B CMOS LSI LC7218, 7218M, 7218JM PLL Frequency Synthesizer for Electronic Tuning in AV Systems Overview The LC7218, LC7218M and LC7218JM are PLL frequency synthesizers for electronic
Hello, welcome to this presentation of the low power timer, or LPTMR, module for Kinetis MCUs. In this session you ll learn about the LPTMR, it s
Hello, welcome to this presentation of the low power timer, or LPTMR, module for Kinetis MCUs. In this session you ll learn about the LPTMR, it s main features and the application benefits of leveraging
Vi, fi input. Vphi output VCO. Vosc, fosc. voltage-controlled oscillator
Experiment #4 CMOS 446 Phase-Locked Loop c 1997 Dragan Maksimovic Department of Electrical and Computer Engineering University of Colorado, Boulder The purpose of this lab assignment is to introduce operating
1997 Mixed-Signal Products SLAA011B
Application Report 1997 Mixed-Signal Products SLAA011B Contents 1 Introduction................................................................................... 1 2 Theory of an Analog Phase-Locked Loop
ICS650-01 SYSTEM PERIPHERAL CLOCK SOURCE. Description. Features. Block Diagram DATASHEET
DATASHEET ICS650-01 Description The ICS650-01 is a low-cost, low-jitter, high-performance clock synthesizer for system peripheral applications. Using analog/digital Phase-Locked Loop (PLL) techniques,
Backup Power Domain. AN0041 - Application Note. Introduction
Backup Power Domain AN0041 - Application Note Introduction This application note describes how to use the EFM32 Backup Power Domain and Backup Real Time Counter. An included software example for the Giant
Old Company Name in Catalogs and Other Documents
To our customers, Old Company Name in Catalogs and Other Documents On April 1 st, 2010, NEC Electronics Corporation merged with Renesas Technology Corporation, and Renesas Electronics Corporation took
Microtronics technologies Mobile: 99707 90092
For more Project details visit: http://www.projectsof8051.com/rfid-based-attendance-management-system/ Code Project Title 1500 RFid Based Attendance System Synopsis for RFid Based Attendance System 1.
The MSP430x3xx Clock System
Application Report SLAA080 - March 2000 The MSP430x3xx Clock System Darren Staples Mixed Signal Products ABSTRACT This application report describes in detail the oscillator system present on the MSP430x3xx
Section 15. Quadrature Encoder Interface (QEI)
Section 15. Quadrature Encoder Interface (QEI) HIGHLIGHTS This section of the manual contains the following major topics: 15.1 Introduction... 15-2 15.2 Control and Status Registers... 15-4 15.3 Programmable
Application Note 58 Crystal Considerations with Dallas Real Time Clocks
www.dalsemi.com Application Note 58 Crystal Considerations with Dallas Real Time Clocks Dallas Semiconductor offers a variety of real time clocks (RTCs). The majority of these are available either as integrated
71M6521 Energy Meter IC. Real Time Clock Compensation. The Challenge. The RTC in the 71M6521D/F. Theory of Operation APPLICATION NOTE
71M6521 Energy Meter IC A Maxim Integrated Products Brand APPLICATION NOTE AN_6521_035 MAY 2007 This document describes how to use software to compensate the real time clock (RTC) in Teridian meter chips.
Section 15. Motor Control PWM
Section 15. Motor Control HIGHLIGHTS This section of the manual contains the following topics: 15.1 Introduction... 15-2 15.2 Control Registers... 15-4 15.3 Time Base... 15-16 15.4 Duty Cycle Comparison
Programmable Single-/Dual-/Triple- Tone Gong SAE 800
Programmable Single-/Dual-/Triple- Tone Gong Preliminary Data SAE 800 Bipolar IC Features Supply voltage range 2.8 V to 18 V Few external components (no electrolytic capacitor) 1 tone, 2 tones, 3 tones
Design of a High Speed Communications Link Using Field Programmable Gate Arrays
Customer-Authored Application Note AC103 Design of a High Speed Communications Link Using Field Programmable Gate Arrays Amy Lovelace, Technical Staff Engineer Alcatel Network Systems Introduction A communication
HT46R14A Single Phase AC Induction Motor Frequency Converter Application
HT46R14A Single Phase AC Induction Motor Frequency Converter Application D/N:HA0095E Introductions Initially the main reason for using frequency conversion technology was for speed control, however to
AVR126: ADC of megaavr in Single Ended Mode. Introduction. Features. AVR 8-bit Microcontrollers APPLICATION NOTE
AVR 8-bit Microcontrollers AVR126: ADC of megaavr in Single Ended Mode APPLICATION NOTE Introduction Atmel megaavr devices have a successive approximation Analog-to- Digital Converter (ADC) capable of
Radio sensor powered by a mini solar cell the EnOcean STM 110 now functions with even less light
Radio sensor powered by a mini solar cell the EnOcean STM 110 now functions with even less light In this issue, we would like to present the EnOcean radio sensor module STM 110 in more detail. The module
An All-Digital Phase-Locked Loop with High Resolution for Local On-Chip Clock Synthesis
An All-Digital Phase-Locked Loop with High Resolution for Local On-Chip Clock Synthesis Oliver Schrape 1, Frank Winkler 2, Steffen Zeidler 1, Markus Petri 1, Eckhard Grass 1, Ulrich Jagdhold 1 International
dspic30f dspic30f Flash Programming Specification 1.0 OVERVIEW AND SCOPE 2.0 PROGRAMMING OVERVIEW OF THE dspic30f 2.1 Hardware Requirements
dspic30f dspic30f Flash Programming Specification 1.0 OVERVIEW AND SCOPE This document defines the programming specification for the dspic30f family of Digital Signal Controllers (DSCs). The programming
HDMM01 V1.0. Dual-axis Magnetic Sensor Module With I 2 C Interface FEATURES. Signal Path X
Dual-axis Magnetic Sensor Module With I 2 C Interface FEATURES Low power consumption: typically 0.4mA@3V with 50 measurements per second Power up/down function available through I 2 C interface SET/RESET
Software Real Time Clock Implementation on MC9S08LG32
Freescale Semiconductor Document Number: AN4478 Rev. 0, 03/2012 Software Real Time Clock Implementation on MC9S08LG32 by: Nitin Gupta Automotive and Industrial Solutions Group 1 Introduction The MC9S08LG32
Analog Devices Welcomes Hittite Microwave Corporation NO CONTENT ON THE ATTACHED DOCUMENT HAS CHANGED
Analog Devices Welcomes Hittite Microwave Corporation NO CONTENT ON THE ATTACHED DOCUMENT HAS CHANGED www.analog.com www.hittite.com THIS PAGE INTENTIONALLY LEFT BLANK PLL & PLL with Integrated VCO Evaluation
Section 28. In-Circuit Serial Programming (ICSP )
M Section 28. In-Circuit Serial Programming (ICSP ) HIGHLIGHTS This section of the manual contains the following major topics: 28. Introduction...28-2 28.2 Entering In-Circuit Serial Programming Mode...28-3
Am186ER/Am188ER AMD Continues 16-bit Innovation
Am186ER/Am188ER AMD Continues 16-bit Innovation 386-Class Performance, Enhanced System Integration, and Built-in SRAM Problem with External RAM All embedded systems require RAM Low density SRAM moving
AN2586 Application note
AN2586 Application note STM32F10xxx hardware development: getting started Introduction This application note is intended for system designers who require a hardware implementation overview of the development
SPREAD SPECTRUM CLOCK GENERATOR. Features
DATASHEET ICS7152 Description The ICS7152-01, -02, -11, and -12 are clock generators for EMI (Electro Magnetic Interference) reduction (see below for frequency ranges and multiplier ratios). Spectral peaks
Atmel AVR1017: XMEGA - USB Hardware Design Recommendations. 8-bit Atmel Microcontrollers. Application Note. Features.
Atmel AVR1017: XMEGA - USB Hardware Design Recommendations Features USB 2.0 compliance - Signal integrity - Power consumption - Back driver voltage - Inrush current EMC/EMI considerations Layout considerations
Freescale Semiconductor, I
Application Note 10/2003 Configuring the System and Peripheral Clocks in the MC9S12E128 By Steven Torres 8/16 Bit Systems Engineering Austin, Texas Introduction The MC9S12E128 is a 16-bit FLASH-based microcontroller
OTi. Ours Technology Inc. OTi-6828 FLASH DISK CONTROLLER. Description. Features
Description The flash disk controller (OTi_6828) is a disk controller used to make a linear flash device array look likes a normal disk, hiding the flash related problems with erasing. The OTi_6828 is
Embedded Multi-Media Card Specification (e MMC 4.5)
Product Features: Packaged NAND flash memory with e MMC 4.5 interface Compliant with e MMC Specification Ver 4.41 & 4.5. Bus mode - High-speed e MMC protocol - Provide variable clock frequencies
DIGITAL-TO-ANALOGUE AND ANALOGUE-TO-DIGITAL CONVERSION
DIGITAL-TO-ANALOGUE AND ANALOGUE-TO-DIGITAL CONVERSION Introduction The outputs from sensors and communications receivers are analogue signals that have continuously varying amplitudes. In many systems
MicroMag3 3-Axis Magnetic Sensor Module
1008121 R01 April 2005 MicroMag3 3-Axis Magnetic Sensor Module General Description The MicroMag3 is an integrated 3-axis magnetic field sensing module designed to aid in evaluation and prototyping of PNI
DP8570A DP8570A Timer Clock Peripheral (TCP)
DP8570A DP8570A Timer Clock Peripheral (TCP) Literature Number: SNAS557 DP8570A Timer Clock Peripheral (TCP) General Description The DP8570A is intended for use in microprocessor based systems where information
AN_6521_035 APRIL 2009
71M6521 Energy Meter IC A Maxim Integrated Products Brand APPLICATION NOTE AN_6521_035 APRIL 2009 This document describes how to use software to compensate the real time clock (RTC) in Teridian meter chips.
css Custom Silicon Solutions, Inc.
css Custom Silicon Solutions, Inc. CSS555(C) CSS555/ PART DESCRIPTION The CSS555 is a micro-power version of the popular 555 Timer IC. It is pin-for-pin compatible with the standard 555 timer and features
ARM Cortex STM series
ARM Cortex board 1 ARM Cortex STM series 2 STM32 Series 3 Abbreviation FS full speed HS high speed MC motor controller MSI multi speed internal oscillator RNG random number generator SDIO secure digital
