UART协议学习

article/2025/9/17 11:53:49

通信协议分层

物理层

物理层规定通讯系统具有的机械、电子功能部分的特性,确保原始数据在物理媒体的传输。如RS232、RS485等就是电气协议,规定了数据传输时的电平标准,网络上许多博主将UART看作一个协议族,这些电气协议都是UART协议实现的方式之一。
根据通讯使用的电平标准不同,UART常见的电平标准为TTL标准、RS-232标准和RS-485,见如下表格:

通讯标准电平标准(发送端)
5V TTL逻辑1:2.4V~5V——逻辑0:0~0.5V
RS-232逻辑1:-15V~3V——逻辑0:+3V~+15V
RS-485逻辑1:+2~+6——逻辑0:-2~-6

RS232和RS485的区别:

  • 传输方式不同。RS232采用不平衡传输方式,即所谓单端通讯。RS485采用平衡传输,即差分传输方式。
  • 传输距离不同。RS232最大通信距离20m,RS485最大通信距离可达3000m。
  • RS232只允许一对一通信,RS485可以一对多通讯。RS485总线上最多允许128个接收器。
  • 安全性与兼容性。RS232在发送数据时,发送端驱动器输出正电平在+5~+15V,负电平在-5~-15V电平。当无数据传输时,线上为TTL,从开始传送数据到结束,线上电平从TTL电平到RS-232电平再返回TTL电平。 RS485接口信号电平比RS-232降低了,就不易损坏接口电路的芯片, 且该电平与ttl电平兼容,可方便与ttl 电路连接。
  • RS232为全双工通信,RS485为半双工通信(RS422为全双工)。

协议层

协议层主要规定通讯逻辑,统一收发双方的数据打包、解包标准。
UART的数据包由发送设备通过自身的TXD接口传输到接收设备的RXD接口。在串口通讯的协议层中,规定了数据包的内容,它由起始位、主体数据、校验位以及停止位组成,通讯双方的数据包格式要约定一致才能正常收发数据。

一、数据格式

在这里插入图片描述

1.波特率

USART的全称是同用同步异步收发器,每个字母都有它对应的含义;异步通信两个通讯设备之间需要约定好波特率,即每个码元的长度,以便对信号进行解码。常见的波特率有4800、9600、115200等。

2.起始位

起始位为0

  • 通讯线在空闲状态时保持高电平,因此出现下降沿即判定为数据传输开始;
  • 另外因为数据位定长,且起始位在一次接收中只判定一次,所以不用担心数据位中的0错误识别成起始位。
3.数据位

数据位可以是5/6/7/8位,传输时低位在前、高位在后。

4.奇偶校验位

校验位可以省略,当需要校验位时:

  • 奇偶校验位为1或0;
  • 奇校验时,数据位、校验位中1的个数,应该是奇数;
  • 偶校验时,数据位、校验位中1的个数应该是偶数。
5.停止位

停止位为1。

  • 停止位可以是1位的长度、1.5位的长度、2位的长度(位数的本质含义是信号出现的时间,故有分数位);
  • 另外。由于数据位定长,所以停止位位置固定可知,接收时只需判定停止位是否为1即可。

二、通信制式

1.单工

数据仅能沿一个方向传输,不能实现反向传输(只能A->B,不能B->A)。

2.半双工

数据可以沿两个方向传输,但同一时刻,只能接收和发送。

3.全双工

全双工数据可以沿两个方向传输,且可以同时进行。

三、通信速率

  • 串口通讯的速率用波特率表示,定义为每秒传输二进制码的位数,单位是bps(位/秒);
  • 以9600bps为例,假设一个字符帧共有10位(1起始位、8位数据、1位结束),那么每秒能传输的最大字符数为“9600/10=960”;
  • 最大传输距离,与波特率成反比关系(9600bps,最大传输距离约为7600m)。

原文链接:https://blog.csdn.net/weixin_43621326/article/details/88760049
https://blog.csdn.net/Chen_qi_hai/article/details/96473076


http://chatgpt.dhexx.cn/article/qWl4nBGA.shtml

相关文章

c语言模拟uart协议的收发

这篇文章注重思想的讲解,理解下来肯定对uart协议有一个更深的认识。 uart协议,通常用在嵌入式设备之间的通信。像下面这样: 问题一:uart是全双工还是半双工? 你完全可以将两个设备想象成两个人,上图中的两条线想象成A和B的对话。A对B说话和B对A说话的一个场景。问大家一个问题…

UART协议详解

通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART。 定义:UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用于主…

Linux·UART协议

目录 一、什么是UART? 二、UART的帧格式 2.1 为什么UART的传输需要起始位? 2.2 UART基本的数据形式 2.3 为什么UART的数据位可变? 三、UART的波特率 3.1 什么是波特率 3.2 如何换算波特率 3.3 波特率和采样频率是一样的吗&#xff1f…

通信协议(一)——UART协议

1、知识点 基础部分参考:UART串口发送模块设计Verilog_发光中请勿扰的博客-CSDN博客_uart设计verilog (1)什么是串口(UART)? 串口作为常用的三大低速总线(UART、SPI、IIC)之一&#…

uart协议学习,从了解到入门,看这篇文章

uart协议从了解到入门 背景知识介绍:1、并行和串行的意思:2、串转并和并转串传输:3、单工、半双工、全双工区别: uart协议介绍1、uart简介2、uart通信3、uart工作原理 uart的优缺点 背景知识介绍: 1、并行和串行的意思…

FPGA实现uart协议

简介 使用verilog实现uart协议,能够和pc进行通信,实现串口回环功能,各参数设置如下: 波特率:115200数据位:8停止位:任意校验位:无 系统时钟为50M,115200波特率下&…

协议篇之UART协议

协议篇之UART协议 一、写在前面二、UART协议简介三、UART协议数据帧结构3.1 UART发送过程3.2 UART接收过程3.3 UART传输速率 四、UART收发模块设计4.1 UART接收模块设计4.2 UART发送模块设计4.3 UART回环顶层模块4.4 UART回环上板验证 五、写在最后 一、写在前面 由于设计需要&…

UART通信协议

UART通信协议 UART ( universal asynchronous receiver-transmitter)是一种采用异步串行通信方式的通用异步收发传输器;它在发送数据时将并行数据转换成串行数据来传输,在接收数据时将接收到的串行数据转换成并行数据。UART串口通信需要两根信号线来实现…

UART协议讲解

UART协议讲解 一、什么是UART协议二、通信方式的分类1、串行通信(一)、同步通信和异步通信(二)、单工和半双工以及全双工 2、并行通信 三、UART协议具体介绍1、UART数据传输的格式2、UART电平标准 三、UART的优缺点四、参考 一、什…

【数字IC】深入浅出理解UART协议

深入浅出理解UART协议 一、什么是UART?二、UART的帧格式2.1 为什么UART的传输需要起始位?2.2 UART基本的数据形式2.3 为什么UART的数据位可变? 三、UART的波特率3.1 什么是波特率3.2 如何换算波特率3.3 波特率和采样频率是一样的吗&#xff1…

最详细的 UART协议 分析在这里!

1. 协议基础 1.1. 协议简介 UART是“Universal Asynchronous Receiver/Transmitter”,通用异步收发器的缩写。在19世纪60年代,为了解决计算机和电传打字机通信,Bell发明了UART协议,将并行输入信号转换成串行输出信号。因为U…

UART协议

UART协议 简介 UART是通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART,是一种异步收发传输器,是设备间进行异步通信的关键模块。UART负责处理数据总线和串行口之间的串/并、并/串转换,并规定了帧…

【云域网络社区】云域网络社区APP

【软件名称】云域社区 【功能介绍】资源分享,游戏交流交友 【下载地址】http://sss.shmmec.com/apk.apk 图片

怎么划分领域、子域、核心域、通用域和支撑域

怎么划分领域、子域、核心域、通用域和支撑域 如何理解领域和子域?什么是领域什么是子域怎么划分领域和子域如何理解核心域、通用域和支撑域?为什么要划分核心域、通用域和支撑域 总结 DDD 的知识体系提出了很多的名词,像:领域、子…

网络安全-域服务器(二)

域服务器: 域服务器(一):网络安全-域(一)_IT之一小佬的博客-CSDN博客域服务器(二):网络安全-域服务器(二)_IT之一小佬的博客-CSDN博客 域 11.O…

网课管理系统

开发工具(eclipse/idea/vscode等): 数据库(sqlite/mysql/sqlserver等): 功能模块(请用文字描述,至少200字): 3. 功能简介 用户中心 1.1用户注册:用户需要注册才能登陆进入web 1.2用户登录:通过判断匹配来进…

如何搭建域服务器

实验名称:如何搭建域服务器 实验环境:wind2003*2 实验过程: 由于Windows Server 2003在默认的安装过程中DNS是不被安装的,所以我们需要手动去添加, 添加方法如下:“开始—设置—控制面板—添加删除程序”&#xff…

搭建域环境(win)

目录 常见域环境是用:win2012 win7 win2003 本blog环境:Windows Server 2012 R2 and Win2008 1.Window Server 2012 R2 服务器配置 1)变更计算机名DC(用于存储活动目录数据库的计算机) 2)设置服务器…

网络教学管理系统

1、项目介绍 网络教学管理系统拥有三种角色 管理员:专业管理、班级管理、学生教师管理、公告管理、留言板管理、学习资料管理、教学视频管理、试题管理等 教师:系统留言、发布作业等 学生:可以查看作业视频、登录注册、下载作业资料等 2、…

域控-笔记二(域权限,域组,域管理,Kerberso 协议)

文章目录 一. 域环境搭建1.1 添加AD功能1.2 安装1.3 部署 二. 如何加入域2.1 加入域2.2 域中主机登录2.3 退出域2.4 添加域用户 三. 域权限3.1 A-G-DL-P策略3.2 组几个比较重要的域本地组几个比较重要的全局组、通用组的权限 四. 域管理4.1 域用户账户的管理4.2 组的管理4.3 组…