博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通信教程06_波特率、比特率、通信速度的区别
阅读量:2044 次
发布时间:2019-04-28

本文共 1649 字,大约阅读时间需要 5 分钟。

关注、星标公众,不错过精彩内容

本教程由作者strongerHuang于2019年12月原创发布。

标签:串口、 速率、 通信

版权所有:禁止商用

申明该文档仅供个人学习使用,转载请公众号联系作者授权。

1写在前面

I2C通信速度100KHz是什么意思?

SPI数据传输速率最大150Mbps是什么意思?

串口9600bps每秒传输9600字节数据吗?

不少参加工作,甚至工作两三年的工程师,都没有搞明白波特率、比特率、通信速度这些概念。

今天结合一些串口、I2C等常见通信接口给大家讲讲通信领域的这些概念以及区别。

2概念

比特率:是指每秒传送的比特(bit)数。单位为 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的类似,指的是时钟。

5

说明

1.该文档仅供个人学习使用,版权所有,禁止商用。

2.本文由我一个人编辑并整理,难免存在一些错误。

3.本文收录于公众号『嵌入式专栏』,关注微信公众号回复【通信教程】即可查看全系列教程。  

6最后

我的知乎:strongerHuang

我的网站:www.strongerhuang.com

若觉得文章对你有帮助,随手点『在看』、分享到朋友圈,也是对我的支持和鼓励

扫描下面二维码、关注公众号,在底部菜单中查看更多精彩内容!

长按识别图中二维码关注

你可能感兴趣的文章
windows下c/c++环境开发搭建
查看>>
php中的declare是干什么的——转载
查看>>
三种常见的排序算法
查看>>
ueditor自定义菜单(转载)
查看>>
php页面meta头设置
查看>>
指针函数和函数指针的区别
查看>>
empty方法
查看>>
What does ‘composer dump-autoload’ do in Laravel?
查看>>
在win7系统中使用nodejs在WebStrom下配置socket.io
查看>>
caffe:用自己的图像数据训练模型
查看>>
ubuntu下clion中配置opencv的CMakeLists.txt
查看>>
什么是卷积 卷积有什么用
查看>>
有趣的机器学习概念纵览:从多元拟合,神经网络到深度学习,给每个感兴趣的人
查看>>
K-近邻算法:KNN
查看>>
solver及其配置
查看>>
图说C++对象模型:对象内存布局详解
查看>>
【Java基础】Java类的加载和对象创建流程的详细分析
查看>>
JAVA多线程之volatile 与 synchronized 的比较
查看>>
Java多线程知识点总结
查看>>
Java集合框架知识梳理
查看>>