2015-5-27 11:40| 发布者: waveshare-admin| 查看: 3007| 评论: 0
ATmega48芯片有如下几种通过Flash熔丝位进行选择的时钟源。时钟输入到AVR时钟发生器,再分配到相应的模块。
不同的时钟选项将在后续部分进行介绍。任何时钟源都需要足够高的Vcc来启动振荡器,并且还要有一个最小振荡周期以保证在开 始正常工作之前电源达到稳定电平 。为保证有足够高的 Vcc,在其它复位源释放之后,器件在一个超时延迟时间 (tTOUT) 之内保持内部复位状态。 P37”系统控制和复位” 描述了内部复位的开始条件。这个延时(tTOUT)由看门狗振荡器定时,而延时的周期数通过熔丝位 SUTx 与 CKSELx 来设定。 Table5 列 出了可选的延迟。看门狗振荡器的频率由工作电压决定,详见 P283”ATmega48/88/168典型特性 – 初始数据 ” 。
延时的主要目的是保证在系统能够提供符合应用要求的最小的Vcc之前 AVR处于复位状态。延时过程之中 MCU 并不监控实际的电压。因此需要用户选择合适的、长于 Vcc 上升时间的延时时间。如果无法做到这一点,就应该使用内 / 外部 BOD。 BOD 电路可以保证在释放复位之前有足够高的 Vcc。使用 BOD 时可以禁止超时延迟。我们不推荐在没有使用 BOD 电路时禁止超时延迟的设计。在时钟进入稳定状态前,振荡器需要振荡几个周期。芯片内部有一个纹波计数器监控振荡器输出时钟,并且在达到给定周期数之前保证内部复位有效。然后计数器释放复位信号,器件开始执行程序。推荐的振荡启动时间与时钟类型有关,可以是外部时钟的 6 个周期到低频晶振的 32K 个周期。当AVR芯片从复位状态启动时,时钟的起始序列包括超时延时与启动时间。当 CPU 自掉电模式或省电模式唤醒之后, Vcc被认为足够高,因此起始序列只包括了启动时间。
缺省时钟源
ATmega48/88/168器件出厂时内部 RC 振荡器频率标定为 8.0MHz 并且 CKDIV8 被编程,得到 1.0MHz 的系统时钟。启动时间设为最长且定时周期使能。(CKSEL = "0010", SUT = "10",CKDIV8= "0")。这种设置保证用户可以通过任何有效的编程接口获得需要的时钟源。
以上资料参考马潮老师的中文手册,由微雪电子整理并发布,转载请注明出处:www.waveshare.net,否则追究相应责任!
评论
微雪官网|产品资料|手机版|小黑屋|微雪课堂. ( 粤ICP备05067009号 )
GMT+8, 2024-12-26 20:14 , Processed in 0.021200 second(s), 20 queries .