精华内容
下载资源
问答
  • 复位电路

    千次阅读 2019-02-22 18:02:00
    复位电路  时钟电路我第一篇博客已经说讲过了,今天我们来聊聊复位电路。当然,复位电路博大精深,并不是三言两语就能说清楚的,因此这里也是聊聊复位电路的基础,更深的研究需要在实际的项目中才能深有体会。...

      时钟电路我第一篇博客已经说讲过了,今天我们来聊聊复位电路。当然,复位电路博大精深,并不是三言两语就能说清楚的,因此这里也是聊聊复位电路的基础,更深的研究需要在实际的项目中才能深有体会。本文的主要内容有:

        ·复位电路概述

        ·同步复位电路

        ·异步复位电路

        ·复位策略——复位网络

    1.复位电路概述

      复位信号在数字电路里面的重要性仅次于时钟信号。对电路的复位往往是指对触发器的复位,也就是说电路的复位中的这个“电路”,往往是指触发器,这是需要注意的。有的电路需要复位信号,就像是有的电路需要时钟信号那样,而有的电路是不需要复位信号的。复位又分为同步复位和异步复位,这两种各有优缺点。下面我们主要来说说复位信号的用途和不需要复位信号的情况。

    (1)复位的目的

      复位最基本的目的就是使电路(主要是触发器)进入一个能稳定操作的确定状态(主要是触发器在在某个确定的状态),主要表现为下面两点:

    ①使电路在复位后从确定的初始状态运行:

      ·上电的时候,为了避免上电后进入随机状态而使电路紊乱,这个时候你就需要上电复位了。

      ·有时候,电路在某个状态下,你想或者别人要求你从电路的初始状态开始进行延时你的电路功能,这个时候你就要对你的电路进行复位,让它从最初的状态开始运行。

    ②使电路从错误状态回到可以控制的确定状态:

      有的时候,你的电路发生了异常,比如说状态机跑飞了、系统供电炸了之类的,总之就是电路运行得不正常了,这个时候你就要对电路进行复位,让它从错误的状态回到一个正常的状态。

    上面说的都是和实际电路有关的,下面我们就从电路仿真的角度看一下复位信号的重要性。

      ·仿真的要求

      复位信号在仿真里面主要是使电路仿真时具有可知的初始值:

      在仿真的时候,信号在初始状态是未知状态(也就是所谓的x,不过对信号初始化之后的这种情况除外,因为仿真的时候对信号初始化就使信号有了初始值,这就不是x了)。

      对于数据通路(数字系统一般分为数据通路和控制通路,数据通路一般是对输入的数据进行处理,控制通路则是对运行的情况进行操作),在实际电路中,只要输入是有效数据(开始的时候可能不是有效的),输出后的状态也是确定的;在仿真的时候,也是输入数据有效了,输出也就确定了。也就是说,初始不定态对数据通路的影响不明显。

      对于控制通路,在实际电路中,只要控制通路完备(比如说控制通路的状态机是完备的),即使初始状态即使是不定态,在经过一定的循环后,还是能回到正确的状态上;然而在仿真的时候就不行了,仿真的时候由于初始状态为未知态,控制电路一开始就陷入了未知态;仿真跟实际电路不同,仿真是“串行”的,仿真时控制信号的初始不定态会导致后续的控制信号结果都是不定态,也就是说,初始的不定态对控制通道是致命的。

     

    (2)不需要复位信号的一些情况

      复位信号很重要,但是并不是每一部分的电路都需要复位电路,一方面是复位电路也消耗逻辑资源、占用芯片面积,另一方面是复位信号会增加电路设计的复杂性(比如要考虑复位的策略、复位的布局布线等等)

      当某个电路的输出在任何时刻都可以不受到复位信号的控制就有正确的值时,比如说数据通路中的对数据进行处理的部分。在某些情况下,当流水线的寄存器(移位寄存触发器)在高速应用中时,应该去掉某些寄存器的复位信号以使设计达到更高的性能,因为带复位的触发器比不带复位的触发器更复杂,反应也更慢。

    对复位信号/电路有一定的概念后,下面我们就来说说复位的方式,也就是同步电路和异步电路以及它们的优缺点。

     

    2.同步复位

    (1)同步复位电路

    同步复位是指复位信号在时钟有效沿到来时才复位电路(主要是复位触发器)。因此同步复位的复位信号受到时钟信号的控制。同步复位的触发器RTL代码和电路如下所示:

         

    上面的电路在FPGA中容易综合得到;也有可能综合得到下面这样的电路:

                          

     

    (2)同步复位的优点

      ①首先同步复位一般能确保电路是100%同步的,因为电路都是由同步时钟触发。

      ②同步复位会综合为更小的触发器。从前面电路中我们也可以看到,复位电路仅仅是由一个普通的触发器和一个与门够吃。

      ③由于同步复位仅仅发生在时钟的有效沿,当外部的复位信号由毛刺时,时钟可以当做过滤毛刺的手段,也就是说同步复位受到复位信号的毛刺影响小。

      ④当复位信号是由内部电路产生时,此时复位信号就有可能有毛刺,时钟就可以过滤毛刺。也就是说,可以在那些使用内部信号当做复位信号的设计中,使用同步复位

     

    (3)同步复位的缺点

      ①使用同步复位可能使综合工具无法分辨分辨复位信号和其他控制信号,导致进行复位的控制逻辑远离触发器(也就是说,并不是所以的ASIC库都有内置的同步复位逻辑,综合工具可能把符合逻辑综合到触发器自身之外)。例如对于带同步复位和加载使能的触发器,代码如下所示:

                       

    综合得到的电路图如下所示,左边是理想的电路,右边是可能综合出的电路:

       

    这两个电路的功能完全一样,只不过右边电路的复位控制逻辑(即复位与门)在多路复用器之外,也就是远离了触发器。这在门级仿真的时候(注意这是仿真),当....

      解决方法就是:一方面这个只是综合工具的问题,一般综合工具会自动识别在敏感列表里面又在条件表达式信号中的第一个信号为复位信号;另一方面,可以在RTL代码编写的时候,加入相关的综合指令,让综合的时候把复位逻辑靠近触发器。

      

      ②由于同步复位需要在时钟沿的触发下才能起作用,复位信号是以短脉冲的方式出现时,时钟沿就有可能错失这个复位信号,导致复位脉冲丢失,同步复位电路没有起到作用,时序图如下所示:

                     

      解决办法:一方面,可以采用脉冲捕捉电路,这个电路在我的跨时钟域控制信号传输中有讲到。;另一方面,可以将复位信号进行脉冲扩展,维持足够长的时间,这个可以通过一个小的计数器实现,如下图所示:

                     

     

     

      ③同步复位可能有组合逻辑延时,当复位逻辑距离触发器比较远时,这个时候就不能把触发器当做即时响应复位信号的触发器,而是有一定延时的触发器,这个时候就有了复位信号偏移的问题,关于复位信号偏移的描述,我们将在异步复位中进行描述。

      解决方法:使用内置的同步复位触发器;综合的时候加入相关的综合指令,这个和①类似。

     

      ④我们前面说过,在由内部组合逻辑的产生复位信号的设计中,推荐使用同步复位。其实这也是有缺点的,这是因为这样产生复位信号的组合逻辑一方面在仿真的时候容易出现x态,另一方面在实际电路中,这样的复位信号容易被外部(多个)信号影响。

      解决方法:不建议使用内部产生的复位信号;使用异步复位。

     

      ⑤门控时钟的同步复位可能无效:

      使用门控时钟的时候,由于复位信号依赖于时钟,在复位信号发出的时候,时钟可能关闭了,这个时候就会导致实际的电路没有被复位,如下图所示:

          

      解决方法:只能使用异步复位,并在时钟恢复前移除异步复位。

     

      ⑥总线设计中的同步复位问题:

      在总线控制中,系统上电复位的时候,我们要求不同芯片之间的总线工作在合理的状态上(比如处于高阻态或者输出);然而上电之后,由于系统时钟可能仍未正常工作,上电(同步)复位就可能无效,这个时候各个模块(芯片)就可能不会把总线接口设置为特定的状态,(当多个模块同时输出数据到总线上时)就可能导致电平冲突,严重的话会烧坏接口。

      解决办法:为了防止芯片上电时内部总线出现竞争,有一下两种解决办法,一种是采用异步上电复位,如下图所示:

                 

              这个时候使用了异步复位,使能信号oe输出0,也就是有了初始的状态

      另一种方法是使用复位信号能直接撤销三态使能的电路,如下所示:

               

    从电路图中可以看到复位信号一方面控制了复位逻辑,另一方面控制了三态的使能端;这种技术简化了复位-高阻这个条路径的时序分析。

     

     

    3.异步复位

    (1)异步复位电路

      异步复位触发器则是在设计触发器的时候加入了一个复位引脚,也就是说复位逻辑集成在触发器里面。(一般情况下)低电平的复位信号到达触发器的复位端时,触发器进入复位状态,直到复位信号撤离。带异步复位的触发器电路图和RTL代码如下所示:

     

     

     

    (2)异步复位的优点

      ①使用异步复位的最大好处就是复位路径上没有延时,如上面的图所示,复位信号一直连接到触发器的复位端口,而不是像同步复位那样需要经过一个复位控制逻辑(如与门)。这样子就减少了外界信号的影响。

      ②与时钟没有关系,不管时钟上升沿有没有到来,只要复位信号一有效,触发器就会复位,也就是基本上做到实时性;由于与时钟没有关系,因此也可以用在门控时钟里面。

      ③综合工具能自动推断出异步复位而不必加入任何综合指令。

     

    (3)异步复位的缺点

      ①复位撤离问题

      在介绍复位撤离问题之前,先说一下复位恢复时间和去除时间。所谓的复位恢复时间是指撤离一个复位信号时,复位信号从有效跳变为无效的时刻  与  下一个有效时钟沿  之间的这段时间;去除时间是指撤离一个复位信号时,复位信号从有效跳变为无效的时刻  与  上一个有效时钟沿  之间的这段时间(可以类比于触发器的建立时间和保持时间)。如下图所示:

               

          上图中,rst_n1是要求的复位恢复时间,rst_n2满足复位恢复时间,rst_n3复位恢复时间不足。

               

          上图中,rst_nA是要求的复位去除时间,rst_n2满足复位去除时间,rst_n3复位去除时间不足。

      从上面的两个图中可以知道,如果你想让某个时钟沿起作用(也就是采数据),那么你就应该在“恢复时间”之前让异步控制信号变无效;如果你想让某个时钟沿不起作用(也就是在这个时钟沿依旧复位),那么你就应该在“去除时间”过后使控制信号变无效。异步复位信号的恢复和去除时间需要大于一定的时间,如果你的异步复位信号在这两种情况之间(撤离),那么就没法确定时钟沿是否起作用了,即判断不出是复位还是不复位(不复位即是D触发器才输入端的数据)。

      介绍了复位恢复时间和去除时间之后,我们就可以看看异步复位信号的问题了。由于异步复位信号与系统时钟毫无关系,复位可以在随时施加,也可以随时撤离。在施加的时候复位信号的时候,不存在任何问题,因为这跟复位恢复时间扯不上关系。但是,在撤离复位信号的情况下就有问题了,主要有两个问题:

      ·当异步复位信号的撤离时刻在时钟有有效沿附近时,就可能导致恢复时间或去除时间不足,即这个时候违背了复位恢复时间或去除时间,这时就可能导致触发器的输出端为亚稳态(注意是可能),如下所示:

               

      但是并不是所有情况都会产生亚稳态,当复位值和此时的的输出相同时,就不会产生亚稳态,如下图所示:

               

    这是因为:复位信号翻转的时候,如果复位信号判断是低电平输出就复位即一定是低电平;如果判断复位信号是高电平输出信号就等于对输入信号的采样值。图里面输入信号就是低电平,不管你是复位还是不复位,输出一直是低电平,没有亚稳态。

     

      ·复位状态不一致的问题:

      复位信号很时钟信号一样,复位通过复位网络到达各个触发器。一方面,复位网络具有非常大的扇出和负载,到达不同的触发器存在不同的延时,也就是存在复位偏移,因此撤离异步复位的时刻也是不一样的;另一方面,由于时钟网络也存在时钟偏移。这个时候异步复位信号就有可能在不同的触发器的不同时钟周期内进行撤离,也就是说异步复位的信号不一致,如下图所示:

               

      异步复位信号a是异步复位信号源,异步复位信号b、c、d是到达触发器的异步信号。我们可以看到,b信号是在本周期就撤离了复位;c信号则由于复位恢复时间不满足,则可能导致触发器输出亚稳态;而d信号则由于延时太长(但是满足了复位去除时间),在下一个周期才撤离复位

      

      撤离问题的解决方法:异步复位的同步释放

      异步复位的同步释放电路也称为复位同步器,这个方法是将外部输入的异步复位信号进行处理,产生另外一个适合用于后面电路的复位信号,这个处理后的复位信号能够异步复位电路中的触发器,又不会存在撤离问题(因为经过了同步);这个异步复位同步释放的处理电路和RTL代码如下所示:

                     

          

    从图中可以看到,这是用外部异步复位信号来复位一对触发器,这对触发器异步地驱动主复位信号,也就是这对触发器产生电路需要的复位信号,这些复位信号再到达各个触发器,然后进行复位,理想的异步复位同步释放的时序如下所示:

             

     

    上图中,在理想的情况下,复位信号在两级D触发器上面的撤离时间可能不一样,这个和复位信号传输到的触发器位置和触发器的时钟沿有关。理想情况下的复位信号传输到目标触发器都能够同时撤离,并且不在时钟有效沿附近

      实际情况一般不是那么理想的,当不是理想的情况下,也就是说复位信号到达目标寄存器存在时钟偏移,并且复位信号有可能在时钟有效沿附近撤离,这个时候复位器出现的问题就有三种:第一级OK,第二级出现问题;第一级出现问题,第二级OK;两级都出现问题。下面我们就来看看这三种情况下产生的复位信号是什么情况:

      第一级的撤离没有问题,第二级的撤离出现在时钟的有效沿附近,也就是说第二级的D触发器的撤离时间不满足复位恢复时间或者去除时间,这时候的时序图如下所示:

             

    我们可以看到无论是触发器判断此刻是复位还是不复位,输出都是一样的,也就是说,输出rst_n不是亚稳态,而是确定的值。

     

      第一级的撤离出现问题,第二级的撤离没有问题,这时候的时序图如下所示:

           

    我们可以看到,第一级触发器虽然产生了亚稳态,但是由于第二级触发器的存在,亚稳态并没有传播下去,得到的复位信号依然是干净的,只不过这个复位信号可能延长多一个周期而已(这是因为亚稳态稳定后的可能态引起的)。

     

      最极端的一种情况是,两级的撤离都不满足复位恢复时间或者去除时间,这时候的时序图如下所示:

           

    我们可以看到第一级触发器产生了亚稳态,但是由于第二级触发器的存在,亚稳态没有传播下去;虽然第二级触发器的复位信号撤离也在时钟有效沿附近,但是跟第一种情况一样,第二级触发器是不会产生亚稳态的。因此即使是极端状态,输出的复位信号也是干净的。

      由此我们可以看到,异步复位的同步撤离能够有效地解决撤离导致的复位恢复时间或者去除时间不足的问题,同时把复位信号同步化,解决了复位撤离偏移的问题。

     

      ②异步复位的抖动问题

      当外部输入的异步复位信号产生毛刺时,任何满足触发器最小复位脉冲宽度的输入都有可能引起触发器复位,这问题是源头上的问题,即使是使用上面的同步器,也还是有同样的敏感问题,时序图如下所示:

                   

      解决方法:一个是使用同步复位,另一个就是过滤毛刺了,过滤毛刺和消抖的思路有点像,主要就是经过一段延时之后,在经过逻辑门判断产生外部来的是不是真正复位信号,加上过滤毛刺信号部分的同步撤离电路和时序如下所示:

                 

                       

    在上图中,我们可以看到,抖动问题得到了解决。然而这种方法还是有缺点的,主要就是这个延时电路的延时控制可能随着环境而变化,而且延时的时间要合适长才行,绝对不能太短。

     

      ③DFT的问题

      在DFT的时候,如果异步复位信号不能直接被I/O引脚驱动,就必须将异步复位线和后面的的被驱动电路断开,用来保证DFT扫描和测试能够正确进行。总之异步复位增加了DFT的复杂性。

     

     

    4.复位策略——复位网络

      在数字电路里面,复位信号驱动了很多触发器,仅次于时钟,因此复位也往往形成或者使用复位网络。复位网络的设计也是有值得斟酌的地方,例如,由于复位的扇出太大,全部的复位不能仅仅由一个端口驱动,也就是不能像下面一样:

                     

      既然上面的不行,那就改成下面的呗,也就是使用多各“并联”的同步释放,分担一下负载压力:

                     

      然而这种方案还是有问题的,这是第一级的撤离出现问题,第二级的撤离没有问题的时候,亚稳态稳定后的状态可能不一样,导致rst_n的复位不一致,有的复位可能会快/慢一个周期。

      最后的方案是,先进行同步释放之后,同步后的复位信号又当做各个部分的异步信号,然后进行同步释放,如下所示:

                 

    这样先经过前级的同步释放之后,就不存在亚稳态稳定好导致的输出rst_n不一致的问题了。

     

      最后说一下多时钟域的复位:在多时钟域复位中,外部的异步复位信号的同步释放应该各自的时钟进行同步,比如异步FIFO中,写时钟域就用写时钟进行同步释放;读时钟域就用读时钟进行同步释放。

    展开全文
  •  无论用户使用哪类型的单片机,总要涉及到单片机复位电路的设计。而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序...
  • 复位电路 时钟电路我第一篇博客已经说讲过了,今天我们来聊聊复位电路。当然,复位电路博大精深,并不是三言两语就能说清楚的,因此这里也是聊聊复位电路的基础,更深的研究需要在实际的项目中才能...

    复位电路

      时钟电路我第一篇博客已经说讲过了,今天我们来聊聊复位电路。当然,复位电路博大精深,并不是三言两语就能说清楚的,因此这里也是聊聊复位电路的基础,更深的研究需要在实际的项目中才能深有体会。本文的主要内容有:

        ·复位电路概述

        ·同步复位电路

        ·异步复位电路

        ·复位策略——复位网络

    1.复位电路概述

      复位信号在数字电路里面的重要性仅次于时钟信号。对电路的复位往往是指对触发器的复位,也就是说电路的复位中的这个“电路”,往往是指触发器,这是需要注意的。有的电路需要复位信号,就像是有的电路需要时钟信号那样,而有的电路是不需要复位信号的。复位又分为同步复位和异步复位,这两种各有优缺点。下面我们主要来说说复位信号的用途和不需要复位信号的情况。

    (1)复位的目的

      复位最基本的目的就是使电路(主要是触发器)进入一个能稳定操作的确定状态(主要是触发器在在某个确定的状态),主要表现为下面两点:

    ①使电路在复位后从确定的初始状态运行:

      ·上电的时候,为了避免上电后进入随机状态而使电路紊乱,这个时候你就需要上电复位了。

      ·有时候,电路在某个状态下,你想或者别人要求你从电路的初始状态开始进行延时你的电路功能,这个时候你就要对你的电路进行复位,让它从最初的状态开始运行。

    ②使电路从错误状态回到可以控制的确定状态:

      有的时候,你的电路发生了异常,比如说状态机跑飞了、系统供电炸了之类的,总之就是电路运行得不正常了,这个时候你就要对电路进行复位,让它从错误的状态回到一个正常的状态。

    上面说的都是和实际电路有关的,下面我们就从电路仿真的角度看一下复位信号的重要性。

      ·仿真的要求

      复位信号在仿真里面主要是使电路仿真时具有可知的初始值:

      在仿真的时候,信号在初始状态是未知状态(也就是所谓的x,不过对信号初始化之后的这种情况除外,因为仿真的时候对信号初始化就使信号有了初始值,这就不是x了)。

      对于数据通路(数字系统一般分为数据通路和控制通路,数据通路一般是对输入的数据进行处理,控制通路则是对运行的情况进行操作),在实际电路中,只要输入是有效数据(开始的时候可能不是有效的),输出后的状态也是确定的;在仿真的时候,也是输入数据有效了,输出也就确定了。也就是说,初始不定态对数据通路的影响不明显。

      对于控制通路,在实际电路中,只要控制通路完备(比如说控制通路的状态机是完备的),即使初始状态即使是不定态,在经过一定的循环后,还是能回到正确的状态上;然而在仿真的时候就不行了,仿真的时候由于初始状态为未知态,控制电路一开始就陷入了未知态;仿真跟实际电路不同,仿真是“串行”的,仿真时控制信号的初始不定态会导致后续的控制信号结果都是不定态,也就是说,初始的不定态对控制通道是致命的。

     

    (2)不需要复位信号的一些情况

      复位信号很重要,但是并不是每一部分的电路都需要复位电路,一方面是复位电路也消耗逻辑资源、占用芯片面积,另一方面是复位信号会增加电路设计的复杂性(比如要考虑复位的策略、复位的布局布线等等)

      当某个电路的输出在任何时刻都可以不受到复位信号的控制就有正确的值时,比如说数据通路中的对数据进行处理的部分。在某些情况下,当流水线的寄存器(移位寄存触发器)在高速应用中时,应该去掉某些寄存器的复位信号以使设计达到更高的性能,因为带复位的触发器比不带复位的触发器更复杂,反应也更慢。

    对复位信号/电路有一定的概念后,下面我们就来说说复位的方式,也就是同步电路和异步电路以及它们的优缺点。

     

    2.同步复位

    (1)同步复位电路

    同步复位是指复位信号在时钟有效沿到来时才复位电路(主要是复位触发器)。因此同步复位的复位信号受到时钟信号的控制。同步复位的触发器RTL代码和电路如下所示:

         

    上面的电路在FPGA中容易综合得到;也有可能综合得到下面这样的电路:

     

    (2)同步复位的优点

      ①首先同步复位一般能确保电路是100%同步的,因为电路都是由同步时钟触发。

      ②同步复位会综合为更小的触发器(???更小??感觉有点不太对,可能FPGA跟ASIC不一样吧?)。从前面电路中我们也可以看到,复位电路仅仅是由一个普通的触发器和一个与门够吃。

      ③由于同步复位仅仅发生在时钟的有效沿,当外部的复位信号由毛刺时,时钟可以当做过滤毛刺的手段,也就是说同步复位受到复位信号的毛刺影响小。

      ④当复位信号是由内部电路产生时,此时复位信号就有可能有毛刺,时钟就可以过滤毛刺。也就是说,可以在那些使用内部信号当做复位信号的设计中,使用同步复位

     

    (3)同步复位的缺点

      ①使用同步复位可能使综合工具无法分辨分辨复位信号和其他控制信号,导致进行复位的控制逻辑远离触发器(也就是说,并不是所以的ASIC库都有内置的同步复位逻辑,综合工具可能把符合逻辑综合到触发器自身之外)。例如对于带同步复位和加载使能的触发器,代码如下所示:

                      

    综合得到的电路图如下所示,左边是理想的电路,右边是可能综合出的电路:

     

    这两个电路的功能完全一样,只不过右边电路的复位控制逻辑(即复位与门)在多路复用器之外,也就是远离了触发器。这在门级仿真的时候(注意这是仿真),当....

      解决方法就是:一方面这个只是综合工具的问题,一般综合工具会自动识别在敏感列表里面又在条件表达式信号中的第一个信号为复位信号;另一方面,可以在RTL代码编写的时候,加入相关的综合指令,让综合的时候把复位逻辑靠近触发器。

      

      ②由于同步复位需要在时钟沿的触发下才能起作用,复位信号是以短脉冲的方式出现时,时钟沿就有可能错失这个复位信号,导致复位脉冲丢失,同步复位电路没有起到作用,时序图如下所示:

      解决办法:一方面,可以采用脉冲捕捉电路,这个电路在我的跨时钟域控制信号传输中有讲到。;另一方面,可以将复位信号进行脉冲扩展,维持足够长的时间,这个可以通过一个小的计数器实现,如下图所示:

      ③同步复位可能有组合逻辑延时,当复位逻辑距离触发器比较远时,这个时候就不能把触发器当做即时响应复位信号的触发器,而是有一定延时的触发器,这个时候就有了复位信号偏移的问题,关于复位信号偏移的描述,我们将在异步复位中进行描述。

      解决方法:使用内置的同步复位触发器;综合的时候加入相关的综合指令,这个和①类似。

      ④我们前面说过,在由内部组合逻辑的产生复位信号的设计中,推荐使用同步复位。其实这也是有缺点的,这是因为这样产生复位信号的组合逻辑一方面在仿真的时候容易出现x态,另一方面在实际电路中,这样的复位信号容易被外部(多个)信号影响。

      解决方法:不建议使用内部产生的复位信号;使用异步复位。

     

      ⑤门控时钟的同步复位可能无效:

      使用门控时钟的时候,由于复位信号依赖于时钟,在复位信号发出的时候,时钟可能关闭了,这个时候就会导致实际的电路没有被复位,如下图所示:

      解决方法:只能使用异步复位,并在时钟恢复前移除异步复位。

      ⑥总线设计中的同步复位问题:

      在总线控制中,系统上电复位的时候,我们要求不同芯片之间的总线工作在合理的状态上(比如处于高阻态或者输出);然而上电之后,由于系统时钟可能仍未正常工作,上电(同步)复位就可能无效,这个时候各个模块(芯片)就可能不会把总线接口设置为特定的状态,(当多个模块同时输出数据到总线上时)就可能导致电平冲突,严重的话会烧坏接口。

      解决办法:为了防止芯片上电时内部总线出现竞争,有一下两种解决办法,一种是采用异步上电复位,如下图所示:

    这个时候使用了异步复位,使能信号oe输出0,也就是有了初始的状态

    另一种方法是使用复位信号能直接撤销三态使能的电路,如下所示:    

    从电路图中可以看到复位信号一方面控制了复位逻辑,另一方面控制了三态的使能端;这种技术简化了复位-高阻这个条路径的时序分析。

    3.异步复位

    (1)异步复位电路

      异步复位触发器则是在设计触发器的时候加入了一个复位引脚,也就是说复位逻辑集成在触发器里面。(一般情况下)低电平的复位信号到达触发器的复位端时,触发器进入复位状态,直到复位信号撤离。带异步复位的触发器电路图和RTL代码如下所示:

    (2)异步复位的优点

      ①使用异步复位的最大好处就是复位路径上没有延时,如上面的图所示,复位信号一直连接到触发器的复位端口,而不是像同步复位那样需要经过一个复位控制逻辑(如与门)。这样子就减少了外界信号的影响。

      ②与时钟没有关系,不管时钟上升沿有没有到来,只要复位信号一有效,触发器就会复位,也就是基本上做到实时性;由于与时钟没有关系,因此也可以用在门控时钟里面。

      ③综合工具能自动推断出异步复位而不必加入任何综合指令。

     

    (3)异步复位的缺点

      ①复位撤离问题

      在介绍复位撤离问题之前,先说一下复位恢复时间和去除时间。所谓的复位恢复时间是指撤离一个复位信号时,复位信号从有效跳变为无效的时刻  与  下一个有效时钟沿  之间的这段时间;去除时间是指撤离一个复位信号时,复位信号从有效跳变为无效的时刻  与  上一个有效时钟沿  之间的这段时间(可以类比于触发器的建立时间和保持时间)。如下图所示:

    上图中,rst_n1是要求的复位恢复时间,rst_n2满足复位恢复时间,rst_n3复位恢复时间不足。   

        上图中,rst_nA是要求的复位去除时间,rst_n2满足复位去除时间,rst_n3复位去除时间不足。

      从上面的两个图中可以知道,如果你想让某个时钟沿起作用(也就是采数据),那么你就应该在“恢复时间”之前让异步控制信号变无效;如果你想让某个时钟沿不起作用(也就是在这个时钟沿依旧复位),那么你就应该在“去除时间”过后使控制信号变无效。异步复位信号的恢复和去除时间需要大于一定的时间,如果你的异步复位信号在这两种情况之间(撤离),那么就没法确定时钟沿是否起作用了,即判断不出是复位还是不复位(不复位即是D触发器才输入端的数据)。

      介绍了复位恢复时间和去除时间之后,我们就可以看看异步复位信号的问题了。由于异步复位信号与系统时钟毫无关系,复位可以在随时施加,也可以随时撤离。在施加的时候复位信号的时候,不存在任何问题,因为这跟复位恢复时间扯不上关系。但是,在撤离复位信号的情况下就有问题了,主要有两个问题:

      ·当异步复位信号的撤离时刻在时钟有有效沿附近时,就可能导致恢复时间或去除时间不足,即这个时候违背了复位恢复时间或去除时间,这时就可能导致触发器的输出端为亚稳态(注意是可能),如下所示:

      但是并不是所有情况都会产生亚稳态,当复位值和此时的的输出相同时,就不会产生亚稳态,如下图所示:

    这是因为:复位信号翻转的时候,如果复位信号判断是低电平输出就复位即一定是低电平;如果判断复位信号是高电平输出信号就等于对输入信号的采样值。图里面输入信号就是低电平,不管你是复位还是不复位,输出一直是低电平,没有亚稳态。

     

      ·复位状态不一致的问题:

      复位信号很时钟信号一样,复位通过复位网络到达各个触发器。一方面,复位网络具有非常大的扇出和负载,到达不同的触发器存在不同的延时,也就是存在复位偏移,因此撤离异步复位的时刻也是不一样的;另一方面,由于时钟网络也存在时钟偏移。这个时候异步复位信号就有可能在不同的触发器的不同时钟周期内进行撤离,也就是说异步复位的信号不一致,如下图所示:

      异步复位信号a是异步复位信号源,异步复位信号b、c、d是到达触发器的异步信号。我们可以看到,b信号是在本周期就撤离了复位;c信号则由于复位恢复时间不满足,则可能导致触发器输出亚稳态;而d信号则由于延时太长(但是满足了复位去除时间),在下一个周期才撤离复位

      撤离问题的解决方法:异步复位的同步释放

      异步复位的同步释放电路也称为复位同步器,这个方法是将外部输入的异步复位信号进行处理,产生另外一个适合用于后面电路的复位信号,这个处理后的复位信号能够异步复位电路中的触发器,又不会存在撤离问题(因为经过了同步);这个异步复位同步释放的处理电路和RTL代码如下所示:

    从图中可以看到,这是用外部异步复位信号来复位一对触发器,这对触发器异步地驱动主复位信号,也就是这对触发器产生电路需要的复位信号,这些复位信号再到达各个触发器,然后进行复位,理想的异步复位同步释放的时序如下所示:      

    上图中,在理想的情况下,复位信号在两级D触发器上面的撤离时间可能不一样,这个和复位信号传输到的触发器位置和触发器的时钟沿有关。理想情况下的复位信号传输到目标触发器都能够同时撤离,并且不在时钟有效沿附近

      实际情况一般不是那么理想的,当不是理想的情况下,也就是说复位信号到达目标寄存器存在时钟偏移,并且复位信号有可能在时钟有效沿附近撤离,这个时候复位器出现的问题就有三种:第一级OK,第二级出现问题;第一级出现问题,第二级OK;两级都出现问题。下面我们就来看看这三种情况下产生的复位信号是什么情况:

      第一级的撤离没有问题,第二级的撤离出现在时钟的有效沿附近,也就是说第二级的D触发器的撤离时间不满足复位恢复时间或者去除时间,这时候的时序图如下所示:

    我们可以看到无论是触发器判断此刻是复位还是不复位,输出都是一样的,也就是说,输出rst_n不是亚稳态,而是确定的值。

      第一级的撤离出现问题,第二级的撤离没有问题,这时候的时序图如下所示:  

    我们可以看到,第一级触发器虽然产生了亚稳态,但是由于第二级触发器的存在,亚稳态并没有传播下去,得到的复位信号依然是干净的,只不过这个复位信号可能延长多一个周期而已(这是因为亚稳态稳定后的可能态引起的)。

     

      最极端的一种情况是,两级的撤离都不满足复位恢复时间或者去除时间,这时候的时序图如下所示:

    我们可以看到第一级触发器产生了亚稳态,但是由于第二级触发器的存在,亚稳态没有传播下去;虽然第二级触发器的复位信号撤离也在时钟有效沿附近,但是跟第一种情况一样,第二级触发器是不会产生亚稳态的。因此即使是极端状态,输出的复位信号也是干净的。

      由此我们可以看到,异步复位的同步撤离能够有效地解决撤离导致的复位恢复时间或者去除时间不足的问题,同时把复位信号同步化,解决了复位撤离偏移的问题。

      ②异步复位的抖动问题

      当外部输入的异步复位信号产生毛刺时,任何满足触发器最小复位脉冲宽度的输入都有可能引起触发器复位,这问题是源头上的问题,即使是使用上面的同步器,也还是有同样的敏感问题,时序图如下所示:

         

      解决方法:一个是使用同步复位,另一个就是过滤毛刺了,过滤毛刺和消抖的思路有点像,主要就是经过一段延时之后,在经过逻辑门判断产生外部来的是不是真正复位信号,加上过滤毛刺信号部分的同步撤离电路和时序如下所示:

    在上图中,我们可以看到,抖动问题得到了解决。然而这种方法还是有缺点的,主要就是这个延时电路的延时控制可能随着环境而变化,而且延时的时间要合适长才行,绝对不能太短。

      ③DFT的问题

      在DFT的时候,如果异步复位信号不能直接被I/O引脚驱动,就必须将异步复位线和后面的的被驱动电路断开,用来保证DFT扫描和测试能够正确进行。总之异步复位增加了DFT的复杂性。

    4.复位策略——复位网络

      在数字电路里面,复位信号驱动了很多触发器,仅次于时钟,因此复位也往往形成或者使用复位网络。复位网络的设计也是有值得斟酌的地方,例如,由于复位的扇出太大,全部的复位不能仅仅由一个端口驱动,也就是不能像下面一样:

      既然上面的不行,那就改成下面的呗,也就是使用多各“并联”的同步释放,分担一下负载压力:  

      然而这种方案还是有问题的,这是第一级的撤离出现问题,第二级的撤离没有问题的时候,亚稳态稳定后的状态可能不一样,导致rst_n的复位不一致,有的复位可能会快/慢一个周期。

      最后的方案是,先进行同步释放之后,同步后的复位信号又当做各个部分的异步信号,然后进行同步释放,如下所示:   

    这样先经过前级的同步释放之后,就不存在亚稳态稳定好导致的输出rst_n不一致的问题了。

      最后说一下多时钟域的复位:在多时钟域复位中,外部的异步复位信号的同步释放应该各自的时钟进行同步,比如异步FIFO中,写时钟域就用写时钟进行同步释放;读时钟域就用读时钟进行同步释放。

    来自:博客园

    作者:IC_learner

    展开全文
  • STM32实现复位三种常用方式

    千次阅读 2020-01-03 09:36:30
    STM32实现复位三种常用方式 问题:最近做项目碰到单片机程序运行过程中,需要根据外部输入信号,对单片机进行复位的操作。 解决:目前常用的复位方式有硬件复位和两软件复位: 1、硬件复位通过给NRST引脚输入低...

    STM32实现复位的三种常用方式

    问题:最近做项目碰到单片机程序运行过程中,需要根据外部输入信号,对单片机进行复位的操作。
    解决:目前常用的复位方式有硬件复位和两种软件复位:
    1、硬件复位通过给NRST引脚输入低电平复位单片机,但是本项目硬件连接已经固定,硬件复位无法实现;
    2、软件看门狗复位,该方法用得比较多,在防止单片机运行卡死等情况下有不错的效果,但是复位有一定的延时,需要等待计数时间;
    3、利用Cortex m3的内核复位函数static __INLINE void NVIC_SystemReset(void){},该函数在core_cm3.h头文件中有定义;如果需要马上复位,不等待中断处理完,可以先执行static __INLINE void __set_FAULTMASK(uint32_t faultMask)函数,关闭所有中断,即在需要复位单片机的时候,分别执行以下函数:
    __set_FAULTMASK(1);//close all interrupt
    NVIC_SystemReset();//reset

    欢迎使用Markdown编辑器

    你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

    新的改变

    我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

    1. 全新的界面设计 ,将会带来全新的写作体验;
    2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
    3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
    4. 全新的 KaTeX数学公式 语法;
    5. 增加了支持甘特图的mermaid语法1 功能;
    6. 增加了 多屏幕编辑 Markdown文章功能;
    7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
    8. 增加了 检查列表 功能。

    功能快捷键

    撤销:Ctrl/Command + Z
    重做:Ctrl/Command + Y
    加粗:Ctrl/Command + B
    斜体:Ctrl/Command + I
    标题:Ctrl/Command + Shift + H
    无序列表:Ctrl/Command + Shift + U
    有序列表:Ctrl/Command + Shift + O
    检查列表:Ctrl/Command + Shift + C
    插入代码:Ctrl/Command + Shift + K
    插入链接:Ctrl/Command + Shift + L
    插入图片:Ctrl/Command + Shift + G
    查找:Ctrl/Command + F
    替换:Ctrl/Command + G

    合理的创建标题,有助于目录的生成

    直接输入1次#,并按下space后,将生成1级标题。
    输入2次#,并按下space后,将生成2级标题。
    以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

    如何改变文本的样式

    强调文本 强调文本

    加粗文本 加粗文本

    标记文本

    删除文本

    引用文本

    H2O is是液体。

    210 运算结果是 1024.

    插入链接与图片

    链接: link.

    图片: Alt

    带尺寸的图片: Alt

    居中的图片: Alt

    居中并且带尺寸的图片: Alt

    当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

    如何插入一段漂亮的代码片

    博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

    // An highlighted block
    var foo = 'bar';

    生成一个适合你的列表

    • 项目
      • 项目
        • 项目
    1. 项目1
    2. 项目2
    3. 项目3
    • 计划任务
    • 完成任务

    创建一个表格

    一个简单的表格是这么创建的:

    项目Value
    电脑$1600
    手机$12
    导管$1

    设定内容居中、居左、居右

    使用:---------:居中
    使用:----------居左
    使用----------:居右

    第一列第二列第三列
    第一列文本居中第二列文本居右第三列文本居左

    SmartyPants

    SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

    TYPEASCIIHTML
    Single backticks'Isn't this fun?'‘Isn’t this fun?’
    Quotes"Isn't this fun?"“Isn’t this fun?”
    Dashes-- is en-dash, --- is em-dash– is en-dash, — is em-dash

    创建一个自定义列表

    Markdown
    Text-to- HTML conversion tool
    Authors
    John
    Luke

    如何创建一个注脚

    一个具有注脚的文本。2

    注释也是必不可少的

    Markdown将文本转换为 HTML

    KaTeX数学公式

    您可以使用渲染LaTeX数学表达式 KaTeX:

    Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n1)!nN 是通过欧拉积分

    Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t   . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=0tz1etdt.

    你可以找到更多关于的信息 LaTeX 数学表达式here.

    新的甘特图功能,丰富你的文章

    Mon 06 Mon 13 Mon 20 已完成 进行中 计划一 计划二 现有任务 Adding GANTT diagram functionality to mermaid
    • 关于 甘特图 语法,参考 这儿,

    UML 图表

    可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:

    张三 李四 王五 你好!李四, 最近怎么样? 你最近怎么样,王五? 我很好,谢谢! 我很好,谢谢! 李四想了很长时间, 文字太长了 不适合放在一行. 打量着王五... 很好... 王五, 你怎么样? 张三 李四 王五

    这将产生一个流程图。:

    链接
    长方形
    圆角长方形
    菱形
    • 关于 Mermaid 语法,参考 这儿,

    FLowchart流程图

    我们依旧会支持flowchart的流程图:

    Created with Raphaël 2.2.0 开始 我的操作 确认? 结束 yes no
    • 关于 Flowchart流程图 语法,参考 这儿.

    导出与导入

    导出

    如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

    导入

    如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
    继续你的创作。


    1. mermaid语法说明 ↩︎

    2. 注脚的解释 ↩︎

    展开全文
  • 复位电路工作原理

    千次阅读 2019-10-07 07:07:52
    复位电路的作用 ...无论用户使用哪类型的单片机,总要涉及到单片机复位电路的设计。而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后...

     

     
    复位 电路的作用
    在上电或复位过程中,控制CPU的复位状态:这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。
    无论用户使用哪种类型的 单片机,总要涉及到单片机复位电路的设计。而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的。
    基本的复位方式
    单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到 芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位 
    1、手动按钮复位
    手动按钮复位需要人为在复位输入端RST上加入高电平(图1)。一般采用的办法是在RST端和正 电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。
                        图1                                                                                
    2、上电复位
    AT89C51的上电复位电路如图2所示,只要在RST复位输入引脚上接一电容至Vcc端,下接一个电阻到地即可。对于CMOS型单片机,由于在RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1µF。上电复位的工作过程是在加电时,复位电路通过电  容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。上电时,Vcc的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为10MHz,起振时间为1ms;晶振频率为1MHz,起振时间则为10ms。在图2的复位电路中,当Vcc掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l”态。如果系统在上电时得不到有效的复位,则程序计数器PC将得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。
    图2
    3、积分型上电复位
    常用的上电或开关复位电路如图3所示。上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。
    根据实际操作的经验,下面给出这种复位电路的电容、电阻参考值。
    图3中:C:=1uF,Rl=lk,R2=10k
                图3 积分型上电复位电路


    专用芯片复位电路:
    上电复位电路 在控制系统中的作用是启动单片机开始工作。但在电源上电以及在正常工作时电压异常或干扰时,电源会有一些不稳定的因素,为单片机工作的稳定性可能带来严重的影响。因此,在电源上电时延时输出给芯片输出一复位信号。上复位电路另一个作用是,*正常工作时电源电压。若电源有异常则会进行强制复位。复位输出脚输出低电平需要持续三个(12/fc s)或者更多的指令周期,复位程序开始初始化芯片内部的初始状态。等待接受输入信号(若如遥控器的信号等)。
     
    图4 上电复位电路原理图
       
    上电复位电路原理分析
    5V电源通过MC34064的2脚输入,1脚便可输出一个上升沿,触发芯片的复位脚。电解电容C13是调节复位延时时间的。当电源关断时,电解电容C13上的残留电荷通过D13和MC34064内部电路构成回路,释放掉电荷。以备下次复位启用。
    四、上电复位电路的关键性器件
    关键性器件有:MC34064 。
     
        图6 内部结构框图
    输入输出特性曲线:
    上电复位电路关键点电气参数
    MC34064的输出脚1脚的输出(稳定之后的输出)如下图所示:
    三极管欠压复位电路

    欠压复位电路工作原理(图6)w 接通电源,+5V电压从“0V”开始上升,在升至3.6V之前,稳压二极管DH03都处于截止状态,QH01(PNP管)也处于截止状态,无复位电压输出。w 当+5V电源电压高于3.6V以后,稳压二极管DH03反向击穿,将其两端电压“箝位”于3.6V。当+5V电源电压高于4.3V以后,QH01开始导通,复位电压开始形成,当+5V电源电压接近+5V时,QH01已经饱和导通,复位电压达到稳定状态。
                图6 欠压复位电路图



    看门狗型复位电路
    看门狗型复位电路主要利用CPU正常工作时,定时复位计数器,使得计数器的值不超过某一值;当CPU不能正常工作时,由于计数器不能被复位,因此其计数会超过某一值,从而产生复位脉冲,使得CPU恢复正常工作状态。典型应用的Watchdog复位电路如图7所示。此复位电路的可靠性主要取决于软件设计,即将定时向复位电路发出脉冲的程序放在何处。一般设计,将此段程序放在定时器中断服务子程序中。然而,有时这种设计仍然会引起程序走飞或工作不正常。原因主要是:当程序“走飞”发生时定时器初始化以及开中断之后的话,这种“走飞”情况就有可能不能由Watchdog复位电路校正回来。因为定时器中断一真在产生,即使程序不正常,Watchdog也能被正常复位。为此提出定时器加预设的设计方法。即在初始化时压入堆栈一个地址,在此地址内执行的是一条关中断和一条死循环语句。在所有不被程序代码占用的地址尽可能地用子程序返回指令RET代替。这样,当程序走飞后,其进入陷阱的可能性将大大增加。而一旦进入陷阱,定时器停止工作并且关闭中断,从而使Watchdog复位电路会产生一个复位脉冲将CPU复位。当然这种技术用于实时性较强的控制或处理软件中有一定的困难
                         图7 看门狗型复位电路


    比较器型复位电路
    比较器型复位电路的基本原理如图8所示。上电复位时,由于组成了一个RC低通网络,所以比较器的正相输入端的电压比负相端输入电压延迟一定时间。而比较器的负相端网络的时间常数远远小于正相端RC网络的时间常数,因此在正端电压还没有超过负端电压时,比较器输出低电平,经反相器后产生高电平。复位脉冲的宽度主要取决于正常电压上升的速度。由于负端电压放电回路时间常数较大,因此对电源电压的波动不敏感。但是容易产生以下二种不利现象:(1)电源二次开关间隔太短时,复位不可靠;(2)当电源电压中有浪涌现象时,可能在浪涌消失后不能产生复位脉冲。为此,将改进比较器重定电路,如图9所示。这个改进电路可以消除第一种现象,并减少第二种现象的产生。为了彻底消除这二种现象,可以利用数字逻辑的方法与比较器配合,设计如图9所示的比较器重定电路。此电路稍加改进即可作为上电复位与看门狗复位电路共同复位的电路,大大提高了复位的可靠性。
                图8  比较器型复位电路
    图9 改进型比较器型复位电路

    转载于:https://www.cnblogs.com/Ph-one/p/4337415.html

    展开全文
  • SOC中的复位电路

    千次阅读 2019-11-19 14:38:07
    1.复位电路概述  复位信号在数字电路里面的重要性仅次于时钟信号。对电路的复位往往是指对触发器的复位,也就是说电路的复位中的这个“电路”,往往是指触发器,这是需要注意的。有的电路需要复位信号,就像是有的...
  • 对于硬件设计来说,复位电路是必不可少的一部分,为了确保微机系统中电路稳定可靠工作,复位电路的第一功能是上电复位。 ...常见的复位方式三种 1、硬件开关:复位信号接一个拨码开关或按键,.
  • 复位电路之深入理解

    千次阅读 2019-12-05 09:29:28
    在FPGA中复位策略必须考虑,如使用同步复位或者异步复位或者异步复位同步释放,以及每个触发器是否都需要进行复位。而复位的基本目的是让器件进入到可以稳定工作的确定状态,避免器件在上电后进入到司机状态导致跑飞...
  • STM32的三种复位方式

    万次阅读 2018-07-20 20:52:54
    STM32F10xxx支持三种复位形式,分别为系统复位、上电复位和备份区域复位
  • 51单片机复位电路的设计

    千次阅读 2011-10-23 20:10:47
      单片机在可靠的复位之后,才会从0000H...同时,复位电路也是容易受到外部噪 声干扰的敏感部分之一。因此,复位电路应该具有两个主要的功能:  1. 必须保证系统可靠的进行复位;  2. 必须具有一定的抗干扰的
  • 方式一:普通IO口加上按键复位电路和上电自动复位电路 方式二:nCONFIG引脚输入信号作为系统复位 方式三:用其他MCU控制FPGA的上电复位,既可以将MCU的复位引脚和FPGA的复位引脚连在一起,也可以MCU单独引脚复位...
  • 无论用户使用哪类型的单片机,总要涉及到单片机复位电路的设计。而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走...
  •  同步复位:顾名思义,同步复位就是指复位信号只有在时钟上升沿到来时,才能有效。否则,无法完成对系统的复位工作。用Verilog描述如下:  always @ (posedge clk) begin  if (!Rst_n)  ...  end  异步复
  • 对常见三种复位方式(同步复位、异步复位、异步复位同步释放)进行介绍与分析,详细介绍了各种复位方式的优缺点,并进一步分析了异步复位同步释放的工作机理与优势所在。
  • Stm32时钟分析 该分析材料大部分来自opendev论坛,我所做的只不过是加上一些自己的分析和整理,由于个人能力有限,纰漏之处在所难免,欢迎指正。...2)对于少于100脚的产品,有2接法:  i)OS
  • STM32F10xxx支持三种复位

    万次阅读 2016-07-13 23:12:42
    STM32F10xxx支持三种复位形式,分别为系统复位、上电复位和备份区域复位。 一、系统复位 除了时钟控制器的RCC_CSR寄存器中的复位标志位和备份区域中的寄存器(见图4)以外,系统 复位复位所有寄存器至它们的复位...
  • 单片机的复位方式

    万次阅读 2018-09-23 14:28:13
    /***********************************... 复位电路的工作原理 在书本上有介绍,51单片机要复位只需要在第9引脚接个高电平持续2us就可以实现,那这个过程是如何实现的呢?在单片机系统中,系统上电启动的时候复位...
  • Arduino之坑()——复位方式

    千次阅读 2019-12-17 18:08:50
    除了重新烧录代码和按下复位键的方法外,Arduino还自带重置函数: 不使用任何硬件引脚,Arduino有一个名为resetFunc()的内置函数,我们声明函数地址为0,当我们执行此功能时,Arduino将自动重置。 说明: –In ...
  • 同步复位、异步复位、异步复位同步释放、多时钟域复位桥电路和全局复位信号复位同步复位异步复位同步复位异步释放以两级寄存器异步复位为例说明存在的问题解决方法------异步复位同步释放参考博客复位电路设计全局...
  • 1、双路232通信电路  3线连接方式,对应的是母头,工作电压5V,可以使用MAX202或MAX232. ... 本电路是用三极管搭的... 5、SP706S复位电路  带看门狗和手动复位,价格便宜(美信的贵很多),R4为调试用,调试
  • 19电压转换的电路设计方式

    千次阅读 2020-07-26 17:56:15
    标准端线性稳压器的压差通常是 2.0-3.0V。要把 5V 可靠地转换为 3.3V,就不能使用它们。压差为几百个毫伏的低压降 (Low Dropout, LDO)稳压器,是此类应用的理想选择。图 1-1 是基本LDO 系统的框图,标注了相应...
  • 天研读《中兴电路设计规范》精华总结

    万次阅读 多人点赞 2020-05-16 18:25:52
    正确的画法为: 错误的画法为: 两连接方式看起来完全一样,但是实际上第二种方式在打包时不能形成正确的连接。 16、禁止使用SIZE 属性放置多个器件 采用定义 SIZE 属性放置多个相同连接关系器件的方法,例如去耦...
  • D触发器是一个具有记忆功能的,具有两个稳定状态的信息存储器件,是构成多种时序电路的最基本逻辑单元,也是数字逻辑电路中一重要的单元电路。 (一)D触发器结构 从图中可以发现D触发器有四个管脚,分别是输入...
  • STM32低功耗三种方式唤醒

    热门讨论 2014-04-16 10:42:56
    要求系统按如下方式进入和退出睡眠模式: 在系统启动2秒后,将RTC在3秒钟之后配置为产生一个报警事件,接着通过WFI指令使系统进入停机模式。 如果要唤醒系统到正常模式,可通过按Key按钮;否则,在3秒钟后,会产生...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,116
精华内容 5,646
关键字:

复位电路的三种方式