电子说
在CAN总线领域,我们常会看到人们用不同的词语描述信息传输速率,其中最常见的就是比特率(Bit Rate)和波特率(Baud)。
这里的波特率(Baud)为何没有加 Rate 呢?给大家先留个小问题,后面我们会揭晓。
在如上所示的 Influx 上位机软件截图中,我们可以看到对于 CAN 总线速率的不同描述,单位也不尽相同。那么它们的含义相同吗?如果不同,具体又有哪些区别呢?
为了回答上面的问题,我们需要先从几个基本概念讲起。
0****1
比特 (bit)
bit 即 binary digit 的缩写,中文名称是“位”,音译“比特”,存放一位二进制数(0或1),是用以描述计算机数据量的最小单位。
这里我们还需要注意“比特”(bit)与“字节”(Byte)的区别。字节(Byte)也是计算机数据量的常用单位,但不是最小单位,一个字节占八个二进制位(两个十六进制位),1 Byte=8 bits。
02
比特率 (Bit Rate)
比特率又称“二进制位速率”,是指单位时间内传送的比特(bit)数,基本单位为 bps、bit/sec、bit/s 或 b/s(比特每秒,bit per second)。
我们今天在日常工作生活中遇到的数据量普遍较大,因此常用的单位还有 Kbps(=1024bps)和 Mbps(=1024Kbps)等。
03
码元 ( symbol )
码元(symbol)是真实信号中可以被区分的最小实体,是承载信息量的基本信号单位。一个码元可以简单理解为一种波形或脉冲。
一个码元可以携带的信息量取决于它有多少个离散状态,即码元的“进制数”。假设“进制数”为 M,则该码元携带的信息量的二进制位(bit)数即为 log₂M。
例如,某个码元有8个离散状态,那么它携带的信息量即为 log₂8=3 bits。换句话说,用3个二进制位就可以表达出该码元的8个状态。
04
波特率 ( Baud )
单位时间内传输的“码元数”称为“码元传输速率”,俗称:波特率,也称为调制速率、波形速率或符号速率,它的单位是波特(Baud,symbol/s,码元数每秒)。
注意:Baud 这个词本身就包含了速率的意思,因此不需要用 Baud rate 来表示波特率。
虽然单位“波特”本身就已经是代表每秒的调制数,以“波特每秒”为单位是一种常见的错误,但是在一般中文口语化的沟通上还是常以“波特率”来描述“波特”(Baud)。大家了解这个信息即可。
05
比特率和波特率的区别与联系
比特率表示单位时间内传输的“比特”数,单位是bit/s;
波特率表示单位时间内传输的“码元”数,单位是symbol/s。
它们之间的换算关系是:
比特率=波特率*log₂M
从上述公式中可以看出,当码元状态只有两种(M=2)时,比特率和波特率在数值上相等。
注意:它们仅仅是数值相等,但两者的概念和含义依然是不同的。如下图所示:
06
CAN 总线领域里的比特率与波特率
在 CAN 总线物理层,只有显性0和隐性1这两种状态,所以通过 CAN 传输的码元是二进制码元,此时波特率和比特率在数值上是相等的。这就是为什么这两种说法都经常出现。
严格来讲,在 CAN 总线领域,总线速度应该用比特率来表示。不过因为二者数值上相等,使用波特率也是一种约定俗成。
但需要注意的是,在其他领域可不能随便把两者混为一谈。
全部0条评论
快来发表一下你的评论吧 !