1、写在前面
I²C通信速度100KHz是什么意思?
串口9600bps每秒传输9600字节数据吗?
不少参加工作,甚至工作两三年的工程师,都没有搞明白波特率、比特率、通信速度这些概念。
今天结合一些UART、I²C等常见通信接口给大家讲讲通信领域的这些概念以及区别。
2、概念
比特率:是指每秒传送的比特(bit)数。单位为 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的类似,指的是时钟。