2017-09-29 11:28:35 zhjmyx 阅读数 1664

初次设计MCU的硬件复位电路时,采用了RC阻容复位,先选用的是10K电阻、104 电容,但复位时间好像不够,后来换成 100K电阻,106 电容后,时间是够了,但复位不可靠。就是有时候可以,有时候不可以,特别在快速开关机时容易出现复位不良的现象。

也许你会说,10K 和 10uF 保证可靠,因为很多的教科书都这么写的。

但是,我的建议是,R、C 复位电路可靠性不高,延迟时间大约为0.7R*C,短时间、非精密电路可尝试用一下,若用于长时间定时,不仅不准确,而且不可靠。如果只是简单的中小规模逻辑功能电路,如计数器、寄存器等, 用 RC 电路作上电复位基本可行。但如果是微处理器之类的电路, 或包含处理器的系统, 对复位时间有要求,就不能用简单的 RC 上电复位了。---就不要在这上面费工夫了。

就不要在这上面费工夫了,毕竟谁也不想自己的产品出纰漏,三天两头的返工!

可选用一些专门的电源监控管理和看门狗复位芯片,如 813、705 等。当然,即使是简单的数字电路,用复位芯片也能提高电路的一致性和稳定性。

2018-12-14 15:26:53 enroo2711 阅读数 49

防盗复位芯片是一个应用在电路上面排除干扰影响及电路复位功能的芯片。主要使用在车辆防盗等电子产品
防盗复位芯片,主要可以大大提高MCU的复位性能,其原理是通过确定 的电压值(阈值)启动复位操作,同时排除瞬间干扰的影响,又有防止MCU在电源启动和关闭期间的误操作效,保证数据安全。 一般的人使用的阻容复位稳定性极差,常常有按了复位没反应,要按一段时间才能复位的经历。而且如果使用上电复位时,容易产生复位不成功。电容的温度性比较敏感,在特殊环境中,复位的电平宽度变化十分大,造成芯片不动作,或者在强干扰下误动作。 所以要使用复位芯片来设计产品,大部分复位芯片都带有内部储存,看门狗之类,大大节省了电路空间又提高了MCU的运行速度和开发便捷性。
EN8F509是一颗做车辆防盗的复位芯片。其主要特性有:

采用RISC 架构,仅有36 条单字/单周期指令
(除程序跳转指令外的所有其他指令都是单周期指令,程序跳转指令是双周期指令)
  二级深的硬件堆栈
  12 位宽指令集,8 位宽的数据路径
  数据和指令的直接、间接和相对寻址模式
  可擦写flash 芯片,片内闪存(ROM)为1K 字,数据存储容量(RAM)为41 字节
  GP0~3 都可睡眠唤醒,且可通过软件独立设置内部上拉
  工作速度:可通过软件设置为内部4MHZ 或者8MHZ,精度为2%
  工作电压2.0V~5.5V,实际操作可以到达1.8V-6.6V,但保证电压还是2.0V~5.5V。
  有可选电源低压检测,欠压复位功能(PED),三级欠压复位

用EN8F509主要实现的是防盗器中的复位功能,通过确定 的电压值(阈值)启动复位操作,同时排除瞬间干扰的影响,又有防止MCU在电源启动和关闭期间的误操作效,保证数据安全。 

更多单片机设计开发内容详细,可关注单片机开发英锐恩!

2018-04-11 17:09:29 xiaoliu0515_0515 阅读数 244

一、阻容复位电路

8051系列大部分是高电平复位,通常用阻容复位电路实现


高于1.2v左右认为是高电平,开始硬件复位,上电后电压为Vcc,后降为0V

下图实线为R上电后电压曲线,Vcap为电容充电曲线


选择R和C值,通常RC>100ms,这是一个经验法则

标准10k电阻和10uF电容得到100ms时间常数

实际电路中增加一个复位按钮,很多开发板的最小系统是这个电路


二、阻容复位电路可靠性

1.上电延时带来风险

例如:电源100ms上电,复位电路中电容一直跟随电源电压,复位引脚一直是低电平,芯片只有复位信号到来才进入复位程序,因此芯片没复位

解决办法:降低电压滤波电容值,增大电源变压器容量,电源快速上电

2.晶振起振延时影响

阻容复位周期在晶振起振前结束

3.电源电压变化的影响

两个方面:瞬变和电压过低


瞬变:电源失灵,电源迅速降到0,cpu停止运行,电源恢复时复位,这里还受电源掉电时间的影响

电压过低:比如电源电压低1v,处理器不工作,但复位引脚电平逻辑不是0(低于1.2v才为零),芯片上电后不复位

三、怎么实现可靠复位

使用外部芯片实现,完成两个功能:

1.系统上电时,提供100ms以上延时的复位信号,在振荡器和电源正常运行时复位电路在工作;

2.正常运行时电源电压小于某个值时启动复位电路。


有的芯片片内带有复位电路


总结:复位电路一般设计都不会注意,当出现问题还不容易发现,前面提到一些复位电路不合理带来的可靠性风险,说了一下产生的原因,一般国内教材不会提及,只有在这受挫过的人才注意到,后面提到了使用外部芯片或者内部复位电路解决复位可靠性的办法。



2018-09-14 17:57:41 wofreeo 阅读数 605

作者:陈俊直
链接:https://www.zhihu.com/question/21035836/answer/19153215
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

首先要理解为什么需要复位:
1:因为微处理器(如我们常说的电脑CPU芯片和高端ARM)和微控制器(单片机、低端ARM什么的)芯片都是数字电路芯片,其正常工作是只有0低电平和1高电平这两个电平状态,属于离散系统。而供给芯片的电源输入却是模拟电路,属于连续线性系统。合上开关,芯片的VDD和VSS之间的电压要达到数字芯片可正常工作的电压是需要几毫秒到十几毫秒的过程的。


2:而也因为微处理器和微控制器是数字电路芯片,其是需要时钟信号才能工作。不管是内部芯片自带的低频RC振荡器还是外接晶振或者其他时钟电路,从上电到时钟电路正常起振也是需要时间的。可以看下图我用示波器测到的:ARM9上电那几百毫秒内,电源输入VCC对地电压(黄线)、及18.492M时钟(绿线)引脚对地电压发生的情况。可以看到芯片在给电的10毫秒内电源开始升到正常供电水平,但至少500毫秒后晶振才开始正常输出时钟(之前的虽然有时钟信号,也可以让CPU工作,但波形不稳定,按此状态运行的CPU容易出错)


所以,需要在芯片上电的时候给复位端一个复位信号让微处理器和微控制器内部的CPU在刚上电那段时间不要工作。

这叫上电复位,上电复位是微处理器或微控制器都必须存在的一个重要操作,没有这个操作CPU直接上电工作的话非常容易出错(程序跑飞、寄存器数据错误……)。

所以,51一般都使用阻容复位来让其cpu在上电后在复位重启一次。如下图,去掉SW-PB和R6就是一个普通的51阻容复位,上电瞬间因为电容的压降不可突变的原理,电容等同导通。电容C23和电阻R27之间RESET点的电位就是VC5的电压,一直使能复位端。上电后VC5对C23充电,RESET点的电位降低趋近于GND的电平,后复位解除CPU开始正常工作。(其实这图的R27有点大,C23有点小)

(而很多的低电平复位的芯片、如AVR、PIC等,都之需要在复位引脚上拉一个4.7K~10K的电阻即可。而ARM的复位时间较长,一般用专用的复位芯片)

======================
按键复位:
51的按键复位则是在阻容复位的基础上增加了一个人工干预复位端的按钮和一个限流电阻。如下图,当正常工作的时候,复位端RST和+5V,等同于断开,通过R7接地。当复位按钮按下,复位端RST和+5V几乎连起来,高电平使能芯片复位。并且释放电容C的电能。
R6的作用是不让电源+5直接冲击芯片的复位端(直接冲击可能会损害芯片,特别是8051这种IO驱动能力较弱的芯片),并且防止电容C因短路放电过快而被损坏。

按键复位电路的目的一般是为了开发者在调试电路或程序时候使用,也有在成型的产品使用过程中使其硬复位的功能,比如一些电脑还带有复位按钮,按一下机器强行复位,就是这个原理,当然电脑的复位按键后面的电路远复杂于这个,不仅仅是复位一个芯片,主板上的其他芯片也会被强行复位)

(而且ARM和电脑CPU芯片一般不会直接用类似这种按键复位电路,使用专用复位芯片有自带的按键接口引脚接按键)


作者:HeleleMama
链接:https://www.zhihu.com/question/21035836/answer/37190772
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

题主所问的“阻容复位”,“按键复位”。应该是指低速单片机简单系统的。这里来自华工的

@陈俊直

先生已经回答得很完整了。我补充说一下“复位”这个事情:

复位的目的不仅仅是防止程序上电跑飞以及死机后复原。在多模块并存的系统中,不同模块、电源的启动顺序是有要求的。按指定顺序启动的目的是为了防止芯片接口和内部逻辑电路发生“栓锁”现象,以及避免可能的电流倒灌损坏芯片。这里就是我们在系统设计时常说的“上电时序”问题。
除时序问题外,一些芯片在非工作电压(欠压或过压)下启动可能发生损坏。而DCDC输出稳定需要一段时间。这就要求芯片在电源充分稳定后启动。

通过仔细设计的复位电路可以很好地控制各模块上电的相互关系。这种电路一般被叫做“Reset Chain”。

=======
除阻容和按钮复位外,业界用得最多的还是复位芯片(supervisor)。即便是手动复位(按钮),在系统中也要求经过复位芯片来实现。因为按钮复位以及阻容复位有很大的弊端。

按钮很难输出稳定复位电平,不信你示波器测一下你按按钮的波形,绝对是一串混乱的波形出来。

而阻容在对上升下降沿要求不高的芯片(阈值检测型)上用还好。对于没有内置复位电路的芯片,复位对复位时间以及边沿都有要求,用简单阻容不可能做到。

而复位芯片真是便宜到你难以想象,参考业界良心TI、NXP的官网。为了系统稳定,加一个吧。


作者:Charles Zhu
链接:https://www.zhihu.com/question/21035836/answer/104943735
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

一个不恰当但形象的说法:Reset可以理解是一个舞台剧的开始信号,比如大幕拉开的那一刻。大幕拉开之前,演员得到位,灯光音响得准备好,然后大幕拉开,你看到了一切井井有条,演出开始了。
前面有人说Arm需要时间长所以用复位芯片,我认为这个解释是错误的,RC也可以做到时间长。我个人的理解是RC电路过于简单,抗干扰能力,精确度都不如专用芯片,那么在复杂且对系统不敏感的系统中自然首选专用芯片。

 

2019-06-01 11:29:28 u011123091 阅读数 354

问题记录:将程序从51单片机移植到stm32以后就一直出现一个问题,单片机不能以很高的速度驱动sd卡,导致数据采集的速度一直跟不上。但是在测试的过程中发现程序在debug下是可以正常驱动的,试图通过对比正常启动驱动和在debug下的区别来发现原因。发现debug下单片机的复位是通过软件复位来完成的,硬件直接启动通过外部的阻容复位。后来就一直纠结硬件的复位问题,后来又发现启动后通过手动复位sd卡驱动正常,所以更坚定是硬件问题了。后来在网上查询可以也猜测是外部的外设没复位弯成单片机就对其初始化,所以导致初始化不成功。所以后来通过在main函数最开始的地方加延时来解决,发现依然是不能高速驱动!!!!!!!!,最后想通过外加看门狗加一个长时间的复位来解决。

-----------------------------------------------------时间分割线--------------------

由于手头有其他事要忙,所以这个问题搁置了一个月。。。直到今天,我不忙了。。

在忙的一个月期间,也没有修改硬件电路打板。。今天有冷静了下来看了看sd卡的驱动流程。发现网上说在初始化阶段要以低速,初始化以后转换为高速。。。。后来我尝试了一下,,解决了!!!哈哈哈哈。

搁置了一个月的问题,花了一上午换了个思路解决了。还是蛮开心的!

单片机最小系统版

阅读数 422

没有更多推荐了,返回首页