SoC芯片中的复位

发布时间:2023年12月20日


文章前情预告

本篇博文主要介绍SoC系统中的复位,复位的类型,各种复位类型应用的场景,复位的注意事项,复位的概念在其他方面的体现,例如:Verilog语法,STM32的复位函数等等,复位的原理在生活中的体现,最后奉上参考资料!

一、复位是什么?

在这里插入图片描述
复位这个概念在网上查一般都是显示复位的目的,例如:使电路达到一个稳定的状态,防止程序等等动作,我理解的复位是一个动作,这个动作可以使触发器等到达一个状态,只不过我们一般定义这个状态是初始化状态。

二、为什么要有复位?

1.复位可以让电路有一个确定的初始状态

这一步是为了避免上电以后电路进入随机状态而发生紊乱,电路是逻辑搭建起来的,各个组件的工作都是有一定顺序的,这一步是下一步的前置条件,一旦破坏了这个这种顺序,电路将无法开始正常工作。

2.复位可以使电路从错误状态回到可以控制的确定状态

假设电路发生了异常,例如状态不正常,中断异常,程序跑飞,这个时候就可以对电路进行复位,从错误状态回到一个正常的状态,最典型的例子就是看门狗,看门狗若在一段时间内未收到来自处理器的特定信号,看门狗一段时间收到的处理器的特定信号,称为喂狗,如果狗得不到及时的喂养,则会置位复位信号到MCU,使MCU复位,防止MCU死机。

三、 复位有什么类型,复位的注意事项!

1、冷复位:冷复位是和电源电压相关的复位,比如上电复位,欠压复位;
上电复位:上电复位指的是芯片上电后,电压监测电路(POR)检测到电源电压VDD上升到CMOS逻辑可以运动的电压,就会产生一个复位脉冲,这个复位脉冲就会引起芯片系统的全局复位。
2、热复位:主要是无需掉电的复位,例如:看门狗复位,软复位,按键复位。
软复位:通过MCU对复位源寄存器写0/1值来控制某个模块或某个系统的复位,这种复位方式用来错误处理。
看门狗复位:看门狗有两根信号线
1.一根由MCU发出的喂狗信号,这个信号的作用是让定时器清零,重新开始计数。
2.看门狗发出的复位信号,当系统出现干扰没有对看门狗进行清零,此时看门狗就会溢出产生复位信号。
3、复位是有顺序的,所以要注意复位的顺序!!!例如在SoC中两个模块之间的复位是否有先后顺序的关系,如果不按照先后顺序的关系进行,可能会出现一个模块挂死的情况!

四、 复位的概念在其他方面的体现

在这里插入图片描述

复位的概念在其他方面的体现:
复位的目的就是为了进入一个状态,然后有序的运行代码,实现我们想要的功能,复位的概念在Verilog也有体现,Verilog中的IDLE类似于复位状态,Verilog状态机功能的实现就是从IDLE状态开始,根据输入跳转到不同的状态来实现不同的功能,IDLE状态的进入相当于电脑的重启,STM32中与之相似的有复位函数,复位函数的本质就是PC指针指到复位的地址单元,从复位地址那里开始执行,重新来一遍。

五、 复位的概念在生活中的体现

这一部分是博主自己的理解可能存在一些误区,复位所进入的初始化状态在我理解就是多米诺骨牌的第一张牌,后面所有的牌都是依赖于这张牌,初始化状态相当于我们想要得到一个东西或者实现一个功能的入门条件或者说是敲门砖,例如我们想要拿到大学毕业证,必须通过高考,高考对于拿到毕业证来说就相当于复位的初始化状态。
在这里插入图片描述

六、 为什么需要异步复位,同步释放?

异步复位,同步释放的原因在于一个芯片肯定有一个硬复位,这个复位是由用户决定何时有效的,但是这个时候我们无法确定,极有可能复位释放到时钟有效沿附近,就会出现亚稳态,所以需要这个复位信号需要进行时钟的同步处理;
同步复位信号的缺点是:大多数SoC中的触发器都采用了门控时钟来节约功耗,门控时钟无法实现同步复位;

七、 参考资料

参考资料1:谈谈SOC复位那点事儿
参考资料2:RISCV AI SOC实战 (四、复位管理)
参考资料3:芯片设计进阶之路-Reset深入理解

文章来源:https://blog.csdn.net/qq_42043804/article/details/135072735
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。