概述
学过数字电路的同学应该都知道SR锁存器,结构简单,一般由两个与非门或者两个或非门组成,原理比较简单,就是具有保持和锁存电平的作用,但是也有缺陷不定态存在,很多书上指出只要输入满足SR=1,输出就是不确定状态,但事实真的如此?
01 SR锁存器原理
先根据电路粗略讲解一下SR锁存器功能,熟悉的同学可以跳过这部分。
上面两图分别是使用两个与非门和两个或非门组成的SR锁存器,本文以图2两个或非门组成的SR锁存器进行功能分析。
当SD=1,RD=0时,或非门G2一端以SD作为输入,故G2输出低电平,G2和RD作为G1的输入,所以G1输出为高电平,此时SR锁存器输出Q端为高电平,Q’为低电平。Q的次态与Q的现态无关,输出端Q均为高电平,故SD被称为置数端。
当SD=0,RD=1时,因为或非门G1的RD端输入高电平,所以G1输出端输出低电平,或非门G2输入均为低电平,则Q非为高电平,故SR锁存器Q输出为低电平,Q’输出高电平。Q的次态与Q现态无关,输出端均为低电平,RD被称为SR锁存器清零端。
当SD=0,RD=0,Q的现态为0时,则Q’的次态为高电平,进而推出或非门G1的输出为低电平,所以Q的次态为0;当Q的现态为1时,则或非门G2的输出为0,或非门G1将RD和或非门G2输出作为输入,所以或非门G1输出高电平,即Q的次态为高电平,由此可知,Q端的次态和现态保持相同,所以当SD与RD端输入数据均无效时,SR锁存器具有保持功能。
由上总结出如下真值表:
SD | RD | Q(现态) | Q*(次态) | 功能 |
---|---|---|---|---|
0 | 0 | 0 | 0 | 保持 |
0 | 0 | 1 | 1 | 保持 |
0 | 1 | 0 | 0 | 清零 |
0 | 1 | 1 | 0 | 清零 |
1 | 0 | 0 | 1 | 置数 |
1 | 0 | 1 | 1 | 置数 |
1 | 1 | 0 | 0(不定态) | 清零 |
1 | 1 | 1 | 0(不定态) | 清零 |
由真值表知,当置数端(SD)有效时,Q的次态为1,清零端(RD)有效时,Q的次态为0,当SD和RD均无效时,Q的次态为Q现态的值,具有保持功能,当清零端与置数端均有效时呢?即不定态。 1
注意:为什么或非门构成的SR锁存器输入高电平时被认为是有效的,而由与非门构成的SR锁存器输入低电平时被认为是有效的?
这是因为或非门任一输入为高电平,输出是确定的低电平,与非门任一输入为低电平,输出就是确定状态。
02 SR锁存器不定态
分析1:SD端与RD端均有效,即SD=1且RD=1时,由于两个或非门G1,G2均有一个输入端为高电平,则Q和Q’均为低电平,此时SR锁存器的输出是确定的,并不是所谓的不定态。对应的时序图如下图所示红色部分:
分析2:继分析1,当SD端和RD端输入均为高电平时,Q与Q’均输出低电平,此时SD由高电平变为低电平,RD保持高电平。由于或非门G2输入均为低电平,所以G2输出高电平,即Q’为高电平。而或非门G1输入均为高电平,所以G1输出为低电平,即Q为低电平,此时SR锁存器的输出也是确定的。时序图如下图5所示:
分析3:继分析1,当SD端和RD端输入均为高电平时,Q与Q’均输出低电平,此时RD由高电平变为低电平,SD保持高电平,则或非门G1输入均为低电平,G1输出则为高电平,即Q输出高电平。而或非门G2输入均为高电平,G2输出则为低电平,即Q’为低电平,此时SR锁存器的输出Q与Q’也是确定的。时序图如下图6所示:
分析4:继分析1,当SD端和RD端输入均为高电平时,Q与Q’均输出低电平,SD与RD同时由高电平变为低电平(有效变为无效)时就比较有趣了,在SD与RD变化之前,Q与Q’稳定输出低电平,所以或非门G1和G2的一个端口均输入稳定低电平。如果RD变为低电平,会如分析3所示,锁存器输出Q为高电平。如果SD变为低电平,会如分析2所示,锁存器输出Q为低电平。如果SD与RD同时为0,若芯片管脚SD到或非门G2输入端距离较短时,则SD由高变低会传输更快起作用,使得Q’输出高电平,Q输出低电平。若芯片管脚RD到或非门G1输入端距离较短时,则RD由高变低会传输更快起作用,使得Q输出高电平,Q’输出低电平。这种由距离决定输出结果的状态,一般被称为不定态,因为在使用芯片之前,并不能分析出准确的输出结果。对应时许图如下图7所示:
SD与RD同时有效的含义:SD有效是SR具有置数作用,RD有效时SR锁存器具有清零作用,设计者想要此器件同时拥有清零和置数的功能,此时不能说器件有问题,而是使用者的思路有问题,即使该状态可以得到确定的值,使用时还是会避免这个状态。
03 总结
即使SR锁存器的输入端同时有效,输出端的次态也是确定的,只有当输入端同时有效,并且同时由有效变为无效时,SR锁存器的输出才是不定态,即不能确定输出的状态。
最后
以上就是舒心樱桃为你收集整理的详解SR锁存器不定态的全部内容,希望文章能够帮你解决详解SR锁存器不定态所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复