1、寫在前面
I²C通信速度100KHz是什么意思?
SPI數(shù)據(jù)傳輸速率最大150Mbps是什么意思?
串口9600bps每秒傳輸9600字節(jié)數(shù)據(jù)嗎?
不少參加工作,甚至工作兩三年的工程師,都沒有搞明白波特率、比特率、通信速度這些概念。
今天結(jié)合一些UART、I²C等常見通信接口給大家講講通信領(lǐng)域的這些概念以及區(qū)別。
2、概念
比特率:是指每秒傳送的比特(bit)數(shù)。單位為 bps(Bit Per Second),比特率越高,每秒傳送數(shù)據(jù)就越多。
波特率:表示每秒鐘傳送碼元符號(hào)的個(gè)數(shù),是衡量數(shù)據(jù)傳送速率的指標(biāo)。
在信息傳輸通道中,攜帶數(shù)據(jù)信息的信號(hào)單元叫碼元,每秒鐘通過信道傳輸?shù)拇a元數(shù)稱為碼元傳輸速率,簡(jiǎn)稱波特率。波特率是傳輸通道頻寬的指標(biāo)。
傳輸速率:傳輸速率是一種泛指,指的是數(shù)據(jù)從一點(diǎn)向另一點(diǎn)傳輸?shù)乃俾?。包含上面的比特率、波特率等?/p>
通信速度:通信速度和傳速速度同樣也是一種泛指。比如I²C通信速度100KHz,SPI最大通信速度支持150Mbps。
3、比特率和波特率區(qū)別
很多人一直沒明白比特率和波特率的區(qū)別,這里重點(diǎn)講述一下。
1.比特率
比特(bit)相信大家都知道,1字節(jié)(Byte)等于8比特(bit)。自然,比特率就是每秒鐘傳送的比特?cái)?shù)。
2.波特率
在電子通信領(lǐng)域,波特(Baud)即調(diào)制速率,指的是有效數(shù)據(jù)信號(hào)調(diào)制載波的速率,即單位時(shí)間內(nèi)載波調(diào)制狀態(tài)變化的次數(shù)。它是對(duì)符號(hào)傳輸速率的一種度量,1波特即指每秒傳輸1個(gè)符號(hào),而通過不同的調(diào)制方式,可以在一個(gè)碼元符號(hào)上負(fù)載多個(gè)bit位信息。
和比特率類似,你只需要把波特率中的“波特”(也就是碼元符號(hào))理解為一個(gè)傳輸單元即可。
3.波特率與比特率的關(guān)系
比特率=波特率x單個(gè)調(diào)制狀態(tài)對(duì)應(yīng)的二進(jìn)制位數(shù)。
1 Baud = log2M (bit/s)
其中M是信號(hào)的編碼級(jí)數(shù)。
也可以寫成:Rbit = Rbaud log2M
(Rbit:比特率;Rbaud:波特率)
可以得出:兩相調(diào)制(單個(gè)調(diào)制狀態(tài)對(duì)應(yīng)1個(gè)二進(jìn)制位)的比特率等于波特率;四相調(diào)制(單個(gè)調(diào)制狀態(tài)對(duì)應(yīng)2個(gè)二進(jìn)制位)的比特率為波特率的兩倍;八相調(diào)制(單個(gè)調(diào)制狀態(tài)對(duì)應(yīng)3個(gè)二進(jìn)制位)的比特率為波特率的三倍;依次類推。
4、實(shí)例說明
1.串口9600波特率
串口傳輸速率為9600bps,每秒可傳輸多少字節(jié)?
起始位:1
數(shù)據(jù)位:8
停止位:1
校驗(yàn)位:0
傳輸1字節(jié)數(shù)據(jù),需要傳輸10bit,因此:9600 ÷ 10 = 960Byte
即(常規(guī))串口9600波特率每秒傳輸960字節(jié)。
2.I²C通信速度100KHz
I²C通信速度100KHz是什么意思?
I²C屬于同步通信,有一根時(shí)鐘線(SCL),我們說的100KHz一般指的就是這個(gè)時(shí)鐘線的頻率。
提示:
這里I²C 100KHz表示通信速度,串口波特率9600也是表示通信速度,只是表現(xiàn)方式不同而已。
3.SPI通信速率150Mbps
SPI數(shù)據(jù)傳輸速率最大150Mbps是什么意思?
通信速度,或者通信速率的表現(xiàn)方式有很多種,這里SPI的150Mbps和串口9600bps有所不同,因?yàn)閭鬏敻袷接胁町悺?/p>
這里SPI和上面I²C的類似,指的是時(shí)鐘。