寄存器与锁存器

article/2025/3/1 20:55:00

一 原理解析

        在数字电路中,通常采用存储单元与组合逻辑相结合的方式实现特定功能。这种存储单元一般采用双稳态原件构成。首先明确一下概念,

                寄存器:边沿触发的存储元件

                锁存器:电平敏感的器件

                触发器:一般来说,由交叉耦合的门构成的任何双稳态原件都可称为触发器,有时候也仅指边沿触发的寄存器。

下面先分析一个最简单的双稳态原件,来说明原理------采用两个反相器串联的方式,如下图所示:

                      

        首先定性的分析这一结构,输入电平在经过两级反相器之后输出保持原来的电平,再将输出反馈给输入,如此持续下去,其实就实现了数据的存储。为了定量研究在这个反馈回路上输入输出电压的变化特性,我们来分析一下反相器的VTC曲线,如下图所示:

                                        

        可以发现单个反相器在中间时,增益很大,而在0和Vcc附近电压增益较小

        由于是采用反相器串联的方式,我们将这两个反相器的VTC曲线画在一个图中,如下图所示

                                         

        在上图中划分除了三个工作点,A,B,C。

        假设交叉耦合的反相器工作在C点。那么对这一片偏置点的小偏移会被这一电路放大和再生,最终偏向某一点(A或者B),这是由于此时环路的增益大于1导致的,如下图所示(以一种情况为例)                                       

        如上,在电路经过多次反馈之后,最终会稳定在A或者B。

        假设工作点在A或者B附近,由于这些地方的增益很小,即使从这两个点有相当大偏移也会被减小直至消失,如下图所示:          

        所以可以发现,在整个VTC曲线中,只有两个区域是比较稳定的,分别是A和B,而C是不稳定的,而这连两个点分别形成了稳定的1和0输出,这也就是双稳态的由来。采用这种方式,不仅实现了电平信号的保存,而且采用正反馈的方式,对信号进行了增强和优化。这就是双稳态的基本原理。

        接下来就出现了一个问题,已经能够实现对信号的存取,但是如何实现信号的改变呢,也就是更新双稳态元件存储的值。很容易想到两种方法,分别是 1切断反馈环,重新建立反馈;2 输入信号强度较大的信号,因其强度超多存储值而迫使一个新的值进入该单元。

        切断反馈环的示意图如下,这种方式又称为多路开关型锁存器:

              

        当CLK=1时,反馈环切断,输入新值;当CLK=0时,反馈换恢复,处于保持状态。

        增大输入强度方式的示意图如下:

                          

        当CLK=0时,输入更强大的信号;当CLK=1时,处于保持状态

        其实上面已经说明了锁存器的基本原理,因为可以发现,这些上面的双稳态器件都是电平触发的。

        下面我们考虑用上面所说的双稳态器件(锁存器)来设计寄存器。

        构成一个边沿触发寄存器最普通的方法时采用主从结构,如下图所示。寄存器由一个主级锁存器和从机锁存器构成,下图采用的是多路开关型锁存器,但实际上可以采用任何类型的锁存器。

        以图7.10为例分析寄存的整个过程。

        CLK=0时T1和T4打开,T2和T3关闭。此时主级没有形成反馈,但是D可以经过I1、T1、I3、I4,被堵在T3位置,同时D可以到达I2,使T2两侧电平一致。从级由于T3关闭,无法获取D值,但是T4打开,从机处于保持状态,用于稳定输出从级读到的上一个数据。所以在时钟上升沿到来之前,数据必须稳定一段时间,让主级建立起反馈,这就是建立时间。

        在CLK从0向1跳变的瞬间,T1和T4关闭,T2和T3打开,由于T3打开,所以刚才被堵在T3的数据立刻可以向下传递,通过T3、I6,在输出端Q表现出来,也就是说在上升沿刚到来的时候输出就可以表现在Q上了,此时虽然从级没有处于保持状态,可能会被主级输出的数据改变,但是在上升沿到来的一瞬间,T1关闭,T2打开,从级立刻就可以处于保持状态,Qm在整个高电平器件都不再变化,所以Q也就不再变化。在时钟上升沿到来之后,T1并不是立刻关闭,而是会有一小段延迟,如果此时数据发生变化,就可能会传入错误的数据,所以数据必须先稳定一下,直至T1彻底关闭,这就是保持时间。

       在CLK =1器件,I5和I6两侧的电压已经保持一致,这样一旦电平变为低电平时立刻建立起保持状态。

        这样便实现了边沿触发,在整个周期内不在发生变化。从波形图中也可以看出,在低电平期间,Qm随D的变化而变化,在上升沿时,Q读取Qm在上升沿的值并输出。而Qm在高电平器件处于保持状态。

下图给出了采用更高输入强度信号的锁存器构造的寄存器结构,他的寄存过程与上面描述的基本一样,不再赘述。

二 在数字电路中的实际使用

        上面所讲主要是从原理的角度进行简要的说明,是数字集成电路部分中偏向底层知识,但是在大多数数字电路教材中,并没有提及这部分 ,而是直接给出了一些门级电路,如果想更好的理解那些知识,就需要上面所讲的底层知识,下面主要是建立上面所讲的底层知识与教材中电路的联系。按照戚金清老师编著的数字电路与系统第三版进行关联。

        首先来介绍锁存器,包括与非门构成的基本RS锁存器和时钟触发器

 上图是大多数资料中显示的与非门构成的基本RS锁存器结构图,我们可以将着这个图用另一种方式画出来,如下

         这样就找到了上面双稳态器件的感觉,这种方式是使用了使输入强于反馈环的方式实现。在有了第一部分的分析之后,再理解这部分已经很容易了,当然了这个寄存器存在局限性,但这不是本文介绍的重点。

        时钟触发器就是加入了时钟的控制,但依然属于电平触发的触发器,常用的包括时钟RS触发器、时钟D触发器,时钟JK触发器,下面分别给出他们的电路结构图,不再赘述。

         这部分的分析方法没有什么难点,只需要注意每种锁存器的输入和大体结构就可以。锁存器在电平有效的时间内输出都会随输入变化,也就是存在空翻的情况,抗干扰性能较差,所以又设计除了边沿触发寄存器。

        边沿触发的触发器只对时钟脉冲上升沿或下降沿敏感,而在此之前和之后输入信号变化对触发器的状态没有影响。比如用两个电平触发D触发器构成的边沿触发器、维持阻塞触发器、利用门电路传输延迟时间的边沿触发器,以及下降沿触发的JK触发器。

        利用锁存器构成寄存器,这与上面所述是一致的。分析方法一样,不再赘述。

        而在从锁存器向边沿触发寄存器演变的过程中,还出现了另外一种类型:脉冲触发的触发器。比如主从RS触发器、主从JK触发器。下面给出电路结构

        这部分的原理与边沿触发的一致。

        我个人的理解:除了下降沿触发的JK触发器之外,他们二者的区别并不在于触发方式,而是在于寄存器类型的区别。看到网上和教材上说,脉冲触发的触发器不能仅看有效沿到来时的输入来确定次态,还需要看现态,并以JK触发器为例;而在说到边沿触发触发器时,以D触发器为例说,触发器的次态只与有效沿到来时的输入有关,而与现态无关。我觉得这是由JK触发器和D触发器的特性造成的,而与脉冲触发或者边沿触发没有关系。而主从JK触发器和下降沿触发的JK触发器属于不同类别,是因为这两者结构都不一样,只是用了这个名字。所以个人觉得没有必要区分太清楚,只要掌握了边沿触发寄存器的分析方法即可。

下面贴一个零散的知识,关于主从JK触发器的一次变化问题

        关于寄存器就先总结这么多,以后有新体会再补充吧 

        

      

    


http://chatgpt.dhexx.cn/article/DF0AQ2Mv.shtml

相关文章

锁存器,D触发器和寄存器的关系与区别

锁存器,D触发器和寄存器的关系与区别 文章目录 锁存器,D触发器和寄存器的关系与区别前言一、锁存器和D触发器二、锁存器构建D触发器三、什么是寄存器?四、总结五、参考资料 前言 数字IC设计里,常会出现锁存器,D触发器…

锁存器相关

2-1】基本双稳态电路 将两个非门G1和G2接成如图5.1.1所示的交叉耦合形式,则构成最基本的双稳态电路。 从图5.1.1所示电路的逻辑关系可知,若 Q0 ,经非门G2反相,则 Q 1。Q反馈到G1输入端,又保证了 Q0 。 由于两个非门首…

数字电路中D触发器和D锁存器分别有什么作用?

用数字信号完成对数字量进行算术运算和逻辑运算的电路称为数字电路,或数字系统。由于它具有逻辑运算和逻辑处理功能,所以又称数字逻辑电路。现代的数字电路由半导体工艺制成的若干数字集成器件构造而成。逻辑门是数字逻辑电路的基本单元。存储器是用来存…

锁存器

出处 http://blog.csdn.net/metalseed/article/details/8259255 by MetalSeed 本文要点 1:锁存器的主要作用 2:74HC573引脚图 3:74HC573电路连接及使用说明 锁存器辨析 所谓锁存器,就是输出端的状态不会随输入端的状态变化而变…

锁存器Latch和触发器Flip-flop的区别

锁存器Latch概述 锁存器(Latch)是一种对脉冲电平敏感的存储单元电路,它们可以在特定输入脉冲电平作用下改变状态。锁存,就是把信号暂存以维持某种电平状态。锁存器的最主要作用是缓存,其次完成高速的控制器与慢速的外…

Python 官方研讨会:彻底移除 GIL 真的可行么?

点击上方“Python爬虫与数据挖掘”,进行关注 回复“书籍”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 忽见陌头杨柳色,悔教夫婿觅封侯。 作者:Łukasz Langa 译者:豌豆花下猫,来源:Python猫 原文…

吴恩达:告别,大数据

编译丨维克多、王晔 来源丨AI科技评论 吴恩达是人工智能(AI)和机器学习领域国际最权威的学者之一,最近一年里,他一直在提“以数据为中心的AI”,希望将大家的目光从以模型为中心转向以数据为中心。 最近,在接…

2017年Python从入门到实战教程-徐培成-专题视频课程

2017年Python从入门到实战教程—5702人已学习 课程介绍 通过《2017年Python从入门到实战教程》这系列课程,大家可以掌握python开发。适合任何初级或者转行的人学习。 课程收益 徐培成老师通过通俗易懂的方式,让你彻底掌握Python,本教程适…

入门深度学习——基础知识总结(python代码实现)

入门深度学习——基础知识总结(python代码实现) 目前,AI基本上可以说是烂大街了。几乎什么都可以说使用了AI技术,听起来很拉风,很nb的样子。而其中目前最为火热的非深度学习(Deep Learning)莫属…

程序员现状思考及Python教程

经常听到一些同行说: 某个公司薪资上调30-50%,我可以跳槽入吗? 最近收到几个比较好的offer!该去哪家?纠结! 目前岗位和环境对自己成长非常慢!更看不到公司的前景特别迷茫! 想成为…

大数据因果推理与学习入门综合概述

在《原因与结果经济学》的开篇,给读者回答以下几个问题。 定期接受代谢综合征体检就能长寿吗?看电视会导致孩子学习能力下降吗?上录取分数高的大学收入就会更高吗?想必很多人的回答都是肯定的。 不过,经济学的权威研…

2018 大数据学习入门必备规划

大数据方向的工作目前分为三个主要方向: 01.大数据工程师 02.数据分析师 03.大数据科学家 04.其他(数据挖掘本质算是机器学习,不过和数据相关,也可以理解为大数据的一个方向吧) 一、大数据工程师的技能要求 二、大数据学习路径 三、学习资源推荐(书籍、博客、网站)…

Python 数据分析师必备的入门学习路线和技能

最近几年,做的这些项目,大多与数据分析与算法应用相关。岗位虽然是算法工程师,但是与数据分析打得交道也很多,双管齐下,最后才能确保算法的落地。在几年前,我还想当然地认为做算法的就应该偏重算法研究与应…

Python入门经典(2K超清)

我在多次python培训时,对学员讲解编程对人生具有重大影响。曾经大学毕业时也迷茫过,不知道以后要干嘛。面对招聘会上密密麻麻的人群,经不知所措。自从接触python编程后,我对这门快速,高效程序语言表示惊讶,…

python入门学习笔记

python入门学习笔记目录 1.编程概论1.1 注释1.2 打印与标记符1.2.1 打印 print1.2.2标记符 1.3 代码行1.3.1 单行语句1.3.2 多行语句1.3.3 缩进1.3.4 复合语句 1.4 关键字1.5 基本对象数据类型1.5.1type() 函数1.5.2 isinstance() 判断函数1.5.3 type 与 isinstance 1.6 常量与…

Python机器学习:适合入门的8个项目

再多的理论也不能代替动手实践。 教科书和课程会让你误以为精通,因为材料就在你面前。但当你尝试去应用它时,可能会发现它比看起来更难。而「项目」可帮助你快速提高应用的 ML 技能,同时让你有机会探索有趣的主题。 此外,你可以将…

python基础入门级别的宝库。

刚刚开始学python的跟狗头军师一起来学习吧。 更加方便的使用pythonpython的安装编译器的选择 python安装完了,接下来就是常用基础语法知识点了,没学过的可以学一学,学过的捧个人场。python的直接输出python注释功能python数据类型语法if判断…

大数据入门必须知道八大实战项目

大数据如果应用不当可能很容易失控,并可能消耗企业资源和预算。在这里将介绍避免混乱的一些大数据的最佳实践。   大数据可以为用户提供卓越的洞察力,也有可能让企业不堪重负。而企业根据其收集数据做出自己的选择。企业面临的主要问题是大数据是由技术专业人员收集的技术解…

html js比较字符串,js字符串和数字的比较

在进行比较时js会先将两边的类型自动转成一致再对比。 1. 纯数字之间的比较 2 < 5 //true; 直接进行比较。 2. 纯数字与数字型字符串之间比较 js会优先选择将字符串转成数字 2 < 5 // true 3. 数字和其它字符串比较 数字和其它字符串进行比较时&#xff0c;js会将其它字符…

JS中字符串比较大小判断的问题(转数字比较)

因为最近你在写JS页面&#xff0c;有时候需要写到验证&#xff0c;就遇到比较的问题&#xff1a; JS验证代码如下&#xff1a; 页面效果&#xff1a; &#xff08;前面开始的时间段3-9&#xff0c;21-23会出现验证&#xff0c;10-20不会&#xff09; 问题原因&#xff1a;得到…