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

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

3天内不再提示

I2C与SPI与UART:如何布局这些通用总线

要长高 来源:韬放科技 2023-11-08 17:33 次阅读

如果您要为项目构建开发板或使用通用MCU,则会发现许多用于通信其他活动组件的协议。USB以太网之类的标准已内置在大多数控制器中,用于与计算机外围设备一起使用。尽管如此,仍使用I2C,SPI,UART等协议与下游MCU或可编程IC进行接口。I2C总线,SPI总线和UART总线之间的区别很简单,任何使用MCU的设计人员都应该知道如何为这些协议设置路由和布局。

这些协议是速度较慢的信令标准,因此,如果您使用这些协议,几乎不必担心诸如阻抗控制或传输线行为之类的问题。但是,在确保在接收器上正确读取总线信号时,必须考虑一些重要的设计要点。解决问题也很重要,但是特定的产品和您的代码可以解决这一点。现在,让我们看一下如何在您的PCB布局中使用这三种通用协议,以及一些保持信号完整性的要点。

I2C与SPI与UART之间的差异

从8位到32位的所有MCU都将至少使用这些协议中的一种以及GPIO,以实现可编程性并将信号发送到简单的外设。这三个串行协议是总线协议。I2C和UART使用寻址方案,而SPI是无地址的。尽管SPI是无地址的,但它是一种总线协议,仍可用于选择下游设备以接收数据。

I2C协议

I2C(发音为I平方的C,有时也称为集成电路间的IIC)使用两条线(标准,快速和快速加法模式)来控制其他设备;一条线是时钟线(SCL),另一条线是数据线(SDA)。它具有三种模式,下表总结了这些模式。请注意,上升/下降时间值假定在I / O上安装了典型的串联电阻

wKgZomVLVVOAR0PSAABlQHfP81M908.png

*假设VDD / VCC = 5.5V。如果VDD / VCC较低,则按线性比例缩小

**将时钟线的这些值除以2

请注意,超快速模式是唯一将通信仅用于下游写入操作的模式。此模式也很重要,因为它可以帮助我们了解何时需要匹配总线阻抗,而实际上这几乎是绝不可以匹配的。如果我们对临界线长度采取非常保守的10%限制,我们会发现这些线的临界长度为0.32 m,这比使用I2C的大多数电路板的尺寸要长得多。如果我们将拐点频率用于最短的上升/下降时间,并且将临界长度限制为10%,则得出的值会更长,为0.92 m。对于超快模式,我们应该将保守的数字设置为0.32 m。任何小于此值的I2C线都不会充当传输线,我们只需要担心端接方案。

端接的重点是选择合适的上拉电阻和串联电阻。上拉电阻器和VDD / VCC线路总线的电容形成放电和充电RC电路,当驱动器切换时,该电路为接收器提供信号。信号线和时钟线的上拉电阻值(Rp)必须遵守以下不等式:

wKgZomVLVWGAIgLsAAD0rQmmkkw998.png

总线电容是使用VCC总线阻抗的标准公式确定的,该公式使用与传输线(微带或带状线)相同的公式计算得出。然后,您可以使用线路的阻抗和传播延迟来解决总线电容。在I2C标准下,串联电阻是可选的,但可以包括在内以保护器件免受电压尖峰的影响并减慢上升/下降时间。确定与您的上拉电阻值配对的正确串联电阻值。

SPI协议

SPI协议类似于I2C。该总线上总共使用了4条线,并且可以两种可能的方式排列组件。如果使用单个控制器设备来触发单个下游设备,则拓扑就是点对点的。触发多个设备取决于驱动器提供的芯片选择输出的数量(标准模式)。第二种模式使用菊花链,其中单个设备选择输出连续触发菊花链中的每个设备。

与I2C不同,SPI中的各种信令参数都是高度可配置的。除非您运行的接口非常快,否则您可以将互连线上的信号电平近似为DC,因为它将低于传输线行为的临界长度。然后,您可以使用一个串联电阻器来终止驱动器的低阻抗输出,并确保最大的功率传输。上面显示的具有跟踪电容的RC放电方法可以控制接口的输出电流和上升/下降时间。

UART协议

通用异步收发器(UART)与I2C相似。这些接口的最大数据速率约为5 Mbps。UART设备也很容易使用,因为设备之间没有时钟发送。一切都是异步的。注意,每个UART设备的内部(系统)时钟必须以波特率的几倍运行(即,每个位被采样N次)。单个控制器设备和单个下游设备之间仅使用两条电线进行通信。

注意,UART器件的数据格式,信号电平和波特率可通过外部驱动器电路进行配置。不幸的是,这也意味着对于UART器件的布线和布局几乎没有硬性规定。遵循标准的高速设计指南,通过查看传输线行为的转变来确定何时需要终止。减少过冲的典型端接方法是串联端接。请注意,UART可能在高电平或低电平下处于空闲状态,并且可能需要上拉电阻来设置所需的空闲水平;在添加上拉电阻之前,请务必检查您的组件规格

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

    关注

    17

    文章

    1721

    浏览量

    92039
  • I2C
    I2C
    +关注

    关注

    28

    文章

    1495

    浏览量

    124434
  • uart
    +关注

    关注

    22

    文章

    1243

    浏览量

    101706
收藏 人收藏

    评论

    相关推荐

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

    I2C总线通信原理 I2C(Inter-Integrated Circuit)总线是一种用于集成电路之间进行通信的串行通信协议。它最早由飞利浦公司(现被恩智浦电子收购)于1982年推出
    的头像 发表于 01-31 15:01 84次阅读

    I2C总线与Arduino的接口示例

    基础 I2C总线由两条线组成:数据线(SDA)和时钟线(SCL)。SDA用于传输数据,而SCL用于同步数据传输。I2C设备可以是主设备或从设备。主设备生成时钟信号并启动数据传输,从设备响应主设备的请求。 Arduino与
    的头像 发表于 01-17 15:34 202次阅读

    I2C总线的工作模式介绍

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

    I2C总线协议详细解析

    1. I2C总线简介 I2C总线由Philips Semiconductor(现为NXP Semiconductors)在1980年代初期开发。它是一种多主机
    的头像 发表于 01-17 15:22 192次阅读

    I2C总线故障排除技巧

    I2C总线是一种广泛使用的串行通信协议,它允许多个设备在两条线上(数据线SDA和时钟线SCL)进行通信。由于其简单性和灵活性,I2C总线在嵌入式系统中非常流行。然而,当
    的头像 发表于 01-17 15:20 212次阅读

    I2C总线应用实例分析

    在现代电子系统中,I2C总线因其简单、灵活和高效的特点而被广泛应用于各种设备之间的通信。 I2C总线概述 I2C
    的头像 发表于 01-17 15:09 181次阅读

    I2C总线SPI总线的比较

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

    为什么嵌入式调试经常用UART,却很少用SPII2C或USRT?

    在嵌入式调试中经常使用 UART通用异步收发传输器)而较少使用 SPI(串行外设接口)、I2C(集成电路总线)或 USRT(
    的头像 发表于 12-18 09:58 397次阅读
    为什么嵌入式调试经常用<b class='flag-5'>UART</b>,却很少用<b class='flag-5'>SPI</b>、<b class='flag-5'>I2C</b>或USRT?

    详解I2C总线SPI总线的区别

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

    了解I2C总线

    电子发烧友网站提供《了解I2C总线.pdf》资料免费下载
    发表于 10-08 11:13 2次下载
    了解<b class='flag-5'>I2C</b><b class='flag-5'>总线</b>

    I2CUART子系统设计

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

    UARTI2C桥接器

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

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

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

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

    到目前为止,I2CSPIUART等仍然是电子嵌入式设备中最常用的通信协议,本文,我们将剖析这三种协议,让大家清楚、直观的了解它们的功能、优点和局限性,并辅以GIF动图展示。I2C
    的头像 发表于 04-12 08:27 1052次阅读
    逼真动画展示<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 1937次阅读
    总结usart、<b class='flag-5'>uart</b>、<b class='flag-5'>i2c</b>、<b class='flag-5'>spi</b>区别及相关知识