D触发器入门教程:图文详解与应用实例 – wiki词典

D触发器入门教程:图文详解与应用实例

D触发器(Data Flip-Flop),也称为延迟触发器(Delay Flip-Flop),是数字逻辑电路中最基本也是最重要的存储单元之一。它能够存储一位二进制数据,并在时钟信号的特定边沿(上升沿或下降沿)将输入数据锁存下来。理解D触发器的工作原理对于学习更复杂的时序逻辑电路至关重要。

1. D触发器的基本概念

D触发器是一种双稳态多谐振荡器,意味着它有两个稳定的状态(0或1),并且可以在外部信号的控制下在这些状态之间切换并保持。

1.1 符号表示

D触发器的常用逻辑符号如下:

┌───────┐
D ──┤ ├─── Q
│ D FF │
CLK ─┤ ├─── Q'
└───────┘

  • D (Data Input):数据输入端,用于提供要存储的二进制数据。
  • CLK (Clock Input):时钟输入端,D触发器在时钟信号的特定边沿(通常是上升沿或下降沿)捕获D端的数据。
  • Q (Output):主输出端,反映D触发器当前存储的状态。
  • Q’ (Complementary Output):反相输出端,Q的非。

1.2 特性表 (Characteristic Table)

D触发器的特性表描述了其在下一个时钟边沿到来时,输出Q的状态(Q(n+1))如何根据当前输入D来变化。

CLK D Q(n+1)
↑ (上升沿) 0 0
↑ (上升沿) 1 1
其他 X (无关) Q(n)
  • 当有时钟上升沿到来时,无论Q(n)是什么,Q(n+1)都会等于D的当前值。
  • 在时钟信号的非有效边沿期间,D输入的变化不会影响Q的输出,Q保持其当前状态(Q(n))。这就是“锁存”的含义。

1.3 真值表 (Truth Table)

真值表通常更侧重于显示在每个时钟周期结束后,Q的输出如何对应D输入。

时钟状态 D输入 Q输出 (下一个状态)
上升沿 0 0
上升沿 1 1
保持 X Q (当前状态)

2. D触发器的工作原理(内部结构)

D触发器通常由两个锁存器(或两个SR锁存器)级联构成,一个主锁存器(Master)和一个从锁存器(Slave),因此也常被称为“主从D触发器”。

2.1 主从D触发器结构示意图

┌───────────┐ ┌───────────┐
D ──────┤ ├─── Qm ──┤ ├─── Q
│ Master D │ │ Slave D │
CLK ────┤ Latch ├─────────┤ Latch ├─── Q'
│ │ │ │
Not(CLK) ─┤ │ │ │
└───────────┘ └───────────┘

  • 主锁存器 (Master Latch):由CLK控制。当CLK为高电平时,主锁存器透明,D输入直接传递到Qm。当CLK为低电平时,主锁存器锁存Qm的值。
  • 从锁存器 (Slave Latch):由NOT(CLK)控制。当CLK为低电平时(即NOT(CLK)为高电平),从锁存器透明,Qm的值传递到Q。当CLK为高电平时(即NOT(CLK)为低电平),从锁存器锁存Q的值。

2.2 工作时序图详解

假设D触发器是上升沿触发的:

  1. CLK为高电平期间

    • 主锁存器被使能,输入D被传送到Qm。此时,Qm跟随D的变化。
    • 从锁存器被禁用(因为NOT(CLK)为低电平),其输出Q保持前一个状态不变。
  2. CLK从高电平变为低电平(下降沿)

    • 主锁存器被禁用,Qm锁存了D在时钟下降沿到来前一瞬间的值。
    • 从锁存器仍被禁用,Q保持不变。
  3. CLK为低电平期间

    • 主锁存器被禁用,Qm保持不变。
    • 从锁存器被使能(因为NOT(CLK)为高电平),Qm的值被传送到Q。此时,Q跟随Qm的变化。
  4. CLK从低电平变为高电平(上升沿)

    • 这是D触发器的有效触发边沿
    • 主锁存器被使能,D输入再次传送到Qm。
    • 从锁存器被禁用,其输出Q在这一瞬间锁存了Qm在时钟上升沿到来前一瞬间的值。这个值就是D在有效时钟边沿处的值。

通过这种主从结构,D触发器实现了边沿触发的特性。即D输入的变化只在特定的时钟边沿才会影响输出Q,而在其他时间,即使D输入变化,Q也会保持不变。这有效地避免了“竞争冒险”问题,确保数据在每个时钟周期内稳定地传输。

3. D触发器的应用实例

D触发器是构建各种时序逻辑电路的基石,其应用非常广泛。

3.1 1位数据存储器

最直接的应用就是作为一位存储器。每次时钟上升沿到来时,D触发器都会将D输入的数据存储起来,并在Q输出端保持。

3.2 移位寄存器 (Shift Register)

多个D触发器串联可以构成移位寄存器。数据在每个时钟脉冲的作用下,从一个触发器移动到下一个触发器。

电路图示例: (假设右移寄存器)

┌───────┐ ┌───────┐ ┌───────┐
Data In─┤ D Q ├───┤ D Q ├───┤ D Q ├─── Data Out
│ D FF │ │ D FF │ │ D FF │
CLK ─┤ CLK ├───┤ CLK ├───┤ CLK │
└───────┘ └───────┘ └───────┘
FF0 FF1 FF2

在这个电路中,Data In通过FF0的D端输入。在每个时钟上升沿,FF0的输出Q会捕获Data In的值,同时FF1的Q会捕获FF0的Q值,FF2的Q会捕获FF1的Q值。这样,数据就实现了从左向右的移位。

3.3 计数器 (Counter)

通过特定的反馈连接,D触发器可以构建各种类型的计数器,例如环形计数器、约翰逊计数器等。

简单的异步二进制计数器(通过T触发器实现):

虽然D触发器本身不是T触发器,但可以通过将D触发器的Q'输出连接到其D输入,形成一个T触发器(当T=1时)。

┌───────┐
D ──┤ ├─── Q
│ D FF │
CLK ─┤ ├─── Q'
└───────┘
(将 Q' 连接到 D)

当D=Q’时,D触发器在每个时钟上升沿都会翻转其状态(0变1,1变0),实现分频或计数功能。

3.4 频率分频器

将D触发器的Q'输出连接回D输入,就构成了一个“分频器”。每两个时钟周期,Q输出翻转一次,实现了时钟频率的二分频。

时序图:

假设Q初始为0。
1. 第一个CLK上升沿:D=Q’=1,Q变为1。
2. 第二个CLK上升沿:D=Q’=0,Q变为0。

由此可见,Q的频率是CLK频率的一半。

3.5 状态机 (State Machine)

在更复杂的数字系统中,D触发器用于存储当前状态。结合组合逻辑电路,可以根据当前状态和输入生成下一个状态,并更新D触发器的输入。

例如,在有限状态机 (FSM) 中,D触发器的输出代表了机器的当前状态,而D输入则由组合逻辑根据当前状态和外部输入计算得出。

4. D触发器的优缺点

优点:

  • 简单易用:行为逻辑直观,便于理解和设计。
  • 稳定可靠:边沿触发特性确保了数据在特定时刻的捕获,避免了毛刺和竞争冒险。
  • 构建复杂电路的基础:是寄存器、计数器、存储器等更复杂时序逻辑电路的基本组成单元。

缺点:

  • 门延迟:与SR锁存器相比,主从D触发器通常包含更多的逻辑门,导致更大的传播延迟。但在现代集成电路中,这种延迟通常很小。
  • 不适合异步操作:D触发器是同步器件,其操作严格依赖于时钟信号。对于需要异步控制的应用,可能需要其他类型的触发器或锁存器。

总结

D触发器是数字电路中一个不可或缺的组件。它简单而强大,能够实现一位数据的存储,并且是构建各种复杂时序逻辑电路(如移位寄存器、计数器和状态机)的基石。通过理解其工作原理、特性以及在时序图中的表现,你将能够更好地设计和分析数字系统。

滚动至顶部