时序图(Timing Diagram)是描述数字电路信号随时间变化的图示,广泛用于分析和设计时序逻辑电路,如锁存器(Latch)、触发器(Flip-Flop)、计数器、状态机等。这篇文章从时序图的原理、构成、细节、扩展等多个角度全方位让你彻底能够看懂时序图。

时序图是一种用于描述数字电路中信号随时间变化的图表,横轴表示时间,纵轴表示不同信号的状态(高电平 1 / 低电平 0)。
✅ 时序图用于分析电路的时序关系,确定信号之间的同步性。
✅ 常用于分析触发器、锁存器、CPU 总线操作等时序要求较高的电路。
时序图的基本组成
名称 | 描述 |
---|---|
时钟信号(CLK) | 提供同步参考,决定触发器或寄存器的工作节奏 |
输入信号(D, S, R, J, K, T, EN 等) | 影响电路状态的输入变量 |
输出信号(Q, Q') | 由输入信号和时钟信号决定的最终输出 |
建立时间(Setup Time, Tsu) | 输入信号需在时钟触发前稳定的时间 |
保持时间(Hold Time, Th) | 时钟触发后,输入信号需继续保持稳定的时间 |
传播延迟(Propagation Delay, Tp) | 输入变化到输出稳定的时间 |
横轴表示时间
纵轴表示幅度
声波是模拟信号,会出现较为复杂的波形
单片机通信是数字信号,数字信号中只有逻辑 0(高电平) 和 逻辑 1(低电平) 两种状态,图表中表现为电压稳定的横线:
典型时序图示例
以下是几种常见数字电路的时序图分析:
1. D 触发器时序图
D 触发器(D Flip-Flop)在时钟上升沿(或下降沿)时,Q 复制 D 的值。
🖥 时序图示例
handlebars
CLK ────┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐
───┘ └───┘ └───┘ └───┘ └───┘ └───┘
D ────██████──────██████──────██████
↑ ↑ ↑ ↑
触发沿 触发沿 触发沿 触发沿
Q ────██████──────██████──────██████
说明:📌 D 触发器在时钟上升沿时锁存 D 的值,并保持该值直到下一个时钟沿。
2. SR 锁存器时序图
SR 锁存器(Set-Reset Latch)根据 S(设定)和 R(复位)信号控制 Q 的状态。
🖥 时序图示例
handlebars
S ─────██████──────────────────────
R ───────────██████────────────────
Q ─────██████───────┄┄┄─────────────
说明:📌 当 S=1,Q 被置 1;当 R=1,Q 被复位为 0;S=0 且 R=0 时,Q 保持不变。
3. JK 触发器时序图
JK 触发器在 J=1 且 K=1 时翻转状态,在 J=1 或 K=1 时分别设定或复位。
🖥 时序图示例
handlebars
CLK ───┐ ┌──┐ ┌──┐ ┌──┐ ┌──┐ ┌──┐ ┌──┐
──┘ └──┘ └──┘ └──┘ └──┘ └──┘ └──┘
J ───██████────────██████──────────
K ───────────██████────────██████──
Q ───██████───┄┄┄───██████───┄┄┄───
说明:📌 J=1, K=0 设定 Q=1;J=0, K=1 复位 Q=0;J=1, K=1 时 Q 翻转。
4. I²C总线多波形时序图

上方一条是SDA接口、下方一条是SCL接口,这是芯片硬件上的两个引脚,这张图表示两个端口的电平同时配合,来实现通信的内容:虚线S框中是划定这个框中的电平变化方式,用于 I²C总线的起始位信号,两个端口组合出的这个电平表示通讯中的起始信号;右侧虚线P框内是结束位信号,原理和起始位一样。
在这种多波形的时序图中,我们必须考虑同一时刻的多个端口的电平状态,它们共同组合出一个时序关系。
另外,有一些地方可能会出现高低电平的叠加状态:
SDA端口在中间部分的位置上既有高电平又有低电平,这表示在这个地方是【量子力学的】高低电平的叠加状态:既可以是高电平,也可以是低电平,具体是什么,要看实际数据发送的是什么。(虚线部分表示此处省略了很多波形,由于这些波形和起始位、结束位没有关系,所以用虚线表示)
虚线 --------
和 波浪符号 S S
这二者的效果是一样的。
还有一种特别的标注:
在叠加的电平上加上文字说明,如果是高电平表示无应答,如果是低电平则表示有应答。这样,我们就明确能知道,不同的电平分别代表什么含义。
下面的波形中出现的数字则表示这里是第几个出现的高电平(脉冲数量)。

这张图中,上面波形中的高电平上面的 数字1 和 数字9 是标记的高电平数量,一组中有9个电平,分别标出了首位1和9;下面波形中的 1、0 标在电平的中间,表示这是二进制数 1和0,1是高电平、0是低电平,两个波段中的竖虚线并没有什么含义,只是用于辅助将两组波形对齐。
下面的波形中出现的A2、R/W、D7之类的是发送数据的内容说明,和时序图原理没有关系。
最后,在同一条端口上,单片机可以向从设备发送电平(数据),从设备也可以向单片机发送电平(数据),图纸上左边标出的 by Master: 表示是单片机发出的电平
,中间标出的 by LM75:表示这是LM75从设备发出的电平
。另外,有的时序图中会用颜色的不同标识:

时序图的应用
CPU 设计: 描述指令执行过程。
存储器: 读写数据的时序分析。
通信协议: 确保数据传输同步。
数字逻辑电路: 设计触发器、寄存器、状态机等。时序图有利于分析和优化数字系统的同步特性。
时序图是分析数字电路信号变化的重要工具,能够直观地表示输入、时钟和输出之间的关系。从时序图中,我们可以观测到 时钟信号是同步电路的关键,决定数据更新的时刻。 ;建立时间、保持时间和传播延迟是时序分析的重要参数;并且,不同类型的锁存器和触发器具有不同的时序特性,适用于不同应用场景。掌握时序图的分析方法,有助于深入理解数字电路的时序特性。
总而言之,时序图的核心就是表示 时间和电平的变化关系。 时间从左到右只有前后,电平只有高低。
以上。仅供学习与分享交流,请勿用于商业用途!转载需提前说明。
我是一个十分热爱技术的程序员,希望这篇文章能够对您有帮助,也希望认识更多热爱程序开发的小伙伴。
感谢!