锁存器的工作原理_数字电路学习笔记(十):更多锁存器和触发器

1fcb12810052970fe9ddca56ebea18a2.png

上一章中提到了普通RS锁存器的两大缺点:

1. S端口和R端口不能同时有效,但实际应用中不能保证这种情况不出现,此时可能会出错;
2. 在计算机中,有许多内存单元协同组成一个寄存器,存储同一个数据。但每一位数据可能是先后到来的(比如加法器,计算出最高一位会花费比低位更多的时间),如果内存单元被写入的时间无法统一,就会造成混乱。RS锁存器并没有提供控制写入的端口——只要输入变化,状态就会改变。

本章中将要探讨如何改进这两点,并设计出更加适合存储数据的存储电路。基础电路仍然是RS锁存器:

2b447f253f5fdd91923d17fa62ad4975.png

一、门控RS锁存器

我们从问题二开始解决。为此我们只需增加一个写控制端口。当该端口为高电平时,

可以正常输入;当该端口为低电平时,
被保持在0,锁存器处于保持状态。那么,一个与门便可以解决问题。

e3184ed77480ca6d7dd6997832aa0108.png

控制端口,我们将其命名为

,即时钟(clock)。时钟信号依然是一种普通的信号,只是因为它起控制作用,会周期性变化,所以有这么一个特殊的名字。

门控RS锁存器的功能和普通RS锁存器一样,也有一样的状态转换图和特性方程:

,唯一不同的就是多了一个控制的时钟信号。当该信号为高时(
),锁存器会像普通锁存器一样工作;该信号为低,则无论
输入为什么,状态都会被保持。这样,计算机就可以在时钟为低时做计算,并准备好所有要写入的信号,然后在时钟信号为高时写入。

二、D锁存器

接下来,我们解决第一个问题:摆脱RS锁存器的

的约束条件。最简单的解决方法自然是将
取反之后作为
,这样两者永远不相等,也就不可能都是1了。我们把剩下的一个输入取名为
(D是Data的意思——D锁存器是数据存储单元的基础结构)。

dbbd43ee50b967db80b64817e4a5c46a.png

为此,我们做出的牺牲是放弃了

时的保持功能。我们可以通过特性方程看它的功能:由于
,我们有

因此我们发现,当

时,
会一直和
保持同步;然后当
后,才会保持之前的最后一个状态。我们画出它的状态转换图:

39cbd3287e52a4552bf5ce954d749862.png

D锁存器在

时,对输入是“透明”的,和一根导线没有区别;因此,任何输入的变化都会引发状态的变化。其实对于RS锁存器也有这样的问题。但是,这又和我们的第二点设想有冲突:“
内存单元被写入的时间应当统一”,如果在时钟信号变为低之前,新的数据就已经到来,就会引起错误。究其原因,是因为锁存器能够改变状态的时间是整个高电平期间——为了改进这一点,我们要设法把改变状态的时间缩短为一个时刻

三、RS触发器

一个只在某个时刻发生状态更新的锁存器就叫做触发器。我们考虑如何实现在某个时刻的更新。如果有两个RS锁存器,可以将它们串联,并给一个相反的

信号:

573cca659f08cca9dc28158e6e7fc16b.png
尤其注意,主锁存器的Q要连至从锁存器的S,这样才能保持两者状态一致而不是相反

第一个锁存器叫主锁存器,第二个叫从锁存器。从锁存器接收主锁存器的状态作为输入。在时钟信号低→高→低的一个周期中,它的功能发生了这样的变化:

  1. 时,主锁存器处于保持状态,不接受输入;从锁存器可以工作,但主锁存器状态不改变,所以它也不会发生改变。此时整个触发器就处于保持状态。主锁存器状态为1,则从锁存器S=1, R=0,状态也为1,反之则状态为0,所以整个触发器的状态和主锁存器状态一致。
  2. 时,主锁存器接受输入,能改变状态,但此时从锁存器不再工作,因此该状态改变暂时无法反映到触发器的输出上,触发器仍然处于保持状态;
  3. 又变回0,此时从锁存器重新开始工作,把主锁存器的最后一个状态接收,然后改变触发器输出。

一个信号要想通过整个触发器从输入走到输出,要先在时钟为高时进入主锁存器,然后在变成低电平时从主锁存器进入从锁存器,因此,只有在

从1变成0的一个瞬间,触发器才会发生状态更新;其他所有时候,都处于保持状态。这被称作下降沿更新。

要做出上升沿更新,也就是

从0到1的瞬间更新的触发器,只需要让信号在低电平时进入主锁存器,然后在高电平进入从锁存器即可,也就是再加一个反相器:

e90bfa011e3232dd4622e6d545c57402.png

要注意的是,触发器仅仅改变了锁存器更新的机制,并没有改变它的逻辑功能——比如,对于RS触发器,它的特性方程和RS锁存器一致:

四、JK触发器

对于RS触发器,我们也要继续解决这个约束条件的问题。当然,我们仍可以像D锁存器那样,把

当成
;这样连出的电路,自然就是D触发器,将会在后文介绍。

但还有第二种方案,就是利用

的这个性质,将其和
分别相与。不妨管两个输入分别叫J和K(为了纪念工程师Jack Kilby)——有
。这样,就必然有

58ee562c6e3bfcced50938584c6ae101.png

仍然用代入的方法得出它的特性方程:

但是,这个特性方程不像D锁存器一般直观,所以在画状态转换图时,我们可以分别代入各种输入并列出特性表:

a5ede0eee2f95278e7471a0d9555e3c8.png

从此表来看,J和K的四种取值对应四种功能——其中保持(

),置1(
),置0(
)三种功能都和RS锁存器对应功能一致,而由于多了
的输入情况,它还有翻转(
)的功能。

cd31f4c047b0e90893de9b628eb69862.png

JK触发器相比于RS触发器,还有一个性质,就是它会自己把自己锁死。对于RS锁存器,我们可以放心地在

为高电平时随意改变输入,因为从锁存器只关心当它开始工作的一瞬间,也就是
下降的那一刻时,主锁存器的状态;但对于JK触发器,我们就不得不关心它在高电平
期间的输入,而不只是下降沿瞬间的输入。比如,考虑这样的变化:

f7bf0c1d2a9c4735b21b129391a5f746.png

理论上,在高电平期间的

的那一个小扰动不应该影响最终的输出——触发器应该在时钟的下降沿工作,而那一刻对应的是
。因此,
应该保持在0。然而,却发现
变成了1。

这是因为,由于

永远相反,在任意时刻,
中只有一个能够工作——比如在这里,当状态为0时,只有
能够产生影响,而
的取值则根本不影响主锁存器的状态。这样,一旦
为1,主锁存器的状态就被保持在了1,无论
的取值为何。这被称作“
一次翻转”——JK触发器在两个下降沿之间的一个周期中,一旦被翻转,就无法被还原。它的原理是,只有与现态相反的输入能起作用——
时,
起作用;
时,
起作用。这种问题可能会导致状态受到干扰。

五、D触发器

仍然令

,便可以得到D触发器。

3109ae60c613536debe999741d17cf0c.png

它的逻辑功能仍然是:

相比JK触发器,由于它不使用自身状态作约束,所以不会产生一次翻转的问题。和RS触发器一样,它只关心下降沿瞬间主锁存器的状态。

六、T触发器

T触发器是一类偏功能性的触发器——它没有做出任何显著的改进,而只是提供了一种特殊的逻辑功能。我们将同一个输入赋给JK触发器的

7cdfb0be88b02e1829c6bda7975319f3.png

那么,它的特性方程为:

同样画出它的真值表和转换图:

25807f0277a3e8b8b135334e76155813.png

ea05fb11e9ea673d26b90747e1e14761.png

由此发现,它只有“保持”和“翻转”的功能,也就是JK触发器中

对应的两个功能。

总结:本文中,我们的锁存器经历了如下的迭代:

2b447f253f5fdd91923d17fa62ad4975.png
RS锁存器

e3184ed77480ca6d7dd6997832aa0108.png
门控RS锁存器

dbbd43ee50b967db80b64817e4a5c46a.png
D锁存器

573cca659f08cca9dc28158e6e7fc16b.png
RS触发器

339026ba67f4141767489f0be31640ba.png
JK触发器

3109ae60c613536debe999741d17cf0c.png
D触发器

dd9fff04b8d3fa90b75acdb38b9a8b17.png
T触发器

我们改进了上一章所提及的两个问题,并最终得到了两套解决方案:JK触发器和D触发器。这两个触发器,一个更全面,一个更简单,两个都是在时序电路设计中最常用的触发器。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/267148.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机88端口,计算机常用端口一览表

1 传输控制协议端口服务多路开关选择器2 compressnet 管理实用程序3 压缩进程5 远程作业登录7 回显(Echo)9 丢弃11 在线用户13 时间15 netstat17 每日引用18 消息发送协议19 字符发生器20 文件传输协议(默认数据口)21 文件传输协议(控制)22 SSH远程登录协议23 telnet 终端仿真协…

高级筛选的以公式结果为条件

群里有朋友问到一个“高级筛选”的问题: 如何筛选出名称列中所有以“A"开头,以“E”到“G”结尾的数据? 这让我想到了高级筛选中“以公式结果作为条件”的方法。很久不用已经生疏了,温习了下,结果如下&#xff1a…

怎么求平均数_EXCEL怎么求企业连续几年业绩的平均增长率

如果你是个秘书,老板哪天问你,我们公司过去三年业绩的平均增长率是多少呢?你该怎么算呢?每年的增长率加起来直接除以3?如下图:报告老板,我们过去三年的平均增长率11%,老板乐开了花。…

linux常用命令:top 命令

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。top是 一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止…

虚拟化安全防护系统部署在安全服务器上,虚拟化安全防护-安天 智者安天下

获取安天智甲虚拟化安全防护系统产品销售咨询:400-840-9234邮箱:supportantiy.cn安装安天智甲虚拟化安全防护系统管理中心方法一:在VMware vSphere Web Client Service Manager中导入我司提供的管理中心OVA文件。方法二:在VMware …

Ext.form.field.ComboBox组合框

1、Ext.form.field.ComboBox主要配置 Ext.form.field.ComboBox主要配置项 配置项类型说明allQueryString发往服务器用来查询全部信息的查询字符串,默认为空autoSelectBoolean是否自动选择第一个列表值,默认为truedefaultListConfigObject listConfig配置…

34-FTP并发

1 2 3 4 5转载于:https://www.cnblogs.com/venicid/p/8982759.html

头条限流是什么原因_今日头条是否限流 头条号限流是什么状态

头条号突然被限流了是什么原因?我才不管呢!有些人会对他们写的东西感兴趣。坚持不懈地努力。意思是你不能靠自己发财。这意味着你不能靠自己发财!(不管怎样,我不知道我是不是受了限制)只要快乐!如果你不高兴&#xff0…

联想服务器开启虚拟化,联想电脑虚拟化开启方法

适用范围:联想电脑操作步骤:1、Intel平台笔记本:进入BIOS,选择configuration的选项,找到Intel Virtual Technology,改成Enable的开启状态。2、AMD平台的笔记本:进入BIOS,选择configuration的选项&#xf…

26个提升java性能需要注意的地方

最近的机器内存又爆满了,除了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了。 下面是参考网络资源总结的一些在Java编程中尽可能要做到的一些…

treeview调用数据库成树

目的:将数据库中的数据与树控件绑定背景:我们想在树控件中显示销售客户的层级列表,这个销售客户的分层是这样的,先按“大区”,再按“省份”,最后到“客户”我们在数据库中建立了三个表,字段如下…

绘制半圆_超细致:Ai绘制萌蠢可爱卡通形象

来源:Envato艺云台原文作者:Amanda Tepie 翻译:Yimin Zhou完成效果在这篇教程中,我将展示如何在Adobe Illustrator中使用基本图形工具、路径查找器、宽度和描边工具创建一个可爱的呆萌兽。完了你还可以利用这些技巧绘制其他卡通…

服务器系统装软路由,服务器系统设置软路由

服务器系统设置软路由 内容精选换一换无法正常使用Cloud-init。弹性云服务器获取Metadata的流程如图1所示:获取Metadata流程图您可以按照以下原因进行排查,如果解决完某个可能原因仍未解决问题,请继续排查其他可能原因。检查弹性云服务器是否…

Scrapy-redis实现分布式爬取的过程与原理

Scrapy是一个比较好用的Python爬虫框架,你只需要编写几个组件就可以实现网页数据的爬取。但是当我们要爬取的页面非常多的时候,单个主机的处理能力就不能满足我们的需求了(无论是处理速度还是网络请求的并发数),这时候…

0419 一些不错的UI作品,以后陆续更新

一些不错的UI作品,以后陆续更新 http://www.zcool.com.cn/u/35500/zcooler_art.xhtml 其它的部件质感,无非也是渐变,描边,内发光,内阴影等效果的组合,用到的技法也很基础,图层样式。个人觉得&am…

华为服务器如何登录修改密码,如何修改云服务器的登录密码

如何修改云服务器的登录密码 内容精选换一换本节为您介绍如何通过控制台提供的远程登录功能(即VNC方式)登录到弹性云服务器上。登录成功后,如需使用VNC界面提供的复制、粘贴功能,请参见后续处理。对于“密钥对”方式创建的Linux弹性云服务器,…

Lazarus安装使用

Lazarus安装使用 最后还是安装了Lazarus; 安装之后,新建了项目,还引入了Unit,就可以跑了; 学习:http://tieba.baidu.com/p/3164001113 program project1;uses DESCrypt;beginwriteln(32 or 16 or 8 or 0 or…

孪生再世代表数字几_《孪生双鱼座》

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼10门外一人矫步进入大厅,在众目睽睽之下毫不客气的坐在刑斌的身边。所有人站了起来,看是谁哪么大胆!是个女子,她开口道:“诸位前辈,奴家这向有理了。”“来者何…

云服务器有i5的性能吗,i5云服务器

i5云服务器 内容精选换一换查询指定后端云服务器组的后端云服务器。支持过滤查询和分页查询。如未特殊说明,匹配规则为精确匹配。GET /v2/{project_id}/elb/pools/{pool_id}/members无请求样例1 全量查询后端云服务器GET https://{Endpoint}/v2/1a3e005cf9ce40308c9…

asp.net 强制性单一登陆现实

本文章使用asp.net内置membership作为登陆操作 关于配置membership 不用说明了 网上都有的首先建立一个login页面 随便放一个login控件和loginstatus控件aspx代码<body><form id"form1" runat"server"><div><asp:Login ID"Lo…