通信协议:I2C/SPI/UART区别对比

I2C、SPI、UART都是常见的板级通信协议,下面简单罗列下他们的区别对比;

I2C(Inter-integrated Circuit)总线是由Philips公司开发的一种简单、双向二线制同步串行总线。

SPI是串行外设接口(Serial Peripheral Interface)的缩写。是 Motorola 公司推出的一种同步串行接口技术,是一种高速的,全双工,同步的通信总线,芯片的管脚上只占用四根线,节约了芯片的管脚。

UART是一种通用串行数据总线,用于异步通信。作为把并行输入信号转成串行输出信号的芯片,UART通常被集成于其他通讯接口的连接上。

对比项UARTSPIIIC
信号线数目UART一般由TXD、RXD、GND三根线组成,是一种异步传输协议SPI是四根线,分别是CS(片选)、MOSI(主发从收)、MISO(从发主收)、CLK(时钟),是一种同步传输协议。I2C是两根线,SDA(数据)和SCL(时钟),也是一种同步传输协议
设备从属关系/存在主从设备。SPI用片选信号选择从机存在主从设备。IIC用地址选择从机。
通信方式全双工通信全双工通信半双工通信
通信速率无限制,速度取决于波特率,常用9600bps(1.2KB/s)和115200bps(14.4KB/s)全双工同步传输,速度约有50Mbps,即约5.9MB/sS(标准模式):100Kbps,即 100/8 = 12.5KB/s
F(快速模式):400Kbps,即400/8 = 50KB/s
HS(高速模式):3.4Mbps,即3.4M/8 = 435KB/s
超高速模式:5Mbit/s,即5M/8 = 525KB/s
应用领域领域:
1、UART常用于控制计算机与串行设备的芯片;
2、就是我们经常所说的串口,基本都用于调试。
主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间I2C一般是用在同一个板子上的2个IC之间的通信 ,它可以替代标准的并行总线,连接各种集成电路和功能模块。
传输距离//I2C需要有双向IO的支持,而且使用上拉电阻,抗干扰能力较弱,一般用于同一板卡上芯片之间的通信,较少用于远距离通信
通信特征异步,一帧可以传5/6/7/8位同步,SPI允许数据一位一位的传送,甚至允许暂停。从最高位开始传。同步,电平信号,一次连续8bit。从最高位开始传
协议复杂度结构比较复杂SPI实现要比UART简单,UART需要固定的波特率,就是说两位数据的间隔要相等,而SPI则无所谓,因为它是有时钟的协议。协议比SPI复杂,但是连线比标准的SPI要少
对比/在点对点的通信中,SPI接口不需要进行寻址操作,且为全双工通信,显得简单高效。
在多个从器件的系统中,每个从器件需要独立的使能信号,硬件上比I2C系统要稍微复杂一些。
/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值