您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > STM8S共有9个复位源
STM8S共有9个复位源:NRST引脚产生的外部复位上电复位(POR)掉电复位(BOR)独立看门狗复位窗口看门狗复位软件复位SWIM复位非法操作码复位EMS复位:当一些关键的寄存器被破坏或错误加载时产生的复位所有的复位源最终都作用于NRST管脚,并在复位过程中保持低电平。复位入口向量在内存映射中位于固定的地址6000h。(图11:STM8复位电路)复位电路复位引脚NRST内部集成了弱上拉电阻RPU,即可作为输入,也可作为开漏输出。一个在复位引脚上宽度最小为500ns的低电平脉冲即可产生一个外部复位。对于复位的检测是异步进行的,因此即使MCU处于停机(Halt)模式,也有可能进入复位状态。复位引脚也可以作为开漏输出用于对外部设备进行复位。无论内部复位源是什么,一旦复位,内部复位电路都会产生一个至少脉宽为20us的复位脉冲。当没有外部复位发生时,内部弱上拉电阻可保证复位引脚处于高电平。请参考图11和见数据手册中的电特性参数章节来了解更多细节。内部复位源除了上电复位(POR)和掉电复位(BOR),每个内部复位源在复位状态寄存器中都有一个标志位与之相对应。复位时,根据导致复位的复位源,这些标志位被分别设置。因此,这些标志位可用于指示引起最后一次复位的复位源。通过软件写'1'可清除标志位。上电复位(POR)和掉电复位(BOR)oSTM8在上电期间,POR保持设备处于复位状态,直到供电电压(VDD和VDDIO)到达BOR的启动电压。此时,BOR复位取代POR,POR自动关闭。oBOR复位一直持续到供电电压到达工作电压。详情请参见数据手册的电特性章节。o当工作电压降到门限值VIT-以下时,BOR也将产生一个复位,此后POR模块将重新准备好以响应下一次上电复位。o电压迟滞用以保证清楚地检测电压的上升和下降。o即使是MCU处于低功耗模式,BOR也总是保持激活状态。(图12:STM8VDD/VDDIO电压检测:POR/BOR门限)看门狗复位o详情请参见14独立看门狗(IWDG)和15窗口看门狗(WWDG)。软件复位o应用程序可通过清除寄存器WWDG_CR中的T6位来触发一个复位,详情请参见15窗口看门狗(WWDG)。SWIM复位o连接到SWIM接口的外部设备可通过SWIM模块产生一个MCU复位。非法操作码复位o为了提高STM8设备的可靠性,防止意外行为的发生,使用了非法操作码检测系统。如果一个被执行的代码与任意操作码或预置字节均不相符,则产生一个复位。此功能与看门狗相配合,可使设备从一个意外错误或干扰中恢复。o注意:一个有效的预置字节与一个有效的操作码组成的一个非法的组合将不会产生复位。EMS复位o为了避免由电磁干扰造成的对应用程序误写操作或系统挂起,大多数关键寄存器都有一个互补寄存器与之相对应。系统将会自动检测这些关键寄存器与其互补寄存器之间是否匹配。如果不匹配,则产生一个EMS复位,从而使应用程序恢复到正常操作。STM8复位TM32L-Powercontrol(PWR)缩写解析:BOR:brownoutreset(欠压复位)RTC:real-timeclock(实时时钟)POR:poweronreset(上电复位)PDR:powerdownreset(断电复位)PVD:programmingvoltagedetector(可编程电压检测器)1.电源供应一个嵌入式线性稳压器为内部提供1.2~1.8V的电压VDD如果BOR是有效的,VDD电压范围为:1.8(poweron)/1.65(powerdown)~3.6V;如果BOR是无效的,VDD电压范围为:1.65V~3.6V。VDD为外部IO和内部稳压器提供电压。VcoreVcore=1.2~1.8V,Vcore为数字外围设备、SRAM和Flashmemory提供电压。它是有内部稳压器产生的。Vcore范围是可选的(与VDD相关)VSSA,VDDA如果BOR是有效的,VSSA,VDDA电压范围为:1.8(poweron)/1.65(powerdown)~3.6V;如果BOR是无效的,VSSA,VDDA电压范围为:1.65V~3.6V。VDDA为外围模拟设备提供电压:ADC,DAC,复位模块,RC振荡器和PLL。当需要使用ADC时,VDDA电压不能小于1.8VVRET-,VERF+VREF+为输入参考电压。只有在LQFP144,UFBGA132,LQFP100,UFBGA100和TFBGA64封装的才是有效的,其他封装情况下,默认连接到VSSA和VDDA上VLCDVLCD=2.5~3.6V。LCD控制器可由VLCD外部接口或者内部嵌入式升压转换器提供电压。(1)独立的AD和DAC转换器供给和参考电压为了提高转换精度,ADC和DAC有独立的电压供给,可分别的进行电源滤波和隔离PCB中的噪声单独的VDDA为ADC提供电压分离的VSSA为地在BGA64封装和所有100接口封装及以上的设备有以下特性:在低电压情况下,为了保证较高的转换精度,用户可以将VERF+连接到一个外部电压上(低于VDD)。对于ADC或DAC,VREF+为最大输入输出电压值。ADC--2.4V=VREF+=VDDA,全速(ADCCLK=16MHZ,1Msps)--1.8V=VREF+=VDDA,中速(ADCCLK=8MHZ,500Ksps)--2.4V=VREF+VDDA,中速(ADCCLK=8MHZ,500Ksps)--1.8V=VREF+VDDA,低速(ADCCLK=4MHZ,250Ksps)--当设备电压范围选择为3(Vcore=1.2V)时,ADC为低速(ADCCLK=4MHZ,250Ksps)DAC--1.8V=VREF+VDDA当VDDA高于2.4V时,VREF+电压范围应为:2.4V~VDDA当VDDA低于2.4V时,VREF+必须等于VDDA(2)独立的LCD供给电压VLCD可用于控制LCD的对比度。该接口可用于以下两种情况:可接收有外部电路提供理想的最大电压(通过MCU为段式或一线LCD提供电压)同样可以连接到一个外部电容上,用于MCU的升压转换器上。该升压转换器由软件控制,并为段式或一线LCD提供电压提供给段式或一线LCD的电压决定了LCD的对比度。你可以通过控制其占空比或死区来减少对比度。当一个外部电压为VLCD提供电压时,其电压范围应为:2.56~3.6V,且与VDD无关当LCD机遇内部升压转化器时,VLCD应该连接到一个电容上(见产品数据手册)(3)RTC和RTC备份寄存器RTC是一个独立的BCD计时器。RTC提供时钟和日历、两个可编程闹钟中断、一个可编程周期性唤醒标志及中断功能。RTC包含了20个数据备份寄存器(80bytes)(inmediumdensitydevices)或32个数据备份寄存器(128bytes)(inhighandmedium+densitydevices)。当篡改事件发生时,这些寄存器会被复位。RTC寄存器使用:刚复位时,RTC寄存器处于写保护状态,为了使用RTC寄存器,需要进行按照以下步骤进行操作:1.使能电源接口时钟(设置RCC_APB1ENR寄存器中的PWREN)2.设置PWR_CR寄存器中的DBP位3.配置RCC_CSR寄存器中的RTCSEL[1:0]选择RTC时钟源4.使能RTC时钟(设置RCC_CSR寄存器中的RTCEN位)(4)电压调整器一个内嵌线性电压调整器可用于所有数字电路(除了待机中的电路)。调整器的输出电压(Vcore)可以通过编程设置为三种不同的范围(1.2-1.8V)复位后,电压调整器一般是使能的。它更具应用的模式可以工作在三种不同的模式下:main(MR),lowpower(LPR)和powerdowno在运行模式下,调整器处于main(MR)模式下,并为Vcoredomain提供全功率(core、memories和digitalperipherals)o在低功耗运行模式下,调整器处于lowpower(LWR)模式下,并为Vcoredomain提供低功耗,保留寄存器及内部SRAM数据o在睡眠模式下,调整器处于main(MR)模式下,并为Vcoredomain提供全功率,保留寄存器及内部SRAM的数据o在低功耗睡眠模式下,调整器处于lowpower(LWR)模式下,并未Vcoredomain提供低功耗,保留寄存器及内部SRAM数据o在待机模式下,调整器处于关闭状态,除了待机电路之后,寄存器及SRAM中的数据都会丢失(5)动态电压调节管理动态电压调节管理是一项电源管理技术,根据不同的情况,增加或减少Vcore的电压。增加Vcore类似于过压,其用于提高设备的性能;减少Vcore类似于欠压,其用于节省能源。Range1:Range1为高性能范围。电压调整器输出1.8V电压(VDD电压为2.0V)。在该范围内,Flash编程和擦除操作均可操作。Range2和3:调整器可被编程为输出1.5V(range2)和1.2V(range3)(VDD电压无任何限制1.65V~3.6V)o在1.5V的时候,Flash存储器仍是有效的,但读取时间为中等。这是一个中等性能的范畴。编程和擦除Flash存储器仍是可操作的。o在1.2V的时候,Flash存储器仍是有效的,但读取时间较慢。这是一个低性能的范畴。编程和擦除Flash存储器是不可操作的。(6)动态电压调节配置为了修改电压调整器ranges,需要按照以下步骤操作:1.检测VDD以确认可使用那些ranges2.轮询VOSF位直到该位为0(PWR_CSR寄存器)3.通过配置VOS[12:11]位来配置电压范围(PWR_CR寄存器)4.轮询VOSF位直到该位为0(在配置期间系统时钟是停止的,直达VOSF=0)(7)当VDD低于2.0V时,电压调整器和时钟管理当Vcorerange1被选中且VDD降到低于2.0V时,应用必需重新配置系统。按照以下三个操作步骤进行系统的重新配置:1.检测VDD降到低于2V:使用PVD来检测VDD电压和当电压低于所选择的范围则会产生一个终端。为了检测2.0V的电压阀值,应用可以选择PVD临界值2(典型为:2.26V)2.修改时钟频率(与下面选中的电压range有关:低于2.0V,系统时钟频率被限制在16MHZ(range2)和4MHZ(range3))3.选择需要的电压范围,注意电压低于2.0V,只能选择range2或者range3(如果当前电压range为2/3,当电压下降到低于2.0V时,系统无需重新配置仍可正常工作)(8)当修改Vcorerange时,电压调整器和时钟管理当VDD高于2.0V时,三种电压范围均可选择:当前电压范围大于目标电压范围时(如:range2/3)a)修改时钟频率b)选择所需的电压范围当电压低于目标电压范围时(如:range1)a)选择所需的电压范围b)如有必要的可调整时钟频率当VDD低于2.0V时,只可选择range2/3从range2切换到range3a)修改时钟频率关联到range3b)选择电压range3从range3切换到range2a)选择电压range2b)如有必要可调整时钟频率2.电源检测设备有内部的上电复位(POR)/掉电复位(PDR),欠压复位(BOR)电路。当设备工作在1.8~3.6V之间时,BOR默认情况下是使能的,并且保证了从1.8V开始正常工作。当电压到达了1.8V的伐值时,将引起复位(theoptionbyteloadingprocessstarts),确认或者修改默认伐值,或者永久关闭BOR(在这种情况下,VDD最小值为1.65V)。当设备工作在1.65~3.6V之间时,BOR是永久失效的。因此,设备的启动时间可以减少到1ms。5种BOR的阀值(1.65~3V)可以通过选择字节进行配置。为了减少待机模式下的功耗,内部电压参考VERFINT可以自动关闭。当VDD低于指定的阈值时(VPOR,VPDR,VBOR),设备保持在复位模式,并且无需任何外部
本文标题:STM8S共有9个复位源
链接地址:https://www.777doc.com/doc-4010240 .html