当前位置: 首页 > article >正文

SR锁存器—>带EN的SR锁存器—>D锁存器—>边沿触发式D触发器—>寄存器

  • SR锁存器到底是什么?其实SR锁存器有两种方式,一种是与非门的锁存器,一种是或非门的锁存器,我们只讲与非门的锁存器,与非门构成的SR锁存器是是一个以低点平为信号的锁存器,其中S,R的初始状态都是高电平的,其中的S是set是设置Q的,其中的R是reset是设置Q非的。当如果S,R一开始都是高电平的话,那么其中的Q和非Q都是不确定的,因为这个结构是循环的,上一个与非门的结果会通过正反馈来控制下面的与非门(相反也是一样的),所以当两个都设置为为1的时候,其中的Q和非Q到底谁亮是取决于上次电路的结果的。当S,R都处于初始位置的时候,即都是高亮的时候,这个时候就需要一个发号施令进入低电平来行使对应的功能,比如其中的R变成低电平的话,那么就会让非Q变亮,而Q会被暗淡下来,为什么呢?是有一个过程的,其中R是通过低电平来重置Q的,让其回到非Q的状态,而由于非Q是和Q是相斥的,所以这个时候就得有一条电路进行正反馈,通知Q,要他变为低电平的(这个时候的S是始终都是亮的,因为这个是正常的状态,还没有轮到S来行使功能),这个时候不管R怎么变化,那么其中非Q的值也不会变化,因为其中Q的反馈是低电平的,无论R怎么变化,也达不到两个都是高电平的状态,这个电路设计的非常巧妙,难以用基本的逻辑来从0-1,所以记住即可,因为这个结构会在后面经常使用。

    所以总的来说,在与非门的SR锁存器中,S控制和其平行的Q的信号的,使用低电平控制;而R是控制与其平行的非Q信号的,使用低电平控制。记住,高电平是S和R的基本状态

        

  • 既然我们有了一个基本的锁存器,能够锁定住在Q中的状态,那么我们能够设置一个开关,来决定是否动用这个锁存器呢?可以的,只需要引入一个EN就好了,这个就是开关。

那为什么这样设计呢?我们需要的是,当我们开启EN的时候,那么就可以正常的去控制的,否则的话是控制不了的。那怎么设计呢?我们知道与非门的SR锁存器是通过低电平控制的,那么只要控制其在EN没有打开的时候,一定输出不了低电平就好了,也就是说,当EN是低电平的时候,S和EN的输入永远都是高电平,即EN,S = (0,1)和(0,0)都是表示高电平,同时保证当EN是高电平的时候,其中的(1,0)(1,1)存在低电平,或电路不可以,与电路也不可以,这个时候与非刚好可以,那么这个时候,就可以在S和EN之间建立一个与非门来控制电路了,但是由于这个时候是(1,1)输出的是低电平从而控制了整个锁存器,所以这个时候的带EN的锁存器,从原来的锁存器由低电平控制,变成了现在的由高电平控制了,即当EN通的时候,S的高电平控制Q的置位,Q的高电平控制非Q的置位。

  • 是不是上面的锁存器就很厉害了呢?其实并不是,因为我们在设计之处,是想让Q一定是位非Q的反面的,两者是不能同时存在的,但是上面的锁存器中,当普通的SR锁存器S和R都是低电平的时候,会出现两个Q和非Q都是亮的情况,那么这个和我们原来的初衷是相反的,是无效的。为什么说和我们的初衷是相反的呢?这是因为当S,R都为低电平的时候,我们确实存储了一个高电平的Q,但是当我们的S,R同时变化成高电平的时候,那么这个时候就会出现竞争,因为率先达到与非门进行计算的就一定会让对应的Q或者非Q变成低电平从而影响到另外一个Q或者非Q,那么这个时候,Q或者是非Q的输出就非常地不确定,可能是Q亮,也可能是非Q亮,因为其中一个输出一旦熄灭了,那么另外一个就一定不可能熄灭了,因为被熄灭的这个正反馈锁住了。与其说是有这种情况存在,不如说是这种结构就导致了这种情况的存在,那么唯一的办法就是改变这种结构,即不让其有两个输入,只有一个输入就好了,同时一个输入表示两个不同的状态,就避免了S,R同时是一种状态了

这个就是大名鼎鼎的D锁存器,其中的输入状态还是高电平来控制Q亮,D高电平的话,那么Q亮就进入输出存储。且一定锁住(因为没有另外一个输入R来影响了,只有一个D来影响,身兼两职,且D是稳定的),且不会发生下一步Q和非Q的不确定。

  • 那是不是这种方式就很完美了呢?并不是的!我们锁存的条件是EN是开启的,且D高电平Q才能输入锁存,但是D一旦关闭的话Q就没了,比如D是低电平的话,那么Q就重置了,变成了非Q,即在EN开启的时候,Q的是否是亮的,即Q是否能锁住,取决于D本身是否是稳定的,如果D是不稳定的,那么其中存储的Q也就是不稳定的,所以有没有一个东西,让D高亮锁存的一瞬间就让Q脱离D的关系呢?这个一瞬间怎么来表示呢?记不记得我们前面提到过的需要等到EN高亮的时候,D才能存进去Q,存的条件是EN是一直高亮的,也就是说通道一直是开着的,所以D波动才能影响到Q,那么如果我们让通道不是常开的,我们设置一下,让通道快要开启的时候,这个时候让D锁存,然后等到EN高亮的时候,反而D锁存不了呢?也就是在EN从低电平到高电平拉高的一瞬间让其存进去呢?有的!看下面的电路!

怎么分析呢?这样的电路设计的太巧妙了!其首先是让D是处于一个亮的状态的,同时中间使用了一个非门,使得就算EN的通道没有开放的话,那么也能让信号输出到第一个D锁存器的Q口,那么这个时候,就得等通道的信号了,通道的信号来了之后,同时第二个D口连接着上一个的Q口,这个时候就能里面 缩进去,同时由于通道已经打开,导致第一个锁存器无法正常输出Q亮,所以就堵住了前往后续的道路,故这时无论怎么变化D,里面锁住的信息都不会发生改变。那么这样边沿触发的D触发器才是真正能隔绝外界干扰的锁存器,即一个bit的锁存器,那么多个这样的锁存器拜访在一起的话,就变成了一个寄存器,非常的nice.


http://www.kler.cn/a/158505.html

相关文章:

  • 字节青训-判断数组是否单调、判断回旋镖的存在、字符串解码问题、小F的矩阵值调整、数字字符串中圆圈的数量计算 、小Q的非素数和排列问题
  • 【微服务】Spring AI 使用详解
  • gvim添加至右键、永久修改配置、放大缩小快捷键、ctrl + c ctrl +v 直接复制粘贴、右键和还原以前版本(V)冲突
  • java版询价采购系统 招投标询价竞标投标系统 招投标公告系统源码
  • std::sort的底层原理(混合排序算法)
  • Redis知识分享(三)
  • NET Core迁移前工作
  • 竞赛选题 题目:基于深度学习的图像风格迁移 - [ 卷积神经网络 机器视觉 ]
  • 瑜伽学习零基础入门,各种瑜伽教学方法全集
  • Android wifi disable分析
  • luceda ipkiss教程 39:修改版图text字体的粗细
  • AI:大语言模型LLM
  • 代码随想录训练营第五十六天583. 两个字符串的删除操作72. 编辑距离
  • 我最喜欢的白版应用,AI加持的新功能开源!强烈推荐
  • 开发的客户收到样品表示质量不如原供应商如何应对
  • Javafx实现浏览器
  • 数字ic设计技巧:添加debug信号
  • 记录 | CUDA编程中的 __host__ __device__ 双重修饰
  • 360公司-2019校招笔试-Windows开发工程师客观题合集解析
  • 智慧物联可视化大屏赋能设备管理和城市运行
  • 利大于弊:物联网技术对电子商务渠道的影响
  • BLUE引擎开始游戏没反应如何解决
  • MYSQL8用户权限配置详解
  • Proteus8.16仿真软件安装图文教程(Proteus 8 Professional)
  • 图书馆智能密集书架怎么用的
  • MIT_线性代数笔记:第 12 讲 图、网络、关联矩阵