立即注册 找回密码

微雪课堂

搜索
微雪课堂 AVR AVR单片机内核剖析 ATtiny13 查看内容

ATtiny13 看门狗定时器

2015-5-28 21:13| 发布者: waveshare-admin| 查看: 4097| 评论: 0

摘要: ATtiny13 有一个增强型的看门狗定时器 (WDT),其主要特征为:* 独立的片上振荡器提供时钟* 3 种工作模式– 中断– 系统复位– 中断与系统复位* 暂停时间从16ms 到8s可选* 看门狗熔丝始终处于故障保险模式。看门狗定 ...

ATtiny13 有一个增强型的看门狗定时器 (WDT),其主要特征为:
* 独立的片上振荡器提供时钟
* 3 种工作模式
– 中断
– 系统复位
– 中断与系统复位
* 暂停时间从16ms 到8s可选
* 看门狗熔丝始终处于故障保险模式。

ATtiny13 看门狗定时器

看门狗定时器由独立的 128 kHz 片内振荡器驱动。当计数器达到给定的溢出值时, WDT 发出中断或系统复位。在正常工作模式下,在计数器达到溢出值前,它需要系统使用看门 狗定时器复位指令来重启计数器。若系统没有重启计数器,则会出现中断或系统复位。

在中断模式下,当定时器结束 WDT 发出一个中断。该中断可将芯片从休眠状态中唤醒, 也可作为一个通用系统定时器。例如限制最大工作时间,当工作时间超出期望值时发出中 断。在系统复位模式下,当定时器结束 WDT 发出复位信号。这是为防止由于错误代码所 引起的系统挂起的典型使用。第三种模式,中断与系统复位模式,结合两种模式,首先给 出中断,然后转换到系统复位模式。使用该模式,可在系统复位前通过保存临界参数来安 全关闭。

WDTON 熔丝位编程将使看门狗定时器进入系统复位模式。对其编程时,系统复位模式位 (WDE)与中断模式位(WDTIE)分别为1和0。为保证编程安全,必须按照下面顺序来改变看 门狗设置:
1. 在一步操作中,同时对WDCE位与 WDE写"1”。无论 WDE的初始值是多少,在此 必须对其写逻辑 ”1”。
2. 在接着的四个时钟周期内,在 WDE 与WDP中写入期望值,但同时要清除WDCE 位。

下面的例子分别用汇编和C语言实现了关闭WDT的操作。在此假定中断处于用户控制之 下 ( 比如禁止全局中断 ) ,因而在执行下面程序时中断不会发生。

汇编实现了关闭WDT

C语言实现了关闭WDT

Note: 1. 代码例程假设包括所需头文件。
注意:若ATtiny13看门狗由于错误指针或掉电状态等使看门狗出现意外使能,芯片将复位看门狗定 时器将保持使能。如果编码没有设置处理看门狗,则可能导致溢出复位出现死循环。为避 免出现这种状况,即使没有使用看门狗,应用程序在初始化时应对 WDRF 与 WDE 控制位清零。

下面的例子分别用汇编和 C 语言实现了看门狗定时器溢出值的改变。

汇编实现了看门狗定时器溢出值的改变

C语言实现了看门狗定时器溢出值的改变

Note: 1. 代码例程假设包括所需头文件。
注意:看门狗定时器应在 WDP 位改变前复位,因为当改变 WDP 转换到一个短溢出周期 时可能会导致暂停。

看门狗定时器控制寄存器-WDTCR

ATtiny13 WDTCR

· Bits 7–WDTIF: 看门狗定时器中断标志
当看门狗定时器出现溢出且看门狗定时器配置为中断时,该位置位。当执行相应的中断程 序时, WDTIF 由硬件清除;或者在该位写入逻辑 "1” 来清除。当 SREG 寄存器的 I 位与 WDTIE置位,执行看门狗溢出中断 。
· Bit 6 – WDTIE: 看门狗定时器中断使能
当该位与 SREG 寄存器的 I 位置位,看门狗中断使能。如果同时也将 WDE 清除,看门狗 定时器进入中断模式,一旦看门狗定时器程序暂停,则执行相应的中断。

若 WDE 置位,则看门狗定时器处于中断与系统复位模式。看门狗定时器的第一次溢出将 设置WDTIF。执行相应的中断向量将会由硬件最大清除WDTIE与WDTIF(看门狗进入系 统复位模式 )。这种方式会保证使用中断时看门狗定时器的安全性。在中断与系统复位模 式下,WDTIE在每次中断后必须设置。然而它不能在中断服务子程序中执行,因为这可 能会损害看门狗系统复位模式的安全性。如果在下一次溢出前没有程序中断,则进入系统 复位模式。

ATtiny13 看门狗定时器配置

· Bit 4 – WDCE: 看门狗修改使能
该位用在改变 WDE 与预分频位的时序中。WDCE 置位来清除 WDE 位,与 / 或改变预分频位。一旦置 "1”,硬件将在四个时钟周期后对 WDCE 清零。
· Bit 3 – WDE: 看门狗系统复位使能
WDE由MCUSR寄存器的WDRF决定。这就是说当WDRF设置时,WDE也设置。要清除 WDE,必须先清除 WDRF。这一特性保证状态出错时的多重复位,及出错后的安全启动。
·Bit 5, 2..0 - WDP3..0: 看门狗定时器预分频器 3, 2, 1和 0
WDP3..0 决定看门狗定时器的预分频器。如 P39Table 17 所示。

ATtiny13 看门狗定时器预分频器选项


221

顶一下

刚表态过的朋友 (221 人)

最新评论

所有教程
    01ATtiny13 片上调试系统
    特性* 完全的程序流控制* 仿真芯片上所有的模拟和数字功能,除了RESET引脚* 实时操作*
    02ATtiny13 中断向量
    本节描述ATtiny13的中断处理。更一般的AVR中断处理请参见P9“复位与中断处理” 。如果
    03ATtiny13 看门狗定时器
    ATtiny13 有一个增强型的看门狗定时器 (WDT),其主要特征为:* 独立的片上振荡器提供
    04ATtiny13 基准电压使能信号和启动时间
    ATtiny13 具有片内能隙基准源,用于掉电检测,或者是作为模拟比较器或ADC的输入。电压
    05ATtiny13 控制和状态寄存器MCUCSR
    AVR 控制和状态寄存器提供了有关引起AVR复位的复位源的信息。· Bit 7..4 –Res:保留
    06ATtiny13 看门狗复位
    ATtiny13看门狗定时器溢出时将产生持续时间为1 个CK 周期的复位脉冲。在脉冲的下降沿
    07ATtiny13 掉电检测
    ATtiny13 具有片内BOD(Brown-out Detection) 电路,通过与固定的触发电平的对比来检测
    08ATtiny13 外部复位
    外部复位由外加于RESET 引脚的低电平产生。当复位低电平持续时间大于最小脉冲宽度时(
    09ATtiny13 上电复位
    上电复位(POR) 脉冲由片内检测电路产生。检测电平请参见 Table 12。 无论何时VCC 低于
    010ATtiny13 复位源
    复位AVRATtiny13复位时所有的I/O 寄存器都被设置为初始值,程序从复位向量处开始执行
    011ATtiny13 减少功耗的方法
    试图降低AVR 控制系统的功耗时需要考虑几个问题。一般来说,要尽可能利用睡眠模式,并
    012ATtiny13 掉电模式
    当 SM1..0 为 10 时,SLEEP 指令将使 MCU 进入掉电模式。在此模式下,外部晶体停振,
    013ATtiny13 ADC噪声抑制模式
    当SM1..0 为01 时, SLEEP 指令将使MCU 进入噪声抑制模式。在此模式下,ATtiny13 CPU
    014ATtiny13 空闲模式
    当SM1..0 为00 时,SLEEP 指令将使MCU 进入空闲模式。在此模式下,ATtiny13 CPU 停止
    015ATtiny13 MCU控制寄存器MCUCR
    MCU 控制寄存器包含了电源管理的控制位。· Bit 5–SE: 休眠使能为了使 MCU 在执行 SL
    016ATtiny13 系统时钟预分频器
    ATtiny13 系统时钟可通过设置时钟预分频寄存器 CLKPR 来分频。该特性可用来降低功 耗
    017ATtiny13 128kHz片内振荡器
    ATtiny13 128 kHz片内振荡器为提供时钟频率为128 kHz的低功耗振荡器。该频率为在3V、
    018ATtiny13 外部时钟
    为了从外部时钟源驱动芯片, CLKI 必须如 Figure 12 所示的进行连接。同时,ATtiny13
    019ATtiny13 标定的片内RC振荡器
    标定的片内 RC 振荡器提供了固定的 9.6 MHz 或 4.8 MHz 的时钟。 这些频率都是 3V、 2
    020ATtiny13 时钟源
    ATtiny13芯片有如下几种通过Flash熔丝位进行选择的时钟源。时钟输入到AVR时钟发生器,
    021ATtiny13 时钟系统及其分布
    时钟系统及其分布Figure 11为AVR的主要时钟系统及其分布。这些时钟并不需要同时工作。
    022ATtiny13 I/O存储器
    ATtiny13的 I/O P150“ 寄存器概述 ” 。ATtiny13所有的I/O及外设都被放置于I/O I/O位
    023ATtiny13 EEPROM数据存储器
    ATtiny13包含64字节的EEPROM数据存储器。它是作为一个独立的数据 可以按字节读写。EEP
    024ATtiny13 SRAM数据存储器
    SRAM数据存储器Figure 9 给出了ATtiny13 SRAM 空间的组织结构。前 160 个数据存储器包
    025ATtiny13 Flash程序存储器
    系统内可编程的Flash 程序存储器ATtiny13具有1K字节的在线编程Flash,用于存放程序指
    026ATtiny13 复位与中断处理
    AVR有不同的中断源。每个中断和复位在程序空间都有独立的中断向量。所有的中断事件 都
    027ATtiny13 指令执行时序
    这一节介绍指令执行过程中的访问时序。AVR CPU 由系统时钟clkCPU 驱动。此时钟直接来
    028ATtiny13 堆栈指针
    堆栈指针主要用来保存临时数据、局部变量和中断 子程序的返回地址。堆栈指针总是指 向
    029ATtiny13 通用寄存器
    寄存器文件针对AVR增强型RISC指令集做了优化。为了获得需要的性能和灵活性,寄存器文
    030ATtiny13 状态寄存器
    状态寄存器包含了最近执行的算术指令的结果信息。这些信息可以用来改变程序流程以实现
    031ATtiny13 ALU
    ALU- 算术逻辑单元AVR ALU 与32 个通用工作寄存器直接相连。寄存器与寄存器之间、寄存
    032ATtiny13 内核介绍
    本节从总体上讨论ATtiny13 AVR 内核的结构。CPU 的主要任务是保证程序的正确执行。因
    033ATtiny13 引脚功能
    引脚名称引脚功能说明VCC数字电路的电源GND地端口B(PB5..PB0)端口 B 为 6 位双向 I/O
    034ATtiny13 简介
    ATtiny13是基于增强的AVR RISC结构的低功耗8 位CMOS微控制器。由于其先进的指令集以及
内核剖析
    01Atmega16
    深入剖析Atmega16芯片内核
    02Atmega48
    深入剖析Atmega48芯片内核
    03ATmega8
    深入剖析ATmega8芯片内核
    04ATmega128
    深入剖析ATmega128芯片内核
    05ATmega64
    深入剖析ATmega64芯片内核
    06ATmega32
    深入剖析ATmega32芯片内核
    07ATmega168
    深入剖析ATmega168芯片内核
    08ATtiny13
    深入剖析ATtiny13芯片内核
    09ATmega88
    深入剖析ATmega88芯片内核
    010ATtiny2313
    深入剖析ATtiny2313芯片内核
AVR

微雪官网|产品资料|手机版|小黑屋|微雪课堂. ( 粤ICP备05067009号 )

GMT+8, 2024-4-18 10:47 , Processed in 0.030633 second(s), 20 queries .

返回顶部