D锁存器快速入门教程
D锁存器快速入门教程
D锁存器是数字系统中常用的存储数据的逻辑电路。本文将详细介绍D锁存器的工作原理、真值表以及如何使用逻辑门构建D锁存器。
图1:D锁存器符号
什么是D锁存器?
D锁存器可以存储位值,即1或0。当其使能引脚为高电平时,D引脚上的值将存储在Q输出上。它以S-R锁存器的设计为基础,增加了一些逻辑门。您可以在下面看到一个基于S-R锁存器的D锁存器电路,该锁存器采用NAND门构建:
图2:D锁存电路
输入端的逆变器确保S和R输入始终相反,以避免两者为1的无效状态。两个NAND门创建一个新的输入E(使能),允许您控制何时要将输出更改为D输入上的任何输出。
这意味着输出Q只有在使能信号为1时才能改变。如果为0,则输出不受D上任何更改的影响。
您还可以构建带有AND和NOR门的D锁存器,如下所示:
图3:使用AND和NOR门的D锁存器
D锁存器还可用于在定时电路中引入延迟、缓冲器或以特定间隔采样数据。
闩锁和触发有什么区别?
术语锁存和触发器有时会被错误地用作同义词,因为两者都可以在其输出中存储位(1或0)。
虽然锁存器只要启用即可随时更改其输出,但触发器是一种边缘触发设备,需要时钟转换来更改其输出。
要构建D触发器,您需要两个D锁存器,如下所示:
图4:D触发器电路
D锁存器如何工作?
由于输出Q仅在E输入为1时发生变化,因此您将获得以下真值表:
E | D | Q |
---|---|---|
0 | X | Q保持 |
1 | 0 | 0 |
1 | 1 | 1 |
在真值表的第一行中,E输入为0。这意味着闩锁未启用,因此没有任何反应。Q输出保留其具有的任何值。无论D输入具有什么值,Q输出都不会改变,它将保持其值不变。这就是这个电路“记住”一点的方式。
看看接下来的两行。此处E输入为1,因此锁存器已启用。这意味着如果D输入为0,Q输出将复位为0。如果D输入为1,则Q输出将设置为1。
分析电路
您可以通过向S-R锁存电路添加三个逻辑门来构建D锁存电路。在下图中,您可以看到D锁存电路在启用时的位路径,并且在D输入上为0。
图5:D锁存电路分析
要分析上述电路,您需要记住,NAND门仅在其两个输入均为0时才产生1。在所有其他情况下,它给出1。
首先,第一个NAND门的输入为1和0,因此,其输出为1。第二个NAND门的两个输入均为1,因此返回2。
第一和第二NAND门的输出是代表基本S-R锁存器的电路部分的输入。考虑到这一点,您可以将位分为两组:S-R锁存器之前的位(红色)和S-R锁存器产生的位(绿色)。
最后,如果你看一下第4个NAND门。您可以看到,由于第二个NAND门,其输入之一为0。该信息足以告诉您,无论其其他输入的值如何,它都会给出2。该位是对第三个NAND门输入之一的反馈。由于第一个NAND门,另一个是1,因此Q输出的结果为3——与输入D相同。
当D为1时尝试执行此操作,您将看到输出变为1。
从此位路径可以得出结论,只要E输入为1,D锁存器就会将输出Q更新为D输入上的Q。
实验:构建自己的D锁存电路
举一个实际示例,您可以使用逻辑门构建基本的D锁存电路,并使用按钮进行测试。R1和R2是下拉电阻,以确保在未按下按钮时输入为0:
图6:D锁存电路实验示意图
正如您在图像的第1部分中看到的,Q为0(LED L1熄灭),并且PB1和PB2均未按下。
接下来,查看推送PB2的第2部分。现在,D输入上有一个1,但输出Q仍为0,因为E输入尚未收到使能信号。
第3节显示了如何按下PB1,因此在E输入端出现一个1,并将位1从D放置到Q。当Q为1时,它打开LED L1。
当PB1和PB2恢复到第4节中的原始状态时,LED L1保持亮起,表示Q输出未改变。
要更改输出Q,您需要再次推送PB1。
要组装上述电路,您需要:
- 四个NAND门(例如CD4011)
- 一个非门(例如CD4049或CD4069)
- 2x按钮
- 1x指示灯
- 2x10kΩ电阻(R1和R2)
- 1x330Ω电阻(R3)
本文原文来自eeworld.com.cn