0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

放人 2022-10-30 13:28 次阅读

第一个区别当然是名字:

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)。主从设备间可以实现全双工通信,当有多个从设备时,还可以增加一条从设备选择线。

9fc6531e-5813-11ed-b468-dac502259ad0.jpg

如果用通用IO口模拟SPI总线,必须要有一个输出口(SDO),一个输入口(SDI),另一个口则视实现的设备类型而定,如果要实现主从设备,则需输入输出口,若只实现主设备,则需输出口即可,若只实现从设备,则只需输入口即可。

I2C总线是双向、两线(SCL、SDA)、串行、多主控(multi-master)接口标准,具有总线仲裁机制,非常适合在器件之间进行近距离、非经常性的数据通信。在它的协议体系中,传输数据时都会带上目的设备的设备地址,因此可以实现设备组网。如果用通用IO口模拟I2C总线,并实现双向传输,则需一个输入输出口(SDA),另外还需一个输出口(SCL)。

9ff2f216-5813-11ed-b468-dac502259ad0.jpg

UART总线是异步串口,因此一般比前两种同步串口的结构要复杂很多,一般由波特率产生器(产生的波特率等于传输波特率的16倍)、UART接收器、UART发送器组成,硬件上由两根线,一根用于发送,一根用于接收。

显然,如果用通用IO口模拟UART总线,则需一个输入口,一个输出口。

第三,从第二点明显可以看出,SPI和UART可以实现全双工,但I2C不行;

总结:I2C线更少,比UART、SPI更为强大,但是技术上也更加麻烦些,因为I2C需要有双向IO的支持,而且使用上拉电阻,抗干扰能力较弱,一般用于同一板卡上芯片之间的通信,较少用于远距离通信。SPI实现要简单一些,UART需要固定的波特率,就是说两位数据的间隔要相等,而SPI则无所谓,因为它是有时钟的协议。

缺点:I2C的速度比SPI慢一点,协议比SPI复杂一点,但是连线也比标准的SPI要少。

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1700

    浏览量

    91294
  • I2C
    I2C
    +关注

    关注

    28

    文章

    1481

    浏览量

    123241
  • uart
    +关注

    关注

    22

    文章

    1227

    浏览量

    101161
收藏 人收藏

    评论

    相关推荐

    探索GPIO/ADC/LED/I2C/SPI/USB…的完整世界

    今天了解的是GPIO/ADC/LED/I2C/SPI/USB硬件接口设计及其注意事项,希望对大家有所帮助。
    的头像 发表于 11-17 09:59 135次阅读
    探索GPIO/ADC/LED/<b class='flag-5'>I2C</b>/<b class='flag-5'>SPI</b>/USB…的完整世界

    详解I2C总线与SPI总线的区别

    I2C(Inter-Integrated Circuit)表示集成电路互连,是一种用于线路板内部芯片之间通信的总线。
    的头像 发表于 10-16 15:16 2182次阅读
    详解<b class='flag-5'>I2C</b>总线与<b class='flag-5'>SPI</b>总线的<b class='flag-5'>区别</b>

    通过I2C进行TPS65987和TPS65988 SPI闪存固件更新

    电子发烧友网站提供《通过I2C进行TPS65987和TPS65988 SPI闪存固件更新.pdf》资料免费下载
    发表于 09-29 10:31 0次下载
    通过<b class='flag-5'>I2C</b>进行TPS65987和TPS65988 <b class='flag-5'>SPI</b>闪存固件更新

    使用低内存MSP430™MCU的UARTI2C桥应用说明

    电子发烧友网站提供《使用低内存MSP430™MCU的UARTI2C桥应用说明.pdf》资料免费下载
    发表于 09-14 10:45 0次下载
    使用低内存MSP430™MCU的<b class='flag-5'>UART</b>到<b class='flag-5'>I2C</b>桥应用说明

    I2CUART子系统设计

    电子发烧友网站提供《I2CUART子系统设计.pdf》资料免费下载
    发表于 08-28 10:27 1次下载
    <b class='flag-5'>I2C</b>转<b class='flag-5'>UART</b>子系统设计

    UARTI2C桥接器

    电子发烧友网站提供《UARTI2C桥接器.pdf》资料免费下载
    发表于 08-28 09:24 0次下载
    <b class='flag-5'>UART</b>转<b class='flag-5'>I2C</b>桥接器

    I2CSPIUART的通信过程还可以这样理解

    到目前为止,I2CSPIUART等仍然是电子嵌入式设备中最常用的通信协议,本文,我们将剖析这三种协议,让大家清楚、直观的了解它们的功能、优点和局限性,并辅以GIF动图展示。一、IIC协议I
    的头像 发表于 05-23 08:10 6473次阅读
    <b class='flag-5'>I2C</b>、<b class='flag-5'>SPI</b>、<b class='flag-5'>UART</b>的通信过程还可以这样理解

    SPII2C通信协议:应用与区别

    本文深入解析了SPII2C这两种通信协议的特点、工作原理和应用场景。SPI适用于高速数据传输,常用于存储器芯片和显示器驱动等领域;I2C适用于低速控制和传感器数据传输,常用于温度传感
    的头像 发表于 04-22 16:45 1638次阅读

    逼真动画展示I2CSPIUART的通信过程

    到目前为止,I2CSPIUART等仍然是电子嵌入式设备中最常用的通信协议,本文,我们将剖析这三种协议,让大家清楚、直观的了解它们的功能、优点和局限性,并辅以GIF动图展示。I2C
    的头像 发表于 04-12 08:27 922次阅读
    逼真动画展示<b class='flag-5'>I2C</b>、<b class='flag-5'>SPI</b>、<b class='flag-5'>UART</b>的通信过程

    总结usart、uarti2cspi区别及相关知识

    USART、UARTI2CSPI是四种不同的串行通信协议,它们各自具有独特的特点和应用领域
    的头像 发表于 04-10 09:47 1625次阅读
    总结usart、<b class='flag-5'>uart</b>、<b class='flag-5'>i2c</b>、<b class='flag-5'>spi</b><b class='flag-5'>区别</b>及相关知识

    请问哪些PSoC 4000设备支持I2CSPIUART

    哪些 PSoC 4 设备支持 I2CSPIUART? 使用 PSoC Creator 中的设备选择器会显示所有 PSoC 4000 设备都有通信块。设备选择器并未说明这些通信块支持什么。 我
    发表于 01-31 07:31

    蓝牙串口通讯总线——I2C/SPI/UART

    嵌入式工程师在做串口通信调试工作的时候,会经常用到I2CSPIUART这3条总线,I2CSPIU
    的头像 发表于 01-22 09:41 1448次阅读
    蓝牙串口通讯总线——<b class='flag-5'>I2C</b>/<b class='flag-5'>SPI</b>/<b class='flag-5'>UART</b>

    XV4001BC车载用SPI/I2C输出接口的数字输出

    XV4001BC车载用SPI/I2C输出接口的数字输出,可实现角速度输出和温度传感器输出,满足汽车导航和通讯系统的要求。SPI / I2C 输出接口角速度输出(16bit)、温度传感
    发表于 01-02 16:33 0次下载

    i2c接口和spi接口区别

    重要的区别I2C接口和SPI接口都属于串行通信接口标准,广泛应用在嵌入式系统和电子设备中。它们之间的主要区别在于通信协议、电气特性、速度
    的头像 发表于 12-25 15:02 3764次阅读

    SPII2C的异同及优缺点

    SPII2C的异同及优缺点  SPI(Serial Peripheral Interface)和I2C(Inter-Integrated Circuit)是两种常见的串行通信接口协议
    的头像 发表于 12-07 10:46 2991次阅读