全站数据
8 4 2 0 5 8 1

iic通信和spi通信有什么区别

优秀教师之家 | 简单学习,快乐成才!         
问题更新日期:2024-10-15 11:06:11

问题描述

iic通信和spi通信有什么区别求高手给解答
精选答案
最佳答案

1.

优势不同: IIC总线是双向、两线(SCL、SDA)、串行、多主控(mulTI-master)接口标准,具有总线仲裁机制,非常适合在器件之间进行近距离、非经常性的数据通信。在它的协议体系中,传输数据时都会带上目的设备的设备地址,因此可以实现设备组网。 SPI在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,越来越多的芯片集成了这种通信协议。

2.

硬件结构不同: IIC串行总线一般有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL。所有接到I2C总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线的SCL上。 SPI总线是一种4线总线,也是所有基于SPI的设备共有的,它们是MISO(主设备数据输入)、MOSI(主设备数据输出)、SCL

其他回答

1)工作模式与线的数目

IIC总线不是全双工,高电平采样,2根线SCL SDA。

SPI总线实现全双工,边沿采样,4根线SCK CS MOSI MISO,通信简单易理解。

2)速度

SPI的速度要远远高于IIC

SPI总线速度为:几MHz - -几十MHz

IIC总线速度为: 0Hz - - 3.4MHz

3)流控方面

SPI缺乏流控机制,无论主器件还是从器件均不对消息进行确认,主器件无法知道从器件是否繁忙。

IIC存在ACK应答信号,所以有流控机制。

4)设备的选择

IIC总线是多主机总线,通过SDA上的地址信息来锁定从设备。

SPI总线只有一个主设备,主设备通过CS片选来确定从设备。

5)驱动编写方面

IIC总线读写时序比较固定统一,设备驱动编写方便。

SPI总线不同从设备读写时序差别比较大,因此必须根据具体的设备datasheet来实现读写,相对复杂一些