最后更新:2022-01-26 15:10
随着半导体技术的发展,数据传输速度逐渐增加,随之而来的是串行通信基本取代了并行通信,因此,了解常用的串行通信协议对于嵌入式开发来说非常有必要,这里总结一些用过的串行通信协议,重点在于其数据传输时序图。
由于看到很多CSDN大佬写的文章非常详细也非常全面,故而本文主要是总结链接,以及总结个人实践经验。
SPI通信协议(SPI总线)学习 - 博客园
CSDN
上面那几篇文章确实写得非常好,而且也非常详细,总结来说:
IIC协议为两线,属于半双工,即能发送接收数据,但不能同时进行。
IIC中的信号有三种:起始信号、停止信号、应答信号,分别对应不同的两线电平状态。
IIC协议传输数据时有起始位,停止位,其数据传输结构为:1位起始位、7位的器件地址(即向谁写入/读取数据)、1位读/写标识位、之后就是数据位(可以有多个字节)、1位停止位在最后,且每传输一个字节都有应答位。

其中,深色代表主机发送的数据,浅色代表从机向主机发送的数据。
高字节先写入
数据的有效性:数据在时钟线SCL的上升沿到来之前就需准备好。并在在下降沿到来之前必须稳定。且要求数据传输过程中有一定的延时,如下图所示。
有时候主机读入数据时,如果从机没有读入应答位的需求,则可以不加应答位。
本文由 在线网速测试 整理编辑,转载请注明出处。