前言
时序图的核心就是时间和电平的变化关系。时间从左到右,电平只有高低,通常用 0 和 1 来表示。时序图能帮助我们理解电路中各个信号的变化,以及它们在不同时间点的状态。通过时序图,可以清晰地展示出数字电路的时序特性,比如信号的起始时间、持续时间、变化趋势和变化之间的关系
大多数时序图的分析技巧
对于大多数时序图,我们需要掌握以下几个技巧,帮助我们正确解读图中的信息:
- 从上到下:图中的每一条波形线通常代表不同的信号通道或设备端口。例如,I2C 通信中的 SCL 和 SDA,SPI 通信中的 MOSI 和 MISO,GPIO 控制线等。通过上下的排列,我们可以清楚看到这些信号在不同时间点的状态。
- 从左到右:时间是时序图的核心,因此图从左到右表示时间的推进。在分析时,需要关注信号随时间的变化,电平在不同时间段的变化会影响整个系统的行为。
进一步分析时序图的技巧
如果时序图有时间刻度(如 0s、1s 等),我们可以用它来准确判断各电平的持续时间。若无时间刻度,则不需要关心具体的时间值,只需关注电平的持续或变化模式。
对于多条波形的时序图,建议观察不同信号之间的关系,识别出主从关系或者同步与异步的信号变化模式。
1、数字电路的逻辑关系
数字电路中只有 0 和 1,分别表示低电平和高电平。时序图通过高低电平的变化,来表达电路在不同时间点上的逻辑状态。举个例子,假设某条信号线的时序图如下:
- 0-3s:信号为逻辑 1(高电平),持续 3 秒钟。
- 3-6s:信号为逻辑 0(低电平),持续 3 秒钟。这种变化反映了信号的逻辑状态随时间的变化。
2、单个波形的时序图怎么看?
查看单个波形时,主要考虑以下几点:
- 时间长度:时序图中通常会标出每个电平状态的持续时间。若没有标注,说明我们只关心电平的高低,不需要精确计算时间。
- 电平变化: 电平从某个状态变到另一个状态时,有一定的过渡时间。例如,从高电平到低电平的过渡可能不会是瞬间完成的,而是会有一个过渡区域(通常用斜线或其他符号表示)。
拓展知识:
- 在实际电路中,电平的变化通常不会是瞬间完成的。我们常见的是信号从高电平到低电平、从低电平到高电平的过渡过程中,波形会出现斜率(即过渡时间)
- 斜线表示过渡时间:这些斜线的形状和长度表示电平从一个状态过渡到另一个状态所花费的时间。过渡时间在高速电路中尤其重要,过长的过渡时间可能导致信号失真或误判。
- 物理变化: 实际电平变化是一个连续的过程,并非瞬间变化。时序图中的斜线和竖线表示电平的过渡或稳定状态,通常没有特别标注时,它们的含义是一样的,代表着电平从一个状态平滑过渡到另一个状态。
案例一: 考虑时间会标出时间长度,如果不标注时间长度,则不需要考虑时间
案例二:电平从某个电平到某个电平之间变换所耗费的时间,以下表示的是电平之间的过渡
案例三: 物理的变化,电平的变化不可能是瞬间完成的,它需要一定的过渡时间
如果没有特别的标注,那么此处的斜线和竖线代表的含义是一样的。
3、时序图的电平来自哪里?
时序图中的电平和波形数据来源通常来自具体的硬件文档,例如:
芯片数据手册:会详细说明芯片各个引脚的时序特性,包括输入输出信号的时序要求和状态变化。例如,某个信号线的电平如何随着时钟信号的变化而变化。
协议规范:如 I2C、SPI 等通信协议中,时序图中电平的变化是由协议规范定义的。每种通信协议对信号的电平、时序、传输速率等都有明确规定。
时序图的电平变化不仅与芯片本身的电气特性相关,还与外部设备、环境因素以及电路的工作状态密切相关。
4、多个波形的时序图怎么看?
多个波形的时序图通常用于表示在同一时间内,多个信号端口的电平变化关系。例如,I2C 总线的数据传输过程会涉及到多个信号线(如 SCL、SDA)在不同时刻的电平变化。
- 同步信号变化:对于 I2C 和 SPI 等协议,时序图能展示不同信号如何在同一时刻变化。例如,I2C 的时钟(SCL)和数据(SDA)线的变化是密切关联的,SDA 的值仅在 SCL 为低时有效。
- 虚线部分:时序图中的虚线通常表示省略的信号或波形,旨在简化时序图,减少不必要的复杂度。通过虚线,我们可以聚焦于主要的信号变化。
- 主机和从机的发送关系:时序图还可以帮助我们分析主机和从机之间的信号传输关系,例如谁发起了数据传输、何时改变电平、如何同步等。时序图中的波形之间的相对关系非常关键,能够展示信号的传输顺序和时序要求。
案例一: 多波形图主要用于在同一时间内,多个端口组合出的电平变换关系,例如 I2c 总线
案例二: 虚线部分省略了中间过程中的很多波形的表示,还有一种和上面的表示类似
案例三: 主机、从机的发送关系
5、时序图分析示例
5.1、SPI 时序图
SPI(Serial Peripheral Interface)是一种常用的串行通信协议,通常有 4 个信号线:MOSI、MISO、SCK、CS。
- MOSI(Master Out Slave In):主设备发出的数据线。
- MISO(Master In Slave Out):从设备发出的数据线。
- SCK(Clock):时钟信号,主设备生成。
- CS(Chip Select):用于选择目标设备。
分析 SPI 时序图时,要特别注意:
- 时钟周期:每个时钟周期内 MOSI 和 MISO 的值变化。
- 数据传输顺序:数据在时钟信号的带动下按位传输。
- 时序图展示了这些信号线如何在不同时间点上进行电平变化。
- SPI 时序图的关键是数据传输的同步性,主设备和从设备之间的时钟信号(SCK)会决定数据的采样时间。
- 时序图展示的波形会表明每个时钟周期内数据位的传输以及各信号线的状态。
5.2、I2C 时序图
I2C(Inter-Integrated Circuit)是一种两线串行通信协议,信号线为 SCL(时钟线,用于同步传输)和 SDA(数据线,用于数据传输)。
- 在 I2C 的时序图中,时钟信号(SCL)和数据线(SDA)是同步变化的。
- 时序图会详细展示每个时钟周期内,数据是如何被写入或读取的,以及 START、STOP 信号的标志。
这些时序图的分析示例可以帮助我们更好地理解不同通信协议中信号的同步和数据传输规则。
END
来源:玩转嵌入式
推荐阅读
- 嵌入式开发中那些硬核科技
- 嵌入式开发者的 Modbus 救星:2000 行代码实现全功能工业通信
- 预见崩溃,杀死Bug:嵌入式开发必须掌握的16条防御性编程策略
- 这些GUI库凭什么火?10款轻量级嵌入式GUI,新手开发学习首选
欢迎大家点赞留言,更多 Arm 技术文章动态请关注极术社区嵌入式客栈专栏欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。