回顾常用协议时序图
I2C 时序图
- 起始条件(Start Condition):
- 主设备(Master)将SCL(时钟线)保持高电平,然后将SDA(数据线)从高电平拉低,形成起始条件。
- 这表示主设备要开始发送数据或请求读取数据。
- 地址和读/写位传输:
- 主设备发送从设备(Slave)的地址和读/写位(R/W)。
- 地址是从设备的唯一标识,读/写位指示主设备是要读取数据还是写入数据。
- 从设备应答(Acknowledge):
- 从设备接收到地址和读/写位后,如果找到匹配的地址,它会发送应答信号(ACK)给主设备。
- 如果从设备没有找到匹配的地址,它会发送非应答信号(NACK)。
- 数据传输:
- 主设备发送或接收数据字节,每个字节的传输都会在时钟的上升沿或下降沿进行。
- 数据传输的每个字节都会由从设备发送应答信号(ACK)或非应答信号(NACK)。
- 停止条件(Stop Condition):
- 主设备在数据传输完成后,发送停止条件。
- 主设备将SCL保持高电平,然后将SDA从低电平拉高,形成停止条件。
SPI 时序图
- 时钟极性和相位选择:
- 在SPI通信开始之前,主设备(Master)需要选择时钟极性(CPOL)和时钟相位(CPHA)。
- CPOL定义了时钟信号在空闲状态时的电平,可以是高电平(CPOL=1)或低电平(CPOL=0)。
- CPHA定义了数据采样的时机,可以是在时钟的上升沿(CPHA=1)或下降沿(CPHA=0)进行。
- 起始条件(Start Condition):
- 主设备将片选信号(SS)拉低,选择要与之通信的从设备(Slave)。
- 主设备将时钟信号(SCLK)拉高,然后发送起始条件。
- 数据传输:
- 主设备通过MOSI(主设备输出,从设备输入)线发送数据,从设备通过MISO(从设备输出,主设备输入)线回复数据。
- 数据传输的每个位都在时钟的上升沿或下降沿进行,具体取决于CPHA的设置。
- 主设备和从设备同时在各自的数据线上发送和接收数据。
- 时钟信号:
- 时钟信号(SCLK)由主设备产生,并控制数据传输的速率。
- 时钟信号的频率和占空比由主设备控制,可以根据通信需求进行调整。
- 停止条件(Stop Condition):
- 主设备将片选信号(SS)拉高,表示通信结束。
- 主设备发送停止条件,结束SPI通信。
USART 时序图
USART字符帧
USART 发送
USART 接收
- 异步传输:
- 起始位:通信开始时,主设备将TX线拉低一个位周期作为起始位。
- 数据位:主设备按照通信参数配置的数据位长度,通过TX线发送数据位。
- 奇偶校验位(可选):如果配置了奇偶校验位,主设备通过TX线发送校验位。
- 停止位:主设备通过TX线发送一个或多个停止位,表示数据传输结束。
- 接收:外部设备通过RX线接收数据位、奇偶校验位和停止位,并进行相应的处理。
- 同步传输:
- 时钟同步:主设备通过SCK线提供时钟信号,外部设备根据时钟信号进行数据传输。
- 数据传输:主设备通过TX线发送数据位,外部设备通过RX线接收数据位。
- 时钟边沿:数据传输在时钟信号的上升沿或下降沿进行,具体取决于通信参数的配置。
- 接收:外部设备根据时钟信号的边沿进行数据接收,并进行相应的处理
UART 时序图
- 起始位(Start Bit):
- 通信开始时,发送方(Transmitter)将数据线(TX)从高电平拉低一个位周期作为起始位。
- 接收方(Receiver)在接收到起始位后开始同步。
- 数据位(Data Bits):
- 发送方按照通信参数配置的数据位长度,通过TX线发送数据位。
- 数据位的长度通常为8位,但可以根据通信需求进行配置。
- 奇偶校验位(Parity Bit):
- 如果配置了奇偶校验位,发送方通过TX线发送校验位。
- 奇偶校验位用于数据的完整性检验,可以选择奇校验、偶校验或不校验。
- 停止位(Stop Bit):
- 发送方通过TX线发送一个或多个停止位,表示数据传输结束。
- 停止位的长度通常为1或2个位周期。
- 接收:
- 接收方通过RX线接收数据位、奇偶校验位和停止位,并进行相应的处理。
- 接收方根据起始位的边沿和数据位的时钟同步,正确解析接收到的数据。
I2S 时序图
(图一) I2S 飞利浦标准时序图(DTLEN=00, CHLEN=0, CKPL=0)
(图二)I2S 飞利浦标准时序图(DTLEN=10, CHLEN=1, CKPL=1)
- 时钟信号(SCK):
- I2S使用一个时钟信号(SCK)来同步数据传输。时钟信号的频率由系统时钟决定。
- 时钟信号的极性(CKPL)定义了数据采样的时机,可以是在时钟的上升沿(CKPL=0)或下降沿(CKPL=1)进行。
- 帧同步信号(WS或LRCLK):
- I2S使用帧同步信号(WS,也称为LRCLK)来标识每个音频帧的开始。
- 帧同步信号的频率通常是音频采样率的倍数,用于同步数据的传输。
- 数据线(SD):
- I2S使用一个或多个数据线(SD)来传输音频数据。每个数据线对应一个音频通道。
- 数据线的数量由通道数(CHLEN 0 或 1)决定单双通道,每个数据线传输一个音频通道的数据。
- 数据传输:
- 数据传输以音频帧为单位进行。每个音频帧由一个或多个数据位组成,每个数据位对应一个采样点。
- 数据位的长度由数据长度(DTLEN = 00 或 10)决定,通常为16位或32位。
- 在每个音频帧中,发送方通过数据线(SD)发送音频数据,接收方通过数据线接收音频数据。
- 帧同步周期:
- 帧同步信号的周期定义了一个完整的音频帧。帧同步信号的每个上升沿或下降沿表示一个音频帧的开始。
- 在每个音频帧中,发送方通过数据线(SD)连续传输音频数据,直到下一个音频帧的开始。
数据。
- 帧同步周期:
- 帧同步信号的周期定义了一个完整的音频帧。帧同步信号的每个上升沿或下降沿表示一个音频帧的开始。
- 在每个音频帧中,发送方通过数据线(SD)连续传输音频数据,直到下一个音频帧的开始。