历史上的今天
今天是:2024年12月10日(星期二)
2021年12月10日 | ATmega88 标定的片内RC振荡器
2021-12-10 来源:eefocus
校准的ATmega88片内 RC 振荡器提供了固定的 8.0 MHz 的时钟 这是在 3V、25 C 下的标称数值。 器件出厂时CKDIV8熔丝位已经被编程,请参见 P31”系统时钟预分频器” 。按照Table11 对熔丝位 CKSEL 进行编程即可将其作为系统时钟。
选择这个时钟之后就无需外部器件了。复位时硬件将标定字节加载到 OSCCAL 寄存器,自动完成对 RC 振荡器的标定。在3V、25 C 时,这种标定可以提供标称频率 ± 1%的精度。 通过改变 OSCCAL 寄存器,标定可以使振荡器在 7.3 - 8.1 MHz 的范围内的精度达到 ± 1%。
当使用这个振荡器作为系统时钟时,看门狗振荡器继续为看门狗定时器和溢出复位提供时钟。更多的有关标定数据的信息请参见 P259” 校准字节 ” 。

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

振荡器标定寄存器- OSCCAL

· Bits 7..0 – CAL7..0: 振荡器标定数据
将标定数据写入这个地址可以对内部振荡器进行调节以消除由于生产工器频率偏差。这在芯片复位时自动完成。 25°C 时振荡器频率为 8.0 MHz。应用软件可对 该寄存器进行写操作来改变振荡器频率。振荡器频率范围在 7.3 - 8.1 MHz 内标定精度可达到 ±1%以内,频率超出此范围则无法保证。
注意该振荡器用来为 EEPROM与 Flash 的写访问定时,从而对相应的时序产生影响。如果需要对 EEPROM 或 Flash 执行写入操作,不要将频率标定到高于 8.8 MHz。否则对EEPROM 或 Flash 的写操作将会失败。
CAL7位决定振荡器工作范围。将该位置0给出低端频率范围,而将该位置1则给出高端频率范围。这两个频率范围是有重叠的,也就是说 OSCCAL = 0x7F 给出的频率高于OSCCAL = 0x80。
CAL6..0位 用来调节被选中范围内的频率。设置为0x00表示该范围中的最低频率,设置为0x7F表示该范围中的最高频率。 当频率范围在7.3 - 8.1MHz时,CAL6..0中的值增加1频率值增加低于 2%。
上一篇:ATmega88 外部时钟
下一篇:ATmega88 外部RC振荡器
史海拾趣
|
复印机打印控制器使用的是VxWorks系统,机器配置如下: CPU:PⅢ 866MHz 硬盘:61G(C,D,E三分区) 内存:256M 软驱:1.44M 网卡:10M/100M 其它:1394接口卡 无显示器及输入设备。 现C盘系统损坏,无法启动,需恢复D盘备份系统至C盘: ...… 查看全部问答> |
|
arm中断疑惑: 当中断产生时,通过中断向量表 b ResetHandler b HandlerUndef ;handler for Undefined mode b Handler ...… 查看全部问答> |
|
我装了LIBXML2,用ARM-ELF-GCC编译程序时提示错误: attempted to include iconv.h when uclibc built local support 编译用的命令如下: arm-elf-gcc cmld.c -o cmld -lm -I /boot/xml/include/libxml2 -L /boot/xml/lib -l ...… 查看全部问答> |
|
用vs2005(C++)写一个程序,在mobile5中能把数据按通讯录的格式导入数据到通讯录里。 请教各位大虾,如何实现,有哪些函数或方法… 查看全部问答> |
|
最近小弟我在研究usb固件编程,有一个疑惑,就是定义usb configuration descriptor的时候,其中的wTotalLength字段关于配置描述符的总长度时,为什么要进行高低字节交换。… 查看全部问答> |
|
谁有这两个补丁 make3_80.gvk_patches make3_80.tor2_2.new_dependency_rules 需要用。 谢谢! 原文地址:http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/ACE-INSTALL.html#VxWorks/NT NOTE:The make (version 3.74) that is provide ...… 查看全部问答> |
|
大家谈谈SHT21应该怎么焊接?https://bbs.eeworld.com.cn/thread-153506-1-1.html看来这个芯片焊接很需要功夫哦!… 查看全部问答> |




