发 帖  
原厂入驻New

哪位大神可以详细介绍一下ATtiny13标定的片内RC振荡器吗?

185 ATtiny13 rc振荡器
分享
ATtiny13标定的片内RC振荡器
0
2020-11-17 07:23:40   评论 分享淘帖 邀请回答
1个回答
标定的片内 RC 振荡器提供了固定的 8 MHz 或 4 MHz 的时钟。 这些频率都是 3V、 25 C下的标称数值。若频率超出器件标称值,必须对CKDIV8熔丝位编程,以在启动阶段 对内部频率 8 分频,详见 P24“ 系统时钟预分频器 ” 。
这个时钟也可以作为系统时钟,只 要按照 Table 4 对熔丝位 CKSEL 进行编程即可。选择这个时钟之后就无需外部器件了。 复位时硬件将标定字节加载到 OSCCAL 寄存器,自动完成对 RC 振荡器的标定。在 3V、 25度时,这种标定可以提供标称频率 ± 10%的精度。
当使用这个振荡器作为系统时钟时,看门狗仍然使用自己的看门狗定时器作为溢出复位的依据。更多的有关标定数据的信息请参见 P152“ 校准字节 ” 。

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

振荡器标定寄存器- 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。
2020-11-17 15:28:13 评论

举报

只有小组成员才能发言,加入小组>>

484个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /9 下一条

快速回复 返回顶部 返回列表