uart串口通信协议
好的,我们来用中文详细解释一下 UART (Universal Asynchronous Receiver/Transmitter) 串口通信协议。
核心概念:它是一种常用的、简单的、低成本的、异步的串行通信协议。
可以把它拆解开来理解:
-
串行 (Serial):
- 数据是一位一位(比特,bit)地进行传输的。
- 只需要两根信号线(通常):一根用于发送数据 (Tx - Transmit),一根用于接收数据 (Rx - Receive)。(如果包含硬件流控,会有额外的 RTS/CTS 线)。
- 相对于并行通信(同时传输多个位,需要更多线),串行通信节省了硬件资源和布线复杂度,尤其适合远距离或资源受限的场合(如单片机)。
-
异步 (Asynchronous):
- 这是 UART 最关键的特性之一。
- 通信双方(发送方和接收方)没有共享的时钟信号(不像 SPI 或 I2C 有专门的时钟线 SCLK)。
- 双方需要各自独立设置并约定好一个相同的通信速率,这个速率称为波特率 (Baud Rate)(单位:bps,每秒传输的比特数,例如 9600bps, 115200bps)。接收方依靠这个预定义的波特率和数据帧格式来同步并正确地采样每一位数据。
- 数据传输是离散的、不定时的数据包(帧),而不是连续不断的比特流。帧之间有空闲状态 (Idle State) 分隔。
-
通信方式:全双工 (Full Duplex)
- 发送 (Tx) 和接收 (Rx) 使用独立的线路。
- 通信双方可以同时发送数据和接收数据(只要它们各自的收发引脚连接正确)。
-
数据帧格式 (Frame Structure): UART 传输的数据被打包成一个个标准的“数据帧”。一个典型的 UART 帧包含以下部分(按传输顺序):
- 起始位 (Start Bit):
- 1 位,逻辑低电平 (0)。
- 标志着一个数据帧的开始,通知接收方“后面要开始传数据了”。
- 数据位 (Data Bits):
- 通常是 5, 6, 7 或 8 位(最常见的是 8 位)。
- 包含实际要传输的数据内容。
- 传输顺序是从最低有效位 (LSB - Least Significant Bit) 开始。
- 校验位 (Parity Bit):
- 可选,1 位(或无)。
- 用于简单的错误检测(奇偶校验)。
- 奇校验 (Odd Parity):数据位 + 校验位中
1的总个数为奇数。 - 偶校验 (Even Parity):数据位 + 校验位中
1的总个数为偶数。 - 无校验 (None):不传输校验位。(最常见)。
- 停止位 (Stop Bit(s)):
- 1 位、1.5 位 或 2 位(最常见的是 1 位)。
- 逻辑高电平 (1)。
- 标志着一个数据帧的结束。
- 确保接收方有足够时间处理当前帧并为接收下一帧做准备,同时将线路拉回空闲状态(高电平)。
帧示例 (8-N-1): 最常见配置:8位数据,无校验,1位停止位。
空闲态(高) -> 起始位(低) -> D0(LSB) -> D1 -> D2 -> D3 -> D4 -> D5 -> D6 -> D7(MSB) -> 停止位(高) -> ...下一帧或空闲... - 起始位 (Start Bit):
-
关键参数配置: 通信双方必须严格一致地配置以下参数才能成功通信:
- 波特率 (Baud Rate):决定每秒传输多少位(包括起始位、数据位、校验位、停止位)。常见值:1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 等。必须完全相同!
- 数据位 (Data Bits):5, 6, 7, 8。必须相同!
- 校验位 (Parity):无 (None),奇 (Odd),偶 (Even)。必须相同!
- 停止位 (Stop Bits):1, 1.5, 2。必须相同!
-
电平标准:
- 原始 UART 协议本身只定义了逻辑电平(0 和 1)以及帧格式。
- 实际应用中,这些逻辑
0和1需要转换成物理电压电平才能在导线中传输:- TTL/CMOS UART (最常见于单片机、模块间通信):
- 逻辑
0:接近0V(如 0V - 0.8V)。 - 逻辑
1:接近芯片供电电压Vcc(如 3.3V, 5V)。 - 特点: 电压低(易受干扰),传输距离短(通常 < 1米),接口电平与芯片供电相关。
- 逻辑
- RS-232 (经典串口 / COM口):
- 逻辑
0:+3V~+15V(称为Space或ON)。 - 逻辑
1:-3V~-15V(称为Mark或OFF)。 - 特点: 电压高(抗干扰能力强),传输距离较长(几十米),需要专门的 RS-232 电平转换芯片(如 MAX232)。
- 逻辑
- RS-422 / RS-485:
- 使用差分信号(两条线传输互补信号)。
- 抗干扰能力极强,传输距离远(可达千米),支持总线拓扑(多设备)。常用于工业环境。也需要专门的转换芯片。
- TTL/CMOS UART (最常见于单片机、模块间通信):
-
优点:
- 简单: 协议简单,易于理解和实现。
- 低成本: 硬件电路简单,资源占用少(尤其软件模拟 UART)。
- 通用: 应用极其广泛,是微控制器、模块(蓝牙/WiFi/GPS)、传感器、调试接口(Console)的标配。
- 全双工: 可同时收发。
-
缺点:
- 没有时钟同步: 依赖精确的波特率匹配,时钟偏差会导致采样错误。
- 没有寻址机制: 点对点通信(两个设备间)。
- 没有冲突检测: 多点通信(如 RS-485)需要软件层面处理冲突。
- 没有硬件错误纠正: 仅依赖可选的低效奇偶校验(或无校验)。
- 距离/速率限制: 原始 TTL UART 距离短;高波特率下长距离传输不稳定(容易出错)。
- 帧格式固定开销: 起始位、停止位增加了冗余(例如 8-N-1 帧中,10 位传输中只有 8 位是有效数据,开销 20%)。
-
典型应用场景:
- 微控制器 (MCU) 与电脑通信(通过 USB-TTL 转换器)。
- 微控制器 (MCU) 与蓝牙/WiFi/GPS/GPRS/GSM 模块通信。
- 微控制器 (MCU) 与各种传感器、显示器(如早期 LCD)通信。
- 设备调试信息输出(Console)。
- 老旧的计算机外设(通过 RS-232 COM 口)。
- 工业控制系统现场设备通信(通过 RS-422/RS-485)。
总结:
UART 是一种串行、异步、基于预定义帧格式(起始位+数据位+校验位+停止位) 的通信协议。它只需要两根数据线(Tx, Rx),实现简单且成本低,是嵌入式系统和设备间通信的基石。成功通信的关键在于通信双方必须严格一致地配置波特率、数据位长度、校验方式和停止位长度。实际传输时需要根据应用场景选择合适的电平标准(TTL, RS-232, RS-485 等)。
你可以把它想象成两个人用摩尔斯电码(约定好的波特率代表敲击速度)在一条线上轮流说话(全双工),每句话以一个特定的“开始敲击”(起始位)开头,以一个特定的“结束敲击”(停止位)结束,并且双方都要知道一句话有几个字母(数据位),以及要不要检查一下字母有没有敲错(校验位)。
简单认识UART通信协议
UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)通信协议是一种常见的串行通信协议
2024-07-25 18:07:32
基于STM32之UART串口通信协议(一)详解
开发板来举例讲解(其他STM32系列芯片大多数都可以按照这些步骤来操作的),如有不足请多多指教。2、UART简介 嵌入式开发中,UART串口
资料下载
李艳
2021-11-30 14:36:06
STM32的几种串口通信协议资料下载
电子发烧友网为你提供STM32的几种串口通信协议资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助到广大的电子工程师们。
资料下载
佚名
2021-04-21 08:46:28
简单认识UART串行通信协议
在电子通信领域,UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)是一种非常常见的串行通信
2024-05-27 16:09:53
UART串口通信协议是什么?
UART (Universal Asynchronous Receiver/Transmitter) 是一种通信接口协议,用于实现
2024-03-19 17:26:10
讨论使用UART通信协议的基本原则
UART,即通用异步接收器/发送器,是最常用的设备间通信协议之一,正确配置后,UART可以配合许多不同类型的涉及发送和接收串行数据的串行
2023-02-01 17:54:37
UART通信协议的相关资料推荐
开发板来举例讲解(其他STM32系列芯片大多数都可以按照这些步骤来操作的),如有不足请多多指教。2、UART简介 嵌入式开发中,UART串口
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- dtmb信号覆盖城市查询
- EDA是什么?有什么作用?
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- amoled屏幕和oled区别
- 单片机和嵌入式的区别是什么
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机
- 元宇宙概念龙头股一览