微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 数字电路之时序电路

数字电路之时序电路

时间:07-02 来源:网络 点击:

  在《数字电路之如雷贯耳的"逻辑电路"》、《数字电路之数字集成电路IC》之后,本文是数字电路入门3,将带来「时序电路」的讲解,及其核心部件触发器的工作原理。什么是时序电路?

  上期学过的「组合电路」是根据当前输入信号的组合来决定输出电平的电路。换言之,就是现在的输出不会被过去的输入所左右,也可以说成是,过去的输入状态对现在的输出状态没有影响的电路。

  这次讲解的「时序电路」和「组合电路」不同。「时序电路」的输出不仅受现在输入状态的影响,还要受过去输入状态的影响。

  那么,如何才能将过去的输入状态反映到现在的输出上呢?「时序电路」到底需要些什么呢?人类总是根据过去的经验,决定现在的行动,这时我们需要的就是—记忆。同样,「时序电路」也需要这样的功能。这种能够实现人类记忆功能的元器件就是触发器。按结构和功能,触发器可以分为RS型、JK型、D型和T型。在这里,我们只讲解比较有代表性的类型,RS型和D型。

  触发器就象一个跷跷板

  触发器的工作方式与日本的"起坐亲子游戏"很象。日本的"起坐亲子游戏",指的就是公园里的跷跷板。想起跷跷板,就能想象出RS触发器的工作原理。

  图2就是一个跷跷板。这个跷跷板有些生锈,即使没有人坐,也不能恢复水平状态。请记住它保持倾斜的样子。假设:

  ◇跷跷板的两端是输出Q和Q#。

  ◇左右的2个人是R君和S君,表示输入。坐上跷跷板表示逻辑高H状态,没有在跷跷板上表示逻辑低L状态。

  (每次只允许一个人坐,两人不能同时坐。)

  

  图1: RS触发器的电路图

  

  图2:跷跷板的初始状态(Q=L、Q#=H、R=L、S=L)

  当S君坐上跷跷板(S=H)时,输出Q就变为H(Q#变成L)(图3)

  

  图3:S君坐在跷跷板上的状态(Q=H、Q#=L、R=L、S=H)

  因为跷跷板有些生锈了,动作不灵活,所以,即使S君下来了(S=L),Q#还是L,不改变(图4)

  

  图4:S君从跷跷板上下来的状态(Q=H、Q#=L、R=L、S=L)

  当R君坐上跷跷板时,Q变成L(Q#变成H)。当R君从跷跷板上下来时,也会保持L状态。从这个过程来看,我们是不是可以说跷跷板记住了以前坐过它的人呢。

  用真值表表示RS触发器的工作过程的话,就象图5所示一样。表中Q0和Q0#表示的是输入变化以前的输出。

  RS触发器是最简单的触发器。主要用于防止机械式开关的误操作。

  

  图5:RS触发器的真值表

  按时钟变化记忆的D触发器

  D触发器是在时钟信号(CK)的上升沿(信号从L→H的变化)或下降沿(信号从H→L的变化)时,保持输入信号状态,改变输出信号的触发器。

  

  图6:D触发器

  

  图7:D触发器的真值表

  现在,我们用跷跷板来说明D触发器的工作原理。跷跷板的初始状态如图8所示。D君坐上跷跷板表示输入为H,从跷跷板上下来表示输入为L。跷跷板的另一边,放一个比D君轻的重物。另外,这个跷跷板与一般的跷跷板不同,只有在时钟CK上升沿时,才改变跷起的方向。

  

  图8:D触发器的初始状态(CK=L、D=H、Q=L、Q#=H)

  看着图8,你不觉得有些奇怪吗?D君坐在跷跷板上,却没有变化。按理说,由于D君比重物重,D君(Q#)应该降下来,才对。为什么跷跷板没有发生变化呢,这是因为CK还保持L状态。当CK变为H(CK上升)时,跷跷板就跷起来了,D君就下降了(图9)。

  

  图9: D触发器的CK处于上升状态(D=H、Q=H、Q#=L)

  然后,CK就稳定在H状态。这时,不管D君是从跷跷板上下来,还是再坐上去,跷跷板都不动。只要不在CK的上升状态,跷跷板就一直保持以前的状态。

  这种动作的触发器被称为D触发器,具有在时钟上升瞬间,保持(记忆)输入状态的功能,是一种时钟同步时序电路。D触发器是时序电路的基本元件,用途广泛。D触发器的多级组合,可以做成移位寄存器、分频电路等。也可用于CPU内部的寄存器等。

  SRAM是触发器构成的吗?

  触发器可以记忆H或L,1位的信息。大量排列触发器,并使之具有可选择性后,就可以构成SRAM。由于SRAM的输入输出速度比DRAM和闪存的访问速度高得多,所以,常用作CPU的缓存和寄存器。

  尽管我们这样说,实际上CPU中内置的存储器或寄存器并非使用的是RS触发器这样的逻辑门。由于使用逻辑门,会使电路规模变大,所以,一般使用4到6个FET,再经过优化,构成存储器的1位(图A)。

  

  图A:SRAM的基本电路

  时钟同步电路的必要性

我们分两次,「组合电路」和「时序电路」,对逻辑电路的基础进行了讲解。实际上,在设计逻辑电路时,有很多应该注意的事项。其中特别重要的就是

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top