STM8 复位

来自丢石头百科
<tbody></tbody>
STM8S共有9个复位源:
  • NRST引脚产生的外部复位 
  • 上电复位(POR) 
  • 掉电复位(BOR)
  • 独立看门狗复位
  • 窗口看门狗复位
  • 软件复位
  • SWIM复位
  • 非法操作码复位
  • EMS复位:当一些关键的寄存器被破坏或错误加载时产生的复位
  • 所有的复位源最终都作用于NRST管脚,并在复位过程中保持低电平。复位入口向量在内存映射中位于固定的地址6000h。

    STM8 P40 1.jpg

    (图11:STM8 复位电路)

    复位电路
  • 复位引脚NRST内部集成了弱上拉电阻RPU,即可作为输入,也可作为开漏输出。 一个在复位引脚上宽度最小为500ns的低电平脉冲即可产生一个外部复位。对于复位的检测是异步进行的,因此即使MCU处于停机(Halt)模式,也有可能进入复位状态。 复位引脚也可以作为开漏输出用于对外部设备进行复位。 无论内部复位源是什么,一旦复位,内部复位电路都会产生一个至少脉宽为20us的复位脉冲。 当没有外部复位发生时,内部弱上拉电阻可保证复位引脚处于高电平。 请参考图11和见数据手册中的电特性参数章节来了解更多细节。
  • 内部复位源

    除了上电复位(POR)和掉电复位(BOR),每个内部复位源在复位状态寄存器中都有一个标志位与之相对应。复位时,根据导致复位的复位源,这些标志位被分别设置。因此,这些标志位可用于指示引起最后一次复位的复位源。通过软件写'1'可清除标志位。

    * 上电复位(POR)和掉电复位(BOR)
      * STM8在上电期间,POR保持设备处于复位状态,直到供电电压(VDD和VDDIO)到达BOR的启动电压。此时,BOR复位取代POR,POR自动关闭。
    1. BOR复位一直持续到供电电压到达工作电压。详情请参见数据手册的电特性章节。
    2. * 当工作电压降到门限值VIT-以下时,BOR也将产生一个复位,此后POR模块将重新准备好以响应下一次上电复位。
    3. 电压迟滞用以保证清楚地检测电压的上升和下降。
    4. 即使是MCU处于低功耗模式,BOR也总是保持激活状态。
    5. STM8 P41 1.jpg (图12:STM8 VDD/VDDIO电压检测:POR/BOR门限 )
    6. 看门狗复位
      1. * 详情请参见14独立看门狗(IWDG)和15窗口看门狗(WWDG)。
      2. 软件复位
        1. 应用程序可通过清除寄存器WWDG_CR中的T6位来触发一个复位,详情请参见15窗口看门狗(WWDG)。
        2. SWIM复位
          1. 连接到SWIM接口的外部设备可通过SWIM模块产生一个MCU复位。
          2. 非法操作码复位
            1. * 为了提高STM8设备的可靠性,防止意外行为的发生,使用了非法操作码检测系统。如果一个被执行的代码与任意操作码或预置字节均不相符,则产生一个复位。此功能与看门狗相配合,可使设备从一个意外错误或干扰中恢复。
            2. 注意:一个有效的预置字节与一个有效的操作码组成的一个非法的组合将不会产生复位。
            3. EMS复位
              1. * 为了避免由电磁干扰造成的对应用程序误写操作或系统挂起,大多数关键寄存器都有一个互补寄存器与之相对应。系统将会自动检测这些关键寄存器与其互补寄存器之间是否匹配。如果不匹配,则产生一个EMS复位,从而使应用程序恢复到正常操作。