一个串行外围接口(SPI)是用于短距离通信,尤其是嵌入式系统。更常见的I2C串行通信协议,促进了电子组件间的通信,是否在同一PCB组件或电缆连接。
之间的选择I2CSPI,两个主要的串行通信协议,需要充分了解的I2C的优点和局限性,SPI,和应用程序。每个通信协议都有明显优势,往往区分自己适用于您的应用程序。
更好的高速和低功耗的应用程序。
不是一个官方standard-generally不兼容。
更好的沟通与几个外围设备和改变的主要设备的作用。
标准化确保更好的兼容性。
SPI更适合高速、低功耗的应用程序。I2C更适合通信与大量的外围设备。SPI和I2C都健壮、稳定的通信协议为嵌入式应用程序非常适合嵌入式世界。
SPI利弊
支持速度更高的全双工通信。
非常低的权力。
组件之间的传输距离短,不能沟通在不同的多氯联苯。
可以创建多个变种及自定义兼容性问题。
需要额外的信号线路管理多个设备在同一总线。
不确认数据正确接收。
更容易受到噪声。
串行外围接口是一个非常低的电源四线串行通信接口。它是这样设计集成电路控制器和外围设备可以相互通信。SPI总线是一个全双工总线,允许通信流,从主设备同时10 Mbps的速度。高速SPI操作通常限制它被用于组件之间的沟通在不同的多氯联苯,因为电容的增加有氧条件下通信增加了信号。印刷电路板电容也可以限制SPI通信线路的长度。
虽然SPI是一个既定的协议,但这不是一个官方的标准。SPI提供了几种变体和定制,导致兼容性问题。SPI实现主控制器之间应该检查和辅助外围设备,以确保组合不会有意想不到的沟通问题,影响产品的发展。
I2C利弊
支持多个设备在同一总线没有额外的选择信号线路在通信设备寻址。
官方的标准I2C实现之间的兼容性,以及提供向后兼容性。
确保数据发送接收二次设备。
可以传输的PCB,但在低传输速度。
更便宜的比SPI通信协议来实现。
容易受到噪声低于SPI。
为更远距离的传输数据。
慢的传输速度和数据率。
可以锁定一个设备,无法释放通信总线。
吸引更多的权力比SPI。
I2C官方标准的串行通信协议,只需要两个信号线路设计印刷电路板之间的通信芯片。I2C最初为100 kbps通信而设计的。不过,更快的数据传输模式已经发展多年来达到3.4 Mbps的速度。I2C协议建立了作为官方标准,提供良好的兼容性在I2C实现向后兼容性好。
除了以上列出的利弊,I2C只需要两个电线。SPI需要三个或四个。此外,SPI只支持一个主总线上的设备而I2C支持多个主设备。
选择之间的I2C和SPI
总的来说,SPI更适合高速和低功率应用,尽管I2C更适合通信与大量的外围设备,以及涉及的动态变化的情况下在I2C总线外设中主要设备的作用。