通过分析波形,透彻理解 UART 通信

UART是一种异步全双工串行通信协议,由 Tx 和 Rx 两根数据线组成,因为没有参考时钟信号,所以通信的双方必须约定串口波特率数据位宽奇偶校验位停止位等配置参数,从而按照相同的速率进行通信。

异步通信以一个字符为传输单位,通信中两个字符间的时间间隔多少是不固定的,然而在同一个字符中的两个相邻位间的时间间隔是固定的。当波特率为 9600bps 时,传输一个 bit 的时间间隔大约为 104.16us;波特率为 115200bps 时,传输一个bit的时间间隔大约为 8us。

图片

数据传送速率用波特率来表示,即每秒钟传送的二进制位数。例如数据传送速率为120字符/秒,而每一个字符为10位(1个起始位,7个数据位,1个校验位,1个结束位),则其传送的波特率为10×120=1200字符/秒=1200波特。

数据通信时序图:

图片

其中各位的意义如下: 

起始位:先发出一个逻辑”0”信号,表示传输字符的开始;

数据位:可以是5~8位逻辑”0”或”1”;如ASCII码(7位),扩展BCD码(8位);小端传输,即LSB先发,MSB后发;

校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验);

停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平(用于双方同步,停止位时间间隔越长,容错能力越强);

空闲位:处于逻辑“1”状态,表示当前线路上没有数据传送;

注:异步通信是按字符传输的,接收设备在收到起始信号之后只要在一个字符的传输时间内能和发送设备保持同步就能正确接收。下一个字符起始位的到来又使同步重新校准(依靠检测起始位来实现发送与接收方的时钟自同步的)。
 

图片

↑图-1 起始位和停止位

图片

↑图-2 数据位
 

图片

↑传输“A”

上图是 uart 协议传输一个”A” 字符通过示波器的uart解码而得到的波形示意图。根据此图来介绍一下 uart 的一些基本参数。 
波特率:此参数容易和比特率混淆,其实他们是有区别的。但是我认为 uart 中的波特率就可以认为是比特率,即每秒传输的位数(bit)。一般选波特率都会有9600、19200、115200 等选项。其实意思就是每秒传输这么多个比特位数(bit)。 
起始位:先发出一个逻辑”0”的信号,表示传输数据的开始。 
数据位:可以选择的值有 5,6,7,8 这四个值,可以传输这么多个值为 0 或者 1 的bit位。这个参数最好为8,因为如果此值为其他的值时当你传输的是 ASCII 值时一般解析肯定会出问题。理由很简单,一个ASCII字符值为8位,如果一帧的数据位为7,那么还有一位就是不确定的值,这样就会出错。 
校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验数据传送的正确性。就比如传输 “A”(01000001) 为例。 
1、当为奇数校验:”A”字符的8个bit位中有两个1,那么奇偶校验位为1才能满足1的个数为奇数(奇校验)。图-1的波形就是这种情况。 
2、当为偶数校验:”A”字符的8个bit位中有两个1,那么奇偶校验位为0才能满足1的个数为偶数(偶校验)。 
此位还可以去除,即不需要奇偶校验位。 
停止位:它是一帧数据的结束标志。可以是 1bit、1.5bit、2bit 的空闲电平。可能大家会觉得很奇怪,怎么会有1.5位~没错,确实有的。所以我在生成此 uart 信号时用两个波形点来表示一个bit。这个可以不必深究。。。 
空闲位:没有数据传输时线路上的电平状态。为逻辑 1。 
传输方向:即数据是从高位(MSB)开始传输还是从低位(LSB)开始传输。比如传输 “A” 如果是 MSB 那么就是 01000001(如图-2),如果是 LSB 那么就是10000010(如下图的图-4) 
uart 传输数据的顺序就是:刚开始传输一个起始位,接着传输数据位,接着传输校验位(可不需要此位),最后传输停止位。这样一帧的数据就传输完了。接下来接着像这样一直传送。在这里还要说一个参数。 
帧间隔:即传送数据的帧与帧之间的间隔大小,可以以位为计量也可以用时间(知道波特率那么位数和时间可以换算)。比如传送”A”完后,这为一帧数据,再传”B”,那么A与B之间的间隔即为帧间隔。 

图片

 ↑图-3

图片

 ↑图-4

上两图和下两图传送的数据和波特率都是一样的,但是有几个参数是故意设置反了从而形成对比。有助于更深入的理解UART。 

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/200946.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

远程访问:Windows设备管理器远程访问

设备管理器是一个应用程序,它包含与计算机耦合的硬件的完整概述,远程设备管理器允许管理员访问远程计算机的设备管理器,而无需远程访问桌面。 为什么需要远程设备管理器 IT环境充斥着数量众多的电脑和笔记本电脑,对于管理员来说…

Abaqus飞机起落架扭力臂拓扑优化

Abaqus飞机起落架扭力臂拓扑优化 Abaqus除了可以对结构进行强度分析,同样也自带强大的优化功能,下面通过一个简 单的实例演示在Abaqus中进行拓扑优化,另外,如果需要更加强大的拓扑优化仿真,可以 在TOSCA中进行。 定义接…

30岁的测试人?软件测试“内卷“?“我“该如何冲出破圈...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、软件测试的内卷…

怎么样的软件测试工程师才算“大神”?

📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢交流讨论:欢迎加入我们一起学习!📢资源分享:耗时200小时精选的「软件测试」资…

数据集笔记 :PEMS-BAY

数据地址:DCRNN - Google 云端硬盘 各station 位置:DCRNN/data/sensor_graph/graph_sensor_locations_bay.csv at master liyaguang/DCRNN (github.com) 1 读取 数据 import h5py fileDownloads/pems-bay.h5fh5py.File(file,r) f.keys()f[speed] #&…

Linux系统iptables

目录 一. 防火墙简介 1. 防火墙定义 2. 防火墙分类 ①. 网络层防火墙 ②. 应用层防火墙 二. iptables 1. iptables定义 2. iptables组成 ①. 规则表 ②. 规则链 3. iptables格式 ①. 管理选项 ②. 匹配条件 ③. 控制类型 四. 案例说明 1. 查看规则表 2. 增加新…

事务基础知识

文章目录 1. 事务的ACID2. 事务隔离级别2.1 数据并发问题2.2 MySQL中的四种隔离级别 1. 事务的ACID 原子性(atomicity): 原子性是指事务是一个不可分割的工作单位,要么全部提交,要么全部失败回滚。一致性(…

专业的调查问卷平台推荐:提升数据收集与分析效率

无论是学生还是职场人士,想做好一份调查问卷,关键先要确定调查的主题,然后确定调查人群,编辑问题,最后能够尽可能的美化问卷调查的主题。 想要做到这几点,就要要求问卷调查平台: 1、能够帮助你快速制作出一…

初学者如何理解​session、cookie、token的区别与联系?

session、cookie、token。 相信学过接口的朋友都特别熟悉了。 但是对我一个刚接触接口测试的小白来说,属实有点分不清楚。 下文就是我通过查阅各种资料总结出来的一点理解,不准确的地方还请各位指正。 (文末送洗浴中心流程指南&#xff09…

面试题:说一下MyBatis动态代理原理?

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1.MyBatis简介2.使用步骤2.1、引入依赖2.2、配置文件2.3、接口定义2.4、加载执行 3.原理解析 1.MyBatis简介 MyBatis是一个ORM工具,封装了JDBC的操作&a…

大数据机房迁移该按照什么步骤进行 |数据中心

前言: 机房搬迁不仅仅是把机房的设备迁移到新机房那么简单,而是要求网络系统的迁移和集中存储系统的迁移必须安全平稳,不能过长时间影响生产应用。表面上就是几个IT 民工的搬运,但实际是一项目高度集中的体力与脑力的综合项目。现…

SUKER书客领跑百亿台灯行业发展,用实力树立护眼台灯国货典范

随着近年人们生活水平不断提高,许多人经过疫情后也更加关注生活健康,护眼台灯市场规模也在进一步扩大。因为市场有着广阔的空间,为此吸引了不少企业品牌入局,这也导致行业在近年内野蛮生长,“产品质量不符”、“不符安…

燃料电池汽车市场分析:预计2028年将达到118亿美元

燃料电池汽车( FCV) 是一种用车载燃料电池装置产生的电力作为动力的汽车。车载燃料电池装置所使用的燃料为高纯度氢气或含氢燃料经重整所得到的高含氢重整气。与通常的电动汽车比较, 其动力方面的不同在于FCV 用的电力来自车载燃料电池装置, 电动汽车所用的电力来自由电网充电的…

教你用AI做艺术字,2个月,在小红书接广赚7200元

有段时间没给大家拆账号和完整地上教程了!今天就来安排~如何用AI写艺术字,并且在小红薯实现商单BIANXIAN的系统教程.账号很多,我就拿这个AI艺术字搭配治愈系文案来展示下,这个比较有意思,艺术字治愈文案,视…

双指针算法(题目与答案讲解)

文章目录 题目移动零复写零两数之和N数之和(>2个数) 答案讲解移动零复写零两数之和N数之和 题目 力扣 移动零 1、移动零:题目链接 复写零 2、复写零:题目链接 两数之和 3、两数之和题目链接 N数之和(>2个数) 4、N数之和(三个数、四个数) 三个数:题目链接 四个数题目链接…

TDI网络过滤驱动应用(一)

文章目录 TDI网络过滤驱动应用1. 技术概览2. 数据包的抓取3. 应用实例3.1 TrafficShaper(限流)3.2 DnsRedirector(DNS重定向)3.3 TcpRedirector(TCP重定向) 4. 总结与参考 TDI网络过滤驱动应用 在前面的文章中,我们分析了TDI网络过滤驱动的基本开发框架以及TDI网络…

计算机视觉:使用dlib实现人脸检测

1 dlib介绍 Dlib是一个广泛使用的开源库,在计算机视觉和机器学习领域具有重要影响。它是由Davis King在2002年开发,主要用C语言编写,但也提供了Python接口。Dlib结合了高效的算法和易用性,使其成为学术界和工业界的热门选择。 1.…

VR特警野外武装仿真虚拟训练实操教学保证训练效果

特警VR模拟仿真训练软件的优势主要体现在以下几个方面: 真实感和沉浸感:通过VR技术,特警可以在虚拟环境中体验真实的训练场景,如人质解救、反恐行动等。这种真实感和沉浸感可以帮助特警更好地理解和适应实际情况,提高训…

香港人均gdp世界排名,和内地相比怎么样?

香港人均gdp世界排名,和内地相比怎么样? 香港作为世界贸易港口,也是中国最发达的城市之一。其经济相比于北上广深而言,都要发达。香港人均收入世界排名第18,人均收入为4.2万美元,在世界各国人均收入排名中处…

【古月居《ros入门21讲》学习笔记】09_订阅者Subscriber的编程实现

目录 说明: 1. 话题模型 图示 说明 2. 实现过程(C) 创建订阅者代码(C) 配置发布者代码编译规则 编译并运行 编译 运行 3. 实现过程(Python) 创建订阅者代码(Python&…
最新文章