常见问答

常见问答

如何使用Software Reset或CPU reset,得到比硬件重置更短的复位时间?  日期:2021-09-01

Nuvoton 的 8051 系列 MCU 备有 Software Reset 功能,其复位所需时间可比其他硬件重置方式更短。

用户可设置 SWRST 比特位 (CHPCON.7) 来执行 Software Reset 功能,范例程序如下:

TA = 0xAA; TA = 0x55;          //enable Time Access Protection (TA)

CHPCON = 0x80;                     //write 1 to SWRST to trigger a Software Reset

/* Trap the CPU */

while(1); 

用户可以透过 SWRF 比特位 (AUXR0.7) 确认 Software Reset 是否为上一次的复位来源。

 

而在 Nuvoton 的 M0/M23/M4 系列 MCU 则称为 CPU Reset 功能。

用户可设置 CPURST 比特位 (SYS_IPRST0[1]) 来执行 CPU Reset 功能,其范例程序如下:

SYS_REGLCTL = 0x59; SYS_REGLCTL = 0x16; SYS_REGLCTL = 0x88;          //enable Register Lock Control

SYS_IPRST0 = 0x02;                                                                                                    //write 1 to CPURST to trigger a CPU Reset

/* Trap the CPU */

while(1); 

用户可透过 System Reset Status 缓存器 (SYS_RSTSTS) 确认上一次的复位来源。
举例来说,若上一次的复位来源为 CPU Reset,则 CPU Reset Flag,也就是 CPURF (SYS_RSTSTS[7]) 将会被设为 1。 

以 MS51 当主控为例,硬件复位需要做 RC 充电约耗费 50 毫秒,而从 SWRST 的设置到下一次的 Main 入口约需 800 微秒,此即为 Software Reset 复位时间。

产品: 微控制器 ,8 位 8051 微控制器 ,Arm Cortex-M0 微控制器 ,Arm Cortex-M23 微控制器 ,Arm Cortex-M4 微控制器
应用:
功能: Peripherals,System Operation,Reset,Software and Tools,Development-Environment,IAR,Keil
本网站使用cookie作为与网站互动时识别浏览器之用,浏览本网站即表示您同意本网站对cookie的使用及相关隐私权政策