NOTE

本章把“能记住 1 位”的锁存器/触发器,与“能按时间产生脉冲”的定时器放在一起学习。建议先掌握状态、时钟沿、建立/保持时间三个关键词,再阅读 VHDL 与交通灯控制器案例。

本章导航

  1. 锁存器与触发器:电平敏感 versus 边沿敏感。
  2. D、J-K 触发器:真值表、波形和异步 PRE/CLR。
  3. 触发器的时序参数:传播延迟、建立/保持时间、最高时钟频率。
  4. 应用:并行存储、分频和计数。
  5. 单稳态(one-shot)与 555 定时器。
  6. 非稳态振荡器、占空比和故障排查。
  7. 用触发器和定时器构成交通信号控制器。

7.1 从锁存到触发

锁存器和触发器都是双稳态电路,能够稳定停在 0 或 1,并因此存储 1 bit。锁存器通常是电平敏感:使能有效的整个时间窗口内,输入变化可能传到输出;边沿触发器只在时钟的上升沿或下降沿采样。时钟(CLK)是规定状态更新时刻的控制输入。

识别逻辑符号时,时钟端的小三角形表示动态(边沿)输入;三角形旁没有气泡表示上升沿触发,有气泡表示下降沿触发。输出通常记为 与互补输出

WARNING

不要把“时钟为高电平”误认为“上升沿”。上升沿只是 LOW→HIGH 的瞬间;边沿触发器在瞬间采样,之后同一高电平期间改变 D、J、K 通常不会影响 Q。

7.2 D 触发器

D 是同步数据输入。对上升沿 D 触发器:在每个 到来时, 取 D 的值;D=1 为 SET,D=0 为 RESET。下降沿 D 触发器的规则完全相同,只是采样点换成

D触发沿Q(沿后)动作
001RESET
110SET

记忆口诀:D 触发器 = 在指定时钟沿“拍照”,Q 只保存照片中的 D。

Worked example 7-4:按时钟沿读波形

题意:正沿触发 D 触发器初始 RESET,给出图 7-15、7-16 的 D 和 CLK,求 Q、

解题只在六个上升沿读取 D:第 1、2 个沿 D=0,Q 保持 0;第 3 个沿 D=1,Q=1;第 4 个沿 D=0,Q=0;第 5、6 个沿 D=1,Q=1。 始终为 Q 的反相。若改为负沿触发,则把采样时刻全部换到下降沿。

7.3 J-K 触发器

J-K 触发器在 D 触发器基础上增加了“保持”和“翻转”选择:

JK触发沿后的 Q模式
00保持不变
010RESET
101SET
11Toggle,每个时钟沿翻转

其中 是时钟沿之前的状态。J=K=1 时,若原来 0 就变 1,若原来 1 就变 0,因此 J-K 触发器可直接作为 T 触发器使用。

Worked example 7-5:负沿 J-K 波形

题意:图 7-18 给出 J、K、CLK,触发器初始 RESET,符号气泡说明它是负沿触发。

解:只在下降沿处理输入。第 1 沿 J=K=1,翻转为 1;第 2 沿 J=K=0,保持 1;第 3 沿 J=0、K=1,复位为 0;第 4 沿 J=1、K=0,置位为 1;第 5 沿仍为 SET,Q 保持 1。常见错误是误在上升沿读值。

7.4 边沿触发的内部直觉

一个简化 D 触发器可看成“转向门 + 锁存器 + 脉冲过渡检测器”。反相器和 NAND 门的传播延迟制造出极窄的时钟尖脉冲;正沿型直接产生上升沿尖脉冲,负沿型先反相后产生下降沿尖脉冲。转向门依据 D 将尖脉冲送到置位或复位通路,锁存器随后反馈保持状态。

J-K 触发器把 反馈到门输入:J 通路负责置位,K 通路负责复位,J=K=1 时反馈使每个时钟尖脉冲只翻转一次。

Worked example 7-6:D 触发器输出

Q 在每个正沿等于该时刻的 D;初始 RESET 时,从第一条正沿开始逐沿记录即可。若把 D 波形反相,Q 也只需在每个采样沿读取反相后的值。

7.5 异步预置与清零

PRE(preset)和 CLR(clear)是异步输入,不必等待时钟:有效 PRE 立即使 Q=1, 有效 CLR 立即使 Q=0。带气泡通常表示低有效 ;正常同步工作时二者都应保持 HIGH,不能同时拉 LOW(该组合通常是禁止状态)。

WARNING

异步端优先级高于 D、J、K 和 CLK。排查波形时先看 PRE/CLR 是否有效,再看同步输入;否则会把“被清零”误判成 D=0。

Worked example 7-7:异步端优先

图 7-27 中,第 1~3 个时钟期间 PRE 为 LOW,所以 Q 强制为 1;第 4~7 个期间 PRE、CLR 都 HIGH,Q 才跟随正沿采样的 D;第 8~9 个期间 CLR 为 LOW,Q 强制为 0。交换 PRE、CLR 波形后,置位区和复位区互换。

74HC74 是双正沿 D 触发器,带低有效异步 PRE、CLR;74HC112 是双负沿 J-K 触发器,同样带低有效异步输入。VHDL 中可用 rising_edge(Clock)falling_edge(Clock)描述采样沿,异步优先级应在时序逻辑中明确表达。

library ieee;
use ieee.std_logic_1164.all;
entity dffl is
    port (D, Clock, Pre, Clr: in std_logic; Q: inout std_logic);
end entity dffl;
architecture LogicOperation of dffl is
begin
process
begin
    wait until rising_edge (Clock);
    if Clr = '1' then
        if Pre = '1' then
            if D = '1' then Q <= '1'; else Q <= '0'; end if;
        else Q <= '1';
        end if;
    else Q <= '0';
    end if;
end process;
end architecture LogicOperation;

7.6 触发器工作特性

  • 传播延迟:从时钟沿到 Q 的 LOW→HIGH()或 HIGH→LOW()所需时间;PRE→Q、CLR→Q 也各有延迟。
  • 建立时间 :时钟沿到来前,D 或 J/K 必须稳定的最短时间。
  • 保持时间 :时钟沿之后,输入仍需保持的最短时间。
  • 最高时钟频率 :器件可靠工作的最高重复频率。
  • 最小脉宽 :CLK、PRE、CLR 的高/低电平必须持续的最短时间。

若输入在建立或保持窗口内抖动,可能进入亚稳态,输出延迟甚至错误;因此时序设计必须给出裕量。

功耗按 计算。例如 5 V、5 mA 的触发器功耗为 25 mW;10 个同类器件总功耗 250 mW,5 V 电源至少提供 。CMOS 通常静态功耗低、供电范围宽,但低电压会降低最高频率。

7.7 触发器的三个典型应用

并行数据存储

把多条数据线分别接到多个 D 触发器,所有 CLK 相连,就能在同一个时钟沿同时保存一个字。例如四个 D 触发器组成 4 位寄存器;公共 CLR 可在上电时把全部位清零。寄存器常以 8 位或其倍数组织。

二分频与多级分频

D 触发器接成 ,或 J-K 触发器接成 J=K=1,每个时钟沿翻转一次,故 。把前一级 Q 接到后一级时钟,n 级得到

Worked example 7-9:8 kHz 分频

三级触发器构成 分频,输入 8 kHz 时, 为 4 kHz、 为 2 kHz、 为 1 kHz。输出每八个输入脉冲重复一次。

计数

两个负沿 J-K(J=K=1)触发器串接,Q_A 为最低位,得到 00→01→10→11→00 的二进制循环。三级可产生 000、001、010、011、100、101、110、111 共八个状态。

Worked example 7-10:三位计数器

逐个负沿记录 ,状态依次为 000、001、010、011、100、101、110、111,然后回到 000。要表示十进制 0~15,需要 4 个触发器。

7.8 单稳态(One-shot)

单稳态多谐振荡器只有一个稳定态。触发后暂时进入不稳定态,经过 RC 决定的时间自动返回;输出因此是单个定宽脉冲。

  • 不可再触发:处于不稳定态时忽略后续触发。
  • 可再触发:计时未结束又触发,会延长(重新计时)输出脉冲。

RC 电路中电容充电速度决定脉宽。74121 是不可再触发单稳态,典型公式为 (R 用 kΩ、C 用 pF 时, 为 ns;可使用内部 2 kΩ 电阻)。74LS122 是可再触发单稳态: 内部电阻约 10 kΩ。Schmitt 触发器符号表示带迟滞的输入,可避免慢变信号在阈值附近反复抖动。

Worked example 7-11:74121 约 100 ms

,由 计算约 ;选标准 3.3 μF,脉宽约 91 ms。另一组 68 kΩ 与 2.2 μF 可得到约 105 ms。设计时应同时考虑器件容差和漏电流。

Worked example 7-12:74LS122 约 1 μs

pF,代入公式求得 kΩ,选标准值 4.7 kΩ。单位必须统一为 ns、pF、kΩ。

三个 74LS122 可级联成顺序定时器:OS1 超时后触发 OS2,OS2 超时后触发 OS3,得到三个连续的 1 s 脉冲,可用于流水灯或车辆转向指示。

7.9 555 定时器作单稳态

555 内含分压器(产生 )、两个比较器、S-R 锁存器、放电晶体管和复位端。TRIG 低于 时置位,OUT 变 HIGH、放电管关断;THRESH 高于 时复位,OUT 变 LOW、放电管导通。

单稳态连接中,触发后电容经 R 充电;当电容达到阈值,输出结束。脉宽 控制电压端通常接去耦电容以降低噪声。

Worked example 7-13

时: 若要 1 ms,可反解

7.10 非稳态多谐振荡器

非稳态没有稳定状态,会在两个准稳态间自行往复,输出方波,常作系统时钟。Schmitt 反相器加 RC 反馈时,电容充到上触发点 UTP,输出翻转;放电到下触发点 LTP,又翻转回来,循环无需外部触发。

555 非稳态模式

555 中 THRESH 与 TRIG 相连, 构成定时网络。电容在 间充放电:充电经过 ,放电经过

标准连接的占空比通常不低于约 50%;并联二极管使电容充电只经过 ,可实现低于 50% 的占空比:

Worked example 7-14

kΩ、 kΩ、F:

SUCCESS

看到 555 题目时先判断模式:单稳态用 求一次脉冲;非稳态用 求频率,再用 求占空比。

7.11 故障排查:传播延迟造成毛刺

数字电路中的毛刺是极短暂的错误脉冲,常由竞争条件和传播延迟造成。两相时钟发生器若用正沿触发器,CLK 与 Q、 的延迟可能在 AND 门输入短暂同时为 HIGH,产生尖峰。改用负沿触发器,让状态变化发生在时钟下降沿,可避开该重合窗口。

示波器扫速较低时可能看不见纳秒级毛刺;逻辑分析仪的 latch/transition sampling 模式能把电平变化锁存下来,便于发现故障。排查顺序应是:确认触发沿→核对传播延迟→检查门输入竞争→用逻辑分析仪验证。

7.12 交通信号控制器综合案例

控制器需要 25 s 红/绿灯定时、4 s 黄灯定时和稳定时钟。可用两个 555 单稳态加一个 555 非稳态,也可从 24 MHz 外部时钟经频率分频得到精确 1 Hz,再用计数器形成 25 s、4 s 时间窗。VHDL 分频器计数到 SetCount(半周期计数)后翻转 ClkOut,从而得到 50% 占空比的 1 Hz 时钟。

时序逻辑用两个 D 触发器产生四状态 Gray 码,输入包括长定时 TL、短定时 TS 和车辆传感器 VS。D 触发器转移表的核心是 :下一状态为 1,D 就必须为 1。根据状态表列出各行最小项,再用 等布尔律化简,最后把 D0、D1 接到两个 D 触发器。状态译码器将 Gray 状态转换为主/支路红黄绿灯输出。

D1 <= (G0 and not TS) or (G1 and TS);
D0 <= (not G1 and not TL and VS) or (not G1 and G0)
      or (G0 and TL and VS);
DFF0: dff port map(D => D0, Clk => Clk, Q => G0);
DFF1: dff port map(D => D1, Clk => Clk, Q => G1);

本章小结

  • 锁存器电平敏感,边沿触发器只在指定时钟沿更新。
  • D 触发器在采样沿复制 D;J-K 触发器还支持保持、SET、RESET、Toggle。
  • PRE/CLR 是优先级更高的异步置位/清零端。
  • 建立时间、保持时间、传播延迟和最高频率决定可靠时序。
  • 触发器可构成寄存器、 分频器和二进制计数器。
  • 单稳态产生一次定宽脉冲;非稳态持续振荡产生时钟。
  • 555 通过 阈值控制充放电。
  • 毛刺通常源于竞争和延迟,改变触发沿或重新设计时序可消除。

SUCCESS

自测时先画“有效时钟沿”,再逐沿填 Q;遇到定时器先统一单位,最后检查图片、公式和代码围栏。

问题自测

  1. 门控 D 锁存器与边沿触发 D 触发器在“输入何时能影响 Q”方面有何区别?
  2. J=K=1 的 J-K 触发器接入 10 kHz 时钟,Q 的频率是多少?若串接三级,输出是多少?
  3. 为什么异步低有效 CLR 拉低时,D=1 也不能使 Q 置位?
  4. 555 单稳态的 时,输出脉宽约是多少?
  5. 两相时钟出现毛刺时,传播延迟如何造成短暂竞争,为什么换成负沿触发器能改善?

图片与原书图题

以下保留原书本章全部图片引用;图题按上下文译为中文,便于对照教材。

原书插图索引(全部图片引用)

图 7-1:本章原书插图

图 7-2:本章原书插图

图 7-3:本章原书插图

图 7-4:本章原书插图

图 7-5:本章原书插图

图 7-6:本章原书插图

图 7-7:本章原书插图

图 7-8:本章原书插图

图 7-9:本章原书插图

图 7-10:本章原书插图

图 7-11:本章原书插图

图 7-12:本章原书插图

图 7-13:本章原书插图

图 7-14:本章原书插图

图 7-15:本章原书插图

图 7-16:本章原书插图

图 7-17:本章原书插图

图 7-18:本章原书插图

图 7-19:本章原书插图

图 7-20:本章原书插图

图 7-21:本章原书插图

图 7-22:本章原书插图

图 7-23:本章原书插图

图 7-24:本章原书插图

图 7-25:本章原书插图

图 7-26:本章原书插图

图 7-27:本章原书插图

图 7-28:本章原书插图

图 7-29:本章原书插图

图 7-30:本章原书插图

图 7-31:本章原书插图

图 7-32:本章原书插图

图 7-33:本章原书插图

图 7-34:本章原书插图

图 7-35:本章原书插图

图 7-36:本章原书插图

图 7-37:本章原书插图

图 7-38:本章原书插图

图 7-39:本章原书插图

图 7-40:本章原书插图

图 7-41:本章原书插图

图 7-42:本章原书插图

图 7-43:本章原书插图

图 7-44:本章原书插图

图 7-45:本章原书插图

图 7-46:本章原书插图

图 7-47:本章原书插图

图 7-48:本章原书插图

图 7-49:本章原书插图

图 7-50:本章原书插图

图 7-51:本章原书插图

图 7-52:本章原书插图

图 7-53:本章原书插图

图 7-54:本章原书插图

图 7-55:本章原书插图

图 7-56:本章原书插图

图 7-57:本章原书插图

图 7-58:本章原书插图

图 7-59:本章原书插图

图 7-60:本章原书插图

图 7-61:本章原书插图

图 7-62:本章原书插图

图 7-63:本章原书插图

图 7-64:本章原书插图

图 7-65:本章原书插图

图 7-66:本章原书插图

图 7-67:本章原书插图

图 7-68:本章原书插图

图 7-69:本章原书插图

图 7-70:本章原书插图

图 7-71:本章原书插图

图 7-72:本章原书插图

图 7-73:本章原书插图

图 7-74:本章原书插图

图 7-75:本章原书插图

图 7-76:本章原书插图

图 7-77:本章原书插图

图 7-78:本章原书插图

图 7-79:本章原书插图

图 7-80:本章原书插图

图 7-81:本章原书插图

图 7-82:本章原书插图

图 7-83:本章原书插图

图 7-84:本章原书插图

图 7-85:本章原书插图

图 7-86:本章原书插图

图 7-87:本章原书插图

图 7-88:本章原书插图

图 7-89:本章原书插图

图 7-90:本章原书插图

图 7-91:本章原书插图

图 7-92:本章原书插图

图 7-93:本章原书插图

图 7-94:本章原书插图

图 7-95:本章原书插图

图 7-96:本章原书插图

图 7-97:本章原书插图

图 7-98:本章原书插图

图 7-99:本章原书插图

图 7-100:本章原书插图

图 7-101:本章原书插图

图 7-102:本章原书插图

图 7-103:本章原书插图

图 7-104:本章原书插图

图 7-105:本章原书插图

图 7-106:本章原书插图

图 7-107:本章原书插图

图 7-108:本章原书插图

图 7-109:本章原书插图

图 7-110:本章原书插图

图 7-111:本章原书插图

图 7-112:本章原书插图

图 7-113:本章原书插图

图 7-114:本章原书插图

图 7-115:本章原书插图

图 7-116:本章原书插图

图 7-117:本章原书插图

图 7-118:本章原书插图

图 7-119:本章原书插图

图 7-120:本章原书插图

图 7-121:本章原书插图

图 7-122:本章原书插图

图 7-123:本章原书插图

图 7-124:本章原书插图

图 7-125:本章原书插图

图 7-126:本章原书插图

图 7-127:本章原书插图

图 7-128:本章原书插图

图 7-129:本章原书插图

图 7-130:本章原书插图

图 7-131:本章原书插图

图 7-132:本章原书插图

图 7-133:本章原书插图

图 7-134:本章原书插图

图 7-135:本章原书插图

图 7-136:本章原书插图

图 7-137:本章原书插图

图 7-138:本章原书插图

图 7-139:本章原书插图

图 7-140:本章原书插图

图 7-141:本章原书插图

图 7-142:本章原书插图

图 7-143:本章原书插图

图 7-144:本章原书插图

图 7-145:本章原书插图

图 7-146:本章原书插图

图 7-147:本章原书插图

图 7-148:本章原书插图

图 7-149:本章原书插图

自测一下