历史上的今天
今天是:2024年09月03日(星期二)
2019年09月03日 | 复位电路异同及操作
2019-09-03 来源:eefocus
第一部分 复位分类
硬件复位:顾名思义通过硬件给系统一个复位,比如在电路板上设计一复位电路,通 过按下按键就可以给系统实现一个复位,而无论系统在执行什么样的程序
复位启动以后需要重新加载加载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。
史海拾趣
|
模拟技术是目前所有电子产品设计中不可或缺的部分,我们对模拟技术可以说一点都不陌生,从接触电子产品开始,我们就接触模拟产品了。模拟技术更多需要经验积累,对新入门的工程师来说,如何提升自己的模拟设计水平?我们欢迎广大资深工程师都来谈谈 ...… 查看全部问答> |
|
为了更好地降低接地电阻,日本人不知道怎么就想出了一昏招,在接地体上包裹导电水泥等导电的混凝土(中国人美其名曰为降阻剂),从而增加接地体散流面,进一步降低接地电阻。使用降阻剂是效率极为低下的降阻措施,而且一般都会腐蚀接地体,大大缩短 ...… 查看全部问答> |
|
linux内核对nor flash的驱动都是通过cfi的,我可不可直接不用cfi接口,直接把nor flash的驱动挂在mtd下面,另外对nor flash的地址是否需要ioremap?请高手们指教,谢谢!… 查看全部问答> |
|
急!!(evc4.0+ado3.1)create database 不成功 程序段如下: hr=CLSIDFromProgID(g_szADOCE30ConnProgID,&tClsid); hr= CoCreateInstance(tClsid,NULL,CLSCTX_INPROC_SERVER|CLSCTX_LOCAL_SERVER,IID_Connection,(LPVOID*)&m_pADOCEC ...… 查看全部问答> |
|
今天收到了板子。先熟悉学习。再做个毕来设计。 有准备学习的兄弟可以给我留言,我们可以共同讨论共同进步。 有问题记得在这里留言哟。 [ 本帖最后由 zhiha258 于 2011-1-21 16:52 编辑 ]… 查看全部问答> |
|
官方有提供数据手册,编程手册。MDK4.13也支持了STM32L,但是没有模板怎么用啊? 不过我在MDK4.13里的BORD文件夹下找到STM32L的工程例子。还是不怎么放心。而且,现在STM32L似乎还买不到!… 查看全部问答> |
|
参考了很多应用及430的部分手册,都推荐上电复位的阻容组合为47K,0.1u,当然这个参数应该是没有问题的,430能可靠复位。这个参数组合能保证复位脚在上电时有足够的低电平时间。请教各位高手,我的理解不知对不对,当选择阻容组合为1k,4.7u,复位 ...… 查看全部问答> |




