打印
[ARM入门]

stm8单片机复位功能的详细解释

[复制链接]
516|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
对于stm8单片机的复位引脚NRST,有九种情况会触发复位:
  通过外部电位作用于NRST引脚产生复位
  上电复位(POR)
  掉电复位(BOR)
  独立看门狗引发复位
  窗口看门狗引发复位
  通过软件触发复位
  SWIM引起的复位
  非法操作码引起的复位
  EMS复位:当一些关键的寄存器被破坏或错误加载时产生的复位
  这些复位源均是通过作用于NRST引脚,将电平拉低,引发单片机复位。单片机复位向量的地址是固定的,对于stm8s系列,复位向量的CPU映射地址为0x6000。
  
  图1 复位电路
  NRST引脚内接一个上拉电阻Rpu,可作为输入,也可作为开漏输出。因此我们可以用其开漏模式对外部设备进行复位。通常如果想要产生一个复位信号,我们至少需要一个脉宽为500ns的低电平来对CPU进行复位触发。
  首先我们来说上电和掉电复位功能。
  当给单片机进行上电时,上电复位POR会一直处于复位状态,直到供电电压如VDD达到掉电复位BOR的启动电压。这时BOR复位会取代POR,使POR关闭。接着BOR复位会一直持续到CPU达到稳定工作电压为止。通常上电和掉电电压会有一个参考阈值VIT-和VIT+,如下图2是其触发特性。
  
  图2 POR和DOR的门限
  对于看门狗的复位,我们通过设置启动看门狗,当达到看门狗设定值还未进行喂狗时会产生一个复位信号,看门狗的设置读者可参考小编前面的这篇**:http://toutiao.com/item/6497926864508551694/
  而软件复位实则是通过设置寄存器WWDG_CR中的T6位来触发复位。
  SWIM复位是当我们进行ICP模式下载程序时产生的复位。
  对于非法操作码复位,如果一个被执行的代码与任意操作码或预置字节均不相符,则产生一个复位。此功能与看门狗相配合,可使设备从一个意外错误或干扰中恢复。
  EMS复位是通过检测某些关键寄存器与其互补寄存器是否一致,从而判断是否需要复位,这是CPU自身的一个保护机制。
  最后我们来说一下单片机的 RST_SR 复位状态寄存器。
  
  图3 复位状态寄存器RST_SR
  如图3是复位状态寄存器,这些位的特点为rc_w1,即读该位和向该位写1都可以使该位为0,而写0对该位无影响。我们可以此了解复位状态信息。
  通过本篇介绍,读者可以对stm8单片机的复位功能有一个更深的认识。

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

211

主题

1124

帖子

9

粉丝