UART芯片是专为计算机与连接到计算机串行端口的其他外围设备之间的异步串行通信而设计的单一大规模集成芯片。
SPI是一种接口总线,允许微控制器与SD卡、传感器和移位寄存器等外围设备进行通信。
SPI协议比UART显著更快。
如果您使用嵌入式系统,那么了解所使用的各种技术和通信协议是很重要的。通信协议使系统中所连接的设备——如传感器、科学仪器、计算机和显示器——能够相互通信。正在使用的一些最常见的通信协议是通用异步接收器/发射器(UART)、串行外围接口(SPI)和互集成电路(I2C)。所有这三种通信协议都允许数字串行通信,但它们在硬件、速度、针脚的数量和连接设备的数量等各个方面都是不同的。在本文中,我们将比较UART和。SPI的速度和突出了UART和SPI之间的其他几个值得注意的关键差异。
(一)UART通信
UART是提供全双工串行通信的最常见的协议。除了协议,它还是微控制器中的硬件外设。UART芯片是一种单一的、大规模的集成芯片,设计用于计算机和连接到计算机的串行端口的其他外围设备之间的异步串行通信。
从物理上讲,UART是一种微芯片,它从一个系统发送和接收数据到另一个系统。UART芯片的目的是将传入的串行数据转换为并行数据,以便系统读取,然后将传出的并行数据还原为串行数据,然后将其交换到其他系统。UART芯片可以看作是一种数据终端设备(DTE)设备,它使通信总线中的数据能够进行串行到并行的转换。
在UART通信中,两个UART芯片可以相互通信,这就是为什么UART通信只需要两条数据线就可以在传输和接收UART之间进行数据流的原因。数据流从发送UART的发送引脚转到接收UART的接收引脚。传输的UART负责将并行数据从外围设备转换为串行数据,并将其串行传输到接收到的UART。接收UART是将串行数据转换为接收外围设备的并行数据的地方。
(二)SPI通信协议
与UART是一种集成在微控制器上的电路不同,SPI只是一种通信协议。它是一个接口总线,允许微控制器和外围设备之间的通信,如SD卡,传感器,和移位寄存器。SPI串行通信协议适用于支持时钟串行流的电子设备。这意味着,与UART相比,SPI协议是同步的。
SPI协议允许通过串行数据流入/串行数据输出的方法实现高速数据流。在SPI中,总线上的设备之间的高速数据交换包括至少四个信号:
时钟(CLK)
(SDI)中的串行数据
串行数据输出(SDO)
一个芯片选择(CS)信号
在SPI通信中,由控制器设备产生的时钟信号提供同步。SDI和SDO是所有已连接的设备所共享的信号,而为每个外围设备分配了一个唯一的外围选择线。因此,要实现SPI全双工通信,至少需要四根布线。
在一个SPI实现中可以连接多个外围设备。随着外围设备数量的增加,实际的电线数量比外围设备的数量多3条。用于通信的外围设备的选择是基于控制器设备在特定外围选择线上的低拉线。
到目前为止,我们已经讨论了UART和SPI的细节;现在,让我们比较一下。
(三)UART vs。SPI速度
当比较UART和。SPI,只有一些相似之处:
两者都支持全双工串行通信。
两者都用于短距离通信。
除此之外,UART和SPI在速度、连接的设备数量、引脚数量、大小和同步等方面都存在差异。
1.速度
速度是通信协议中最重要的特征之一,UART和速度之间有很多区别。SPI速度。SPI协议比UART要快得多。SPI提供高速同步通信,而UART设备之间的通信速度比SPI协议低三倍。
2.速率
UART以比SPI更低的数据速率在设备之间传输串行数据。由于异步通信类型,相互通信的UART设备的数据速率必须相等。在UART通信中,最大数据速率通常在230 kbps到460 kbps之间。与UART相比,对于SPI接口没有指定的数据速率限制。在SPI通信总线中,数据速率通常约为10 Mbps到20 Mbps。
考虑UART vs。SPI速度,从两个协议的短距离发送数据的最快通信协议是SPI。SPI协议最适合于需要高速运行的低功耗应用程序。SPI接口的高速信号只限制了其在短距离上的数据传输。要在更远的距离发送数据,必须降低时钟速度并合并专门的驱动芯片。
-
微控制器
+关注
关注
48文章
7542浏览量
151308 -
芯片
+关注
关注
455文章
50714浏览量
423113 -
计算机
+关注
关注
19文章
7488浏览量
87847 -
SPI
+关注
关注
17文章
1706浏览量
91498 -
uart
+关注
关注
22文章
1235浏览量
101350
发布评论请先 登录
相关推荐
评论