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