文件名称:时钟源与振荡器切换-windows internals part 2(6th) 无水印pdf
文件大小:9.91MB
文件格式:PDF
更新时间:2024-06-27 11:57:42
PIC18F46k80 中文资料
3.3 时钟源与振荡器切换 基本上,PIC18F66K80 系列器件都具有以下独立时 钟源: • 主振荡器 • 辅助振荡器 • 内部振荡器 主振荡器可认为是主要的器件振荡器。这些是指与 OSC1 和 OSC2 引脚连接的任何外部振荡器,包括外部 晶振和谐振器模式以及外部时钟模式。通过FOSC<3:0> 配置位(CONFIG1H<3:0>)选定时,可以将内部振荡器 模块视为主振荡器。内部振荡器模块可以是以下之一: • 31 kHz LF-INTOSC 时钟源 • 31 kHz 至 500 kHz MF-INTOSC 时钟源 • 31 kHz 至 16 MHz HF-INTOSC 时钟源 特定的模式由 FOSC 配置位定义。这些模式的详细信息 将在第 3.5 节 “ 外部振荡器模式 ” 中进行介绍。 辅助振荡器是指那些不与OSC1或OSC2引脚连接的外 部时钟源。即使在控制器处于功耗管理模式时,这些时 钟源仍可继续工作。 PIC18F66K80 系列器件将 SOSC (Timer1/3/5/7)振荡器作为辅助振荡器源。 SOSC 可以通过请求使用它的任意外设使能。SOSC 可 以通过几种方法来使能,即执行以下操作之一: • 通过任意一个奇编号定时器选择 SOSC 作为时 钟源,这需要通过定时器的相应 SOSCEN 位 (TxCON<3>)来设置 • 通过 SCS 位(OSCCON<1:0>)选择 SOSC 作为 CPU 时钟源 • SOSCGO 位 (OSCCON2<3>)置 1 SOSCGO 位用于预热 SOSC,使之在任意外设发出请 求之前就绪。 辅助振荡器具有三种运行模式。SOSCSEL<1:0> 位 (CONFIG1L<4:3>)决定 SOSC 的工作模式: • 11 = 高功耗 SOSC 电路 • 10 = 数字 (SCLKI)模式 • 11 = 低功耗 SOSC 电路 如果不需要辅助振荡器,而是需要端口引脚 RC0 和 RC1 上的数字 I/O,则必须将 SOSCSEL 位设置为数字 模式。 除了在某些情况下作为主时钟源之外,内部振荡器还可 以作为功耗管理模式的时钟源。 LF-INTOSC 时钟源也 可作为几种特殊功能部件(如 WDT 和故障保护时钟监 视器)的时钟源。在第 3.6 节 “ 内部振荡器模块 ” 中对 内部振荡器模块进行了更详细的讨论。 PIC18F66K80 系列包含了允许器件时钟源从主振荡器 (由器件配置选择)切换到备用时钟源之一的功能。当 使能备用时钟源时,可以使用多种功耗管理工作模式。 3.3.1 OSC1/OSC2 振荡器 OSC1/OSC2 振荡器模块用于提供振荡器模式和频率 范围: 基于晶振的振荡器(XT、HS 和 LP)存在一个内置的 起振时间。 EC 和 EXTRC 时钟则可以即时开始工作。 3.3.2 时钟源选择 系统时钟选择位 SCS<1:0>(OSCCON<1:0>)用于选 择时钟源。可用的时钟源包括主时钟 (由 FOSC<3:0> 配置位定义)、辅助时钟(SOSC 振荡器)和内部振荡 器。当写入一个或多个位之后,接着是一段很短的时钟 转换间隔,然后时钟源会改变。 OSTS(OSCCON<3>)和SOSCRUN(OSCCON2<6>) 位用于指示当前提供器件时钟的是哪个时钟源。OSTS 位用于指示振荡器起振定时器(OST)是否已超时,以 及是否由主时钟在主时钟模式下提供器件时钟。 SOSCRUN 位用于指示 SOSC 振荡器 (来自 Timer1/ 3/5/7)何时在辅助时钟模式下提供器件时钟。在功耗管 理模式下,任意时刻这些位中只有一位会置 1。如果这 些位都没有置 1,则表明当前时钟源是 INTOSC,或内 部振荡器刚刚起振且尚未稳定。 IDLEN 位(OSCCON<7>)决定当执行 SLEEP指令时 器件是进入休眠模式还是某种空闲模式。 模式 设计工作频率 LP 31.25-100 kHz XT 100 kHz 至 4 MHz HS 4 MHz 至 25 MHz EC 0 至 64 MHz (外部时钟) EXTRC 0 至 4 MHz (外部 RC)DS39977C_CN 第 58 页 初稿 2011 Microchip Technology Inc.