1写在前面
有许多工程师在参加工作甚至工作两三年后,仍对波特率、比特率和通信速度等概念不甚了解。
本篇文章将结合常见的UART、I²C等通信接口,向大家详细介绍通信领域中的这些概念以及它们之间的区别。
2概念
比特率:比特率是指每秒传送的比特数,单位为 bps (Bit Per Second)。比特率越高,每秒传送的数据量就越大。
波特率:波特率表示每秒钟传送码元符号的个数,是衡量数据传送速率的指标。
在信息传输通道中,传递数据的信号单元称为码元,波特率定义了每秒传输的码元数,也是衡量数据传输速率的关键参数。波特率与传输通道的频宽有关。
传输速率:传输速率是一个泛指,指的是数据从一个点传输到另一个点的速率。比特率和波特率就是传输速率的一种表达方式。
通信速度:通信速度也是一个广义概念,例如,I²C通信速度为100KHz,SPI支持的最大通信速度为150Mbps。这是指在该通信接口上的数据传输速度。
3比特率和波特率区别
很多人一直没明白比特率和波特率的区别,这里重点讲述一下。
1.比特率
比特(bit)相信大家都知道,1字节(Byte)等于8比特(bit)。自然,比特率就是每秒钟传送的比特数。
2.波特率
在电子通信领域,波特(Baud)即调制速率,指的是有效数据信号调制载波的速率,即单位时间内载波调制状态变化的次数。它是对符号传输速率的一种度量,1波特即指每秒传输1个符号,而通过不同的调制方式,可以在一个码元符号上负载多个bit位信息。
和比特率类似,你只需要把波特率中的“波特”(也就是码元符号)理解为一个传输单元即可。
3.波特率与比特率的关系
比特率=波特率x单个调制状态对应的二进制位数。
1 Baud = log2M (bit/s)
其中M是信号的编码级数。
也可以写成:Rbit = Rbaud log2M
(Rbit:比特率;Rbaud:波特率)
可以得出:两相调制(单个调制状态对应1个二进制位)的比特率等于波特率;四相调制(单个调制状态对应2个二进制位)的比特率为波特率的两倍;八相调制(单个调制状态对应3个二进制位)的比特率为波特率的三倍;依次类推。
4实例说明
1.串口9600波特率
串口传输速率为9600bps,每秒可传输多少字节?
起始位:1
数据位:8
停止位:1
校验位:0
传输1字节数据,需要传输10bit,因此:
9600 ÷ 10 = 960Byte
即(常规)串口9600波特率每秒传输960字节。
2.I²C通信速度100KHz
I²C通信速度100KHz是什么意思?
I²C属于同步通信,有一根时钟线(SCL),我们说的100KHz一般指的就是这个时钟线的频率。
提示:
这里I²C 100KHz表示通信速度,串口波特率9600也是表示通信速度,只是表现方式不同而已。
3.SPI通信速率150Mbps
SPI数据传输速率最大150Mbps是什么意思?
通信速度,或者通信速率的表现方式有很多种,这里SPI的150Mbps和串口9600bps有所不同,因为传输格式有差异。
这里SPI和上面I²C的类似,指的是时钟。
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !