最近搜索
      • 已发布 2024年2月2日
      • 最后修改 2024年2月2日
    • 1 分钟

    UART是什么?UART的工作原理和UART芯片、测试介绍

    了解关于UART微控制器和协议的所有信息,包括它们的工作原理以及它们的用途。

     UART Banner

    UART代表通用异步收发器。顾名思义,这个芯片被放置在物理电路板中,用于使设备接收和传输数据。作为一种设备间通信协议,UART是最早能实现安全可靠数据传输的技术之一。

    尽管UART芯片自发明以来已经发展了很多,许多现代设备使用了替代协议,但对于那些希望在电路板上添加易于使用的串行协议的人来说,它们仍然是一种低成本的选择。

    本指南将概述UART的发展历史,解释它们的工作原理以及如何使用它们。

    UART芯片

    什么是UART芯片?

    UART芯片是一种物理组件,可以放入电路板中实现数据传输。在电路板中安装了两个UART芯片,以便在数据总线之间进行数据传输和接收。

    UART芯片通过将信息分解为位,并一次传输一位来完成数据传输。传输可以随时开始或停止,因此UART包含了异步这个术语。

    什么是UART协议?

    UART协议是UART芯片之间传输数据的方式。UART协议是异步的,这意味着它不依赖时钟来同步和控制两个设备之间数据的传输。

    相反,传输UART芯片会在从数据总线接收到的数据包中添加起始位和停止位。这些位通知接收的UART芯片数据传输何时开始和结束。为了满足需求,用户可以将UART连接在电路板上,以控制数据传输的速度和频率,也被称为波特率。

    UART的历史

    第一个UART芯片由一位名叫切斯特·戈登·贝尔(Chester Gordon Bell)的工程师创建,它的大小与整个电路板相当。该电路板旨在用于计算机可编程数据处理。

    在上世纪90年代,UART技术通过使用芯片缓冲区使数据传输更加快速和安全。在21世纪初,UART 随着串行总线技术的发展而进行了调整。同样,这是为了加快数据的准确传输。

    这导致了USB到UART连接器或桥等技术的发展。这些连接器可以从通过USB连接的设备中获取数据,然后通过UART传输。它们被广泛用作RS232端口的替代品,因为USB到UART连接器可以直接与微控制器接口,使其更加适应和多变。

    其他现代的UART微控制器包括:

    • 树莓派UART。这种UART分为两种型号,PL011和MiniUART。MiniUART主要用于Linux控制台,而PL011也可以用于蓝牙应用。两者之间的主要区别在于数据传输的稳定性,MiniUART使用来自核心GPU的频率,可能会导致数据的丢失或损坏。PL011是一种更高级、更稳定的技术,因此在数据传输时更安全。
    • Arduino UART。Arduino是一种微控制器或可编程电路板,使用UART数据传输。虽然与其他技术相比,ArduinoUART在传输数据方面较慢,但易于使用,并且可以在网上找到很多教程和资源,因此成为DIY用户的受欢迎选择。

    UART的工作原理

    UART works by sending data signals (or packets) between two parallel chips which are connected to each other by two wires. These chips are referred to as transferring and receiving UARTs depending on whether they’re sending or collecting the data. 

    Each of these chips is also connected to a data bus within a device that transmits or receives data. As such, the UART protocol works as follows:

    • 首先,发送的UART芯片从数据总线接收信号。数据总线以并行形式将信号发送到芯片中,这意味着芯片中的数据将与总线发送的数据镜像。
    • 一旦接收到数据,发送的UART芯片会在接收到的数据(即数据帧)中增加起始位、奇偶位和停止位,以备传输之用。这些位被表示为1或0。起始位和停止位标记了数据传输的开始和结束,因此对UART数据传输的异步性至关重要。
    • 这就创建了所谓的数据包,包括:
      • 起始位导致电压下降,以启动数据传输过程。
      • 数据帧通常由五到八个数据位组成,是实际传输的内容,即接收数据总线将使用的数据。
      • 奇偶校验位作为数据的质量检查系统。接收的UART将读取此位以确定是否已传输所有数据。如果奇偶校验位为1,则数据帧中表示为1的数据位应为偶数。如果为0,则应为奇数。如果数据与奇偶校验位不匹配,则表示在传输过程中丢失了一些数据。
      • 停止位使电压上升,并标志着数据传输的结束。
    • 准备就绪后,整个数据包以设置的波特率发送到接收UART芯片,从起始位开始,以停止位结束。
    • 接收的UART会删除起始位、停止位和奇偶校验位,保持数据帧不变。
    • 该数据帧以并行方式逐位发送到接收数据总线,完成传输过程。

    如何使用UART

    要使用UART协议,需要通过两根电线将两个UART芯片连接在一起。这些芯片还需要连接到电路板内的各个数据总线。为了成功使用UART,还需要记住以下几点:

    UART芯片
    • 为了确保数据不会损坏或丢失,发送和接收UART芯片中的发送和接收频率(即波特率)应该有至少90%的相似性。这将确保UART传输的数据稳定且安全。
    • UART数据包中的数据帧被限制为最多九位,这可能意味着对于希望进行更复杂通信的用户来说不太适合。
    • 尽管用户可以适应UART协议的并行特性,以便更改数据包结构,但这些系统无法支持多个主从通信模型。

    由于其设置的简单性,UART有许多应用,包括GPS装置、无线连接和内部计算机处理。还有大量关于UART协议的帮助和建议可用,使它们成为创建传输数据的DIY电路板的常用选择。

    如何测试UART

    测试的更好方法是使用脚本评估UART的功能。这些脚本可以在网上轻松找到,并会通过UART运行测试模式,展示数据是否已成功传输。

    还有可以购买的测试程序,用于分析UART的数据传输效率和稳定性。它们运行模拟测试UART的所有领域,并标记其功能中的任何错误。

    相关指南