常用的时序图

本文详细介绍了I2C、SPI、USART、UART和I2S五种常见通信协议的时序图,包括起始条件、数据传输过程、停止条件等关键步骤,帮助读者理解这些接口的工作原理。
摘要由CSDN通过智能技术生成

回顾常用协议时序图

I2C 时序图

在这里插入图片描述

  1. 起始条件(Start Condition):
    • 主设备(Master)将SCL(时钟线)保持高电平,然后将SDA(数据线)从高电平拉低,形成起始条件。
    • 这表示主设备要开始发送数据或请求读取数据。
  2. 地址和读/写位传输:
    • 主设备发送从设备(Slave)的地址和读/写位(R/W)。
    • 地址是从设备的唯一标识,读/写位指示主设备是要读取数据还是写入数据。
  3. 从设备应答(Acknowledge):
    • 从设备接收到地址和读/写位后,如果找到匹配的地址,它会发送应答信号(ACK)给主设备。
    • 如果从设备没有找到匹配的地址,它会发送非应答信号(NACK)。
  4. 数据传输:
    • 主设备发送或接收数据字节,每个字节的传输都会在时钟的上升沿或下降沿进行。
    • 数据传输的每个字节都会由从设备发送应答信号(ACK)或非应答信号(NACK)。
  5. 停止条件(Stop Condition):
    • 主设备在数据传输完成后,发送停止条件。
    • 主设备将SCL保持高电平,然后将SDA从低电平拉高,形成停止条件。

SPI 时序图

在这里插入图片描述

  1. 时钟极性和相位选择:
    • 在SPI通信开始之前,主设备(Master)需要选择时钟极性(CPOL)和时钟相位(CPHA)。
    • CPOL定义了时钟信号在空闲状态时的电平,可以是高电平(CPOL=1)或低电平(CPOL=0)。
    • CPHA定义了数据采样的时机,可以是在时钟的上升沿(CPHA=1)或下降沿(CPHA=0)进行。
  2. 起始条件(Start Condition):
    • 主设备将片选信号(SS)拉低,选择要与之通信的从设备(Slave)。
    • 主设备将时钟信号(SCLK)拉高,然后发送起始条件。
  3. 数据传输:
    • 主设备通过MOSI(主设备输出,从设备输入)线发送数据,从设备通过MISO(从设备输出,主设备输入)线回复数据。
    • 数据传输的每个位都在时钟的上升沿或下降沿进行,具体取决于CPHA的设置。
    • 主设备和从设备同时在各自的数据线上发送和接收数据。
  4. 时钟信号:
    • 时钟信号(SCLK)由主设备产生,并控制数据传输的速率。
    • 时钟信号的频率和占空比由主设备控制,可以根据通信需求进行调整。
  5. 停止条件(Stop Condition):
    • 主设备将片选信号(SS)拉高,表示通信结束。
    • 主设备发送停止条件,结束SPI通信。

USART 时序图

USART字符帧
在这里插入图片描述
USART 发送
在这里插入图片描述

USART 接收
在这里插入图片描述

  1. 异步传输:
    • 起始位:通信开始时,主设备将TX线拉低一个位周期作为起始位。
    • 数据位:主设备按照通信参数配置的数据位长度,通过TX线发送数据位。
    • 奇偶校验位(可选):如果配置了奇偶校验位,主设备通过TX线发送校验位。
    • 停止位:主设备通过TX线发送一个或多个停止位,表示数据传输结束。
    • 接收:外部设备通过RX线接收数据位、奇偶校验位和停止位,并进行相应的处理。
  2. 同步传输:
    • 时钟同步:主设备通过SCK线提供时钟信号,外部设备根据时钟信号进行数据传输。
    • 数据传输:主设备通过TX线发送数据位,外部设备通过RX线接收数据位。
    • 时钟边沿:数据传输在时钟信号的上升沿或下降沿进行,具体取决于通信参数的配置。
    • 接收:外部设备根据时钟信号的边沿进行数据接收,并进行相应的处理

UART 时序图

在这里插入图片描述

  1. 起始位(Start Bit):
    • 通信开始时,发送方(Transmitter)将数据线(TX)从高电平拉低一个位周期作为起始位。
    • 接收方(Receiver)在接收到起始位后开始同步。
  2. 数据位(Data Bits):
    • 发送方按照通信参数配置的数据位长度,通过TX线发送数据位。
    • 数据位的长度通常为8位,但可以根据通信需求进行配置。
  3. 奇偶校验位(Parity Bit):
    • 如果配置了奇偶校验位,发送方通过TX线发送校验位。
    • 奇偶校验位用于数据的完整性检验,可以选择奇校验、偶校验或不校验。
  4. 停止位(Stop Bit):
    • 发送方通过TX线发送一个或多个停止位,表示数据传输结束。
    • 停止位的长度通常为1或2个位周期。
  5. 接收:
    • 接收方通过RX线接收数据位、奇偶校验位和停止位,并进行相应的处理。
    • 接收方根据起始位的边沿和数据位的时钟同步,正确解析接收到的数据。

I2S 时序图

在这里插入图片描述
(图一) I2S 飞利浦标准时序图(DTLEN=00, CHLEN=0, CKPL=0)

在这里插入图片描述 (图二)I2S 飞利浦标准时序图(DTLEN=10, CHLEN=1, CKPL=1)

  1. 时钟信号(SCK):
    • I2S使用一个时钟信号(SCK)来同步数据传输。时钟信号的频率由系统时钟决定。
    • 时钟信号的极性(CKPL)定义了数据采样的时机,可以是在时钟的上升沿(CKPL=0)或下降沿(CKPL=1)进行。
  2. 帧同步信号(WS或LRCLK):
    • I2S使用帧同步信号(WS,也称为LRCLK)来标识每个音频帧的开始。
    • 帧同步信号的频率通常是音频采样率的倍数,用于同步数据的传输。
  3. 数据线(SD):
    • I2S使用一个或多个数据线(SD)来传输音频数据。每个数据线对应一个音频通道。
    • 数据线的数量由通道数(CHLEN 0 或 1)决定单双通道,每个数据线传输一个音频通道的数据。
  4. 数据传输:
    • 数据传输以音频帧为单位进行。每个音频帧由一个或多个数据位组成,每个数据位对应一个采样点。
    • 数据位的长度由数据长度(DTLEN = 00 或 10)决定,通常为16位或32位。
    • 在每个音频帧中,发送方通过数据线(SD)发送音频数据,接收方通过数据线接收音频数据。
  5. 帧同步周期:
    • 帧同步信号的周期定义了一个完整的音频帧。帧同步信号的每个上升沿或下降沿表示一个音频帧的开始。
    • 在每个音频帧中,发送方通过数据线(SD)连续传输音频数据,直到下一个音频帧的开始。
      数据。
  6. 帧同步周期:
    • 帧同步信号的周期定义了一个完整的音频帧。帧同步信号的每个上升沿或下降沿表示一个音频帧的开始。
    • 在每个音频帧中,发送方通过数据线(SD)连续传输音频数据,直到下一个音频帧的开始。
  • 36
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值