UART通信协议(一)比特率和波特率

本文探讨了UART通信中的比特率和波特率概念。比特率是每秒传输的二进制比特数,而波特率是每秒传送的码元数。通常在两相调制的UART中,波特率等于比特率。但当涉及多相调制或数据压缩时,两者可能不相等。文中通过实例解释了波特率和比特率的关系,并指出了错误理解的常见误区。
摘要由CSDN通过智能技术生成

前言:最近做的一个项目中由于MCU的串口数不够,需要用GPIO来手动模拟串口。一动手才发现自己的基础很薄弱,对于UART的理解并不深入,特此边学习边整理记录下。

比特率和波特率

  • 比特率:每秒钟传送的二进制比特数,单位是bps。

  • 波特率:每秒钟传送的码元数,单位是Bd/s。

  • 比特率和波特率的关系:

  • 错误理解:波特率 = 比特率 x 传送一个码元需要的比特数

  • 比如:假设在UART中,以9600的波特率进行数据调制,其中传送每个字节含1个起始位,8个数据位,2个停止位,无校验位,那么传送一个字节需要的比特数是10,按照上述公式计算所得的比特率是960bps。笔者也曾犯过这样的错误,直到自己模拟串口时,出现错误才发现。

  • 正确理解:波特率 = 比特率 x 调制一个码元所需要的比特数

  • 码元:相同时间间隔内的信号表示一个当码元的离散状态个数M大于2时,称为M进制码元。

  • 例如:两相调制码元的离散状态有2种(单个调制状态对应1个二进制位),0或1;四相调制码元的离散状态有4种(单个调制状态对应2个二进制位),00,01,10和11;八相调制码元的离散状态有8种(单个调制状态对应3个二进制位),以此类推。

  • 如下图所示,a中代表两相调制码元的情况࿰

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值