IIC总线 和 SPI总线 的不同
1、 iic 总线是半双工, 2 根线 SCL SDA。 spi 总线实现全双工, 4 根线 SCK CS MOSI MISO;
2、 iic 总线是多主机总线,通过 SDA 上的地址信息来锁定从设备。 spi 总线只有一个主设备,主设备通过 CS 片选来确定从设备;
3、 iic 总线传输速度在 100kbps-4Mbps。 spi 总线传输速度更快,可以达到 30MHZ 以上;
4、 iic 总线空闲状态下 SDA SCL 都是高电平。 spi 总线空闲状态 MOSI MISO 也都是 SCK 是有 CPOL决定的;
5、 iic 总线 scl 高电平时 sda 下降沿标志传输开始,上升沿标志传输结束。 spi 总线 cs 拉低标志传输开始, cs 拉高标志传输结束;
6、 iic 总线是 SCL 高电平采样。 spi 总线因为是全双工,因此是沿采样,具体要根据 CPHA 决定。一般情况下 master device 是 SCK 的上升沿发送,下降沿采集;
7、 iic 总线 和 spi 总线数据传输都是 MSB 在前, LSB 在后(串口是 LSB 在前);
8、 iic 总线 和 spi 总线时钟都是由主设备产生,并且只在数据传输时发出时钟;
9、 iic 总线读写时序比较固定统一,设备驱动编写方便。 spi 总线不同从设备读写时序差别比较大,因此必须根据具体的设备 datasheet 来实现读写,相对复杂一些。
目录
[IIC总线理解]:
https://blog.csdn.net/weixin_50019298/article/details/115443797
[SPI总线理解]:
https://blog.csdn.net/weixin_50019298/article/details/115444240
[IIC总线 和 SPI总线 的不同]:
https://blog.csdn.net/weixin_50019298/article/details/115444322
[UART 、I2C 、SPI 的原理区别]:
https://blog.csdn.net/weixin_50019298/article/details/115444479