×
嵌入式 > 其他资讯 > 详情

复位电路异同及操作

发布时间:2020-07-10 发布时间:
|

第一部分    复位分类    

硬件复位:顾名思义通过硬件给系统一个复位,比如在电路板上设计一复位电路,通 过按下按键就可以给系统实现一个复位,而无论系统在执行什么样的程序


 复位启动以后需要重新加载加载FPGA、DSP等,也有可能在这个操作之前初始化化CPU,加载系统文件等操作,具体视需要而定,然后初始化一些配置芯片。


硬件复位的作用区域一般是全局的。


软件复位:是通过软件给系统一个复位信号,如低电平或许是高电平(具体看系统设置)来实现复位操作


复位启动不需要进行FPGA、DSP等的加载,只是一些配置芯片的初始化


软件复位一般是一些块结构。


上电复位:系统在上电的瞬间就执行复位操作, 上电复位里面包括硬件复位和软复位的操作,硬件复位和软复位是从上电复位里面的某点开始的启动操作

复位需要初始化CPU系统,包括CPU和内存等,并加载系统,加载初始化操作系统以及FPGA、配置芯片的初始化,是一个完成的过程。


第二部分     软件复位

软件复位方法:


1)用看门狗的复位方法;            


(watchingtimer看门狗防止程序发生死循环,或者说程序跑飞), 但不是所有的单片机都有看门狗的功能。


2)自己程序控制的复位方法(本文方法,叫软件复位)。           


实现方法:


 1)首先声明一个函数指针,指向复位后要开始执行指令的位置:

void (*app_start)(void) = 0x0000;


可以根据具体微处理器复位后的位置,修改后边的地址。


2)之后,在自己的程序中想复位的地方调用app_start(); 也就是跳到0x0000位置执行指令。


3)可以根据不同微处理器复位的地址,修改上边的地址(0x0000)。实现上你可以跳到任何位置执行,或调用函数执行。


硬件和软件复位流程图

软件复位程序:


1)代码1

2)代码2

  

第三部分     

复位电路设计:


复位电路有的CPU内置, 有的需要外接。 外接的情况下, 低成本的是 RC 复位电路, 不计成本的是专用的复位芯片, 可以将所有电路上需要统一时序的IC的复位都接在一起,这样不会导致上电时序的滞后问题,很多软件都会出现这种现象而出现BUG。


 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
电容式感应工作原理及设计分析