AVR应用笔记 AVR单片机内核剖析 ATtiny2313 标定的片内RC振荡器

ATtiny2313 标定的片内RC振荡器

以下资料参考马潮老师的中文手册,由微雪电子整理并发布,转载请注明出处:www.waveshare.net,否则追究相应责任!

标定的片内 RC 振荡器提供了固定的 8 MHz 或 4 MHz 的时钟。 这些频率都是 3V、 25 C下的标称数值。若频率超出器件标称值,必须对CKDIV8熔丝位编程,以在启动阶段 对内部频率 8 分频,详见 P24“ 系统时钟预分频器 ” 。

这个时钟也可以作为系统时钟,只 要按照 Table 4 对熔丝位 CKSEL 进行编程即可。选择这个时钟之后就无需外部器件了。 复位时硬件将标定字节加载到 OSCCAL 寄存器,自动完成对 RC 振荡器的标定。在 3V、 25度时,这种标定可以提供标称频率 ± 10%的精度。

当使用这个振荡器作为系统时钟时,看门狗仍然使用自己的看门狗定时器作为溢出复位的依据。更多的有关标定数据的信息请参见 P152“ 校准字节 ” 。

ATtiny2313 片内标定的RC振荡器工作模式

选择了这个振荡器之后,启动时间由熔丝位 SUT确定,如 Table 7 所示。

ATtiny2313 片内标定的RC振荡器的启动时间

ATtiny2313 片内标定的RC振荡器的启动时间


振荡器标定寄存器- OSCCAL

ATtiny2313 OSCCAL 振荡器标定寄存器

· Bits 7 –RES: 保留
保留位,读操作返回值为零。
· Bits 6..0 – CAL6..0: 振荡器标定值
将标定数据写入这个地址可以对内部振荡器进行调节以消除由于生产工 器频率偏差。这在复位时自动完成。当 OSCCAL 为零时振荡器以最低频率工作。当对其 写如不为零的数据时内部振荡器的频率将增长。写入 0x7F即得到最高频率。标定的振荡 器用来为访问 EEPROM 和 Flash 定时。有写 EEPROM 和 Flash 的操作时不要将频率标 定到超过标称频率的 10%,否则写操作有可能失败。要注意振荡器只对 8 MHz 和 4 MHz 这两种频率进行了标定,其他频率则无法保证。

为保证 MCU 稳定工作,当标定内部 RC振荡器时避免大幅度改变标称值。工作频率突变 超过 2%将会产生异常现象。每次对 OSCCAL 寄存器中值的改变不应超过 0x20。

ATtiny2313 内部RC振荡器频率范围

 相关AVR资料说明

可作为如下AVR的参考资料: ATtiny13 ATtiny24 ATtiny44 ATtiny84 ATtiny2313 ATtiny26 ATmega48 ATmega88 ATmega168 ATmega8 ATmega16 ATmega32 ATmega64 ATmega128 ATmega162 ATmega169 ATmega169P ATmega8515 ATmega8535

 相关AVR型号资料

ATtiny13 ATtiny24 ATtiny44 ATtiny84 ATtiny26 ATtiny2313
ATmega48 ATmega88 ATmega168 ATmega8 ATmega16 ATmega32
ATmega64 ATmega128 ATmega162 ATmega169 ATmega8515 ATmega8535

ATtiny2313 标定的片内RC振荡器

——