串行通信的艺术:深入解析UART与奇偶校验

在这里插入图片描述

发送数据位是电流传输吗?

在UART(Universal Asynchronous Receiver/Transmitter)通信中,发送数据位不直接以电流的形式传输。而是通过改变电压水平或者光信号(在光纤通信中)来表示不同的数据位(0或1)。这种变化通常是相对于共同的地线(GND)来测量的。在电气接口中,比如RS-232,一个特定的电压范围代表一个逻辑“0”(通常是正电压),而另一个范围代表逻辑“1”(通常是负电压)。

电压表示数据位

在大多数MCU的UART通信中,数据位的传输是通过电压的变化来实现的:

  • 逻辑“0”(空闲状态):通常表示较高的电压水平。
  • 逻辑“1”:通常表示较低的电压水平,或者在某些标准中,如TTL逻辑,逻辑“1”是高电压,而逻辑“0”是低电压。

电流传输

尽管在标准UART通信中数据位的表示是基于电压变化的,但在某些特殊应用或标准中,如电流环(Current Loop)通信,数据确实是通过电流的变化来传输的。在这样的系统中,逻辑状态由电流的有无或电流的不同级别来表示,而不是电压的变化。

结论

所以,虽然标准的UART通信主要依靠电压变化来传输数据位,但理论上数据传输可以通过电流、电压、光或其他物理媒介的变化来实现,具体取决于所使用的物理层协议和硬件接口的设计。在大多数情况下,当我们讨论MCU和UART时,我们是在讨论基于电压变化的数据传输。

电压变化就是发送方电压变化,一根线上的接收方测量到电压变化吗?

是的,您的理解是正确的。在UART通信中,电压变化确实是由发送方(transmitter)产生的,而接收方(receiver)则通过测量一根线上的电压变化来检测数据。这种电压变化代表了不同的数据位——逻辑“0”和逻辑“1”。

如何工作:

  • 发送方:在UART通信协议中,发送方通过改变其输出引脚上的电压来发送数据。例如,在逻辑“1”的情况下,发送方可能会将电压保持在高电平(例如+5V或+3.3V,取决于系统的电压标准),而在逻辑“0”的情况下,它会将电压降到低电平(例如0V)。

  • 接收方:接收方的任务是监测这条连接两者的线(TX到RX)上的电压变化,并根据电压的高低来判断发送方传输的是逻辑“1”还是逻辑“0”。接收方的电路设计使其能够灵敏地检测这些变化,并将它们转换回数字信号(数据位)。

通信过程:

  1. 起始位:每次数据传输开始时,发送方首先将线路电压从空闲状态(通常是高电压)拉低到低电压,标志着起始位的开始。

  2. 数据位:随后,发送方按照设定的波特率依次发送数据位,每个位持续相同的时间间隔。接收方同步地采样这个线上的电压,以确定每个时间点的电压级别是高是低,从而得知是逻辑“1”还是逻辑“0”。

  3. 停止位和可选的奇偶校验位:数据位之后,发送方会发送停止位,通常将电压恢复到高电平,标志着一帧数据的结束。有时还会加入奇偶校验位来检测数据传输过程中的错误。

通过这种方式,UART通信允许两个设备在没有共享时钟信号的情况下,通过电压变化在一根线上可靠地传输数据。这种简单但有效的机制使得UART成为了微控制器、计算机和许多其他电子设备之间通信的一种流行方式。

奇偶校验如何发送

在UART(通用异步接收/发送)通信中,奇偶校验是一种错误检测机制,用来检查数据在传输过程中是否发生了变化或错误。奇偶校验位会添加到数据帧的末尾(在数据位之后、停止位之前),用以表示数据位中“1”的总数是奇数还是偶数,具体取决于是使用奇校验还是偶校验。

奇偶校验位的发送方式:

  1. 偶校验(Even Parity):在偶校验模式下,奇偶校验位的设置是使得包含校验位在内的整个数据帧中“1”的总数为偶数。如果数据位中“1”的数量已经是偶数,则校验位设置为0;如果“1”的数量是奇数,则校验位设置为1,以确保整个帧中“1”的总数为偶数。

  2. 奇校验(Odd Parity):在奇校验模式下,奇偶校验位的设置是使得包含校验位在内的整个数据帧中“1”的总数为奇数。如果数据位中“1”的数量已经是奇数,则校验位设置为0;如果“1”的数量是偶数,则校验位设置为1,以确保整个帧中“1”的总数为奇数。

发送过程:

  • 发送方根据设置的校验模式(奇校验或偶校验)计算数据位中“1”的数量。
  • 然后,根据“1”的总数是奇数还是偶数,确定奇偶校验位的值。
  • 接下来,发送方在发送数据位后发送这个校验位。
  • 最后,发送方发送停止位,标记数据帧的结束。

接收过程:

  • 接收方接收数据帧,包括数据位和校验位。
  • 接收方重新计算接收到的数据位中“1”的总数,并考虑校验位,以验证数据帧是否符合预期的奇偶性。
  • 如果接收到的数据帧的奇偶性与预期不符,接收方可以判断在传输过程中可能发生了错误。

使用奇偶校验可以提高通信的可靠性,尤其是在错误更可能发生的环境中。然而,需要注意的是,奇偶校验只能检测到奇数位的错误(例如,一个位错误或三个位错误),对于偶数位的错误(如两个位或四个位错误)则无法检测。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UART通信中的奇偶校验

UART通信中的奇偶校验:提升数据传输可靠性的简单方法 在微控制器(MCU)和各种电子设备之间的数据通信领域,UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)协议是一种广泛…

qt“五彩斑斓“ opengl

本篇文章我们来描述一下opengl相关知识 我们先看一下opengl渲染的效果 很漂亮? 那下面就来介绍一下这么漂亮的opengl OpenGL(Open Graphics Library)是一个跨平台的图形编程接口,用于渲染2D和3D图形。它提供了一系列函数和数据结…

【AI视野·今日Robot 机器人论文速览 第七十八期】Wed, 17 Jan 2024

AI视野今日CS.Robotics 机器人学论文速览 Wed, 17 Jan 2024 Totally 49 papers 👉上期速览✈更多精彩请移步主页 Daily Robotics Papers Safe Mission-Level Path Planning for Exploration of Lunar Shadowed Regions by a Solar-Powered Rover Authors Olivier L…

宋小黑的生财知识资料库第1012期

大家好,我是小黑,在当前经济和职场环境中,拥有一份副业已经成为很多人增加财务安全感和提升个人能力的重要手段。通过投身于副业,你不仅可以为自己创造一个额外的收入来源,减少对主职工作的经济依赖,还可以…

心法利器[107] onnx和tensorRT的bert加速方案记录

心法利器 本栏目主要和大家一起讨论近期自己学习的心得和体会,与大家一起成长。具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有。 2023年新一版的文章合集已经发布,获取方式看这里:又添十万字-CS的陋室2…

山西电力市场日前价格预测【2024-02-10】

日前价格预测 预测说明: 如上图所示,预测明日(2024-02-10)山西电力市场全天平均日前电价为126.73元/MWh。其中,最高日前电价为302.95元/MWh,预计出现在08:15。最低日前电价为0.00元/MWh,预计出…

jmeter遇到连接数据库的问题

jmeter连接mysql或者oracle简单,但是连接过inceptor吗? 上货 1、下载驱动inceptor 5.1.2.jar包 2、在添加驱动那里导入 3、在JBC request中的写法 PS:没什么可说的

ZISUOJ 2022年算法基础公选课练习四(Map)

说明: 博主为了提早预习数据结构和C的一些知识,自己琢磨外加查阅资料所写的代码,题目来源于22年初的学院老师组织的算法基础公选课的练习。我的代码甚至思路肯定存在许多不足和错误,欢迎大家批评指正。 题目列表: 问题…

【C++】类和对象(四)

前言:在类和对象中,我们走过了十分漫长的道路,今天我们将进一步学习类和对象,类和对象这块荆棘地很长,各位一起加油呀。 💖 博主CSDN主页:卫卫卫的个人主页 💞 👉 专栏分类:高质量&a…

旋转位置编码原理及代码

旋转位置编码原理及代码 旋转位置编码 RoPE(Rotary Positional Encoding)当位置发生偏移时,只需要旋转角度外推性,指大模型输入长度超过预训练文本长度时,输出表现变化情况。 使用绝对位置编码具有外推性上的限制,旋转位置编码则…

Ps:焦点堆栈

焦点堆栈 Focus Stacking是一种摄影和图像处理技术,通过合并多张在不同焦距拍摄的照片来创建一张具有更大景深的图像,特别适用于微距摄影、风景摄影和任何需要在整个场景中保持尖锐对焦的情况。 ◆ ◆ ◆ 拍摄注意事项 1、使用三脚架 为了确保图像之间…

《小强升职记:时间管理故事书》阅读笔记

目录 前言 一、你的时间都去哪儿了 1.1 你真的很忙吗 1.2 如何记录和分析时间日志 1.3 如何找到自己的价值观 二、无压工作法 2.1 传说中的“四象限法则 2.2 衣柜整理法 三、行动时遇到问题怎么办? 3.1 臣服与拖延 3.2 如何做到要事第一? 3.…