在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 總線領域,總線速度應該用比特率來表示。不過因為二者數值上相等,使用波特率也是一種約定俗成。
但需要注意的是,在其他領域可不能隨便把兩者混為一談。
-
CAN總線
+關注
關注
145文章
1955瀏覽量
131091 -
二進制
+關注
關注
2文章
796瀏覽量
41757 -
調制器
+關注
關注
3文章
842瀏覽量
45325 -
波特率
+關注
關注
2文章
308瀏覽量
34280 -
上位機
+關注
關注
27文章
945瀏覽量
55003
發布評論請先 登錄
相關推薦
評論