0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

复位那些小事—典型的软复位流程

冬至配饺子 来源:芯时代青年 作者:尼德兰的喵 2023-12-04 13:46 次阅读

在聊到复位的时候总会区分两个概念:硬复位和软复位。

硬复位就是通常所说的复位,是通过硬件电路或者特殊的硬件信号来触发的复位过程。当拉低外部复位信号时硬复位被触发,复位线会直接影响系统的硬件电路与寄存器,将系统的内部状态恢复到一个已知的初始状态。

硬复位通常是由外部的控制电路或者特定的硬件引脚来触发,例如按下一个复位按钮或者通过特定的电路逻辑条件。

软复位是通过软件的程序代码或者寄存器配置等方式触发的复位过程。当软复位被触发时,系统一般需要执行特定的步骤来响应软复位需求,确认进入待复位状态后才会进入复位流程,将系统的内部状态恢复到一个已知的初始状态。软复位通常是在程序执行中的某个特定条件下发生,例如检测到一个错误或者需要重新初始化系统时。

硬复位一般是整芯片甚至芯片组复位,这个过程可以说是比较简单粗暴的。而软复位一般是芯片的部分系统进行复位重启,有时也称为快速复位、动态复位、配置复位,大多是通过一系列的流程来完成的。

本篇中就聊一聊典型的系统软复位流程。

1.触发软复位启动条件。这一般是系统内部或SOC出现了致命的错误比如任务执行超时、总线数据错误或安全机制报错等,上位的MCU或者CPU判断需要对该系统进行软复位操作以恢复功能;

2.停止下发任务。判断需要对系统软复位后,应当从任务层停止下发新的任务,避免系统错误进一步的蔓延影响其他进程;

3.下达软复位请求。请求可能通过配置系统的寄存器或者从控制接口下发使能信号;

4.系统接收到软复位的请求后,需要做出一系列的处理。这时一般有两种方向选择,一种是主动停止工作,比如停止执行接下来的取指、在指令或者卷积层边界停止进一步的计算;另一种是被动停止工作,也就是内部逻辑不停止工作,而通过系统边界的模块响应软复位,进而对内部通路进行阻塞或者假握手假接收等行为使内部被动停止工作。

5.系统边界的模块监听所有通路,等待所有已经发出的请求全部收回应答(典型的比如AW请求收回Bresp,AR请求收回Rdata),这样做的目的是避免本系统的复位对SOC或其他系统产生影响,也避免对解除复位后的本系统产生影响(如未收全,本系统复位解除后总线返回了一笔复位前的Bresp,那本系统直接就乱了);

6.边界的模块收全所有应有的返回信息后,或者未能收全但是到达超时阈值后,系统进入待复位状态;

7.此时如果本系统仍然保留着访问DDR和sram的备份通路,那么上位机可以通过配置寄存器去间接访问内存和寄存器进行保留现场。如果没有规划该功能,则略过这一步骤;

8.上位机配置复位保护寄存器使能复位保护电路,避免系统复位过程中有毛刺或者使能信号扩散到总线或其他系统;

9.上位机配置对系统进行时钟降配或者关断时钟等操作,这个是可选操作,一般来说如果复位保护做的比较严格,这里不对时钟进行处理也没关系;

10.配置复位或拉低系统的复位信号,持续一段时间,这个时间没有太严格的要求,按毫秒计时也没有关系,少的话也得几十拍确保系统内所有寄存器都完成了复位;

11.复位已经完成,之后配置解复位或拉高系统的复位信号,解除系统的复位状态,之后等待一段时间等内部电路稳定下来;

12.配置时钟恢复工作频率或恢复时钟,可选;

13.配置复位保护寄存器解除复位保护,恢复总线连接;

14.可以再等待一段时间后,重新下任务或恢复现场,重启系统完成。

软复位的流程没有特别严格的规定,通常是根据芯片的需求而规划,上面所述也只是经验之谈。不过大抵都遵循停任务 - 收应答 - 断连接 - 复位 - 解复位 - 重连接 - 下任务的思路。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    30

    文章

    5030

    浏览量

    117734
  • DDR
    DDR
    +关注

    关注

    9

    文章

    677

    浏览量

    64251
  • 上位机
    +关注

    关注

    26

    文章

    861

    浏览量

    54049
  • 硬件电路
    +关注

    关注

    39

    文章

    233

    浏览量

    28988
  • SRAM存储器
    +关注

    关注

    0

    文章

    86

    浏览量

    13146
收藏 人收藏

    评论

    相关推荐

    单片机复位电路

    单片机复位电路,以下是推荐用的几种典型复位电路,其中图三图四都可作为延时复位电路。在待机状态下由于其它电路干扰引起
    发表于 01-03 21:44 1948次阅读
    单片机<b class='flag-5'>复位</b>电路

    CXL系统启动和复位流程概览

    这三种复位被归纳为传统(Conventional)复位。Function级复位和CXL复位不是传统复位
    的头像 发表于 09-22 14:37 2030次阅读
    CXL系统启动和<b class='flag-5'>复位</b><b class='flag-5'>流程</b>概览

    关于STM32复位那些

    硬件复位电路如下图,直接将RESET引脚拉低即可
    的头像 发表于 11-24 15:23 956次阅读
    关于STM32<b class='flag-5'>复位</b>的<b class='flag-5'>那些</b>事

    复位那些小事—系统解复位的特殊处理

    复位就是复位撤离,系统解复位就是复位结束了系统准备开始工作。
    的头像 发表于 12-04 15:25 516次阅读
    <b class='flag-5'>复位</b><b class='flag-5'>那些小事</b>—系统解<b class='flag-5'>复位</b>的特殊处理

    复位电路没有小事

    复位电路不知道该定位成是模拟电路合适数字电路,原因是功能和结构太简单了,好多人都不屑深入研究。而世上的事就是这样,你认真研究它确实是不难,你要忽视它麻烦就大了。曾经有一家国内的设计公司(上市公司
    发表于 07-03 04:20

    复位电路无小事

    复位电路无小事,感兴趣的小伙伴们可以瞧一瞧。
    发表于 09-18 17:15 0次下载

    如何区分同步复位和异步复位

    问:如何区分同步复位和异步复位?可以理解为同步复位是作用于状态,然后通过状态来驱动电路复位的吗(这样理解的话,复位键作为激励拉高到响应拉高,
    的头像 发表于 06-11 15:15 6464次阅读

    单片机中的冷复位和热复位是什么意思

    复位用英文来表示是Restart,热复位用英文来表示是Reset。
    发表于 11-01 16:25 1w次阅读

    详细讲解同步后的复位是同步复位还是异步复位

    针对异步复位、同步释放,一直没搞明白在使用同步化以后的复位信号时,到底是使用同步复位还是异步复位
    的头像 发表于 04-27 18:12 4245次阅读
    详细讲解同步后的<b class='flag-5'>复位</b>是同步<b class='flag-5'>复位</b>还是异步<b class='flag-5'>复位</b>?

    STM32芯片的那些系统级复位功能

    我们知道,STM32芯片里有很多系统级的复位,比方上电复位、欠压复位、看门狗复位、软件复位复位
    的头像 发表于 10-19 09:06 4226次阅读

    谈谈复位那些

    复位信号几乎是除了时钟信号外最常用的信号了,几乎所有数字系统在上电的时候都会进行复位,这样才能保持设计者确定该系统的系统模式的状态,以便于更好的进行电子设计,并且在任意时刻,确保使用者总能对电路系统进行复位,使电路从初始的状态开
    的头像 发表于 06-02 15:11 1461次阅读
    谈谈<b class='flag-5'>复位</b><b class='flag-5'>那些</b>事

    同步复位与异步复位的区别

    请简述同步复位与异步复位的区别,说明两种复位方式的优缺点,并解释“异步复位,同步释放”。
    的头像 发表于 08-14 11:49 4101次阅读

    RC复位电路中R如何影响芯片复位

    RC复位电路中R如何影响芯片复位? RC复位电路是常见的一种复位电路,它通过串联一个电阻和一个电容元件来实现对芯片的复位功能。在RC电路中,
    的头像 发表于 10-25 11:07 783次阅读

    复位电路的复位条件和复位过程

    电源监测芯片复位电路:这是最常见的复位电路类型,使用专用的电源监测芯片来监测电源电压,并在电压低于或高于预设阈值时触发复位信号。
    的头像 发表于 01-16 16:04 622次阅读

    同步复位和异步复位到底孰优孰劣呢?

    同步复位和异步复位到底孰优孰劣呢? 同步复位和异步复位是两种不同的复位方式,它们各自有优势和劣势,下面将详细介绍这两种
    的头像 发表于 01-16 16:25 328次阅读