【物联网】一文读懂UART通信协议

UART传输的过程

  1. 起始位(Start Bit):传输开始前,发送线发送一个低电平作为起始位,表示数据的开始。接收线检测到低电平后,开始接收数据。

  2. 数据位(Data Bits):发送端将数据位逐位发送,从低位到高位,以二进制形式传输数据。接收端在时钟的边沿进行采样,以确定数据位的值。

  3. 校验位(Parity Bit):可选项,用于检测数据位传输过程中的错误。发送端在数据位后面发送校验位,其值与数据位的校验规则相关。接收端通过校验位来验证数据的正确性。

  4. 停止位(Stop Bit):传输完成后,发送线发送一个或多个高电平作为停止位,表示数据的结束。接收线检测到高电平后,完成数据的接收。

UART的传输速率由波特率(Baud Rate)决定,表示每秒传输的比特数。波特率确定了每个比特的持续时间,从而影响了数据的传输速度。并且发送端和接收端的波特率必须一致,才能正确地接收和解析数据。否则,数据可能会被错误地解析或丢失。

奇偶校验

上面讲到的校验位就是使用奇偶校验方法对uart传输的数据进行校验,奇偶校验是一种在UART通信中常用的校验方式,用于检测数据位传输过程中的错误。它可以通过校验位来验证数据的正确性。

奇偶校验的实现方式如下:

  1. 奇校验(Odd Parity):发送端在每个数据字节中已发送的数据位之后,追加一个校验位,使得整个数据字节中的1的数量(包括数据位和校验位)为奇数。例如,如果数据位中有偶数个1,发送端会在校验位中插入一个1,使得总数为奇数。

  2. 偶校验(Even Parity):发送端在每个数据字节中已发送的数据位之后,追加一个校验位,使得整个数据字节中的1的数量(包括数据位和校验位)为偶数。例如,如果数据位中有奇数个1,发送端会在校验位中插入一个1,使得总数为偶数。

在接收端,接收器会对接收到的数据进行校验,计算数据位和校验位中1的数量,然后与校验方式进行比较。如果接收到的1的数量与校验方式不匹配,则认为数据出现错误。

奇偶校验的原理是通过增加一个校验位来帮助检测单个位错误的可能性。当接收到的数据位发生错误时,校验位的值将发生变化,接收端可以通过比较校验位与数据位的奇偶性来检测错误。

奇偶校验可以提高数据传输的可靠性,但它只能检测出一位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值