IC系统中会用到三种reset方式:
(1)Hard reset
指上电时候的reset,通过复位按键来对整个chip进行reset。该reset是全局的,所有的模块内部寄存器都会被reset掉,该reset需要设计去抖电路。
一般芯片初次上电运行,都需要进行复位。
(2)software reset
通过MCU来控制子模块的reset。reset源是一个寄存器,MCU对寄存器写1达到对模块reset的目的。一般用于err handle,当某个模块运行出错,或者系统出错,但是又不能按下复位键,可以通过MCU写寄存器,只对某些出错的模块做reset,其他模块不用reset。
使用该reset,通常并不reset模块的静态配置信息,只reset模块运行时的动态寄存器,以防止reset之后再次工作时,模块的配置信息需要重新加载。
(3)延迟reset
这种reset一般也用于err handle。reset源同样是寄存器,MCU写寄存器为1,达到reset某个Module的目的,但是该Moule并不会马上响应reset。如果该Module有正在执行的请求,它会将该请求做完,然后自动reset自身。
这种reset通常在如下情形中使用:chip内部出错,进入err handle,但是又不能对整个chip做reset,只能做部分reset,做了部分reset,那些没有reset的module照样在工作,为了让它们能把活干完,被reset的module不能立刻宕机,还需要继续工作一段时间,以防止更大面积的出错。
全部0条评论
快来发表一下你的评论吧 !