【数电】如何通俗地理解锁存器和触发器


一、相关知识

1.三极管和MOS管

晶体管

事实上,Transistor是个合成词,由 transfer (转换)和 resistor (电阻器)组合而成。因为晶体管可以通过电阻器把交流电转换为直流电

在不引起混淆的情况下,通常认为:
三极管指的是双极性晶体管,它是基本放大电路的核心器件 1
MOS管指的是绝缘栅型场效应管,它是门电路的基本组成单元 2

2.TTL电路和CMOS电路

TTL是Transistor-Transistor-Logic(晶体管-晶体管逻辑)的缩写,是以双极性晶体管作为基本单元制作的一类集成电路,例如:74LS系列芯片
CMOS是Complementary Metal-Oxide-Semiconductor(互补金属氧化物半导体)的缩写,是以绝缘栅型场效应管作为基本单元制作的一类集成电路,例如:74HC系列芯片

简单来讲,由三极管(BJT)构成的电路是TTL电路;由MOS管构成的电路是CMOS电路

就这两类电路而言,应用更为广泛的是CMOS电路,主要原因是:CMOS电路功耗低,带负载能力强,且便于集成

3.门电路

门电路是数字电路中的基本单元,前面已经讲了TTL电路和CMOS电路,尽管它们属于集成电路的范畴,但对于分立元件组成的电路,我们仍可以用其进行分类,即将门电路分为两大类:TTL门电路 和 CMOS门电路

对于各种门电路的结构和功能网上都有详细的介绍,这里不再过多赘述,下面只说明两点细节:

门电路供电问题:从图中可以看到,非门是需要单独供电的,否则电路将不能正常工作,其实不只是非门,任何一个门电路都需要供电,这是一个比较重要的细节,至于为什么要单独来讲,后面会给出原因

门电路的比较:反相器是最简单的门电路,其次是与非门/或非门,与门/或门反而是最复杂的
由于实际需要,常用与非门/或非门+反相器来构成与门/或门,这样做可以带来很多好处3,因此在实际的数字集成电路中,使用更多的是与非门和或非门

4.双稳态电路

双稳态电路
先来看上面这个电路,思考一下,如果我们在某时刻开始给该电路供电,会出现什么现象?

答案是电路会随机进入一种状态,为什么是随机呢?因为电路不可能完全对称,总会有一个反相器比另一个响应速度更快,结果就是U1和U2一个输出高电平,一个输出低电平,并且将一直保持下去,这就是双稳态电路的雏形

为了利用电路的这种保存特性,我们希望可以人为控制它的输出状态,对于这个电路来讲,我们无法改变它的状态,原因在于它没有给我们提供任何的控制端口。因此,我们需要增加控制端,一种做法是把图中的反相器换成二输入与非门,如下图所示。这样我们便可以通过S和R两个输入端来修改电路的输出状态了
与非门构成的锁存器
这就是最简单的双稳态电路,它又被叫做SR锁存器

由此,我们可以引出双稳态电路的定义:

双稳态电路:对某个电路而言,若其只有两种确定的输出状态A和B,而这两种确定的输出状态对于两种确定的触发信号,且它们之间存在如下关系:
1.在给定一个触发信号时,无论电路处于何种状态,都会立即变为A状态
2.在给定另一个触发信号时,无论电路处于何种状态,都会立即变为B状态
3.在没有收到没有触发信号时,电路将一直保持原来的状态不变
我们就称这个电路是一个双稳态电路


二、锁存器、触发器

1.锁存器

前面已经讲过了,SR锁存器其实就是最简单的双稳态电路,利用它的记忆特性,我们可以存储一位二进制数,并按照我们的意愿来修改它

除了上面给出的与非门构成的锁存器以外,还有或非门构成的锁存器(后面所有触发器的特性均和它类似),如图:
或非门构成的锁存器
对于锁存器,我们需要注意两点:

  • 一是由与非门构成的锁存器和或非门构成的锁存器,它们的真值表特性相反4
  • 二是锁存器的输入应该满足一定的约束条件,对于或非门构成的锁存器而言,电路输入应该满足SR=0

之所以不能让SR=1,是因为当S和R同时取高电平时,电路的输出 Q 和 Q’ 都会被强制维持在高电平,这时如果让S和R同时回到低电平,电路将会进入不定状态:对于实际电路而言,电路的输出会随机进入一种状态并保持下去,这种状态是人为不可控

2.触发器

接下来是本文的核心内容——触发器,先来看下它们之间的关系图:
请添加图片描述

由图可以得出触发器的本质:即含有时钟控制端的锁存器

下面将按照图中顺序依次讲解(不涉及真值表和波形图,重点在于对电路结构的理解)

1)电平触发的SR触发器

电平SR触发器

S为 Set 的缩写,R为 Reset 的缩写,意思是置位复位,置位就是将输出端Q设置为高电平,复位就是让输出端Q回到低电平
事实上,S端和R端的功能完全一致,置位和复位都是相对某个输出端而言的,但是一般情况下,我们只关心某一个输出端,规定S端和R端使我们在分析电路时更加方便

可以看到,电平SR触发器其实就是在锁存器的基础上增加了时钟控制电路,因此我们有时也把它叫做门控SR锁存器

优点:提高了电路的抗干扰性,只有在CLK给高电平的时候电路输入才有效

缺点:会出现输入同时为1的情况,即电路可能出现不定状态

把SR触发器后面两个二输入与非门换成三输入与非门,它就变成了含异步置位/复位端的电平SR触发器
含异步置位/复位端的电平SR触发器这两个输入端可以不受时钟信号的控制,直接对电路输出状态进行修改。在电路正常工作时,应该使这两个输入端保持高电平

一般而言,在数字电路中,输入端名称上带有 ’ 的,意思是输入为低电平时起作用,因此在电路正常使用时应该给这些输入端加以高电平

2)电平触发的D触发器

电平D触发器

D触发器在英语中叫做data flip-flop(数据翻转)/delay flip-flop(延迟触发器)

在前者的基础上,用一个反相器将两个输入端串起来,就构成了电平触发的D触发器,有时也把它叫作D型锁存器

优点:不会出现输入同时为1的情况,相较于电平SR触发器,进一步提高了电路的稳定性

3)边沿触发的D触发器

将两个电平D触发器串联,由异步时钟信号来控制,就构成了一个边沿触发的D触发器
边沿D触发器
对于这个电路,我们需要搞明白几个问题:

1.什么是边沿触发?
2.为什么是边沿触发?
3.为什么是上升沿触发?

电路的工作原理:

1.CLK为低电平时,主触发器 导通,从触发器 截止,此时 中间输出Q* 会随着输入 D 的变化而不断变化

2.CLK由电平变为高电平的瞬间,主触发器 截止,从触发器 导通,此时主触发器中保存的是最后一次输入 D 产生的输出的 Q*,这个 Q* 又作为从触发器的输入,使从触发器产生最终输出 Q

问题关键:为什么主触发器保存的是最后一次输入D产生的输出?这是因为D触发器的输入输出关系唯一确定,输入为1时输出为1,输入为0时输出为0,不会出现输入同时为0的无效保持现象

至于为什么是上升沿触发,它是由电路结构决定的,本电路是上升沿触发,但如果把CLK输入端的第一个反相器去掉,电路就变为下降沿触发了

4)脉冲触发的SR触发器

将两个电平SR触发器串联,由异步时钟信号来控制,就构成了一个脉冲触发的SR触发器
脉冲SR触发器
对于这个电路,我们同样提出几个问题:

1.什么是脉冲触发?
2.为什么是脉冲触发?
3.电路的输出取决于哪一次输入?

电路的工作原理:(为了类比前面的边沿D触发器,我们规定SR触发器输入为 01 或 10 的状态为其“有效输入状态”)

1.CLK为高电平时,主触发器导通,从触发器截止,电路的中间输出 Q* 将随输入S,R的变化而变化

2.CLK由高电平变为低电平的瞬间,主触发器截止,从触发器导通,此时电路的输出状态要分情况讨论:

  • 如果下降沿到来瞬间S和R均为0,那么电路输出由前一次有效输入状态决定
  • 如果下降沿到来前瞬间S和R不全为0,那么电路输出由本次输入状态决定

注意:不考虑SR=1的情况

与 D 触发器不同的是,并非输入状态每次变化都会对 SR 触发器的输出产生影响,因为它还存在输入同时为0无效保持的情况

5)脉冲触发的JK触发器

为了适应某些电路的需要,我们希望 S 和 R 都给高电平时,输出发生翻转,这就是JK触发器
脉冲JK触发器

JK触发器中的J和K仅仅是为了区分SR触发器中的S和R,并没有实际意义

可以看到,脉冲JK触发器只是在脉冲SR触发器的基础上增加了两条反馈线

因此,理解该电路的关键就在于弄明白这两条反馈线的作用

电路的工作原理:

1.CLK为高电平时,主触发器导通,从触发器截止,电路的中间输出 Q* 仅能随输入J,K发生一次翻转

2.CLK由高电平变为低电平的瞬间,主触发器截止,从触发器导通,同样地,需要分情况来讨论:

  • 如果输入没有使中间输出 Q* 发生翻转,那么电路保持原来的输出状态
  • 如果输入使中间输出 Q* 发生翻转,电路最终输出发生翻转

需要注意:SR=1也能使输出发生翻转

为了便于理解电路的工作过程,我们假定初始状态:Q = 1,Q’ = 0,Q* =1

在假设成立的情况下,CLK为高电平期间:

  • 如果给定输入状态:J=1,K=0
    此时由于反馈信号的作用,电路的真实输入为: J’=JQ’=0,K’=KQ=0
    中间输出 Q*保持不变
  • 如果给定输入状态:J=0,K=1
    真实输入: J’=JQ’=0,K’=KQ=1
    中间输出Q*由1变为0
    -此后若要使 Q* 由0变回1,需要输入J’=JQ’=1,K’=KQ=0,又因为Q=1,Q’=0,故不可能实现要求,即中间输出不会再发生翻转
  • 如果给定输入状态:J=1,K=1
    真实输入:J’=JQ’=0,K’=KQ=1
    中间输出Q*由1变为0
    -同理,此后电路不会再发生翻转

简单来讲,当电路初始状态Q为1时,由于存在反馈线的作用,输入只可能将输出由1变为0,而无法再将输出由0变为1

更通俗地讲,JK触发器的输出状态一旦发生改变,触发器将被锁定,无法再次被修改

6)T触发器

T触发器
T触发器可以通过把JK触发器的输入端串联得到 5

其功能是:在CLK为高电平期间,每当 T 输入一个脉冲信号,电路的输出就翻转一次;而在CLK为低电平期间,电路输出保持不变

备注:此电路图有误,应该使用普通JK触发器而非主从JK触发器,或者以其中间输出来作为电路最终输出

7)触发方式汇总

触发方式共有3类:电平触发、边沿触发和脉冲触发(实际上,三种触发方式都可以归结为电平触发)

简单回顾一下三种触发方式的动作特点:

  • 电平触发:CLK高电平期间电路输出随输入正常变化;CLK低电平期间电路保持原有状态不变

  • 边沿触发:电路的输出仅仅决定于上升沿(默认)到来瞬间的输入状态

  • 脉冲触发:CLK高电平期间电路输出随输入发生一次(JK)或者多次(SR)变化,不能仅仅根据下降沿(默认)到来瞬间的输入状态来确定,而是需要考虑整个脉冲期间的输入变化情况

通过方框图区分不同的触发方式:

  • 电平触发:方框内除字母外没有任何标识,默认高电平有效
    电平触发方框图
  • 边沿触发:CLK端有一个 ▷ 符号,默认上升沿触发
    边沿触发方框图
  • 脉冲触发:方框内有两个 ┓ 标识,默认高电平有效,下降沿触发
    脉冲触发方框图

改变这些触发方式默认特性的方法均为在CLK输入端口加一个 ‘o’

另外,SR、JK、D和T这些称呼是由电路的输入特性决定的,读者可以对照前面的内容自行体会

8)断电存储问题

现在,还有有最后一个问题:触发器能否断电存储?

先来想一下,触发器需要供电吗?

当然需要!前面我们就说过,任何门电路都需要供电,触发器也是由门电路组成的,它当然也要供电才能正常工作

因此,触发器不能断电存储,但是这样说并不严谨

如果断电是指输入同时回到低电平的话,此时触发器是可以“断电存储”的

而一般我们所说的断电是指切断电路一切供电,此时触发器不可以断电存储

计算机CPU内部所使用的寄存器就是基于触发器原理制作的,因此断电后寄存器内部信息会丢失,还有主板上的内存条也是如此。

那如何实现断电存储呢?

答案是使用硬盘或者其他不依赖于供电实现存储功能的器件,有关于硬盘的存储原理,感兴趣的可以去网上了解。


这是我在平台发布的第一篇较为正式的文章,可能会存在一些问题,还请帮忙指出。

希望本文能对你有所帮助
最后,祝大家学业有成,工作顺利!


  1. 事实上,任何具有三个管脚的晶体管都可以叫做三极管,而任何基于半导体材料制作的单一元件都是晶体管 ↩︎

  2. 三极管也可以作为门电路的基本组成单元 ↩︎

  3. 具体涉及到电路成本及频响特性等问题,有兴趣可以自行查阅 ↩︎

  4. 具体请自行查阅 ↩︎

  5. T触发器也可以由门电路来单独构建 ↩︎

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SUPREMESYZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值