6.6校准的内部RC振荡器标定的片内RC振荡器提供了一个8.0 MHz的时钟.频率是标称在3V值和25°C.如果频率超过器件的规格(取决于VCC),CKDIV8保险丝必须按顺序由8在启动过程来划分内部频率进行编程.请参阅“系统时钟预分频器”第29页.更多的细节.该时钟可被选择如通过编程熔丝位CKSEL所示的系统时钟表6-6.如果选择,它将无需外部元件.复位时硬件将标定字节加载到OSCCAL寄存器,自动校准RC振荡器.在3V和25°C,这标定可以提供标称频率±1%精度.当使用这个振荡器作为系统时钟时,看门狗振荡器将仍然使用自己的看门狗定时器作为复位超时.有关预编程的校准值的更多信息,请参见“标定字节”第137页.表6-6.内部校准RC振荡器工作模式CKSEL3..0标称频率0010(1)8.0兆赫Note:1.该设备出厂时这个选项选中.当选择了这个振荡器之后,启动时间如由熔丝位SUT确定表6-7.表6-7.内部标定RC振荡器的启动时间启动时间从额外延迟时间SUT1..0从掉电复位(VCC= 5.0V)推荐用法006 CK14CK + 4毫秒BOD使能016 CK14CK + 4毫秒电源快速上升10(1)6 CK14CK + 64毫秒慢慢崛起的大国11保留的Note:1.该设备出厂时这个选项选中.6.6.1振荡器校准寄存器 - OSCCALBit76543210CAL7CAL6CAL5CAL4CAL3CAL2CAL1CAL0OSCCALRead/WriteR/WR/WR/WR/WR/WR/WR/WR/WInitial ValueDevice Specific Calibration Value位7 .. 0 - CAL7 .. 0:振荡器校准值将标定数据写入这个地址可以调整内部振荡器以消除过程变量ations所带来的振荡频率.这是在复位时自动完成.何时OSCCAL为零,最低可用频率被选择.写非零值,该寄存器将增加内部振荡器的频率.写入0xFF即得到最高频率.标定的振荡器用来为访问EEPROM和Flash.如果EEPROM或闪存写,不要标定到超过8.8 MHz的频率.其他,聪明,EEPROM或Flash写可能会失败.26ATtiny25/45/857598H–AVR–07/09ATtiny25/45/85该CAL7位决定操作的振荡器的范围.设置此位为0,给出了最低频率范围,此位设置为1给出了最高的频率范围.两个频率范围是重叠的,换句话说OSCCAL = 0x7F的设置提供了一个更高的频率高于OSCCAL = 0x80的.该CAL6 .. 0为用于调整所选范围内的频率.设置的0x00给出了在该范围内的最低频率,和0x7F设置给出了该范围内的最高频率.递增CAL6 .. 0 1会给小于2%频率增加,频率范围为7.3 - 8.1兆赫.避免校准校正内部RC时大幅度改变校准值振荡器,以保证MCU能够稳定运行.从超过2%,频率的变化一个周期到下一个可导致unpredicatble行为.改变OSCCAL不应该超过0x20每个校准.它需要确保MCU是在保持在复位状态这样的变化中,时钟频率表6-8.OSCCAL数值0x000x3F0x7F内部RC振荡器频率范围最小频率,百分比标称频率50u0%在百分比最大频率标称频率1000 0%6.7外部时钟为了推动从外部时钟源设备,CLKI必须以最高所示6-4.要在一个外部时钟运行设备,熔丝位CKSEL必须编程为“00”.图6-4.外部时钟驱动配置外部CLOCK信号数字CLKIGND当这个时钟源的选择,启动时间如由熔丝位SUT确定表6-9.表6-9.SUT1..000011011对于外部时钟的启动时间启动时间从掉电和省电6 CK6 CK6 CK从额外延迟时间Reset14CK14CK + 4毫秒14CK + 64毫秒保留的推荐用法BOD使能电源快速上升慢慢崛起的大国277598H–AVR–07/09请注意,系统时钟预分频器可用于实现内部运行时间的变化时钟频率,同时保证稳定工作.请参阅“系统时钟预分频器”页面上29了解详情.6.7.1高频PLL时钟 - PLLCLK有一个内部PLL提供名义上锁定到RC振荡器64 MHz时钟速率对于使用的外设T/C1的和为系统时钟源.当选定为系统时钟源,通过编程熔丝位CKSEL为0001,它是由一分为四样所示表6-10.当这个时钟源的选择,启动时间由确定SUT熔断器所示表6-11.另请参阅“PCK时钟系统”第23页.表6-10.PLLCK操作模式CKSEL3..0标称频率000116 MHz的表6-11.为PLLCK的启动时间启动时从电源时间从额外延迟时间SUT1..0下来,省电复位(VCC= 5.0V)推荐用法001K CK14CK + 8msBOD使能0116K CK14CK + 8ms电源快速上升101K CK14CK + 68毫秒慢慢崛起的大国1116K CK14CK + 68毫秒慢慢崛起的大国6.8128 kHz内部振荡器在128 kHz内部振荡器是一种低功耗振荡器提供128 kHz的时钟.频率为名义在3V和25°C.这个时钟也可以选择作为系统时钟通过编程CKSEL熔丝位为“11”.当这个时钟源的选择,启动时间如由熔丝位SUT确定表6-12.表6-12.为128 kHz内部振荡器的启动时间启动时间从从额外延迟时间SUT1..0掉电和省电Reset推荐用法006 CK14CKBOD使能016 CK14CK + 4毫秒电源快速上升106 CK14CK + 64毫秒慢慢崛起的大国11保留的28ATtiny25/45/857598H–AVR–07/09ATtiny25/45/856.9时钟输出缓冲器该装置可以输出系统时钟上CLKO引脚.为了使输出,CKOUT保险丝已被编程.此模式适用于芯片时钟用来驱动其他CIR-外部电路系统.请注意,时钟复位,在正常操作期间将不会被输出I / O引脚,当保险丝被编程将被覆盖.任何时钟源,包括跨NAL RC振荡器,可以在时钟输出CLKO选择.如果系统时钟使用预分频器,它是分为系统时钟输出.6.10系统时钟预分频器该ATtiny25/45/85系统时钟可以通过设置时钟预分频寄存器可分为 -CLKPR.此功能可用于降低功耗时的要求处理能力低.这可以与所有的时钟源选项一起使用,它会影响到CPU和所有同步外设的时钟频率. CLK由系数被划分为所示表6-13.I/O,CLKADC,CLKCPU和CLKFLASH6.10.1时钟预分频寄存器 - CLKPRBit7CLKPCE6–5–4–3CLKPS32CLKPS21CLKPS10CLKPS0CLKPRRead/WriteInitial ValueR/W0R0R0R0R/WR/WR/WR/WSee Bit Description位7 - CLKPCE:时钟预分频器变化使CLKPCE位必须被写为逻辑1,使之CLKPS位.该CLKPCE当CLKPR其他位simultaniosly写入到零位才会更新. CLKPCE是由硬件写入四个周期后或当CLKPS位写入清除.重写在此超时期限CLKPCE位,既不扩展超时期限,也没有明确的CLKPCE位.位6 .. 4 - Res:保留位这些位为保留位在ATtiny25/45/85,将来也永远读为零.位3 .. 0 - CLKPS3 .. 0:时钟预分频器选择位3 - 0这几位定义所选时钟源与内部系统之间的分频因子时钟.这些位可以被写入运行时间来改变时钟频率以满足不同应用要求.由于分频器分主时钟输入到MCU,所有同步速度当使用分频因子常识外设降低.该部门的因素中给出表6-13.为避免时钟频率的无意改变,一个特殊的写程序必须遵循改变CLKPS位:1.将时钟预分频器变化使能(CLKPCE)位一和所有其他位CLKPR为零.2.在四个周期,而记录一零CLKPCE写入所需的值CLKPS.改变预分频器设置时要确保写入过程中不会中断,中断必须被禁止.297598H–AVR–07/09CKDIV8熔丝位决定CLKPS位的初始值.如果CKDIV8未编程,CLKPS位复位为“0000”.若CKDIV8已编程,CLKPS位复位到
“0011”,给人的八个分频因子在启动.如果所选择的这个功能应该使用时钟源的频率高于该设备在目前的最高频率
操作条件.需要注意的是任何值可以被写入CLKPS位不管
CKDIV8熔丝位设置.在软件应用中,必须确保有足够的分频因子选择,如果selcted时钟源具有更高的频率比的设备在本操作条件下的最大频率.该设备出厂时CKDIV8熔丝编程.
表6-13.
时钟预分频器选择
CLKPS3
CLKPS2
CLKPS1
CLKPS0
时钟分频系数
00001000120010400118010016010132011064011112810002561001保留的1010保留的1011保留的1100保留的1101保留的1110保留的1
1
1
1
保留的
6.10.2开关时间
当预分频器设置之间切换时,系统时钟预分频器确保没有故障发生在时钟系统,而且没有中间频率比既不对应于先前设定的时钟频率,也没有相应的新设置的时钟频率更高.
纹波计数器实现预分频器运行在不可分割的时钟频率,这可能比CPU的时钟频率快.因此,它是无法确定的
预分频器的状态 - 即使它是可读的,它需要从一个切换的确切时间钟师另一个不能准确预测.
从CLKPS值被写入的时候,它需要T1 + T2和T1 + 2 * T2之间,在新的时钟频率为活跃.在此期间,2个时钟边沿.这里,T1是以前的时钟周期,T2是对应于新的预分频比的设定的期间.
30
ATtiny25/45/85
7598H–AVR–07/09