【PCB工艺】时序图(Timing Diagram)
时序图(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 的值。
🖥 时序图示例

CLK ────┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐───┘ └───┘ └───┘ └───┘ └───┘ └───┘D ────██████──────██████──────██████↑ ↑ ↑ ↑ 触发沿 触发沿 触发沿 触发沿Q ────██████──────██████──────██████说明:📌 D 触发器在时钟上升沿时锁存 D 的值,并保持该值直到下一个时钟沿。
2. SR 锁存器时序图
SR 锁存器(Set-Reset Latch)根据 S(设定)和 R(复位)信号控制 Q 的状态。
🖥 时序图示例

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 时分别设定或复位。
🖥 时序图示例

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 设计: 描述指令执行过程。
存储器: 读写数据的时序分析。
通信协议: 确保数据传输同步。
数字逻辑电路: 设计触发器、寄存器、状态机等。
时序图有利于分析和优化数字系统的同步特性。
时序图是分析数字电路信号变化的重要工具,能够直观地表示输入、时钟和输出之间的关系。从时序图中,我们可以观测到 时钟信号是同步电路的关键,决定数据更新的时刻。 ;建立时间、保持时间和传播延迟是时序分析的重要参数;并且,不同类型的锁存器和触发器具有不同的时序特性,适用于不同应用场景。掌握时序图的分析方法,有助于深入理解数字电路的时序特性。
总而言之,时序图的核心就是表示 时间和电平的变化关系。 时间从左到右只有前后,电平只有高低。
以上。仅供学习与分享交流,请勿用于商业用途!转载需提前说明。
我是一个十分热爱技术的程序员,希望这篇文章能够对您有帮助,也希望认识更多热爱程序开发的小伙伴。
感谢!
相关文章:
【PCB工艺】时序图(Timing Diagram)
时序图(Timing Diagram)是描述数字电路信号随时间变化的图示,广泛用于分析和设计时序逻辑电路,如锁存器(Latch)、触发器(Flip-Flop)、计数器、状态机等。这篇文章从时序图的原理、构…...
第四届能源、电力与电气国际学术会议(ICEPET 2025)
重要信息 地点:中国-成都 官网:www.icepet.net(了解参会投稿等信息) 时间:2025年4月25-27日 简介 第四届能源、电力与电气会(ICEPET 2025定于2025年4月25-27日在中国成都举办。 本次将围绕能源、电力及…...
el-table + el-pagination 前端实现分页操作
el-table el-pagination 前端实现分页操作 后端返回全部列表数据,前端进行分页操作 html代码 <div><el-table :data"tableData" border><el-table-column label"序号" type"index" width"50" /><el…...
Redis数据持久化机制 + Go语言读写Redis各种类型值
Redis(Remote Dictionary Server)作为高性能的键值存储系统,凭借其丰富的数据类型和原子性操作,成为现代分布式系统中不可或缺的组件。 1、Redis支持的数据类型 Redis支持的数据类型可归纳为以下9类: String&#x…...
【机器学习】什么是逻辑回归?
什么是逻辑回归? 逻辑回归(Logistic Regression)是一个用于分类问题的统计学模型,尽管名字里有“回归”二字,它其实是用来做分类的,不是做数值预测的。 通俗易懂的理解 我们可以通过一个简单的例子来理解…...
Unity程序嵌入Qt后点击UI按钮Button没有反应
一、前言 在一次项目中,需要将Unity程序嵌入qt中,并在主界面显示,根据网络资料与相关代码,成功将unity程序嵌入,但是在点击Unity的Button按钮时却没有响应,在查找相关资料后,解决问题ÿ…...
【Bug】记录2025年遇到的Bug以及修复方案
--------------------------------------------------------分割线 2025.3.25-------------------------------------------------------windows环境下通过命令行终端(必须是命令行下,直接赋值传递,代码正常)的形式传递字符串时&a…...
2025最新“科研创新与智能化转型“暨AI智能体开发与大语言模型的本地化部署、优化技术实践
第一章、智能体(Agent)入门 1、智能体(Agent)概述(什么是智能体?智能体的类型和应用场景、典型的智能体应用,如:Google Data Science Agent等) 2、智能体(Agent)与大语…...
VUE3+TypeScript项目,使用html2Canvas+jspdf生成PDF并实现--分页--页眉--页尾
使用html2CanvasJsPDF生成pdf,并实现分页添加页眉页尾 1.封装方法htmlToPdfPage.ts /**path: src/utils/htmlToPdfPage.tsname: 导出页面为PDF格式 并添加页眉页尾 **/ /*** 封装思路* 1.将页面根据A4大小分隔边距,避免内容被中间截断* 所有元素层级不要…...
【NLP 46、大模型技术发展】
目录 一、ELMo 2018 训练目标 二、GPT-1 2018 训练目标 三、BERT 2018 训练目标 四、Ernie —— baidu 2019 五、Ernie —— Tsinghua 2019 六、GPT-2 2019 七、UNILM 2019 八、Transformer - XL & XLNet 2019 1.模型结构 Ⅰ、循环机制 Recurrence Mechanism Ⅱ、相对位置…...
在 Ubuntu 上安装 Docker 的完整指南
1. 卸载旧版本(如有) 在安装新版本前,建议先卸载旧版本: sudo apt remove docker docker-engine docker.io containerd runc 2. 安装依赖包 更新软件包索引并安装必要的依赖: sudo apt update sudo apt install -y ca-certificates curl gnupg lsb-release 3. 添加 Do…...
可以把后端的api理解为一个目录地址,但并不准确
将后端的 API 理解为一个“目录地址”是可以的,但并不完全准确。让我们更详细地解释一下。 目录 1、生动形象了解api 2、后端 API 的作用 3、可以将 API 理解为“目录地址”的原因 (1)URL 路径 (2)层次结构 4、…...
硬件基础--16_公式梳理
公式梳理 欧姆定律: IU/R 1.欧姆定律有局限性,仅适用于纯电阻电路(或者说纯电阻元器件,纯电阻设备) 2.纯电阻电路:消耗的电能仅转化为热能,没有其他形式的能量转换。 功率计算:PUI 1.导出公式:PU2 /R 2.导出公式:PI2 R 焦耳定律:QI2 Rt 1.导…...
《Python实战进阶》No34:卷积神经网络(CNN)图像分类实战
第34集:卷积神经网络(CNN)图像分类实战 2025年3月28日更新 增加了 CNN和AI大模型关系的说明。 2025年3月29日更新了代码,优化损失系数曲线可视化。 详细环境配置依赖和可一次性复制的完整代码见文末。 摘要 最近大模型推陈出新迭…...
嵌入式Linux网络编程:UNIX Domain Socket进程间通信(IPC)
嵌入式Linux网络编程:UNIX Domain Socket进程间通信(IPC) 【本文代码已在Linux平台验证通过】 一、UNIX Domain Socket核心优势 1.1 本地IPC方案对比 特性UNIX Domain Socket管道(Pipe)消息队列(Message Queue)共享内存(Shared Memory)跨进…...
【qt】 布局器
参考博客:https://blog.csdn.net/Fdog_/article/details/107522283 目录 布局管理器概念常见的布局管理器及特点🔵QHBoxLayout水平布局🔵QVBoxLayout垂直布局 🔵QGridLayout网格布局 🔵QFormLayout表单布局 QT 高级布…...
Hosts文件与DNS的关系:原理、应用场景与安全风险
目录 引言 Hosts文件与DNS的基本概念 2.1 什么是Hosts文件? 2.2 什么是DNS? Hosts文件与DNS的关系 Hosts文件的应用场景 4.1 本地开发与测试 4.2 屏蔽广告与恶意网站 4.3 绕过DNS污染或劫持 Hosts文件的优势 5.1 解析速度快 5.2 不受DNS缓存影…...
VMware Windows Tools 存在认证绕过漏洞(CVE-2025-22230)
漏洞概述 博通公司(Broadcom)近日修复了 VMware Windows Tools 中存在的一个高危认证绕过漏洞,该漏洞编号为 CVE-2025-22230(CVSS 评分为 9.8)。VMware Windows Tools 是一套实用程序套件,可提升运行在 VM…...
pnpm 依赖升级终极指南:从语义化版本控制到 Monorepo 全局更新的企业级实践
要使用 pnpm 更新所有依赖包,可以通过以下命令实现: 1. 更新所有依赖到符合语义化版本的范围 pnpm update该命令会根据 package.json 中定义的版本范围(如 ^1.0.0 或 ~2.3.4)更新依赖包到最新兼容版本,但不会突破版本…...
Sentinel[超详细讲解]-2
异常处理 默认情况下,Sentinel 会抛出 BlockException 异常,如果希望自定义异常,则可以使用 SentinelResource 注解的 blockHandler 属性。 1、自定义异常处理 BlockExceptionHandler 自定义异常处理类实现 BlockExceptionHandler 接口&#…...
【问题解决】Linux安装conda修改~/.bashrc配置文件后,root 用户下显示 -bash-4.2#
问题描述 在Linux安装conda下的python环境时候,修改了~/.bashrc文件,修改完成后,再次进入服务器后,登录时候显示的不是正常的[rootlocalhost ~]#,而是-bash-4.2# 原因分析: 网上原因有:/root下…...
优化webpack打包体积思路
Webpack 打包过大的问题通常会导致页面加载变慢,影响用户体验。可以从代码优化、依赖优化、构建优化等多个角度入手来减少打包体积: 代码优化 (1)按需加载(代码拆分) ① 路由懒加载 如果你的项目使用 Vu…...
RabbitMQ 技术详解:异步消息通信的核心原理与实践
这里写目录标题 RabbitMQ 技术详解:异步消息通信的核心原理与实践一、RabbitMQ 本质剖析核心架构组件 二、核心功能与应用场景主要作用典型应用场景 三、工作流程深度解析消息传递流程关键协议机制 四、Java 实现示例1. 依赖配置(Maven)2. 消…...
CF每日5题Day4(1400)
好困,感觉很累,今天想赶紧写完题早睡。睡眠不足感觉做题都慢了。 1- 1761C 构造 void solve(){int n;cin>>n;vector<vector<int>>a(n1);forr(i,1,n){//保证每个集合不同a[i].push_back(i);}forr(i,1,n){string s;cin>>s;forr(…...
LLM架构解析:NLP基础(第一部分)—— 模型、核心技术与发展历程全解析
本专栏深入探究从循环神经网络(RNN)到Transformer等自然语言处理(NLP)模型的架构,以及基于这些模型构建的应用程序。 本系列文章内容: NLP自然语言处理基础(本文)词嵌入࿰…...
k近邻算法K-Nearest Neighbors(KNN)
算法核心 KNN算法的核心思想是“近朱者赤,近墨者黑”。对于一个待分类或预测的样本点,它会查找训练集中与其距离最近的K个样本点(即“最近邻”)。然后根据这K个最近邻的标签信息来对当前样本进行分类或回归。 在分类任务中&#…...
Dubbo(21)如何配置Dubbo的注册中心?
在分布式系统中,注册中心是一个关键组件,用于服务的注册和发现。Dubbo 支持多种注册中心,包括 ZooKeeper、Nacos、Consul、Etcd 等。下面详细介绍如何配置 Dubbo 的注册中心,以 ZooKeeper 为例。 配置步骤 引入依赖:…...
【Android15 ShellTransitions】(九)结束动画+Android原生ANR问题分析
finishTransition这部分的内容不多,并且我个人的实际工作中很少接触这块,因此我之前都觉得没有必要专门开一篇去分析最后留下的这一丁点儿的动画流程。但是最近碰到了一个google原生ANR问题,正好是和这块相关的,也让我意识到了fin…...
如何让DeepSeek-R1在内网稳定运行并实现随时随地远程在线调用
前言:最近,国产AI圈里的新星——Deepseek,简直是火到不行。但是,你是不是已经对那些千篇一律的手机APP和网页版体验感到腻味了?别急,今天就带你解锁一个超炫的操作:在你的Windows电脑上本地部署…...
STM32通用定时器结构框图
STM32单片机快速入门 通用定时器框图 TIM9和TIM12 通用定时器框图 TIM9和TIM12 (二) 通用定时器框图...
