UART 通信协议

一 简介

​ UART (Universal Asynchronous Receiver/Transmitter),通用异步收发器,是一种串行、异步、全双工通信协议。

  • 串行:利用一条传输线,将数据一位一位地传送
  • 异步:不需要时钟信号进行数据同步,而是直接在数据信号中插入一些同步用地信号位,或者把主体数据进行打包,以数据帧的格式传输数据(存在一定的格式,接收端需要解数据帧得到主体数据,本质上还是插入信号位)
  • 全双工:数据的传输可以同时进行,与半双工的本质区别在是半双工通信双方共用一条线路,所以需要分时复用,但是全双工是两条线,一条作为发送一条作为接收。

二 电平标准

​ uart 使用标准的 TTL/CMOS 逻辑电平表示数据,1 表示高电平,0 表示低电平。为了提高抗干扰能力、传输距离,通常会将 TTL/CMOS 逻辑电平转换为 RS232/RS485 逻辑电平

通信接口电平标准特点
TTL逻辑1:2.4 V ~ 5 V
逻辑0:0 V ~ 0.4 V
无需额外电路,直接引脚直连
RS232逻辑1:-3 V ~ -15 V
逻辑0:3 V ~ 15 V
需要电平转换电路,传输距离最大约 15 米
RS422/RS485逻辑1:两线压差 2 V ~ 6 V
逻辑0:两线压差 -2 V ~ -6 V
需要电平转换电路,传输距离大约 1200 米

三 引脚定义

UART 串口通信有 4 个引脚,

名称介绍
TX发送数据引脚
RX接收数据引脚
VCC供电引脚,一般是 3.3 V
GND参考地,通信双方需工地

四 数据格式

​ 在 uart 中,数据以包的形式传输,应用层将数据发给 uart 控制器后,uart 控制器会将数据封装成如下格式的包 在这里插入图片描述

  • 起始位:空闲时,TX 线通常保持高电平。当要开始数据传输时,UART 控制器会将 TX 这条线从高电平拉为低电平,并保持一定的时间用于让接收方感知到。当接收方感受到后,开始以指定波特率对应的频率采样信号

  • 数据位:数据长度可以是 5 位到 8 位。如果不使用奇偶校验位,数据帧长度可以为 9 位。多数情况下,数据以最低有效位优先方式发送

  • 校验位:用于表示主体数据中 1 的个数是奇数个还是偶数个。通过奇偶校验,判断 uart 传输期间是否有数据发送改变。电磁辐射、不一致的波特率或长距离数据传输都可能改变数据位。也可以不插入校验位。

  • 停止位:表示数据包的结束,可以是 1 位、1.5 位、2 位的高电平,同时提供了通信双方校正时钟的机会。

五 波特率

​ UART 不需要时钟信号进行数据同步,也就是说不需要时钟线,那接收方如何接收数据呢?双方事先规定好每两个 bit 之间的时间间隔,双方控制器根据这个时间间隔对数据线进行采样。数据传输速率使用波特率来表示,单位 bps(bits per second),常见的波特率9600bps,115200bps 等。

  • 16
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值