I2C总线和SPI总线的异同点

1、内部总线、系统总线、外部总线的概念

总线的分类方式是根据离芯片远近等级进行分类的:内部总线是外设与处理器之间的总线,用于芯片一级的互连;系统总线是各插件板与主板之间的总线,用于插件板一级的互连;外部总线是微机和外部其他设备之间的总线,微机作为一种设备,通过该总线和其他设备进行信息与数据交换,用于设备一级的互连。

严格来说,I2C和SPI属于内部总线,而UART属于外部总线

2、总线通信的基本概念

数据传输方向

  • 单工:只允许数据在一个方向上传输,不能实现双方通信 例:收音机
  • 半双工:允许数据在两个方向上传输,但是同一时间数据只能在一个方向上进行传输 例:对讲机
  • 全双工:允许数据在两个方向上同一时间传输 例:手机通话

缓冲通信模式

  • 同步(阻塞模式),同步通信有时钟线控制同步
  • 异步(非阻塞模式),异步通信没有时钟线控制同步

传输数据位数

  • 串行通信:将数据按位依次传输,每位数据占据固定的时间长度
  • 并行通信:多比特数据同时通过并行线进行发送

3、I2C和SPI的经典物理层结构

I2C
在这里插入图片描述

SPI
在这里插入图片描述

4、I2C总线与SPI总线的区别

  • 从通信模式上看,I2C总线是一种串行同步半双工的通信协议,而SPI总线是一种串行同步全双工的通信协议;
  • 从物理结构上看,I2C只有两根线(SCL、SDA),SPI有4根线(SCK、CS、MOSI、MISO);
  • 从总线传输速度上看,I2C总线的传输速度在100Kbps - 4Mbps,SPI总线的传输速度更快,可以达到30Mbps以上;
  • I2C总线的起始传输信号是SCL在高电平时SDA产生一个下降沿,终止传输信号是SCL在高电平时SDA产生一个上升沿。SPI总线当CS拉低电平时标志传输开始,CS拉高电平时标志传输结束;
  • 从采样模式上看,I2C总线是SCL高电平采样,SPI总线因为是全双工,所以是沿采样,具体要根据时钟相位CPHA决定,一般情况下master device是SCK的上升沿发送,下降沿采集;
  • I2C总线是多主机总线,并且能支持多从机,其通过SDA上的地址信息来锁定从设备,SPI总线只有一个主设备,主设备通过CS片选来确定从设备。

5、I2C总线和SPI总线的共同点

  • I2C总线和SPI总线数据传输都是MSB(最高有效位)在前,LSB在后(串口是LSB在前);

  • I2C总线和SPI总线时钟都是由主设备产生,并且只在数据传输时发送时钟信号。

  • 13
    点赞
  • 131
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
SPI(Serial Peripheral Interface)和I2C(Inter-Integrated Circuit)总线是两种常见的串行通信协议,它们都用于连接多个设备,但具有一些不同之处。 相同: 1. 两种总线都是串行通信协议,可以用于连接多个设备。 2. 两种总线都可以在单根线上进行双向通信。 3. 两种总线都使用主从架构,其中一个设备作为主设备控制通信,其他设备为从设备。 不同: 1. 硬件连接方式:SPI总线需要四根线,其中包括一个主从通信线(MOSI)、一个从主通信线(MISO)、一个时钟线(SCLK)、一个从选择线(SS);而I2C总线只需要两根线,其中包括一个时钟线(SCL)和一个数据线(SDA)。 2. 数据传输速度:SPI总线可以达到非常高的传输速度,因为它使用全双工通信,每个设备都可以同时发送和接收数据;而I2C总线的速度相对较慢,因为它只能使用半双工通信,每个设备只能在特定的时间发送或接收数据。 3. 地址分配:在SPI总线上,每个设备都有一个唯一的片选线(SS),主设备通过选择特定的片选线来与特定的设备进行通信;而在I2C总线上,每个设备都有一个唯一的地址,主设备通过地址来与特定的设备进行通信。 4. 电力消耗:I2C总线通常比SPI总线使用更少的电力。 总体来说,SPII2C总线都有自己的优和缺,应根据具体应用场景选择合适的总线。例如,需要高速传输的应用可以选择SPI总线,而需要低功耗、低速传输的应用可以选择I2C总线

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青渡QAQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值