登录/注册

uart串口通信 你了解多少?

通用异步收发传输器,通常称作UART。它将要传输的资料在串行通信与并行通信之间加以转换。作为把并行输入信号转成串行输出信号的芯片,UART通常被集成于其他通讯接口的连结上。

更多

好的,我非常了解 UART(通用异步收发传输器)串口通信。它是一种非常基础、古老但仍极其重要广泛应用的串行通信协议。

以下是我对 UART 串口通信的理解(用中文阐述):

  1. 核心概念:异步串行通信

    • 异步: 通信双方(通常是两个设备)没有共享的时钟信号。这意味着发送方和接收方需要事先约定好数据传输的速度(波特率)和格式(数据位、停止位、校验位),依靠这些约定来实现数据的正确识别,而不是靠一根专门的时钟线来同步数据。
    • 串行: 数据位是一个接一个地在单条传输线上顺序发送和接收的(对于双向通信,需要两条线:TX 和 RX)。这与并行通信(同时传输多个位)相反。
  2. 关键特性:

    • 点对点: 通常用于两个设备之间的直接通信。不适合单一发送方驱动多个接收方(虽然技术上可以实现简单的总线,但有冲突风险)。
    • 全双工: 发送和接收可以同时进行(因为有独立的 TX 和 RX 线路)。
    • 简单: 硬件实现相对简单,成本低。这是其经久不衰的重要原因。
    • 灵活: 通信参数(波特率、数据位、校验、停止位)可以配置以适应不同的设备和需求。
    • 可靠性依赖参数匹配: 通信的稳定和正确性完全依赖于通信双方对参数设置(主要是波特率)的严格一致。波特率差异哪怕很小也会导致错误。
  3. 通信帧结构 (每“字节”的传输格式): UART 每次传输一个字节(或一个较小的数据单位),每个字节被包裹在一个“帧”结构中传输:

    • 起始位: 一比特低电平 (0),标志着数据帧的开始,用于同步接收方时钟。
    • 数据位: 通常是 5, 6, 7 或 8 位有效数据(最常见是 8 位,代表一个标准的字节)。数据通常先发送最低有效位 (LSB)。
    • 校验位: 可选的一比特,用于简单的错误检测:
      • 奇校验: 数据位 + 校验位中“1”的总数为奇数
      • 偶校验: 数据位 + 校验位中“1”的总数为偶数
      • 无校验: 没有这一位(现在最常见)。
    • 停止位: 一比特或多比特高电平 (1),标志数据帧的结束,并确保下一个起始位的下降沿能被检测到。通常为 1 或 2 个比特时间长度(最常见是 1 位)。
  4. 核心参数(通信前必须一致):

    • 波特率: 每秒传输的符号数 (Symbols per second)。每个符号代表一个比特 (bit)。例如,波特率 9600 bps 表示每秒传输 9600 个比特(位)。这是最重要的参数!双方必须完全相同。 常见的波特率有 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 bps 等。更高的波特率意味着更快的速度,但对线路和硬件的时序要求也更严格。
    • 数据位: 每个帧中的数据比特数(通常 5-8,最常见 8)。
    • 奇偶校验: 选择奇校验、偶校验或无校验。
    • 停止位: 停止位的长度(通常为 1 或 2 位,最常见 1)。
    • (有时)流控: 可选,用于协调发送方和接收方速度不匹配问题(主要是缓冲区满时暂停对方发送)。
      • 硬件流控: 使用额外的 CTS (Clear To Send) 和 RTS (Request To Send) 信号线。
      • 软件流控: 在数据流中插入特殊控制字符 (XON/XOFF)。现在大部分简单应用中通常不使用流控。
  5. 物理连接:

    • 通常需要至少三条线
      • TX (Transmit): 发送数据线。设备 A 的 TX 连接到设备 B 的 RX。
      • RX (Receive): 接收数据线。设备 A 的 RX 连接到设备 B 的 TX。
      • GND (Ground): 地线。非常重要, 为信号提供共同的参考电平。没有共地,通信通常不稳定或无法工作。
    • 注意:TX 和 RX 是交叉相连的! A 发 (TX) -> B 收 (RX); B 发 (TX) -> A 收 (RX)。
  6. 电平标准 (物理层):

    • UART 协议本身只定义了数据帧的结构和时序逻辑(逻辑 0 和逻辑 1 的含义),没有规定物理线路上电压的高低。
    • 实现 UART 通信需要依靠物理层接口标准。最常见的两种是:
      • TTL/CMOS UART:
        • 逻辑 0:接近 0V (GND)。
        • 逻辑 1:接近电源电压(如 +3.3V 或 +5V)。
        • 常见于微控制器、开发板(如 Arduino、STM32、Raspberry Pi GPIO)内部的 UART 模块或芯片之间。
        • 抗干扰能力弱,传输距离短(通常小于 1 米)。
      • RS-232:
        • 设计用于更长距离、更具抗干扰性(通常小于 15 米)。
        • 使用负逻辑
          • 逻辑 1 (停止位/Mark):负电压 (通常 -3V 至 -15V)。
          • 逻辑 0 (起始位/Space):正电压 (通常 +3V 至 +15V)。
        • 需要专门的 RS-232 收发器芯片(如 MAX232)进行 TTL 电平与 RS-232 电平的转换。传统 PC 的串口(COM 口)就是 RS-232。
      • 其他: 还有其他衍生标准如 RS-422 (差分)、RS-485 (差分,多点) 用于更长距离和复杂环境,它们本质上也携带“UART”格式的数据。
  7. 典型应用场景:

    • 微控制器之间的通信(如 Arduino 与传感器模块)。
    • 微控制器与电脑通信进行调试和数据传输(通过 USB 转 TTL/UART 串口模块)。
    • 与集成串口的设备通信(如 GPS 模块、蓝牙模块(部分 AT 指令使用 UART)、旧式打印机、工业设备)。
    • 嵌入式系统的 Bootloader/固件升级。
    • 早期的鼠标、键盘等外设接口(PS/2 是变种,USB 普及前)。
  8. 优缺点:

    • 优点:
      • 简单易用,实现成本低廉。
      • 成熟稳定,历史悠久,兼容性好。
      • 全双工通信。
    • 缺点:
      • 没有时钟同步,完全依赖波特率严格匹配,对时钟精度有一定要求。
      • 点对点通信,不适合复杂的多节点网络(虽然可以通过 RS-485 扩展)。
      • 速度相对较慢(与 USB, Ethernet, PCIe 等比)。
      • 协议本身没有高级寻址或冲突检测机制(像 I2C/SPI/CAN)。
      • 需要额外物理层标准(如 RS-232)才能达到较长距离和抗干扰性。

总结来说,UART 是一种简单、灵活、成熟的基础串行通信协议,核心在于“异步”传输。理解起始位/数据位/停止位的帧结构、严格匹配波特率、以及 TX/RX 交叉连接和共地原则,是成功使用 UART 的关键。它虽然速度不快也不够先进,但在调试、与简单外设交互、短距离设备间通信等领域依然是不可或缺的工具。

通信技术:UART串口通信开源代码实操!

今天我们分享的是关于UART串口通信示例,欢迎大家探讨

2024-11-05 11:56:39

UART串口通信示例:开启通信宝藏之门的定位模组LuatOS入门

今天我们要讲解的是UART串口通信示例,关于Air201资产定位模组LuatOS入门,我会从搭建环境、代码烧录、示例效果等来细说:

2024-11-03 19:55:28

UART串口通信协议是什么?

UART (Universal Asynchronous Receiver/Transmitter) 是一种通信接口协议,用于实现串口

2024-03-19 17:26:10

单片机IO口模拟UART串口通信

为了让大家充分理解 UART 串口通信的原理,我们先把 P3.0 和 P3.1 当做 IO 口来进行模拟实际

资料下载 386660 2022-02-09 10:25:06

UART串口通讯

UART串口通讯总结前言串口的基本概念串口配置的基本属性

资料下载 万物死 2021-12-20 19:31:34

C51的UART 串口通信

C51的UART 串口通信

资料下载 佚名 2021-11-29 12:21:04

UART串口通信的基本介绍和使用程序资料免费下载

UART串口通信初步认识 51单片机内部存在UART模块,要想正确使用还

资料下载 张强 2019-09-09 17:26:00

使用51单片机进行UART串口通信的程序免费下载

本文档的主要内容详细介绍的是使用51单片机进行UART串口通信的程序免费下载。

资料下载 建立建利12 2019-08-21 17:31:00

什么是串口(UART)?串口的组成和FPGA实现

串口作为常用的三大低速总线(UART、SPI、IIC)之一,在设计众多通信接口和调试时占有重要地位。

2024-01-03 11:43:52

STM32模拟串口(UART)使用

首先我们先添加相应的头文件。既然我们要进行对串口的模拟,因此我们要先了解uart相关的

2023-03-22 15:56:40

了解串口通信USART

开始了解串口通信USART了。UART :通用异步收发传输器,它将要传输

2022-02-10 06:51:21

STM 32 UART串口通信基本原理是什么?

处理器与外部设备通信的通信方式有哪几种?STM32串口异步通信需要定义的

2021-12-15 06:28:58

STM32 UART串口通信的原理是什么

UART串口通信的原理是什么?什么是串行通信?什么是异步

2021-12-10 07:57:33

UART串口通信的相关资料分享

,下面是单片机的UART串口通信原理 UART

2021-11-18 08:50:39

什么是UART串口通信

什么是UART串口通信?

2021-10-08 08:50:50
7天热门专题 换一换
相关标签