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

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

3天内不再提示

I2C与SPI及其UART通信协议之间的区别

冬至配饺子 来源:硬件大熊 作者:雕塑者 2022-07-27 17:16 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

I2C、SPI、UART都是常见的低速板级通信协议,目前主流的SoC都内置了这些通讯协议的控制器,同样,各种传感器、Touch控制器、指纹模块、蓝牙模块、WIFI模块也都兼容这三种通信方式的一种或几种。对于这三种通信协议的差别,可以区分到非常细,包括信号的单位、传输协议中的封包格式等。

UART一般由TXD、RXD、GND三根线组成,是一种异步传输协议。无论是主机还是从机,均可以自由发送数据,但是由于UART总线并没有时钟线,所以需要提前约定对应的波特率,这是一种很简单的传输协议,以此基础再搭电路可以实现RS-232、RS-242、RS-485等通信协议。过去老式电脑是具备RS-232接口的,但近10年的电脑都只具备USB,因此通常需要透过一个UART转USB的转接电路才能互相连接。UART比较简单,所以CPU输出log一般都是通过一个UART口来输出,是目前最常用的调试接口,其传输速度比较慢,传统的传输速度在115200bps或以下,不过现在大部分UART控制器也能支持到4Mbps或者8Mbps了

pYYBAGLhAZyAQe3TAABT5Sh_tcU066.png

I2C是两根线,SDA(数据)和SCL(时钟),是一种半双工同步传输协议。主机在发送开始信号之后,先发送7个比特的地址位和1个比特的读写位,每个从机有自己的I2C地址,当发现该条指令是发给自己的时候,拉低SDA线(即回复ACK信号),然后主机发送或接收数据,完成传输。传输完成之后,主机发送停止位,完成该次传输。I2C最早是由PHILIPS提出来的,用于晶片间的传输,理论上可以连接128个从机(一般最多只接10个),原则上只能以PCB板上的铜箔线路来走,然而目前许多应用却是把I2C缆线化。另外,I2C总线的管脚都是开漏输出,必须外接上拉电阻,阻值可以根据总线速度来推算,一般我们常用400kbps传输速率(标准模式:100kbps,快速模式:400kbps,高速模式:3.4Mbps),上拉电阻选用2.2K。

pYYBAGLhAa-AeVLZAABKs0PQ5r0211.png

SPI是四根线,分别是CS(片选)、MOSI(主发从收)、MISO(从发主收)、CLK(时钟),是一种全双工同步传输协议。主机送出CLK信号,主机到从机的数据在MOSI线上传输,从机到主机的数据在MISO线上传输。在启动传输之前,需要先拉低(一般是这样,也有各别芯片是CS高有效)对应从机的CS管脚,在传输完成之后,再拉高CS管脚,从机的SPI Slave模块进入休眠。SPI由Motorola发明,与I2C相同可以接多个从机,只是每增加一个从机,线路至少要增加一条,其发送与接收可以同时进行,传输速度可达到几Mbps水平,比I2C快

UART和后面两者最大的区别在于后面两者是同步的,要有统一的时钟线,而UART不需要,接线方便,但收发双方都需要配置相同的波特率,即设备要有自己的时钟源;I2C协议中是有地址规则的,因此在一对多通信的时候更有优势。常用来连接传感器;SPI编程简单,在设备不多,端口充足,对通信速度要求不高的场合可以应用,较常用来连接EEPROM、FLASH或液晶显示器。


审核编辑:刘清

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

    关注

    114

    文章

    17638

    浏览量

    190245
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1866

    浏览量

    99802
  • I2C
    I2C
    +关注

    关注

    28

    文章

    1547

    浏览量

    130480
  • uart
    +关注

    关注

    22

    文章

    1304

    浏览量

    106105
  • 通讯协议
    +关注

    关注

    10

    文章

    294

    浏览量

    21332
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    I2C的缺点介绍

    上升时间变慢和潜在的信号衰减。对于长距离通信,其他协议,如 UART(通用异步接收器/发送器)或 SPI(串行外设接口)可能更合适。 速度限制: 虽然
    发表于 11-27 06:10

    UARTSPII2C 实战对比:哪个更适合你的项目?

    在嵌入式开发中,设备之间通信是绕不开的话题。常见的三种总线接口——UARTSPII2C——各有优缺点。不同项目需求决定了选择哪一种
    的头像 发表于 11-24 19:04 305次阅读
    <b class='flag-5'>UART</b>、<b class='flag-5'>SPI</b>、<b class='flag-5'>I2C</b> 实战对比:哪个更适合你的项目?

    SPII2CUART三种串行总线的区别与对比

    SPI更为强大,但是技术上也更加麻烦些,因为I2C需要有双向IO的支持,而且使用上拉电阻,我觉得抗干扰能力较弱,一般用于同一板卡上芯片之间通信,较少用于远距离
    发表于 11-20 07:19

    SPII2CI2S、UART通信协议解释

            在嵌入式开发中,最常用的几种通信接口无非就是SPII2CI2S、UART。名字看起来差不多,但应用场景和特性却大不相同。
    的头像 发表于 11-18 10:53 200次阅读

    SPII2CI2S、UART通信协议对比表

    在嵌入式开发中,最常用的几种通信接口无非就是SPII2CI2S、UART。名字看起来差不多,但应用场景和特性却大不相同。很多初学者容易混
    的头像 发表于 11-17 10:53 1167次阅读
    <b class='flag-5'>SPI</b>、<b class='flag-5'>I2C</b>、<b class='flag-5'>I2</b>S、<b class='flag-5'>UART</b>:<b class='flag-5'>通信协议</b>对比表

    串行通信相关的基础知识

    串行通信是电子设备中数据交换的基石。最常见的串行通信协议UARTSPII2C等。
    的头像 发表于 10-15 10:53 1689次阅读
    串行<b class='flag-5'>通信</b>相关的基础知识

    深入剖析I2C协议

    I2C是由Philips开发的简单的双向两线总线,在深入浅出理解SPI协议中,我们区分了单工,半双工,全双工协议数据流向的区别,根据特征,
    的头像 发表于 08-21 15:10 3273次阅读
    深入剖析<b class='flag-5'>I2C</b><b class='flag-5'>协议</b>

    第十八章 I2C通信测试

    本章介绍了I2C协议,其物理层用SDA和SCL双线,支持多设备:协议层含起始/停止信号、应答机制等。还讲解W55MH32的I2C外设及初始化,并进行了
    的头像 发表于 06-19 17:07 1028次阅读
    第十八章 <b class='flag-5'>I2C</b><b class='flag-5'>通信</b>测试

    iic协议spi协议区别

    I2C协议SPI协议区别 1. 通信方式 I2C
    的头像 发表于 02-05 11:28 4649次阅读

    I2C总线通信原理 如何设计I2C总线电路

    I2C总线通信原理 I2C(Inter-Integrated Circuit)总线是一种用于集成电路之间进行通信的串行
    的头像 发表于 01-31 15:01 1878次阅读

    基于I2C总线的智能家居应用

    随着科技的飞速发展,智能家居系统已经成为现代生活的一个重要组成部分。I2C(Inter-Integrated Circuit)总线是一种串行通信协议,广泛应用于微控制器和各种传感器之间,因其简单
    的头像 发表于 01-17 16:21 1009次阅读

    I2C总线的优缺点分析

    I2C总线作为一种广泛使用的串行通信协议,以其简单性和高效性在嵌入式系统中占据着重要地位。 I2C总线的优点 1. 简单性和低成本 I2C总线只需要两条线(数据线SDA和时钟线SCL)
    的头像 发表于 01-17 15:50 1763次阅读

    I2C总线的工作模式介绍

    在现代电子系统中,I2C总线作为一种多主机、多从机的串行通信协议,扮演着至关重要的角色。它允许多个设备共享同一总线,进行数据传输,从而简化了系统设计并降低了成本。 I2C总线的基本特性 I2C
    的头像 发表于 01-17 15:32 1635次阅读

    I2C总线与单片机的连接

    在现代电子系统中,单片机(MCU)是核心控制单元,而I2C总线作为一种多主机、多从机的串行通信协议,因其简单、高效和节省引脚的特性而被广泛应用于各种电子设备中。 I2C总线概述 I2C
    的头像 发表于 01-17 15:18 1969次阅读

    I2C总线与SPI总线的比较

    在现代电子系统中,微控制器与各种外设之间通信是必不可少的。I2CSPI是两种流行的串行通信协议,它们各自具有独特的特点和应用场景。
    的头像 发表于 01-17 15:08 1714次阅读