MICROCHIP PIC24F Technical data

6 章 振荡器
目录
本章包括下列主题:
6.1 简介 ...............................................................................................................................6-2
6.2 CPU 时钟分配 ...............................................................................................................6-3
6.5 主振荡器 (POSC) ....................................................................................................6-10
6.6 锁相环 (PLL) ............................................................................................................ 6-14
6.7 低功耗辅助振荡器 (SOSC) ......................................................................................6-15
6.8 内部快速 RC 振荡器 (FRC) .....................................................................................6-16
6.9 内部低功耗 RC 振荡器 (LPRC) ...............................................................................6-16
6.10 故障保护时钟监视器 (FSCM) .................................................................................. 6-17
6.11 时钟切换操作 .............................................................................................................. 6-18
6.12 双速启动 ......................................................................................................................6-21
6.13 交流电气规范 .............................................................................................................. 6-22
6.14 设计技巧 ......................................................................................................................6-23
6.16 相关应用笔记 .............................................................................................................. 6-25
6.17 版本历史 ......................................................................................................................6-26
6
振荡器
© 2007 Microchip Technology Inc. 超前信息 DS39700A_CN 6-1
PIC24F 系列参考手册

6.1 简介

本章描述 PIC24F 振荡器系统及其操作。 PIC24F 振荡器系统具有以下模块和特性:
可选择 4 个外部和内部振荡器作为时钟源,提供 11 种不同的时钟模式
具有片上 4x PLL,可基于所选的内部和外部振荡器源升高内部工作频率
可通过软件控制在各种时钟源之间切换
可通过软件控制预分频器有选择地为 CPU 提供时钟,以节省系统功耗
具有故障保护时钟监视器 (FSCM),可检测时钟故障,以使应用可安全地恢复或关闭
6-1 给出了振荡器系统的简化图。

6-1 PIC24F 系列时钟框图

OSC2
OSC1
SOSCO
SOSCI
主振荡器
FRC
振荡器
OSCTUN<5:0>
LPRC
振荡器
辅助振荡器
8 MHz
(标称值)
31 kHz(标称值)
SOSCEN
8 MHz 4 MHz
后分频器
4 x PLL
CLKDIV<10:8>
PIC24F 系列
XT、HS EC
XTPLL、HSPLL
ECPLL FRCPLL
FRCDIV
FRC
LPRC
SOSC
时钟控制逻辑电路
故障保护
时钟
监视器
CLKO
CLKDIV<14:12>
CPU
后分频器
外设
WDT PWRT
Timer1 RTCC
DS39700A_CN 6-2 超前信息 © 2007 Microchip Technology Inc.

6.2 CPU 时钟分配

6 章 振荡器
6
系统时钟源可以由以下 4 种之一提供:
•OSC1和 OSC2 引脚上的主振荡器 (POSC)
•SOSCI和 SOSCO 引脚上的辅助振荡器
内部快速 RC 振荡器 (FRC
内部低功耗 RC 振荡器 (LPRC
主振荡器和 FRC 源可以选择使用内部 4x PLLFRC 时钟源的频率可以通过可编程时钟分频器降 低。选定的时钟源将产生处理器和外设时钟源。
处理器时钟源需进行二分频,以产生内部指令周期时钟 F
OSC/2。图 6-2 中的时序图显示了处理器时钟源和指令执行之间的关系。内部指令周期时钟
F
OSC/2 可以在 OSC2 I/O 引脚提供,用于主振荡器的一些工作模式。
F

6-2:时/ 指令周期时序

TCY
FOSC
F
CY
PC
PC PC + 2 PC + 4
取指令(PC
执行指令(PC – 2 取指令(PC + 2
振荡器
CY。在本文档中,指令周期时钟也表示
执行指令(PC)取PC + 4)
执行指令(PC + 2

6.3 振荡器配置

在发生器件上电复位事件时使用的振荡器源(以及工作模式)使用配置位设置进行选择。振荡器 配置位在程序存储器中的配置寄存器中进行设置(更多详细信息,请参见具体产品数据手册) 。 主振荡器配置位 POSCMD1:POSCMD0 (配置字 2<1:0>)和振荡器配置位 FNOSC2:FNOSC0
(配置字 2<10:8>)用于选择在上电复位时使用的振荡器源。默认情况下(未编程时)将选择 FRC
振荡器和预分频器 (FRCDIV)。通过编程这些位单元,可以选择辅助振荡器或一个内部振荡器。
这些配置位使用户可以选择 11 种不同的时钟模式,如表 6-1 所示。
© 2007 Microchip Technology Inc. 超前信息 DS39700A_CN 6-3
PIC24F 系列参考手册

6-1 时钟选择的配置位值

振荡器模式 振荡器源
POSCMD1:
POSCMD0
FNOSC2:
FNOSC0
快速 RC 振荡器和预分频器
FRCDIV) (保留) 内部
低功耗 RC 振荡器 (LPRC)内部 辅助 (Timer1)振荡器
SOSC
主振荡器 (HS)和 PLL 模块
HSPLL
主振荡器 (XT)和 PLL 模块
XTPLL
主振荡器 (EC)和 PLL 模块
ECPLL
主振荡器 (HS)主 主振荡器 (XT)主 主振荡器 (EC)主 快速 RC 振荡器和 PLL 模块
FRCPLL
快速 RC 振荡器 (FRC)内部 注 1OSC2 引脚功能由 OSCIOFCN 配置位决定。
2:未编程 (已擦除)器件的默认振荡模式。
内部
辅助
内部
xx 111
xx 110 1
xx 101 1
xx 100 1
10 011
01 011
00 011
10 010
01 010
00 010
xx 001 1
xx 000 1
12

6.3.1 时钟切换模式配置位

FCKSM 配置位(配置字 2<7:6>)用于联合配置器件时钟切换和故障保护时钟监视器(FSCM)。 只有将 FCKSM1 编程(0)时,才会使能时钟切换。只有同时将 FCKSM1:FCKSM0 编程(00) 时,才会使能 FSCM

6.3.2 非晶振模式下的 OSC1 OSC2 引脚功能

OSC1 OSC2 上的主振荡器未配置为时钟源(POSCMD1:POSCMD0 = 11)时 , OSC1 引脚自动 重新配置为数字 I/O。在该配置中,以及主振荡器配置为 EC 模式 (POSCMD1:POSCMD0 = 00) 时,也可以通过编程 OSCIOFCN 配置位 (配置字 2<5>)将 OSC2 引脚配置为数字 I/O
OSCIOFCN 未编程 (1)时, OSC2 上会产生 F OSCIOFCN 编程(0)时, OSC2 引脚成为通用 I/O 引脚。在这两种配置中,OSC1 OSC2 间的反馈器件被关闭,以节省功耗。
OSC/2 时钟输出,用于进行测试或同步。
DS39700A_CN 6-4 超前信息 © 2007 Microchip Technology Inc.

6.4 控制寄存器

6 章 振荡器
6
振荡器的操作由 3 个特殊功能寄存器控制:
•OSCCON
•CLKDIV
•OSCTUN

6.4.1 振荡器控制寄存器 (OSCCON

OSCCON 寄存器(寄存器 6-1)是振荡器的主要控制寄存器。它控制时钟源切换和时钟源监控。
COSC 状态位是只读位,指示器件当前工作所使用的振荡器源。在上电复位和主清零复位时, COSC 位默认为选择内部快速 RC 振荡器和预分频器 (FRCDIV),配置的频率为 4 MHz。器件
将自动执行时钟切换,将时钟源切换为由 FNOSC 配置位 (配置字 2<10:8>)选择的新振荡器 源。 COSC 位将发生改变,在时钟切换操作结束时指示新的振荡器源。
NOSC 状态位选择下一个时钟切换操作的时钟源。在上电复位和主清零复位时,这些位将自动选 择 FNOSC 配置位指定的振荡器源。这些位可以由软件修改。
注: 必须先执行解锁序列,之后才能写 OSCCON。更多信息,请参见第 6.11.2 节“振
荡器切换序列”。
FCKSM1 配置位置 1 时,将 CLKLOCK 位(OSCCON<7>)置 1 可防止发生时钟切换。如果
FCKSM1 位清零,则 CLKLOCK 位状态会被忽略,器件可以发生时钟切换。
LOCK 状态位 (OSCCON<5>)是只读位,指示 PLL 电路的状态。在 PLL 实现频率锁定时该位
1,在产生有效的时钟切换序列时该位复位。每当 PLL 不与振荡器配合用作当前时钟源时,它 读为 0
CF 状态位 (OSCCON<3>)是可读 / 可清零状态位,指示发生时钟故障。每当发生有效的时钟 切换时,该位复位。
SOSCEN 控制位 (OSCCON<1>)用于使能或禁止 32 kHz SOSC 晶体振荡器。
OSWEN 控制位(OSCCON<0>)用于启动时钟切换操作。OSWEN 在成功进行时钟切换或任何
冗余时钟切换后自动清零,并在切换到 FRC 后由 FSCM 清零。
振荡器
© 2007 Microchip Technology Inc. 超前信息 DS39700A_CN 6-5
PIC24F 系列参考手册

寄存器 6-1 OSCCON:振荡器控制寄存器

U-0 R-0 R-0 R-0 U-0 R/W-x
(1)
COSC2 COSC1 COSC0 NOSC2 NOSC1 NOSC0
bit 15 bit 8
R/W-x
(1)
R/W-x
(1)
R/SO-0 U-0 R-0
(2)
U-0R/CO-0U-0 R/W-0R/W-0
CLKLOCK —LOCK—CF— SOSCEN OSWEN
bit 7 bit 0
图注:
U = 未实现位,读为 0
R = 可读位 W = 可写位 CO = 只可清零位 SO = 只可置 1 位
-n = 全部复位时的值 1 = 10 = 清零 x = 未知
bit 15
bit 14-12
未实现:读为 0 COSC2:COSC0 当前振荡器选择位
111 = 快速 RC 振荡器和预分频器 (FRCDIV 110 = 保留 101 = 低功耗 RC 振荡器 (LPRC 100 = 辅助振荡器 (SOSC 011 = 主振荡器和 PLL 模块 (XTPLLHSPLL ECPLL 010 = 主振荡器 (XTHS EC 001 = 快速 RC 振荡器和通过预分频器 (FRCPLL)使用 PLL 模块
(3)
000 = 快速 RC 振荡器 (FRC
bit 11
bit 10-8
未实现:读为 0 NOSC2:NOSC0:新振荡器选择位
111 = 快速 RC 振荡器和预分频器 (FRCDIV 110 = 保留 101 = 低功耗 RC 振荡器 (LPRC 100 = 辅助振荡器 (SOSC 011 = 主振荡器和 PLL 模块 (XTPLLHSPLL ECPLL 010 = 主振荡器 (XTHS EC 001 = 快速 RC 振荡器和通过预分频器 (FRCPLL)使用 PLL 模块
(3)
000 = 快速 RC 振荡器 (FRC
bit 7
CLKLOCK:时钟选择锁定使能位 如果使能
FSCM FCKSM1 = 1): 1 = 时钟和 PLL 选择被锁定。 0 = 时钟和 PLL 选择不锁定,可以通过将 OSWEN 位置 1 而修改。
如果禁止
FSCM FCKSM1 = 0): 时钟和 PLL 选择始终不锁定,可以通过将 OSWEN 位置 1 而修改。
bit 6
bit 5
未实现:读为 0 LOCK PLL 锁定状态位
1 = PLL 模块处于锁定状态,或者满足 PLL 模块起振定时器 0 = PLL 模块脱离锁定状态, PLL 起振定时器正在运行或 PLL 被禁止
bit 4
bit 3
未实现:读为 0 CF:时钟故障检测位
1 =FSCM检测到时钟故障 0 = 未检测到时钟故障
bit 2
未实现:读为 0
1:这些位的复位值由 FNOSC 配置位决定。
2:在任意有效时钟切换期间,或者每当选择了非 PLL 时钟模式时,也复位为 0 3:仅在选择 4 MHz 8 MHz FRC 后分频器选项时可用。
DS39700A_CN 6-6 超前信息 © 2007 Microchip Technology Inc.
寄存器 6-1 OSCCON:振荡器控制寄存器 (续)
6 章 振荡器
6
bit 1
bit 0
1:这些位的复位值由 FNOSC 配置位决定。
2:在任意有效时钟切换期间,或者每当选择了非 PLL 时钟模式时,也复位为 0 3:仅在选择 4 MHz 8 MHz FRC 后分频器选项时可用。
SOSCEN 32 kHz 辅助振荡器 (SOSC)使能位
1 = 使能辅助振荡器 0 = 禁止辅助振荡器
OSWEN振荡器切换使能位
1 = 启动振荡器切换,切换为 NOSC2:NOSC0 位指定的振荡器 0 = 振荡器切换完成

6.4.2 时钟分频寄存器 (CLKDIV

时钟分频寄存器 (寄存器 6-2)控制与打盹模式关联的功能,以及 FRC 振荡器的后分频器。
ROI 位(CLKDIV<15>)允许发生中断时退出打盹模式,并自动为处理器和外设时钟选择 1:1 比率。 DOZEN 位(CLKDIV<11>)在从打盹模式退出后清零。清零 ROI 位可以阻止中断影响打 盹模式。
DOZE 位(CLKDIV<14:12>)用于选择处理器时钟与外设时钟的比率。其范围为 1:1 1:128 可由软件选择。主复位和上电复位时默认为 1:1 的比率。该功能使 CPU 可以节省功耗,而不会破 坏外设的操作。
DOZEN 位置 1 会将器件置为打盹模式,并预定处理器时钟后分频器。该位在 ROI 位置 1 和发 生中断时清零。
RCDIV 位(CLKDIV<10:8>)用 于 选 择 FRC 振荡器输出的后分频器选项,使用户可以选择低于标 称频率 8MHz的较低时钟频率。第 6.8.2 节“FRC 后分频器模式(FRCDIV)”和第 6.8.3 节“使PLL FRC 振荡器模式 (FRCPLL)”中详细介绍了该选项。
振荡器
© 2007 Microchip Technology Inc. 超前信息 DS39700A_CN 6-7
PIC24F 系列参考手册

寄存器 6-2 CLKDIV:时钟分频寄存器

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-1
ROI DOZE2 DOZE1 DOZE0 DOZEN
bit 15 bit 8
U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0
bit 7 bit 0
图注:
R = 可读位 W = 可写位 U = 未实现位,读为 0
-n = 全部复位时的值 1 = 10 = 清零 x = 未知
(1)
RCDIV2 RCDIV1 RCDIV0
bit 15
bit 14-12
bit 11
bit 10-8
bit 7-0
ROI:中断恢复位
1 = 发生中断时清零 DOZEN 位,并将 CPU/ 外设时钟比率复位为 1:1 0 = 中断对 DOZEN 位无影响
DOZE2:DOZE0 CPU/ 外设时钟比率选择位
111 = 1:128 110 = 1:64 101 = 1:32 100 = 1:16 011 = 1:8 010 = 1:4 001 = 1:2 000 = 1:1
DOZEN:打盹使能位
1 = DOZE2:DOZE0 位指定 CPU 外设时钟比 0 = 处理器时钟 / 外设时钟比设置为 1:1
RCDIV2:RCDIV0 FRC 后分频器选择位
111 = 31.25 kHz 256 分频) 110 =125kHz64 分频) 101 =250kHz32 分频) 100 =500kHz16 分频) 011 =1MHz8 分频) 010 =2MHz4 分频) 001 =4MHz2 分频) 000 =8MHz(直接 FRC 输出)
未实现:读为 0
(1)
1:该位在 ROI 位置 1 和发生中断时自动清零。
DS39700A_CN 6-8 超前信息 © 2007 Microchip Technology Inc.
Loading...
+ 18 hidden pages