I2C,UART,SPI之间的区别是什么

第一个区别当然是名字:
spi(serial peripheral interface:串行外设接口);
i2c(inter ic bus:意为ic之间总线)
uart(universal asynchronous receiver transmitter:通用异步收发器)
第二,区别在电气信号线上:
spi总线由三条信号线组成:串行时钟(sclk)、串行数据输出(sdo)、串行数据输入(sdi)。spi总线可以实现多个spi设备互相连接。提供spi串行时钟的spi设备为spi主机或主设备(master),其他设备为spi从机或从设备(slave)。主从设备间可以实现全双工通信,当有多个从设备时,还可以增加一条从设备选择线。
如果用通用io口模拟spi总线,必须要有一个输出口(sdo),一个输入口(sdi),另一个口则视实现的设备类型而定,如果要实现主从设备,则需输入输出口,若只实现主设备,则需输出口即可,若只实现从设备,则只需输入口即可。
i2c总线是双向、两线(scl、sda)、串行、多主控(multi-master)接口标准,具有总线仲裁机制,非常适合在器件之间进行近距离、非经常性的数据通信。在它的协议体系中,传输数据时都会带上目的设备的设备地址,因此可以实现设备组网。如果用通用io口模拟i2c总线,并实现双向传输,则需一个输入输出口(sda),另外还需一个输出口(scl)。
uart总线是异步串口,因此一般比前两种同步串口的结构要复杂很多,一般由波特率产生器(产生的波特率等于传输波特率的16倍)、uart接收器、uart发送器组成,硬件上由两根线,一根用于发送,一根用于接收。
显然,如果用通用io口模拟uart总线,则需一个输入口,一个输出口。
第三,从第二点明显可以看出,spi和uart可以实现全双工,但i2c不行;
总结:i2c线更少,比uart、spi更为强大,但是技术上也更加麻烦些,因为i2c需要有双向io的支持,而且使用上拉电阻,抗干扰能力较弱,一般用于同一板卡上芯片之间的通信,较少用于远距离通信。spi实现要简单一些,uart需要固定的波特率,就是说两位数据的间隔要相等,而spi则无所谓,因为它是有时钟的协议。
缺点:i2c的速度比spi慢一点,协议比spi复杂一点,但是连线也比标准的spi要少。


IC卡燃气表和控制器的原理及设计
5G确定性网络将为垂直行业的数字化发展开启全新的篇章
我国5G网络建设正以每周开通1.5万个以上基站的节奏快跑
安森美半导体宣布为RSL10提供Quuppa智能定位系统
借助​软件​无线​电​推进​无线​原型​验证​的​发展
I2C,UART,SPI之间的区别是什么
AI如何应用在COVID-Net医疗平台
迈入新高度:Imagination与DENSO在全自动汽车方面展开合作
2020年或将实现喷墨打印大尺寸OLED
基于现场可编程门阵列(fpga)技术fir数字滤波器的设计
我国工控市场的发展方向应是怎样的
降低步进电机振动、噪音的解决方法
NP2301BVR 20V p通道增强模式MOSFET
ZigBee无线组网技术专利介绍
物流无人机风云再起 亿航强势突击
美国所有安全系统和智能家居设备的安装方法已趋于自行安装?
字符串常量的定义与引用
这才是手机内存不够用的原因!赶紧把微信这两大功能关了吧
智能农业灌溉系统方案
PCB多层板工艺的分类介绍