最后,界定了SPI、UART和I2C通信及其应用之间的区别。

      最后更新:2021-12-05 02:59:47 手机定位技术交流文章

      电子设备之间的通信类似于人与人之间的交流,因为双方必须讲同一种语言,这些语言在电子产品中被称为通信协议。

      互换了关于SPI、UART和I2C通信的单独文章,并进行了一些比较。

      串行 VS 并行

      电子设备通过传输二进制数据槽相互互动。 位点通过电压的快速变化从一个设备传送到另一个设备。 在 5V 工作系统中, “ 0” 通过短脉冲 0V 进行通信, 而“ 1” 通过短脉冲 5V 进行通信。 数据位点可以平行或连续传输。 数据位置以平行通信方式同时传输在引导线上。 下图显示二进制字母“ C” 的平行传输( 0100- 11) :

      终于搞清了:SPI、UART、I2C通信的区别与应用

      Bits通过连续通信中的单一根线一次传输。下图描述了二进制(010011)中字母“C”的序列传输:

      终于搞清了:SPI、UART、I2C通信的区别与应用

      SPI通信

      在I2C和UART中,数据以数据包的形式发送,数字数固定。 在 SPI 设备中,设备分为主机和离机系统。 主机是控制装置(通常是微控制器),而指令则从主机(通常是传感器、显示器或存储芯片)获得。 一套SPI通信由四条信号线组成:主输出/保护输入-信号线、主输出输出,来自机器输入。MISO(马斯特输入/服务输出)-信号线、主输出、机器的输出。SCLK(锁)-时钟信号。SS/CS(laveSelect/ChipSelect)-剪片选择信号。

      终于搞清了:SPI、UART、I2C通信的区别与应用

      SPI协议的区别在于,机器数量受到系统载荷电容器的限制,这限制了主机在电压水平之间正确过渡的能力。

      时钟信号

      由于每个时钟周期传输一个数据位,数据传输速度与时钟信号的频率成正比。 SPI通信总是由主机对时钟信号进行美化而由主机设置生成。 同步是设备交换时钟信号的任何通信协议。 SPI是一个同步的通信协议, 还有一些不使用时钟信号的无同步通信。 例如,在UART通信中, 双方都同意预先配置的波特速度, 以控制数据传输的速度和时间 。

      片选信号

      主机通过绘制 CS/SS 进行互动。 片段线在自由/ 非传输状态下保持高水平。 主机上可提供多个 CS/ SS 基点, 使主机能够与各种不同的服务器交谈 。

      终于搞清了:SPI、UART、I2C通信的区别与应用

      如果主机只有一个参考脚, 设备可以通过下列方式连接 :

      终于搞清了:SPI、UART、I2C通信的区别与应用

      MOSI和MISO

      主机通过MOSI向机器连续发送数据,并通过MISO向主机发送数据,两者可以同时完成。因此, SPI是一个全时通信协议。 由主机生成的转移步骤1. 时钟信号

      终于搞清了:SPI、UART、I2C通信的区别与应用

      二. 东道方推倒SS/CS脚,从机器上启动。

      终于搞清了:SPI、UART、I2C通信的区别与应用

      三,主机通过MOSI从机器上传送数据

      终于搞清了:SPI、UART、I2C通信的区别与应用

      四. 如果需要回复,则通过 MISO 将机器的数据返回主机。

      终于搞清了:SPI、UART、I2C通信的区别与应用

      使用SPI有许多好处和缺点,在其他通信协议之间作出决定时,项目需要应优先处理,这是不好的。

      优点

      SPI通信没有起停位置,因此数据可以不间断地不断传送;没有像 I2C 那样的复杂的现场搜索算法,数据传输速度更快(几乎快一倍 ) 。 独立的 MISO 和 MOSI 线可以同时发送和接收数据。

      缺点

      SPI有四条线路(I2C和UART有两条线路),没有获得成功确认的信号(I2C包括这一特征),没有检查错误(例如,UART的奇点检查站等等)。

      终于搞清了:SPI、UART、I2C通信的区别与应用

      UART是一个一般的天体病理接收器/传输器,也称为序列通信,它不是像SPI或I2C这样的通信协议,而是微控制装置或独立的IC的物理电路。 UART的主要功能是发送和接收序列数据,其中最好的做法是在设备之间发送数据,只使用两条线。

      UART通信

      两个UARTs在UART通信中直接相互作用。 将UART送至控制设备, 将平行数据( 如CPUs) 转换成序列形式, 并以序列方式将其传送到接收UART。 要在两个UARTs之间传输数据, 只需要两条线, 从Tx到Rx到UART:

      终于搞清了:SPI、UART、I2C通信的区别与应用

      因为 UART 是一步步连接, 没有时钟信号, 而是被添加到数据包中以开始和停止。 这些位元定义软件包的开始和结束, 因此接收 UART 知道何时读取数据 。

      当在初始位置接收 UART 检测时, 它会以一定的端口速率频率读取 。 波特速率是数据传输速度的量度, 以位数( bps) / 秒来定义 。 两个 UART 必须在相同的端口率左右运行, 即传输和接收的UART 之间只能相差10%左右 。

      终于搞清了:SPI、UART、I2C通信的区别与应用

      工作原理

      当传输 UART 从数据总线获得平行数据时, 它会添加一个起始位置、 一个奇特的检查器和一个停止位, 以构建数据包和输出, 从 Tx 标记到下一行, 接受 UART 的顺序读取 Rx 标记脚上的数据包 。

      终于搞清了:SPI、UART、I2C通信的区别与应用

      UART数据包括1个起始位置、5至9个数据位置(视UART而定)、一个可选的奇异检查地点和1至2个站点位置:

      终于搞清了:SPI、UART、I2C通信的区别与应用

      起始位:

      当数据不传输时,UART数据传输线通常维持在高电压水平上。UART被送去将传输线从高水平降低到低水平,在传输开始时的时钟周期内,当接收UART检测到高电压到低电压转换时,它开始在港口速率频率下读取数据框中的位置。Data框架:数据框架包含实际传输的数据。如果你使用木偶校准,它可以是5个位置,最多8个位置。如果不使用奇声调校准,数据框架的长度可以是9。

      平行传输UART和从数据总线接收数据的步骤:

      终于搞清了:SPI、UART、I2C通信的区别与应用

      2 发送一个 UART 命令, 在数据框中添加开始、 奇数检查和停止位置 :

      终于搞清了:SPI、UART、I2C通信的区别与应用

      三. 完整的数据包从UART链到接收的UART链交付给接收方。

      终于搞清了:SPI、UART、I2C通信的区别与应用

      4. 收到UART丢弃数据框架的启动以及奇数检查和停止位置:

      终于搞清了:SPI、UART、I2C通信的区别与应用

      5. 接收UART将序列数据转换为平行数据并将其广播到数据总线接收端:

      终于搞清了:SPI、UART、I2C通信的区别与应用

      没有通讯协议是完美无缺的,但UART在它的所作所为方面相当出色。

      优点

      • 仅使用两根电线
      • 无需时钟信号
      • 无法关闭临时文件夹:%s。
      • 只要双方商定数据包的格式。
      • 已经记录并广泛使用的方法

      缺点

      • 最大数据框大小为 9 位数 。
      • 许多卫星系统或初级系统得不到支持。
      • 每个UART必须有一个10%的港口利率。

      I2C通信

      I2C 客车是一个由 Philips 发明的简单、双向、双向、同步的 Caon 客车。 它只需要两行即可发送信息。 它将 SPI 和 UART 的优点结合起来, 您可以将多个服务器连接到一个主机( 类似 SPI), 或者管理一个或数个服务器, 使用不同的主机 。 如果您想要多个微控制器将数据存储在单个内存卡中, 或者显示 Inmeous 文本的客车是一个由 Philips 发明的简单、 双向、 双向、 同步的连锁客车, 它只需要两行即可发送信息。 它将 SPI 和 UART 的优点结合起来, 您可以将多个服务器连接到一个主机( 类似 SPI), 或者用不同的主机控制一个或多个服务器。 如果您想要多个微控制器将数据记录在单个内存卡中或者显示文本, 这将特别有用 。

      终于搞清了:SPI、UART、I2C通信的区别与应用

      I2C 是一个序列通信协议, 因此数据会沿SDA 传输一点点。 I2C 和 SPI 一样, 需要时钟同步信号, 时钟总是由主机控制 。

      终于搞清了:SPI、UART、I2C通信的区别与应用

      I2C数据传输工作基于许多信息,其中每个信息都包含来自机器的二进制地址框架和一个或多个数据框架,以及开始和停止条件、读/写空格和数据框架之间的ACK/NACK位数:

      终于搞清了:SPI、UART、I2C通信的区别与应用

      当 SL 高度时, SDA 的开关从高到低, 当 SL 高度时, SDA 的开关从低到高。

      终于搞清了:SPI、UART、I2C通信的区别与应用

      地址框: 每个辅助设备仅有的 7 或 10 位数序列用于识别主设备之间的地址 。 read/ write 位数: 1, 如果主机传输来自机器的数据, 且请求数据时为高端 。 ACK/ NACK: 信件中的每个框架都包含一个 ACK/ NACK 位数 。

      寻址

      由于 I2C 缺少类似 SPI 的线条, 它必须依赖另一种方法来识别设备 : 位置 。 主机将通讯从地址传送到每台机器, 然后将通讯从机器到自己的地址进行比较。 如果地址匹配, 它会向主机发送一个低水平的 ACK 位元。 如果地址不匹配, 则不会采取任何行动, 而自失能线会保持高水平 。

      读/写位

      读/ 写位置位于地址框的末尾。 当主机向机器发送数据时, 功率水平很低。 当主机向机器询问数据时, 功率水平很高 。

      数据帧

      当主机从机器中检测到 ACK 位置时, 第一个数据框架可能会被交付。 数据框架总是 8 位长, 每个数据框架后面有一个 ACK/ NACK 位数来检查接收状态。 一旦所有数据框架发送完毕, 主机可以通过从机器中发送停止状态来终止连接。 传输第 1 步后主机从机器中检测到 ACK 位置, 第一个数据框架可能会被交付。 数据框架总是 8 位长, 每个数据框架后面有一个 ACK/ NACK 位数来检查接收状态。 一旦所有数据框架发送完毕, 主机可以通过从机器中发送停止状态来终止通信。 传输第 1 步 。 当 SCL 线高时, 主机会通过从高到低的 SDA 线来启动客车通信 。

      二. 东道主将7或10个地址从机器转到公共汽车上,以及读/写空档:

      终于搞清了:SPI、UART、I2C通信的区别与应用

      3个主机的每个地址都与它自己的地址比较。如果地址匹配,请从机器的SDA线中抽出一条,返回到ACK位置。如果地址不匹配,请从机器中抽出SDA线。

      终于搞清了:SPI、UART、I2C通信的区别与应用

      四. 从主机发送或接收数据框:

      终于搞清了:SPI、UART、I2C通信的区别与应用

      五. 每个数据框架发送后,接收装置给予发件人另一个ACK位置,以确保正确收到:

      终于搞清了:SPI、UART、I2C通信的区别与应用

      六. 东道方随后将SCL转换为高水平,将SL转换为DAD转换为高水平,将机器停机状态传送到高水平。

      许多主机对单个主机

      Becausage I2C 使用定位搜索机制,多个存取器可能由单一主机控制。 A 在使用7个主机时,最多可使用128(27)个独有地址。 使用10个地址并不常见,尽管有1 024 (210)个独有地址。 如果您想将不止一台机器连接到一个主机, 则使用 4 。

      终于搞清了:SPI、UART、I2C通信的区别与应用

      多个存取器相对于多个主机

      I2C 使同时连接多个操作器的许多主机能够同时连接到多个操作器,当两个主机试图同时传输或接收数据时会出现问题。 因此, 每个主机在发送信件前必须确定该主机的线是低还是高。 如果该主机的线是低, 这意味着另一个主机正在控制公交车。 如果该主机的线是高,数据可以安全地传送。 如果该主机同时连接到多个操作器的许多主机,当两个主机试图同时发送或接收数据时会出现问题。 因此,每个主机在发送信件前必须检测该主机的线是低还是高。 如果该主机的线是低,这意味着另一个主机正在控制公交车。 如果该主机的线是高,则数据可以安全地发送。

      终于搞清了:SPI、UART、I2C通信的区别与应用

      与其他协议相比,I2C可能看起来很困难。以下是一些利弊,可能有助于您评估这些利弊是否适合您的项目需求:

      优点仅使用两根电线支持多个主机和多个从机每个UART必须有一个10%的港口利率。硬件比UART更简单众所周知且被广泛使用的协议缺点数据传输速率比SPI慢数据帧的大小限制为8位

      今天的页眉是原始的链接。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/14235.html

          热门文章

          文章分类