【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 设计: 描述指令执行过程。
存储器: 读写数据的时序分析。
通信协议: 确保数据传输同步。
数字逻辑电路: 设计触发器、寄存器、状态机等。
时序图有利于分析和优化数字系统的同步特性。

时序图是分析数字电路信号变化的重要工具,能够直观地表示输入、时钟和输出之间的关系。从时序图中,我们可以观测到 时钟信号是同步电路的关键,决定数据更新的时刻。建立时间、保持时间和传播延迟是时序分析的重要参数;并且,不同类型的锁存器和触发器具有不同的时序特性,适用于不同应用场景。掌握时序图的分析方法,有助于深入理解数字电路的时序特性。

总而言之,时序图的核心就是表示 时间和电平的变化关系。 时间从左到右只有前后,电平只有高低。

以上。仅供学习与分享交流,请勿用于商业用途!转载需提前说明。

我是一个十分热爱技术的程序员,希望这篇文章能够对您有帮助,也希望认识更多热爱程序开发的小伙伴。
感谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/42162.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为HG532路由器RCE漏洞 CVE-2017-17215 复现

华为HG532路由器RCE漏洞 CVE-2017-17215 CVE-Description Huawei HG532 with some customized versions has a remote code execution vulnerability. An authenticated attacker could send malicious packets to port 37215 to launch attacks. Successful exploit could l…

调用deepseek大模型时智能嵌入函数

DeepSeek-R1 当前炙手可热,以其强大的自然语言处理和推理能力而广受赞誉。饶是如此,却并不原生支持函数调用(function_call),这是开发过程中不可或缺的一部分。虽有第三方调校的模型支持,然终非官方自带,还需假以时日。本文虽然简短,应该是全网写得最通透的了吧。 …

MATLAB绘图配色包说明

本栏目将分享MATLAB数据分析图表,该贴讲述配色包的使用 将配色包colormap_nclCM文件夹添加到路径close all(尽量不要删),使用map colormap(nclCM(309))时会多出来一张空白图片。配色资源来自slandarer;找不到合适颜色…

Scala

Scala 一、Scala 简介 Scala是一种多范式的编程语言,融合了面向对象编程和函数式编程的特性,以下为你详细介绍: 1、起源与发展 ①起源:Scala由瑞士洛桑联邦理工学院的Martin Odersky教授在2001年开始设计,并于2004…

PostgreSQL: GIN 索引详解

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编…

方法指南:利用边缘计算实现低延迟直播流媒体服务

假设你的公司需要提供直播的流媒体服务,然而你们最近遇到了流量意外激增或中断的情况。那么你和你的团队可能就必须争分夺秒地排除故障修复延迟,毕竟这种中断可能会给观众带来严重问题,也会给你的团队带来巨大挑战。 问题的根源往往在于&…

MySQL数据库入门

目录 前言 一、安装软件 二、普通指令使用 三、MySQL接口API相关函数 1、API函数使用步骤 2、mysql_init-MYSQL对象初始化 3、mysql_real_connect()——数据库引擎建立连接 4、mysql_close()——关闭数据库连接 5、mysql_query()——查询数据库某表内容 6、mysql_stor…

K8S学习之基础五十七:部署代码扫描工具sonarqube

部署代码扫描工具sonarqube 拉取postgres、sonarqube镜像,在harbor上创建postgres、sonarqube项目,将镜像上传至harbordocker pull postgres docker pull sonarqube docker tat postgres:latest 172.16.80.140/postgres/postgres:latest docker tat sona…

个人学习编程(3-24) 数据结构

括号的匹配&#xff1a; if((s[i]) && now() || (s[i]] && now[)){ #include <bits/stdc.h>using namespace std;int main() {char s[300];scanf("%s",&s);int i;int len strlen(s);stack <char> st;for (i 0; i < len; i){if(…

Redis6为什么引入了多线程?

大家好&#xff0c;我是锋哥。今天分享关于【Redis6为什么引入了多线程&#xff1f;】面试题。希望对大家有帮助&#xff1b; Redis6为什么引入了多线程&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Redis 6 引入了多线程的主要目的是为了提升 Redis…

电力物联网数据采集装置 高精度电能计量表

摘要 随着现代电力系统的复杂化和负荷多样化&#xff0c;电能质量问题日益突出。高精度电能质量监测装置在配电系统中的应用&#xff0c;可以有效监测和分析谐波、不平衡、电压暂升暂降等电能质量问题&#xff0c;为电网优化运行和故障诊断提供重要数据支持。本文以APM电能质量…

element-plus中,Tour 漫游式引导组件的使用

目录 一.Tour 漫游式引导组件的简单介绍 1.作用 2.基本使用 3.展示效果 二.实战1&#xff1a;介绍患者病历表单 1.要求 2.实现步骤 3.展示效果 结语 一.Tour 漫游式引导组件的简单介绍 1.作用 快速了解一个功能/产品。 2.基本使用 从官网复制如下代码&#xff1a; &…

【Unity网络编程知识】使用Socket实现简单TCP通讯

1、Socket的常用属性和方法 创建Socket TCP流套接字 Socket socketTcp new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); 1.1 常用属性 1&#xff09;套接字的连接状态 socketTcp.Connected 2&#xff09;获取套接字的类型 socketTcp.So…

【C++游戏引擎开发】《线性代数》(1):环境配置与基础矩阵类设计

一、开发环境配置 1.1 启用C 20 在VS2022中新建项目后右键项目 1.2 启用增强指令集 1.3 安装Google Test vcpkg安装使用指南 vcpkg install gtest:x64-windows# 集成到系统目录&#xff0c;只需要执行一次&#xff0c;后续安装包之后不需要再次执行 vcpkg integrate inst…

Flutter完整开发实战详解(一、Dart语言和Flutter基础)

前言 在如今的 Flutter 大潮下&#xff0c;本系列是让你看完会安心的文章。本系列将完整讲述&#xff1a;如何快速从0开发一个完整的 Flutter APP&#xff0c;配套高完成度 Flutter 开源项目 GSYGithubAppFlutter。同时也会提供一些 Flutter 的开发细节技巧&#xff0c;并针对…

Spring 事件监听机制介绍以及源码分析

在复杂的业务系统中&#xff0c;模块间的过度耦合往往会导致代码维护困难、扩展性受限。Spring 事件监听机制基于观察者模式&#xff0c;提供了一种优雅的解耦方案&#xff0c;使得组件间通过事件驱动实现松耦合通信。这种机制不仅被 Spring 框架内部使用&#xff08;如容器生命…

【VSCode的安装与配置】

目录&#xff1a; 一&#xff1a;下载 VSCode二&#xff1a;安装 VSCode三&#xff1a;配置 VSCode 一&#xff1a;下载 VSCode 下载地址&#xff1a;https://code.visualstudio.com/download 下载完成之后&#xff0c;在对应的下载目录中可以看到安装程序。 二&#xff1a;安装…

2024年认证杯SPSSPRO杯数学建模C题(第二阶段)云中的海盐全过程文档及程序

2024年认证杯SPSSPRO杯数学建模 C题 云中的海盐 原题再现&#xff1a; 巴黎气候协定提出的目标是&#xff1a;在2100年前&#xff0c;把全球平均气温相对于工业革命以前的气温升幅控制在不超过2摄氏度的水平&#xff0c;并为1.5摄氏度而努力。但事实上&#xff0c;许多之前的…

Scala基础语法与简介

对象 -对象有属性和行为。例如&#xff1a;一只狗的状属性有&#xff1a;颜色&#xff0c;名字&#xff0c;行为有&#xff1a;叫、跑、吃等。对象是一个类的实例。 类 -类是对象的抽象&#xff0c;而对象是类的具体实例。 方法 -方法描述的基本的行为&#xff0c;一个类可以…

鸿蒙UI开发

鸿蒙UI开发 本文旨在分享一些鸿蒙UI布局开发上的一些建议&#xff0c;特别是对屏幕宽高比发生变化时的应对思路和好的实践。 折叠屏适配 一般情况&#xff08;自适应布局/响应式布局&#xff09; 1.自适应布局 1.1自适应拉伸 左右组件定宽 TypeScript //左右定宽 Row() { …