本文主要是介绍数字信号处理:关于锁存器Latch的发现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
关于锁存器的发明,有下面一段伪历史,所谓伪历史,就是我不想去考证发明人是否有这样一条思路,但是这肯定算是一个思路。
伪历史是这样开始的,人们先发明了反相器,就如下图所示。
接着,人们开始考虑去搞一个循环
现在需要详细看看这个循环了,这个循环是这样的,两个反相器串联起来,再把第二个反相器的输出接到第一个反相器的输入。
假设:
在A处,上帝创造了一个信号X,X可以是1,也可以是0,并且维持很久;
那么,在足够的时间内,B处的信号也会变成X;
接着,上帝离开了,X这个数据被存储在这个体系中了,有点被锁住的意思。
存储的目的达到了。
但是人们会继续思考,要怎样才能改变这个体系中的数据呢?
看看上帝是怎么做到的。
它可能是这样办到的:
在某个瞬间,它换掉了第1个反相器,换成一个产生信号G的器件,这个信号G可以是0 也可以是1。并且维持足够长的时间,使得反相器2输出为非G。
完成上面的事情之后,几乎在一瞬间,将这个产生信号G的器件换回反相器1。
接着反相器2会输出非G,然后输送给反相器1,反相器1接着输出G。这个循环又实现了,将新的信号G给锁存在体系里面了。
那么问题来了,一瞬间更换器件是怎么实现的呢?
这个时候该或非门登场了。
或非门的逻辑代数公式如下面所示
在这里,可以考察或非门的第一个性质
或非门有两个端子,一个是A,一个是B,当一个输入0,比如A=0的时候,这时,它实际上相当于一个反相器,于是前面的循环锁存逻辑可以人为的高复杂一些,但是结果不变。如下图所示:
当然,有了一些突破,可以考察或非门的第二个性质了
当一个端子的输入为1的时候,比如这里假设A=1,这时,无论B是什么,这个或非门就只有一个功能,那就是输出0。
综上,我们可以得出一个结论:A可以看成一个控制端,B可以看成一个输入端。A可以控制这个器件到底是一个反相器,还是一个只会输出0的器件。
现在我们可以尝试组装了
回归课本
在两个或非门的输出端,引出两根线。这不就是我们常见的SR锁存器Latch吗?,看看对比图。
故事到这里就可以结束了。
这篇关于数字信号处理:关于锁存器Latch的发现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!