比特率
比特率是指每秒传送的比特(bit)数。单位为bps(BitPerSecond),比特率越高,每秒传送数据就越多。
波特率
波特率表示每秒钟传送码元符号的个数,是衡量数据传送速率的指标,一个符号可能含多个比特。在信息传输通道中,携带数据信息的信号单元叫码元,每秒钟通过信道传输的码元数称为码元传输速率,简称波特率。波特率是传输通道频宽的指标。
传输速率
传输速率是一种泛指,指的是数据从一点向另一点传输的速率,用户实际可用的数据吞吐量,需扣除协议开销(地址、ACK等)。也就是包含上面的比特率、波特率等。
通信速度
通信速度和传输速度同样也是一种泛指。比如I²C通信速度400KHz,SPI最大通信速度支持150Mbps,指的是时钟的频率,仅仅是一个硬件参数
昌晖仪表以速率400kHz的I2C场景为例,让大家看看比特率、波特率、传输速度和通信速度的区别。
比特率
I2C的比特率是400k,因为I2C的每个周期指传输一个数据(在SCL稳定期间读取SDA上的数据);
波特率
I2C由属于NRZ编码,1符号=1比特,所以比特率=波特率,I2C的波特率=400k;
传输速度
I2C的数据包为:1个起始位+7位地址+1位读写标志+1位ACK+8位数据+1位ACK+停止位(不占位)=19位,也就是19位中只有8为数据位,所以速率:8/19*400k=168Kbit/s(约21KB/s);
通信速度
I2C的的CLK频率是400k,这个就是I2C的通信速度。
下面看看我们经常用的串口波特率数据,以常用的115200为例。
波特率:
波特率115200=115200bit/s。以最普通的串口(起始位+8位数据+停止位)为例,合计共10位,所以:波特率115200=115200(bit/s)=11520(Byte/s);再除以1024,就是每秒KB数:波特率115200=115200(bit/s)=11.25(kB/s);果有一位奇偶校验位,就应该是11位,得到的是每秒字节数:波特率115200=115200(bit/s)=10.27(KB/s)。所以波特率的数据量就要按照数据结构来计算、另外我们只是讨论了这种二进制环境下的波特率。
相关阅读
◆简单了解波特率和比特率的定义和二者区别
◆不同品牌流量积算仪Modbus通讯的一些小问题
◆Modbus波特率越大传送数据越快,反之越小越稳