1引言
相信很多工程师,即使工作了一两年,对于波特率、比特率和通信速度等概念仍然不太清楚。这篇文章将结合串口、I2C等常见通信接口,详细介绍这些概念及其区别。
2概念
比特率:比特率是指每秒传送的比特数,单位为bps(Bit Per Second)。比特率越高,每秒传送的数据量就越大。
波特率:波特率表示每秒钟传送码元符号的个数,是衡量数据传送速率的指标。在信息传输通道中,码元是携带数据信息的信号单元,每秒传输的码元数称为码元传输速率,即波特率。波特率是传输通道频带宽度的指标。
传输速率:传输速率是一个广义的概念,指的是数据从一个点传输到另一个点的速率。它包括比特率、波特率等。
通信速度:通信速度是另一个广义的概念,用来描述通信系统中的数据传输速度。例如,I2C通信速度为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.I2C通信速度100KHz
I2C通信速度100KHz是什么意思?
I2C属于同步通信,有一根时钟线(SCL),我们说的100KHz一般指的就是这个时钟线的频率。
提示:
这里I2C 100KHz表示通信速度,串口波特率9600也是表示通信速度,只是表现方式不同而已。
3.SPI通信速率150Mbps
SPI数据传输速率最大150Mbps是什么意思?
通信速度,或者通信速率的表现方式有很多种,这里SPI的150Mbps和串口9600bps有所不同,因为传输格式有差异。
这里SPI和上面I2C的类似,指的是时钟。
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !