I2c和SPI区别

SPI--Serial Peripheral Interface,串行外围设备接口,是Motorola公司推出的一种同步串行通讯方式,是一种三线同步总线,因其硬件功能很强,与SPI有关的软件就相当简单,使CPU有更多的时间处理其他事务。
I2C--INTER-IC串行总线的缩写,是PHILIPS公司推出的芯片间串行传输总线。它以1根串行数据线(SDA)和1根串行时钟线(SCL)实 现了双工的同步数据传输。具有接口线少,控制方式简化,器件封装形式小,通信速率较高等优点。在主从通信中,可以有多个I2C总线器件同时接到I2C总线 上,通过地址来识别通信对象。


 SPI通常有SCK时钟,STB片选,DATA数据信号三个信号。 I2C通常有 SDA数据和SCL时钟两个信号。


SPI和IIC是2种不同的通信协议,现在已经广泛的应用在IC之间的通信中。并且不少单片机已经整和了SPI和IIC的借口。但像51这种不支持SPI和IIC的单片机,也可以用模拟时钟的工作方式进行SPI和IIC的通信的。


IIC 接口的协议里面包括设备地址信息,可以同一总线上连接多个从设备,通过应答来互通数据及命令。但是传输速率有限,不能实现全双工,不适合传输很多的数据。 SPI 有3线跟4线两种,4线的话,就是多了一条叫SDC的线,用来告知从设备现在传输的是数据还是指令。这个接口较快,可以传输较连续的数据。SPI要想连接多个从设备,就需要给每个从设备配备一根片选信号。如果要可以实现全双工,也是需要多加一根数据线。


SPI总线比IIC总线的速度快! IIC总线比SPI总线通讯线少!

你可能感兴趣的:(技术)