什么是外部振荡器和内部振荡器?配置操作看这里
来源:http://www.jinluodz.com 作者:金洛鑫电子 2019年09月19
大多数人认为晶体振荡器的工作模式就是振荡,提供精准的信号,这样说也并没有错,只是不够全面,其实应用到系统里的贴片振荡器,还分为外部振荡器和内部振荡器,通过正确的配置和操作,才能使二者之间相互工作.本技术资料的目的是描述如何配置和使用内部和外部振荡器.提供了配置描述,设置示例和示例代码.
内部振荡器频率可由用户软件配置,有四种设置可将振荡器频率除以1,2,4或8.除了四种主要设置外,某些器件还有一个校准的±2%内部振荡器,带有精细可调谐频率,步长约为50kHz.外部振荡器使用其4种工作模式,有源晶振在频率选择,功耗和精度方面提供了更大的灵活性.系统时钟可以在内部和外部振荡器之间自由切换.此外,在选择内部振荡器时可以使外部振荡器保持使能,以避免在系统时钟切换回外部振荡器时启动延迟.复位时,内部振荡器除以8作为系统时钟.内部振荡器和典型频率如表1所示.通过改变IFCN位,可以在运行中改变内部振荡器分频因子.
内部振荡器本身的功耗与所选频率无关;然而,整个贴片晶振的功耗取决于频率.内部振荡器的精度在采用未校准的16MHz振荡器的器件上的工艺,电源和温度变化范围内为±20%,在具有a的器件上为±2%.校准24.5MHz振荡器.
外部振荡器:
外部振荡器具有高度可配置性,为系统设计人员提供了多种选择.时基可以来自外部CMOS电平时钟源,附加晶体或陶瓷谐振器,附加RC组合或外部电容.
外部CMOS时钟模式:
系统时钟可以由连接到XTAL1引脚的外部CMOS电平时钟源提供,例如石英晶体振荡器模块或来自另一个MCU的时钟信号.
注意:XTAL1引脚不耐5V.
外部水晶模式:
通常,当需要精确的时基时,需要晶体,例如,当ADC的绝对采样率很关键或必须生成标准UART波特率时.请注意,在带有校准的24.5MHz内部振荡器的设备上,UART通信不需要晶体.或者,一种低频音叉晶体,例如,一个32.768kHz的手表晶振,可用于在低功耗模式下操作器件,然后可根据系统要求将控制切换到高频内部振荡器.只要适当设置负载电容参数和振荡器驱动电平,晶体振荡器的精度和稳定性几乎完全由附加的晶体或陶瓷谐振器控制.晶体振荡器电路设计用于并行模式指定的晶体.
外部RC:
外部振荡器时基也可以从外部串联RC组合得到,如图1所示.当电容器电压(Vc)小于VDD/3时,电容器通过电阻器充电.一旦电容器电压达到VDD/3,比较器就会产生一条到AGND的路径并使电容器放电.该操作在XTAL1处产生锯齿型波形,如图2所示,其周期由电容器上电压的上升时间决定;对于100pF电容,放电时间小于10ns.比较器的输出被缓冲并馈送到二分频级,其输出变为系统时钟.外部RC模式中时基的精度由R和Ccom的容差决定.
图2.RC模式波形生成
外部C模式:
该模式与上述外部RC模式的操作类似,不同之处在于电容器的充电电流由XTAL2的内部可编程电流源提供.这是最不准确的时基模式;然而,它是最灵活的,因为单个无源元件可以提供多达八个不同的工作频率,最高频率几乎比最低频率高3000倍.
C模式下的外部振荡器通过对连接到XTAL2的电容器进行持续充电和放电来产生信号.如图3所示,电容器从恒定的电流源线性充电.当电容上的电压达到VDD/3时,比较器会产生接地路径,使电容器放电.电容器放电后,比较器打开开关并重复循环.得到的波形如图4所示.外部C模式下时基的贴片晶振精度主要取决于电容器的容差和XTAL2内部电流源的精度.在工艺,电源和温度变化范围内,内部电流源的精度约为±30%. 内部振荡器配置示例:
复位时,选择内部振荡器除以8作为系统时钟.硬件连接:如果系统设计仅使用内部振荡器且不使用外部振荡器,则贴片晶振XTAL1引脚应在外部接地,如图5所示,或者通过将XOSCMD位(OSCXCN.6-4)设置为“000”来内部接地.如果系统要求长时间保持低电平的器件的/RST线,则建议在外部接地XTAL1.
IFCN位(OSCICN.1-0)编程内部振荡器频率.可选择四个除法设置,如表1所示.如果器件具有校准的24.5MHz内部振荡器,则可以通过递增或递减OSCICL寄存器来微调频率.
内部振荡器的启动和稳定时间几乎是瞬时的.此外,内部振荡器的频率可以随时任意改变.由于内部振荡器在执行下一条指令之前稳定在新编程的频率,因此不需要IFRDY轮询.
外部振荡器配置示例:
外部振荡器支持四种不同的配置:CMOS时钟,晶振,RC和C模式.可以使用OSCXCN寄存器配置外部振荡器.一旦外部振荡器配置并稳定后,系统时钟就可以使用CLKSL位从内部振荡器切换到外部振荡器.有关更多信息和CLKSL位的位置,请查看相应的数据手册.
在基于晶体的设计中,启动晶体振荡器可能需要几毫秒,具体取决于晶振频率.较慢的晶体往往比较快的晶体具有更长的启动时间.XTLVLD(晶体振荡器有效)标志可用于确定外部振荡器何时稳定.在外部RC和外部C模式下,外部振荡器的启动时间是瞬时的.
外部CMOS时钟:
外部振荡器时钟可由连接到XTAL1输入的外部CMOS电平源提供.在这种配置中,XTAL2应该悬空,如图6所示.SYSCLK频率可以按原样从输入信号中导出,或者通过二分频阶段传递.
注:与某些端口I/O引脚不同,有源贴片晶振XTAL1和XTAL2引脚不具有5V容差.这些引脚的电压应保持在AV+和AGND之间.
图6.外部CMOS时钟连接
外部水晶:
外部振荡器时基可以从连接在XTAL1和XTAL2引脚上的晶体或陶瓷谐振器得到,如图7所示.外部振荡器可以配置为按原样使用晶振频率,或者除以2.XTLVLD检测电路需要一个建立时间来实现适当的偏置.在启用振荡器和检查XTLVLD标志之间引入1ms的延迟将阻止早期切换到外部振荡器作为系统时钟.在完全稳定之前切换到外部振荡器会导致不可预测的行为.
注意:负载电容(图7中的Cx1和Cx2)应连接到模拟地平面.另请注意,石英振荡器逆变器的反馈电阻是在芯片上提供的,不需要外部电阻.
水晶启动程序:
1.配置OSCXCN寄存器以选择所需的外部振荡器模式.
2.等待至少1ms.
3.对XTLVLD进行轮询=>'1'.
4.将系统时钟切换到外部振荡器.
确定XFCN:
XFCN控制晶体振荡器驱动器的驱动电平.从本质上讲,驱动电平应该足够强大以激发晶体振荡,但不能强烈地强调晶体使其过早降解.对于3MHz及以上的晶体,基于XFCN设置过高的降级通常不是问题,可以使用最大XFCN值,但这会导致振荡器的工作电流更高.对于低频振荡叉晶体,例如32.768K和100K,过度驱动晶体确实存在可靠性问题.此外,如果驱动电平太高,音叉晶体可能根本不会振荡.
内部振荡器频率可由用户软件配置,有四种设置可将振荡器频率除以1,2,4或8.除了四种主要设置外,某些器件还有一个校准的±2%内部振荡器,带有精细可调谐频率,步长约为50kHz.外部振荡器使用其4种工作模式,有源晶振在频率选择,功耗和精度方面提供了更大的灵活性.系统时钟可以在内部和外部振荡器之间自由切换.此外,在选择内部振荡器时可以使外部振荡器保持使能,以避免在系统时钟切换回外部振荡器时启动延迟.复位时,内部振荡器除以8作为系统时钟.内部振荡器和典型频率如表1所示.通过改变IFCN位,可以在运行中改变内部振荡器分频因子.
表1.OSCICN寄存器中的内部振荡器频率控制位
IFCN | 典型频率(16MHz振荡器) | 典型频率(24.5MHz校准振荡器) |
00b | 2MHz | 3.0625MHz |
01b | 4MHz | 6.125MHz |
10b | 8MHz | 12.25MHz |
11b | 16MHz | 24.5MHz |
外部振荡器:
外部振荡器具有高度可配置性,为系统设计人员提供了多种选择.时基可以来自外部CMOS电平时钟源,附加晶体或陶瓷谐振器,附加RC组合或外部电容.
外部CMOS时钟模式:
系统时钟可以由连接到XTAL1引脚的外部CMOS电平时钟源提供,例如石英晶体振荡器模块或来自另一个MCU的时钟信号.
注意:XTAL1引脚不耐5V.
外部水晶模式:
通常,当需要精确的时基时,需要晶体,例如,当ADC的绝对采样率很关键或必须生成标准UART波特率时.请注意,在带有校准的24.5MHz内部振荡器的设备上,UART通信不需要晶体.或者,一种低频音叉晶体,例如,一个32.768kHz的手表晶振,可用于在低功耗模式下操作器件,然后可根据系统要求将控制切换到高频内部振荡器.只要适当设置负载电容参数和振荡器驱动电平,晶体振荡器的精度和稳定性几乎完全由附加的晶体或陶瓷谐振器控制.晶体振荡器电路设计用于并行模式指定的晶体.
外部RC:
外部振荡器时基也可以从外部串联RC组合得到,如图1所示.当电容器电压(Vc)小于VDD/3时,电容器通过电阻器充电.一旦电容器电压达到VDD/3,比较器就会产生一条到AGND的路径并使电容器放电.该操作在XTAL1处产生锯齿型波形,如图2所示,其周期由电容器上电压的上升时间决定;对于100pF电容,放电时间小于10ns.比较器的输出被缓冲并馈送到二分频级,其输出变为系统时钟.外部RC模式中时基的精度由R和Ccom的容差决定.
图2.RC模式波形生成
该模式与上述外部RC模式的操作类似,不同之处在于电容器的充电电流由XTAL2的内部可编程电流源提供.这是最不准确的时基模式;然而,它是最灵活的,因为单个无源元件可以提供多达八个不同的工作频率,最高频率几乎比最低频率高3000倍.
C模式下的外部振荡器通过对连接到XTAL2的电容器进行持续充电和放电来产生信号.如图3所示,电容器从恒定的电流源线性充电.当电容上的电压达到VDD/3时,比较器会产生接地路径,使电容器放电.电容器放电后,比较器打开开关并重复循环.得到的波形如图4所示.外部C模式下时基的贴片晶振精度主要取决于电容器的容差和XTAL2内部电流源的精度.在工艺,电源和温度变化范围内,内部电流源的精度约为±30%. 内部振荡器配置示例:
复位时,选择内部振荡器除以8作为系统时钟.硬件连接:如果系统设计仅使用内部振荡器且不使用外部振荡器,则贴片晶振XTAL1引脚应在外部接地,如图5所示,或者通过将XOSCMD位(OSCXCN.6-4)设置为“000”来内部接地.如果系统要求长时间保持低电平的器件的/RST线,则建议在外部接地XTAL1.
内部振荡器的启动和稳定时间几乎是瞬时的.此外,内部振荡器的频率可以随时任意改变.由于内部振荡器在执行下一条指令之前稳定在新编程的频率,因此不需要IFRDY轮询.
外部振荡器配置示例:
外部振荡器支持四种不同的配置:CMOS时钟,晶振,RC和C模式.可以使用OSCXCN寄存器配置外部振荡器.一旦外部振荡器配置并稳定后,系统时钟就可以使用CLKSL位从内部振荡器切换到外部振荡器.有关更多信息和CLKSL位的位置,请查看相应的数据手册.
在基于晶体的设计中,启动晶体振荡器可能需要几毫秒,具体取决于晶振频率.较慢的晶体往往比较快的晶体具有更长的启动时间.XTLVLD(晶体振荡器有效)标志可用于确定外部振荡器何时稳定.在外部RC和外部C模式下,外部振荡器的启动时间是瞬时的.
外部CMOS时钟:
外部振荡器时钟可由连接到XTAL1输入的外部CMOS电平源提供.在这种配置中,XTAL2应该悬空,如图6所示.SYSCLK频率可以按原样从输入信号中导出,或者通过二分频阶段传递.
注:与某些端口I/O引脚不同,有源贴片晶振XTAL1和XTAL2引脚不具有5V容差.这些引脚的电压应保持在AV+和AGND之间.
图6.外部CMOS时钟连接
外部振荡器时基可以从连接在XTAL1和XTAL2引脚上的晶体或陶瓷谐振器得到,如图7所示.外部振荡器可以配置为按原样使用晶振频率,或者除以2.XTLVLD检测电路需要一个建立时间来实现适当的偏置.在启用振荡器和检查XTLVLD标志之间引入1ms的延迟将阻止早期切换到外部振荡器作为系统时钟.在完全稳定之前切换到外部振荡器会导致不可预测的行为.
注意:负载电容(图7中的Cx1和Cx2)应连接到模拟地平面.另请注意,石英振荡器逆变器的反馈电阻是在芯片上提供的,不需要外部电阻.
水晶启动程序:
1.配置OSCXCN寄存器以选择所需的外部振荡器模式.
2.等待至少1ms.
3.对XTLVLD进行轮询=>'1'.
4.将系统时钟切换到外部振荡器.
确定XFCN:
XFCN控制晶体振荡器驱动器的驱动电平.从本质上讲,驱动电平应该足够强大以激发晶体振荡,但不能强烈地强调晶体使其过早降解.对于3MHz及以上的晶体,基于XFCN设置过高的降级通常不是问题,可以使用最大XFCN值,但这会导致振荡器的工作电流更高.对于低频振荡叉晶体,例如32.768K和100K,过度驱动晶体确实存在可靠性问题.此外,如果驱动电平太高,音叉晶体可能根本不会振荡.
正在载入评论数据...
相关资讯
- [2024-03-04]Jauch的40MHz的石英毛坯有多厚?...
- [2023-09-21]Skyworks领先同行的绿色生产标准...
- [2023-06-28]适合于超声波的6G常用低成本贴片...
- [2020-07-13]应用到晶振的质量因数Q数字方程...
- [2020-07-03]多晶振荡器的存在与作用还有多少...
- [2020-06-29]何时使用Oscillator与时钟才最合...
- [2020-06-24]组成TCXO振荡器的5个核心元器件...
- [2020-06-08]Cardinal压控振荡器的锁相环基础...