0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

寄存器的工作原理:RS锁存器、D触发器及边沿触发器

冬至配饺子 来源:我的一九九三 作者:wezhon 2023-09-20 14:29 次阅读

计算机对我来说无非是一个类似于电视机的东西,厚重的显示器显示出字符图画,对于我来说和课外书上的故事和图画相差无几。虽然有吸引力,但也仅仅是有些好奇罢了。

直到07年的时候,液晶显示器开始普及。一台连接了互联网的计算机出现在我面前,对我的吸引是致命的。从那时候起,建筑设计师的梦想离我远去,计算机随之替代。

也是从这时候起,我开始使用计算机在互联网中傲游。从最开始的Flash小游戏中熟悉键盘鼠标的基本操作;到在网络游戏中寻找外挂时迷上黑客技术文化;最后在各种论坛社区中找寻学习计算机各种技术技巧。

差不多有十三四年的时间是在学习如何使用计算机。直到读了《编码》这本书,为了更深入的理解计算机,就想弄懂计算机的工作原理。有机会的话,尝试制作一台计算机。

至此使用计算机变成了制作计算机。

图片

非科班出身的我自然有很大的知识漏洞缺陷。在第一次读这本书时,读到了加法器就再也读不下去了。关上书打基础,在学习了数字电路模拟电路的一些基础知识后,继续尝试接着读,发现之前困扰问题似乎也不在困难,二进制和十六进制开起来也自然多了。

在我之前的一篇笔记《如何实现加法器》中,对于ALU的工作原理做了简单的了解。

数据虽然是保存硬盘中的,如果CPU每次运算都要从硬盘中取数据的话就太慢了。CPU的运算速度和IO的速度差异实在是太大了,所以需要把硬盘中的数据拷贝到内存中,这样CPU在需要数据的时候直接向内存要。

1.jpg

所以寄存器的作用就是用来保存数据,那么如何用电、逻辑门来保存数据呢?

异或门

回忆一下或非门,其真值表如下:

图片

1.jpg

RS锁存器

现在把两个或非门结合起来,第一个门电路的输出是第二个门电路的输入,第二个门电路的输出是第一个门电路的输入。

图片

可以看到这两个门电路缠绕在一起,输入既决定输出,输出也决定输入。

真值表如下:

1.jpg

从或非门的真值表可知,只要其中有一个输入为1,不管另一个是0还是1,输出都是0。需要注意的是,当两个输入都为0时,两个门电路都无法确定输出,而两个门电路都需要另一个的输出当作输入,所以此时电路系统处于不确定的状态。

图片

只要其中一个输入为1,那么该门电路的输出就确定为0了(异或门决定),另一个的门电路的输入也就确定为0,此时该电路系统就不会出现错误。

神奇的地方来了,如下图:

图片

当输入2为1时,改变上面的输入时,输出随之改变。(先暂时不考虑输出2)

但是当输入2为0时,改变上面的输入时,会发现输出不变了。如下图:

图片

输出1被输入2锁住了,因此这种电路叫做锁存器。(当然,反过来也是一样的)

从上图还可以得知,但输入2为0时,输入1也是可以为0的,此时为什么不是Error呢?

因为之前当两个都为0时,他们的输出是不确定的所以为Error,但是当输入1为1,输入2为0时,此时电路系统是确定的,改变输入1,输入2的输出并没有改变,依然确定输出为1,那么输入1的输出也就是确定的了。因此不会发生错误。

为了方便,把该电路的输入输出取一个名字,如下:

图片

修改后的真值表如下:(注意输入2和输入1交换了位置。)

1.jpg

当S和R都为0时,现在的输出就不是无法确定了。而是保持上一次的输出,这很重要。正是因为有了该特点。电路有了记忆功能,也就是说电路可以保存数据了。

而当S和R都为1时,在这个系统中不需要用到,因此它被禁止了。因为当S和R都为1时,那么输出都为0,这和电路设计中Q和互反矛盾,所以要避免。

这里两个输出是相反的,真正需要的只要1个即可。

因为可把输出锁起来,两个输入端分别为Reset和Set,所以这个电路的名字叫做RS锁存器。

D触发器

继续构造电路,在原来的基础上添加两个或非门。

图片

用一个把两个输入端用一个SCK锁住。当SCK为1时,两个输入端都被锁住,当SCK为0时,输入端被激活。如下图:

[gif error]这个电路和之前的电路并没有什么区别,同理两个输入端不能同时为0(这里因为异或门取反,所以不是同时为1,原理相同)。

数据端也只需要一个输入就可以了,并且不能同时输入0,继续构造电路。

图片

把两个输入接在一起,并且其中一个取反。现在就只有一个输入端和一个保持端了。

当CLK为1时,数据输出保持不变。当CLK为0时,输出端取决于数据输入端。

[gif error]并且还不用担心两个输入端同时为0。真值表如下:

1.jpg

输入端为Data端,这个电路的名字叫做 D触发器

可以看到这个电路就可以保存1Bit的数据了。

把好多个串起来,就可以保存多个Bit了。一般情况下,8Bit等于1Byte,写数据也是一个字节一个字节的写,所以一把把8个触发器连起来,共用一根SLK线。所以也叫八位锁存器。

图片

这种触发器的触发方式为CLK为0时,数据就可以输入,当CLK为1时,数据就被锁住不能修改了。

当CLK为0时数据是可以修改的,如果在CLK为0期间,Data输入数据完毕后,CLK还没有锁住时,发送电磁干扰改变了Data的输入,那么保存的数据也就保存错了。

边沿触发器

既然电平触发可能由于时间太长导致数据可能因干扰而改变,那么就减少触发的时间,高低电平改变的瞬间时间很短,因此可以利用高低电平变化的瞬间来触发,把两个D触发器串在一起。为了进行区分,两个D触发器分别取一个名字。

主触发器从Data得到输入,从触发器的输入来自主触发器。主触发器不会改变得到的输入。如下图:

[gif error]目前来说这个触发器和D触发器完全关键来了,对两个触发器的CLK其中一个取反,如下图:

图片

这样的话,CLK只有一个输入,在同一时间,主触发器和从触发器只能有一个起作用。

[gif error]基本原理如下:

  1. 先把CLK置为0,此时主触发器的CLK经过取反现在为1,此时主触发器就锁住了。虽然从触发器的CLK为0没有被锁住,但是从触发器的输入需要从主触发器的输出得到,主触发器没有改变,那么从触发器也就不会改变。
  2. 现在把CLK置为1,此时主触发器的CLK解锁。可以修改输出,但是从触发器此时被锁住。主触发器的输出还是无法改变从触发器的输出。
  3. 重点来了,此时虽然主触发器的输入无法改变,但是主触发器的输出已经固定下来了。此时再把CLK置为0,那么从触发器此时的输入可以从被之前的主触发器的输出改变的,只是无法从触发器的输入改变而已。

完成流程如下:

  1. 先把CLK置为1,锁从触发器,现在可以把需要保存的数据输入到主出触发器中。

图片

  1. 注意,现在保存的数据已经在主触发器中了。现在把CLK置0,一瞬间,主触发器锁住,从触发器打开,保存在主触发器的数据已经输出到从触发器中了。

[gif error]这样子,一瞬间触发的触发器的名字叫做 边沿触发器

同理把多个边沿触发器连在一起,就能保存多个Bit的数据了。

图片

这里把8个组合在一起,就可以保存一个Byte的数据了。

它的名字就是寄存器。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    30

    文章

    4413

    浏览量

    116071
  • 电磁干扰
    +关注

    关注

    34

    文章

    1587

    浏览量

    104164
  • 锁存器
    +关注

    关注

    7

    文章

    682

    浏览量

    40603
  • 门电路
    +关注

    关注

    7

    文章

    158

    浏览量

    39429
  • D触发器
    +关注

    关注

    2

    文章

    122

    浏览量

    46990
收藏 人收藏

    评论

    相关推荐

    触发器寄存器和缓冲的区别

    RS结构触发器,还是用主从结构或边沿触发结构的触发器,都可以组成寄存器。一般由D触发器组成,有公共输入/输出使能控制端和时钟,一般把使能控制端作为寄存器电路的选择信号,把时钟控制端作为数据输入
    发表于 10-09 16:19

    寄存器触发器的区别

    寄存器、16位寄存器等。对寄存器中的触发器只要求它们具有置1、置0的功能即可,因而无论是用同步RS结构触发器,还是用主从结构或边沿触发结构的触发器,都可以组成寄存器。一般由
    发表于 07-03 11:50

    触发器寄存器三者的区别

    触发器:能够存储一位二值信号的基本单元电路统称为“触发器”。:一位触发器只能传送或存储一位数据,而在实际工作中往往希望一次传送或存储多位数据。为此可把多个触发器的时钟输入端CP连接起来,用一个
    发表于 09-11 08:14

    【转】数字电路三剑客:触发器寄存器

    寄存器。 在FPGA设计中建议如果不是必须那么应该尽量使用触发器而不是。钟控D触发器其实就是D边沿D触发器才是真正的
    发表于 10-27 22:38

    什么是触发器 触发器工作原理及作用

    触发器有R-S触发器D触发器和J-K触发器等三种,下面简单说明它们的工作原理。类型种类按逻辑功能不同分为:RS触发器D触发器、JK触发器、T
    发表于 12-25 17:09

    触发器工作原理是什么

    工作原理是什么?的动态特性及其应用有哪些?触发器工作原理是什么?触发器的电路结构是如何构成的?
    发表于 11-03 06:48

    触发器原理

    触发器的电路结构和工作原理;   2、熟练掌握SR
    发表于 08-18 16:39 233次下载

    一种单CMOS三值D边沿触发器设计

    CMOS三值D边沿触发器设计
    发表于 01-17 19:54 22次下载

    D触发器,D触发器是什么意思

    D触发器,D触发器是什么意思   
    发表于 03-08 13:53 4077次阅读

    D触发器工作原理是什么?

    D触发器工作原理是什么?
    发表于 03-08 13:56 6.9w次阅读

    什么是RS触发器,RS触发器工作原理是什么?

    RS触发器,RS触发器工作原理是什么? 主从
    发表于 03-08 14:00 2.9w次阅读

    jk边沿触发器工作原理

    触发器工作特性与边沿JK触发器的特点,其次介绍了边沿JK触发器工作原理与特点,最后介绍了集成边沿式JK触发器边沿式JK触发器设计及波形仿真图形。
    发表于 01-30 17:17 3.4w次阅读
    jk<b>边沿</b><b>触发器</b><b>工作原理</b>

    什么是边沿触发器_边沿D触发器介绍

    边沿触发器,指的是接收时钟脉冲CP 的某一约定跳变(正跳变或负跳变)来到时的输入数据。在CP=l 及CP=0 期间以及CP非约定跳变到来时,触发器不接收数据的触发器。具有下列特点的触发器称为边沿触发方式触发器,简称
    发表于 01-31 09:02 6.8w次阅读
    什么是<b>边沿</b><b>触发器</b>_<b>边沿</b><b>D</b><b>触发器</b>介绍

    什么是D触发器D触发器如何工作的?

    触发器有时组合在一起,因为它们都可以在其输出上存储一位(1或0)。与相比,触发器是需要时钟信号(Clk)的同步电路。D 触发器仅在时钟从
    的头像 发表于 06-29 11:50 3083次阅读
    什么是<b>D</b><b>触发器</b>,<b>D</b><b>触发器</b>如何<b>工作</b>的?

    rs触发器rs的区别是什么

    RS 触发器中,当输入的 R 和 S 同时为 1 时,会引发互锁问题,输出结果是不确定的。为了避免这个问题,常常使用带有使能控制的同步触发器,如带有时钟信号的 D 触发器或 JK 触发器。这些触发器在时钟边沿上才会响应输入信号,解决了
    的头像 发表于 08-28 15:44 344次阅读