单片机阻容复位问题_阻容复位电路复位信号 - CSDN
  • 首先要理解为什么需要复位:1:因为微处理器(如我们常说的电脑CPU芯片和高端ARM)和微控制器(单片机、低端ARM什么的)芯片都是数字电路芯片,其正常工作是只有0低电平和1高电平这两个电平状态,...
    作者:陈俊直
    链接: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芯片一般不会直接用类似这种按键复位电路,使用专用复位芯片有自带的按键接口引脚接按键)
    展开全文
  • 作者:陈俊直 ...来源:知乎 著作权归作者所有。...1:因为微处理器(如我们常说的电脑CPU芯片和高端ARM)和微控制器(单片机、低端ARM什么的)芯片都是数字电路芯片,其正常工作是只有0低电平和1高电平这两...

    作者:陈俊直
    链接: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电路过于简单,抗干扰能力,精确度都不如专用芯片,那么在复杂且对系统不敏感的系统中自然首选专用芯片。

     

    展开全文
  • 学习和使用单片机的伙伴,对于单片机复位(Reset)功能,应该是了然于胸了,因为这个功能是学习单片机最先需要了解的...上电复位功能(以下简称POR)是复位功能的一种,被广泛集成在新型单片机中,以取代传统的阻容

    学习和使用单片机的伙伴,对于单片机的复位(Reset)功能,应该是了然于胸了,因为这个功能是学习单片机最先需要了解的功能。那么,单片机复位的本质是什么呢?

    " Reset " 这个英文词汇,充分说明了其本质:重新设定。通俗点儿说,就是 ” 从头开始 “ 之意。

    我们对磁盘进行的格式化操作(format),其本质也是一种 “Reset” 操作。只不过这个 " Reset " 是清空磁盘、写入必要格式信息的初始化操作。

    上电复位功能(以下简称POR)是复位功能的一种,被广泛集成在新型单片机中,以取代传统的阻容复位电路。那么,上电复位功能,究竟执行哪些操作呢?

    • 延时等待:等待电源稳定。等待期间,CPU 处于停止状态。
    • 初始化:根据单片机的技术规格,初始化内部的功能单元(例如,给 SFR 写入初始值)。
      在这里插入图片描述
      如果单片机的电源电压波动较大,或者单片机运行过程中存在瞬间失电再上电的过程,POR 能否使单片机正确复位、继续工作呢?
      在这里插入图片描述
      这就涉及到 POR 功能的两个重要参数。
    • 电源初始电压 Vpor (通常,电气特性参数规定其最大值
    • 初始电压保持时间 tw(por) (通常,电气特性参数规定其最小值

    Vpor 是指电源电压 VCC 的初始电压。单片机首次上电时,通常初始电压 = 0V。但是,如果电源存在大幅波动或者瞬间掉电、再上电的情况,由于单片机的电源管脚通常连接着旁路电容,这时的初始电压可能不再是 0,而是存在残余电压。那么,如果单片机电源 VCC 上升时的初始电压 > 规格值,单片机可能无法正确复位。
    在这里插入图片描述
    tw(por) 是指为了保证 POR 正确地复位单片机,外部电源的初始电压 < Vpor 的最小保持时间。
    例如, Vpor 的最大值 = 0.5V,tw(por) = 1ms
    那么,单片机的电源初始电压必须保证低于 0.5V,且保持 1ms 以上的时间,才能确保 POR 正确地复位单片机。
    在这里插入图片描述
    如果在应用 POR 时未满足以上的两个参数,会出现什么结果呢?以下是笔者在过往的开发实践中遇到的案例。
    在这里插入图片描述
    在这里插入图片描述
    因此,为了确保 POR 能够正确复位单片机,必须保证电源电压的变化,符合 POR 电特性参数的技术要求。

    展开全文
  • 在调试程序的时候,发现仿真的时候程序一切运行正常,当重新上电后,程序运行不正常 具体现象如下: 1、确定是进入while(1)了,因为有程序...1、怀疑是硬件复位电路的问题,但是确实是普通的阻容复位,没看出来多...

    在调试程序的时候,发现仿真的时候程序一切运行正常,当重新上电后,程序运行不正常

    具体现象如下:

    1、确定是进入while(1)了,因为有程序运行的秒闪灯在闪烁

    2、应该是MCU无法正常收到的24L01的命令(无法驱动4094片子的继电器动作)

    3、当手动把复位引脚的电平拉低后,程序便运行正常了

    调试方法如下:

    1、怀疑是硬件复位电路的问题,但是确实是普通的阻容复位,没看出来多大的问题

    2、用软件复位,上电运行第一次先进行软件复位,第二次正常运行,不知道怎么设置标志位

      系统复位将复位除时钟控制寄存器CSR中的复位标志和备份区域中的寄存器以外的所有寄存器

      @1、备份区域中的寄存器

    1       if(BKP->DR1!=0X5050)
    2     {
    3         SCB->AIRCR = (u32)0x05FA0000 | (u32)0x04;
    4         BKP->DR1 = 0X5050;
    5     }

      备份区域中的寄存器在没有电池供电的情况下,软件复位后,寄存器的值仍然会丢

      @2、复位除时钟控制寄存器CSR中的复位标志 

    1     if( (RCC->CSR >> 28) == 0 )
    2     {    
    3         SCB->AIRCR = (u32)0x05FA0000 | (u32)0x04;
    4     }

     

      确实能软件复位了,但是没起到应有的效果

    3、有没有可能是无线模块的设置问题

    4、由STM32内部复位电路可知,电源复位和软件复位

     

    这个问题确实很困惑,望高手指点啊 。。。。。。。

    是不是很有可能是24L01模块儿的问题啊,在开发板上测试也不行,要不就是程序的问题,初始化设置有问题

     

    转载于:https://www.cnblogs.com/Iamchritian--forthegloryofGod/p/4270217.html

    展开全文
  • stm32驱动sd卡问题记录

    2019-06-01 11:31:44
    问题记录:将程序从51单片机移植到stm32以后就一直出现...发现debug下单片机的复位是通过软件复位来完成的,硬件直接启动通过外部的阻容复位。后来就一直纠结硬件的复位问题,后来又发现启动后通过手动复位sd卡驱动...

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

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

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

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

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

    展开全文
  • 阻容复位,通过电容和电阻来复位。 高电平复位电路图: 这张图可以自动复位也可以手动复位 自动复位:导通的一瞬间,VCC由0到5,电容通交流阻直流,于是导通了,于是RST变成了5V高电平,复位了。但是充电一段...
  • 若没有二极管D,当电源因某种干扰瞬间断电时,由于C不能迅速将电荷放掉,待电源恢复时,单片机不能上电自动复位,导致程序运行失控。电源瞬间断电干扰会导致程序停止正常运行,形成程序“乱飞”或进入“死循环”。若...
  • RC上电复位时间计算

    2019-06-28 01:09:56
    高电平复位电路图 V0 为电容上的初始电压值;V1 为电容最终可充到或放到的电压值;Vt 为t时刻电容上的电压值。则, Vt="V0"+(V1-V0)* [1-exp(-t/RC)]或, t = RC*Ln[(V1-V0)/(V1-Vt)] 一般电容充电时间取t=...
  • 51单片机最小系统由三部分组成:主控电路、复位电路、晶振电路。 添加LED电路和独立按键。原理图如下所示:
  • 单片机抗干扰技术

    2012-05-06 21:45:56
    近年来,单片机在工业自动化、生产过程控制、智能仪器仪表等领域的应用越来越广泛,大大提高了产品的质量,有效地提高了生产效率。但是,测控系统的工作环境往往复杂、比较恶劣,尤其是系统周围的电磁环境,这对系统...
  • RC复位电路原理

    2013-06-16 11:59:05
  • 若没有二极管D,当电源因某种干扰瞬间断电时,由于C不能迅速将电荷放掉,待电源恢复时,单片机不能上电自动复位,导致程序运行失控。电源瞬间断电干扰会导致程序停止正常运行,形成程序“乱飞”或进入“死循环”。若...
  • 单片机复位电路中,可利用电容两端电压不能突变的特点,设计相应的RC电路来实现对单片机复位需求,一般有两种类型, 低电平有效复位电路 此复位电路是针对低电平有效复位而言的,其中二极管是起着在断电的...
  • 1、STM32硬复位 STM32片内已经有复位电路了,可以不外接复位电路。 复位引脚一般不宜悬空,所以STM32在NRST...因此众多“开发板”上的阻容电路,并不单单是为了复位才存在的。 产品里,电容绝对有必要。 ...
  • 单片机最小系统版

    2016-09-09 22:09:40
    1、主控电路 2、晶振电路 3、阻容复位电路 4、电容接口电路 5、滤波电路 6、独立按键 7、LED电路 8、电源指示灯
  • 大家可以看到复位电路中电阻R1=10k时RST是高电平 ,而当R1=50时RST为低电平,很明显R1=10k时是错误的,单片机一直处在复位状态时根本无法工作。出现这样的原因是由于RST引脚内含三极管,即便在截止状态时也会有少量...
  • STM32F103T8U6,焊接时误将复位电容的上拉电阻焊成10欧,出现症状有: 烧写一次程序后,程序无法运行,无法第二次烧写程序。烧写到最后,会报错:Error: Flash Download failed - "cortex-M3" 但是此时jtag...
  • STM32F 上电不复位

    2013-06-06 14:46:14
    STM32F100C8T6 上电不复位,需要按RESET键才复位  同样的程序在一块电路板可以运行,而在另外一块相同电路板必须按复位键才能运行。查找了一下资料有:  1.“复位”必须在晶振电路“完全起振”后再“无效”。  ...
  • 一、单片机上拉电阻的选择大家可以看到复位电路中电阻R1=10k时RST是高电平 ,而当R1=50时RST为低电平,很明显R1=10k时是错误的,单片机一直处在复位状态时根...
1 2 3 4 5 ... 8
收藏数 143
精华内容 57
关键字:

单片机阻容复位问题