SPI和I2C的对比
-
I2C是半双工,SPI是全双工。
-
I2C支持多主多从模式,而SPI只能有一个主机。
-
从GPIO占用上来看,I2C占用更少的GPIO,更节省资源。
-
I2C有应答响应机制,数据可靠性更高,SPI没有应答机制。
-
I2C速率不会太高,最高速率3.4Mbps,SPI可以达到很高的速率。
-
I2C通过器件地址来选择从机,从机数量的增加不会导致GPIO的增加,而SPI通过CS选择从机,每增加一个从机就要多占用一个GPIO。
-
SPI协议在SCLK边沿进行数据采样,I2C在SCL高电平期间进行数据采样。
-
两者大多都应用于板内器件短距离通讯。