本·伊特对SR锁存器与触发器的改进 | AI生成和翻译
在之前的视频中,我讨论了SR锁存器,如果您不熟悉这个概念,建议先观看那期视频。简单来说,SR锁存器有两个输入:R(复位)和S(置位)。当复位输入变为高电平时,输出Q变为低电平(关闭),锁存器被复位;当置位输入变为高电平时,输出Q变为高电平(开启),锁存器被置位。它还有一个互补输出Q̅,其状态始终与Q相反——除了一种特殊情况:当R和S同时为高电平时,Q和Q̅都会变为低电平,这被视为无效状态,因为不应同时置位和复位锁存器。若此时两个输入同时释放,锁存器将进入不可预测状态,具体取决于哪个输入先被释放。通常情况下,SR锁存器会保持在其两个稳定状态之一。
本期视频将探讨基础SR锁存器电路的改进方案。第一个改进是带使能端的SR锁存器。这个版本在R和S输入端增加了由使能信号控制的与门。当使能信号为高电平(1)时,与门将原样传递R和S输入:例如若使能为1且复位为1,与门输出1;若复位为0则输出0。但当使能信号为低电平(0)时,无论R和S输入为何值,与门输出始终为0,此时锁存器将保持最后状态,实现对输入的屏蔽。因此,使能信号可控制锁存器是否响应R和S输入。
基于此概念可进一步构建SR触发器。锁存器与触发器的核心区别在于:锁存器输出随输入实时变化,而触发器输出仅在特定触发条件(通常是时钟脉冲)下改变。SR触发器通过时钟输入(电路图中以三角符号表示)控制输出更新时机——仅当时钟从低电平跳变到高电平(上升沿)时,输出Q和Q̅才会改变。其余时间段内,R和S输入被忽略,触发器维持原有状态。
SR触发器通过时钟电路中的电容实现这一特性:当时钟产生低到高跳变时,电容充电形成短暂电流,在与门输入端生成短电压脉冲。该脉冲会瞬时激活带使能端的SR锁存器,使R和S输入能影响输出Q和Q̅。电容充电完成后脉冲消失,触发器将忽略后续输入变化,直至下一个时钟上升沿。
SR触发器在时钟上升沿的行为逻辑如下:
- 若R为高电平且S为低电平,Q变为低电平(复位),Q̅变为高电平
- 若S为高电平且R为低电平,Q变为高电平(置位),Q̅变为低电平
- 若R和S均为低电平,触发器保持原状态
- 若R和S同时为高电平(即SR锁存器的无效状态),行为不可预测。与SR锁存器类似,脉冲期间Q和Q̅可能同时变为低电平,但当输入释放时,触发器会依据输入下降的先后顺序随机稳定在某一状态。由于该过程取决于纳秒级的时间差异,最终输出状态具有不确定性,属于无效状态。
为解决此问题,可采用JK触发器。其结构与SR触发器相似,但增加了从输出Q和Q̅到输入的反馈回路。JK触发器采用三输入与门,分别接入J(类比S)、K(类比R)及反馈信号Q和Q̅。字母J和K本身无特定含义,仅用于区分电路类型。
JK触发器运行机制如下:
- 当J和K均为0时,与门输出为0,即使有时钟脉冲触发器也保持原状态
- 若锁存器已置位(Q=1, Q̅=0)且需复位(K=1, J=0),时钟脉冲期间K端与门因Q=1而输出1,实现复位(Q=0, Q̅=1)
- 若锁存器已复位(Q=0, Q̅=1)且K=1, J=0,与门输出保持为0,触发器维持复位状态
- 同理,若锁存器已复位(Q=0, Q̅=1)且需置位(J=1, K=0),时钟脉冲期间J端与门因Q̅=1而输出1,实现置位(Q=1, Q̅=0)
- 若锁存器已置位且J=1, K=0,则保持置位状态
JK触发器的独特之处在于J和K同时为1的情况:由于反馈机制存在,两个与门不可能同时激活(Q和Q̅不会同时为1)。若Q为1,则K端与门激活,下一个时钟脉冲使触发器复位(Q=0, Q̅=1);若Q为0,则J端与门激活,下一个时钟脉冲使触发器置位(Q=1, Q̅=0)。这就形成了翻转特性:当J=K=1时,每个时钟脉冲都会使触发器状态切换(Q在0和1间交替)。这种可预测的翻转行为消除了SR触发器的无效状态,使JK触发器具有更强的鲁棒性和通用性。